summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2012-11-09 09:51:18 +0100
committerAndrew Branson <andrew.branson@cern.ch>2012-11-09 09:51:18 +0100
commit1e67b454efd84a88877205917038da13a47a2f6b (patch)
tree560efbf86df264d9ee730139587d27d9efa0911d /src/main/java/com/c2kernel
parentd2454ce72c0563bc5ce8b63f7fb6d4c39b7295d1 (diff)
Create proper constructor for Schema.
Diffstat (limited to 'src/main/java/com/c2kernel')
-rw-r--r--src/main/java/com/c2kernel/persistency/outcome/OutcomeValidator.java6
-rw-r--r--src/main/java/com/c2kernel/persistency/outcome/Schema.java15
-rw-r--r--src/main/java/com/c2kernel/utils/LocalObjectLoader.java36
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);
}
/**