Fix inconsistent whitespace

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1612219 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2014-07-21 09:45:44 +00:00
parent 3db4f0b82c
commit 79f3f4bb06

View File

@ -35,36 +35,36 @@ import org.apache.poi.util.Internal;
@Internal @Internal
public final class CollaboratingWorkbooksEnvironment { public final class CollaboratingWorkbooksEnvironment {
public static final class WorkbookNotFoundException extends Exception { public static final class WorkbookNotFoundException extends Exception {
private static final long serialVersionUID = 8787784539811167941L; private static final long serialVersionUID = 8787784539811167941L;
WorkbookNotFoundException(String msg) { WorkbookNotFoundException(String msg) {
super(msg); super(msg);
} }
} }
public static final CollaboratingWorkbooksEnvironment EMPTY = new CollaboratingWorkbooksEnvironment(); public static final CollaboratingWorkbooksEnvironment EMPTY = new CollaboratingWorkbooksEnvironment();
private final Map<String, WorkbookEvaluator> _evaluatorsByName; private final Map<String, WorkbookEvaluator> _evaluatorsByName;
private final WorkbookEvaluator[] _evaluators; private final WorkbookEvaluator[] _evaluators;
private boolean _unhooked; private boolean _unhooked;
private CollaboratingWorkbooksEnvironment() { private CollaboratingWorkbooksEnvironment() {
_evaluatorsByName = Collections.emptyMap(); _evaluatorsByName = Collections.emptyMap();
_evaluators = new WorkbookEvaluator[0]; _evaluators = new WorkbookEvaluator[0];
} }
public static void setup(String[] workbookNames, WorkbookEvaluator[] evaluators) { public static void setup(String[] workbookNames, WorkbookEvaluator[] evaluators) {
int nItems = workbookNames.length; int nItems = workbookNames.length;
if (evaluators.length != nItems) { if (evaluators.length != nItems) {
throw new IllegalArgumentException("Number of workbook names is " + nItems throw new IllegalArgumentException("Number of workbook names is " + nItems
+ " but number of evaluators is " + evaluators.length); + " but number of evaluators is " + evaluators.length);
} }
if (nItems < 1) { if (nItems < 1) {
throw new IllegalArgumentException("Must provide at least one collaborating worbook"); throw new IllegalArgumentException("Must provide at least one collaborating worbook");
} }
new CollaboratingWorkbooksEnvironment(workbookNames, evaluators, nItems); new CollaboratingWorkbooksEnvironment(workbookNames, evaluators, nItems);
} }
public static void setup(Map<String,WorkbookEvaluator> evaluatorsByName) { public static void setup(Map<String,WorkbookEvaluator> evaluatorsByName) {
if (evaluatorsByName.size() < 1) { if (evaluatorsByName.size() < 1) {
throw new IllegalArgumentException("Must provide at least one collaborating worbook"); throw new IllegalArgumentException("Must provide at least one collaborating worbook");
@ -74,28 +74,28 @@ public final class CollaboratingWorkbooksEnvironment {
new CollaboratingWorkbooksEnvironment(evaluatorsByName, evaluators); new CollaboratingWorkbooksEnvironment(evaluatorsByName, evaluators);
} }
private CollaboratingWorkbooksEnvironment(String[] workbookNames, WorkbookEvaluator[] evaluators, int nItems) { private CollaboratingWorkbooksEnvironment(String[] workbookNames, WorkbookEvaluator[] evaluators, int nItems) {
this(toUniqueMap(workbookNames, evaluators, nItems), evaluators); this(toUniqueMap(workbookNames, evaluators, nItems), evaluators);
} }
private static Map<String, WorkbookEvaluator> toUniqueMap(String[] workbookNames, WorkbookEvaluator[] evaluators, int nItems) { private static Map<String, WorkbookEvaluator> toUniqueMap(String[] workbookNames, WorkbookEvaluator[] evaluators, int nItems) {
Map<String, WorkbookEvaluator> evaluatorsByName = new HashMap<String, WorkbookEvaluator>(nItems * 3 / 2); Map<String, WorkbookEvaluator> evaluatorsByName = new HashMap<String, WorkbookEvaluator>(nItems * 3 / 2);
for(int i=0; i<nItems; i++) { for(int i=0; i<nItems; i++) {
String wbName = workbookNames[i]; String wbName = workbookNames[i];
WorkbookEvaluator wbEval = evaluators[i]; WorkbookEvaluator wbEval = evaluators[i];
if (evaluatorsByName.containsKey(wbName)) { if (evaluatorsByName.containsKey(wbName)) {
throw new IllegalArgumentException("Duplicate workbook name '" + wbName + "'"); throw new IllegalArgumentException("Duplicate workbook name '" + wbName + "'");
} }
evaluatorsByName.put(wbName, wbEval); evaluatorsByName.put(wbName, wbEval);
} }
return evaluatorsByName; return evaluatorsByName;
} }
private CollaboratingWorkbooksEnvironment(Map<String, WorkbookEvaluator> evaluatorsByName, WorkbookEvaluator[] evaluators) { private CollaboratingWorkbooksEnvironment(Map<String, WorkbookEvaluator> evaluatorsByName, WorkbookEvaluator[] evaluators) {
IdentityHashMap<WorkbookEvaluator, String> uniqueEvals = new IdentityHashMap<WorkbookEvaluator, String>(evaluators.length); IdentityHashMap<WorkbookEvaluator, String> uniqueEvals = new IdentityHashMap<WorkbookEvaluator, String>(evaluators.length);
for (String wbName : evaluatorsByName.keySet()) { for (String wbName : evaluatorsByName.keySet()) {
WorkbookEvaluator wbEval = evaluatorsByName.get(wbName); WorkbookEvaluator wbEval = evaluatorsByName.get(wbName);
if (uniqueEvals.containsKey(wbEval)) { if (uniqueEvals.containsKey(wbEval)) {
String msg = "Attempted to register same workbook under names '" String msg = "Attempted to register same workbook under names '" +
+ uniqueEvals.get(wbEval) + "' and '" + wbName + "'"; uniqueEvals.get(wbEval) + "' and '" + wbName + "'";
throw new IllegalArgumentException(msg); throw new IllegalArgumentException(msg);
} }
uniqueEvals.put(wbEval, wbName); uniqueEvals.put(wbEval, wbName);
@ -107,79 +107,78 @@ public final class CollaboratingWorkbooksEnvironment {
_evaluatorsByName = evaluatorsByName; _evaluatorsByName = evaluatorsByName;
} }
private static void hookNewEnvironment(WorkbookEvaluator[] evaluators, CollaboratingWorkbooksEnvironment env) { private static void hookNewEnvironment(WorkbookEvaluator[] evaluators, CollaboratingWorkbooksEnvironment env) {
// All evaluators will need to share the same cache.
// but the cache takes an optional evaluation listener.
int nItems = evaluators.length;
IEvaluationListener evalListener = evaluators[0].getEvaluationListener();
// make sure that all evaluators have the same listener
for(int i=0; i<nItems; i++) {
if(evalListener != evaluators[i].getEvaluationListener()) {
// This would be very complex to support
throw new RuntimeException("Workbook evaluators must all have the same evaluation listener");
}
}
EvaluationCache cache = new EvaluationCache(evalListener);
// All evaluators will need to share the same cache. for(int i=0; i<nItems; i++) {
// but the cache takes an optional evaluation listener. evaluators[i].attachToEnvironment(env, cache, i);
int nItems = evaluators.length; }
IEvaluationListener evalListener = evaluators[0].getEvaluationListener(); }
// make sure that all evaluators have the same listener
for(int i=0; i<nItems; i++) {
if(evalListener != evaluators[i].getEvaluationListener()) {
// This would be very complex to support
throw new RuntimeException("Workbook evaluators must all have the same evaluation listener");
}
}
EvaluationCache cache = new EvaluationCache(evalListener);
for(int i=0; i<nItems; i++) { /**
evaluators[i].attachToEnvironment(env, cache, i); * Completely dismantles all workbook environments that the supplied evaluators are part of
} */
} private void unhookOldEnvironments(WorkbookEvaluator[] evaluators) {
Set<CollaboratingWorkbooksEnvironment> oldEnvs = new HashSet<CollaboratingWorkbooksEnvironment>();
for(int i=0; i<evaluators.length; i++) {
oldEnvs.add(evaluators[i].getEnvironment());
}
CollaboratingWorkbooksEnvironment[] oldCWEs = new CollaboratingWorkbooksEnvironment[oldEnvs.size()];
oldEnvs.toArray(oldCWEs);
for (int i = 0; i < oldCWEs.length; i++) {
oldCWEs[i].unhook();
}
}
/** /**
* Completely dismantles all workbook environments that the supplied evaluators are part of * Tell all contained evaluators that this environment should be discarded
*/ */
private void unhookOldEnvironments(WorkbookEvaluator[] evaluators) { private void unhook() {
Set<CollaboratingWorkbooksEnvironment> oldEnvs = new HashSet<CollaboratingWorkbooksEnvironment>(); if (_evaluators.length < 1) {
for(int i=0; i<evaluators.length; i++) { // Never dismantle the EMPTY environment
oldEnvs.add(evaluators[i].getEnvironment()); return;
} }
CollaboratingWorkbooksEnvironment[] oldCWEs = new CollaboratingWorkbooksEnvironment[oldEnvs.size()]; for (int i = 0; i < _evaluators.length; i++) {
oldEnvs.toArray(oldCWEs); _evaluators[i].detachFromEnvironment();
for (int i = 0; i < oldCWEs.length; i++) { }
oldCWEs[i].unhook(); _unhooked = true;
} }
}
/** public WorkbookEvaluator getWorkbookEvaluator(String workbookName) throws WorkbookNotFoundException {
* Tell all contained evaluators that this environment should be discarded if (_unhooked) {
*/ throw new IllegalStateException("This environment has been unhooked");
private void unhook() { }
if (_evaluators.length < 1) { WorkbookEvaluator result = _evaluatorsByName.get(workbookName);
// Never dismantle the EMPTY environment if (result == null) {
return; StringBuffer sb = new StringBuffer(256);
} sb.append("Could not resolve external workbook name '").append(workbookName).append("'.");
for (int i = 0; i < _evaluators.length; i++) { if (_evaluators.length < 1) {
_evaluators[i].detachFromEnvironment(); sb.append(" Workbook environment has not been set up.");
} } else {
_unhooked = true; sb.append(" The following workbook names are valid: (");
} Iterator<String> i = _evaluatorsByName.keySet().iterator();
int count=0;
public WorkbookEvaluator getWorkbookEvaluator(String workbookName) throws WorkbookNotFoundException { while(i.hasNext()) {
if (_unhooked) { if (count++>0) {
throw new IllegalStateException("This environment has been unhooked"); sb.append(", ");
} }
WorkbookEvaluator result = _evaluatorsByName.get(workbookName); sb.append("'").append(i.next()).append("'");
if (result == null) { }
StringBuffer sb = new StringBuffer(256); sb.append(")");
sb.append("Could not resolve external workbook name '").append(workbookName).append("'."); }
if (_evaluators.length < 1) { throw new WorkbookNotFoundException(sb.toString());
sb.append(" Workbook environment has not been set up."); }
} else { return result;
sb.append(" The following workbook names are valid: ("); }
Iterator<String> i = _evaluatorsByName.keySet().iterator();
int count=0;
while(i.hasNext()) {
if (count++>0) {
sb.append(", ");
}
sb.append("'").append(i.next()).append("'");
}
sb.append(")");
}
throw new WorkbookNotFoundException(sb.toString());
}
return result;
}
} }