diff --git a/common-tools/clas-io/src/main/java/org/jlab/utils/CLASResources.java b/common-tools/clas-io/src/main/java/org/jlab/utils/CLASResources.java index 86f3e57c78..3268fb7ae4 100644 --- a/common-tools/clas-io/src/main/java/org/jlab/utils/CLASResources.java +++ b/common-tools/clas-io/src/main/java/org/jlab/utils/CLASResources.java @@ -1,12 +1,28 @@ package org.jlab.utils; +import org.jlab.jnp.hipo4.data.SchemaFactory; + /** * * @author gavalian * @author kenjo */ public class CLASResources { - + + private static volatile SchemaFactory FULL_SCHEMA = null; + + public static SchemaFactory getFullSchema() { + synchronized (FULL_SCHEMA) { + if (FULL_SCHEMA == null) { + FULL_SCHEMA = new SchemaFactory(); + FULL_SCHEMA.initFromDirectory(getResourcePath("etc/bankdefs/hipo4")); + } + } + SchemaFactory s = new SchemaFactory(); + s.copy(FULL_SCHEMA); + return s; + } + public static String getResourcePath(String resource){ String CLAS12DIR = System.getenv("CLAS12DIR"); String CLAS12DIRPROP = System.getProperty("CLAS12DIR"); @@ -44,4 +60,5 @@ public static String getEnvironmentVariable(String envvarname){ return null; } + }