diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2012-11-09 09:51:18 +0100 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2012-11-09 09:51:18 +0100 |
| commit | 1e67b454efd84a88877205917038da13a47a2f6b (patch) | |
| tree | 560efbf86df264d9ee730139587d27d9efa0911d /src/main/java/com | |
| parent | d2454ce72c0563bc5ce8b63f7fb6d4c39b7295d1 (diff) | |
Create proper constructor for Schema.
Diffstat (limited to 'src/main/java/com')
3 files changed, 34 insertions, 23 deletions
diff --git a/src/main/java/com/c2kernel/persistency/outcome/OutcomeValidator.java b/src/main/java/com/c2kernel/persistency/outcome/OutcomeValidator.java index 73f5706..3355387 100644 --- a/src/main/java/com/c2kernel/persistency/outcome/OutcomeValidator.java +++ b/src/main/java/com/c2kernel/persistency/outcome/OutcomeValidator.java @@ -51,9 +51,9 @@ public class OutcomeValidator implements ErrorHandler, XMLErrorHandler { SymbolTable sym = new SymbolTable();
public static OutcomeValidator getValidator(Schema schema) throws InvalidDataException {
- String schemaId = schema.docType+"_"+schema.docVersion;
-
- if (schemaId.equals("Schema_0"))
+
+ if (schema.docType.equals("Schema") &&
+ schema.docVersion==0)
return schemaValid;
return new OutcomeValidator(schema);
diff --git a/src/main/java/com/c2kernel/persistency/outcome/Schema.java b/src/main/java/com/c2kernel/persistency/outcome/Schema.java index 73969f2..ee1797c 100644 --- a/src/main/java/com/c2kernel/persistency/outcome/Schema.java +++ b/src/main/java/com/c2kernel/persistency/outcome/Schema.java @@ -15,4 +15,19 @@ public class Schema { public int docVersion;
public boolean breakApart;
public String schema;
+
+ /**
+ * @param docType
+ * @param docVersion
+ * @param breakApart
+ * @param schema
+ */
+ public Schema(String docType, int docVersion, boolean breakApart,
+ String schema) {
+ super();
+ this.docType = docType;
+ this.docVersion = docVersion;
+ this.breakApart = breakApart;
+ this.schema = schema;
+ }
}
diff --git a/src/main/java/com/c2kernel/utils/LocalObjectLoader.java b/src/main/java/com/c2kernel/utils/LocalObjectLoader.java index 8a73e3c..6832eeb 100644 --- a/src/main/java/com/c2kernel/utils/LocalObjectLoader.java +++ b/src/main/java/com/c2kernel/utils/LocalObjectLoader.java @@ -37,29 +37,25 @@ public class LocalObjectLoader { static public Schema getSchema(String schemaName, int schemaVersion) throws ObjectNotFoundException {
Logger.msg(5, "Loading schema "+schemaName+" v"+schemaVersion);
- Schema thisSchema = new Schema();
- thisSchema.docType = schemaName;
- thisSchema.docVersion = schemaVersion;
+
+ String docType = schemaName;
+ int docVersion = schemaVersion;
+ String schemaData;
// don't bother if this is the Schema schema - for bootstrap esp.
- if (schemaName.equals("Schema") && schemaVersion == 0) {
- thisSchema.breakApart = false;
- thisSchema.schema="";
- return thisSchema;
- }
-
- ItemProxy schema = loadLocalObjectDef("/desc/OutcomeDesc/", schemaName);
- Viewpoint schemaView = (Viewpoint)schema.getObject(ClusterStorage.VIEWPOINT + "/Schema/" + schemaVersion);
- try {
- thisSchema.schema = schemaView.getOutcome().getData();
- } catch (ClusterStorageException ex) {
- Logger.error(ex);
- throw new ObjectNotFoundException("Problem loading schema "+schemaName+" v"+schemaVersion+": "+ex.getMessage(), "");
- }
- String breakApart = schema.getProperty("BreakApart");
- thisSchema.breakApart = breakApart.equals("1");
+ if (schemaName.equals("Schema") && schemaVersion == 0)
+ return new Schema(docType, docVersion, false, "");
- return thisSchema;
+ ItemProxy schema = loadLocalObjectDef("/desc/OutcomeDesc/", schemaName);
+ Viewpoint schemaView = (Viewpoint)schema.getObject(ClusterStorage.VIEWPOINT + "/Schema/" + schemaVersion);
+ try {
+ schemaData = schemaView.getOutcome().getData();
+ } catch (ClusterStorageException ex) {
+ Logger.error(ex);
+ throw new ObjectNotFoundException("Problem loading schema "+schemaName+" v"+schemaVersion+": "+ex.getMessage(), "");
+ }
+ String breakApart = schema.getProperty("BreakApart");
+ return new Schema(docType, docVersion, breakApart.equals("1"), schemaData);
}
/**
|
