Loading TASMAN-core/src/main/java/it/inaf/ia2/tsm/model/SchemaModels.java +15 −1 Original line number Diff line number Diff line Loading @@ -53,13 +53,27 @@ public class SchemaModels { String[] tapSchemaModelFiles = getXMLModelFileNames(properties, "tap_schema_models"); String[] ivoaModelFiles = getXMLModelFileNames(properties, "ivoa_schema_models"); TAP_SCHEMA_MODELS = new XMLModelsLoader(tapSchemaModelFiles).load(); TAP_SCHEMA_MODELS = new XMLModelsLoader(tapSchemaModelFiles, getTapSchemaModelsFromExternalFolder()).load(); IVOA_SCHEMA_MODELS = new XMLModelsLoader(ivoaModelFiles).load(); } catch (IOException e) { throw new ExceptionInInitializerError(e); } } private static File[] getTapSchemaModelsFromExternalFolder() { String tasmanConfigFolder = System.getenv("TASMAN_CONFIG_FOLDER"); if (tasmanConfigFolder != null) { File tapSchemaModelsExternalFolder = new File(tasmanConfigFolder).toPath().resolve("schema_definition").toFile(); if (tapSchemaModelsExternalFolder.exists()) { return tapSchemaModelsExternalFolder.listFiles(); } } return new File[]{}; } private static Properties getCoreProperties() throws IOException { Properties props = new Properties(); try (InputStream in = SchemaModels.class.getClassLoader().getResourceAsStream("core.properties")) { Loading TASMAN-core/src/main/java/it/inaf/ia2/tsm/model/XMLModelsLoader.java +27 −9 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ */ package it.inaf.ia2.tsm.model; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; Loading Loading @@ -52,13 +54,19 @@ public class XMLModelsLoader { private static final Logger LOG = LoggerFactory.getLogger(XMLModelsLoader.class); private final String[] xmlModelFileNames; private final File[] xmlModelExternalFiles; // key: doc version private final Map<String, Document> documents; private final Map<String, String> inheritanceGraph; private final Map<Integer, List<Document>> inheritanceLevels; public XMLModelsLoader(String[] xmlModelFileNames) { this(xmlModelFileNames, new File[]{}); } public XMLModelsLoader(String[] xmlModelFileNames, File[] xmlModelExternalFiles) { this.xmlModelFileNames = xmlModelFileNames; this.xmlModelExternalFiles = xmlModelExternalFiles; this.documents = new HashMap<>(); inheritanceGraph = new HashMap<>(); inheritanceLevels = new HashMap<>(); Loading Loading @@ -110,6 +118,18 @@ public class XMLModelsLoader { for (String xmlModelFileName : xmlModelFileNames) { try (InputStream in = classLoader.getResourceAsStream(xmlModelFileName)) { loadFile(builder, in); } } for (File xmlModelExternalFile : xmlModelExternalFiles) { try (FileInputStream fis = new FileInputStream(xmlModelExternalFile)) { loadFile(builder, fis); } } } private void loadFile(DocumentBuilder builder, InputStream in) throws IOException, SAXException { Document doc = builder.parse(in); Element root = doc.getDocumentElement(); String version = root.getAttribute("version"); Loading @@ -120,8 +140,6 @@ public class XMLModelsLoader { assert documents.get(version) == null; documents.put(version, doc); } } } private void buildInheritanceGraph() { for (Document document : documents.values()) { Loading install_template.sh +2 −2 Original line number Diff line number Diff line Loading @@ -110,8 +110,8 @@ cd - 1> /dev/null # Creating executable tasman_bin="$install_dir""tasman" echo "#!/bin/bash" > $tasman_bin echo "java -jar $install_dir""tasman-embedded.jar \$1" >> $tasman_bin echo "#!/bin/sh" > $tasman_bin echo "TASMAN_CONFIG_FOLDER=$tasman_config_dir java -jar $install_dir""tasman-embedded.jar \$1" >> $tasman_bin chmod +x $tasman_bin # Creating executable symbolic link Loading Loading
TASMAN-core/src/main/java/it/inaf/ia2/tsm/model/SchemaModels.java +15 −1 Original line number Diff line number Diff line Loading @@ -53,13 +53,27 @@ public class SchemaModels { String[] tapSchemaModelFiles = getXMLModelFileNames(properties, "tap_schema_models"); String[] ivoaModelFiles = getXMLModelFileNames(properties, "ivoa_schema_models"); TAP_SCHEMA_MODELS = new XMLModelsLoader(tapSchemaModelFiles).load(); TAP_SCHEMA_MODELS = new XMLModelsLoader(tapSchemaModelFiles, getTapSchemaModelsFromExternalFolder()).load(); IVOA_SCHEMA_MODELS = new XMLModelsLoader(ivoaModelFiles).load(); } catch (IOException e) { throw new ExceptionInInitializerError(e); } } private static File[] getTapSchemaModelsFromExternalFolder() { String tasmanConfigFolder = System.getenv("TASMAN_CONFIG_FOLDER"); if (tasmanConfigFolder != null) { File tapSchemaModelsExternalFolder = new File(tasmanConfigFolder).toPath().resolve("schema_definition").toFile(); if (tapSchemaModelsExternalFolder.exists()) { return tapSchemaModelsExternalFolder.listFiles(); } } return new File[]{}; } private static Properties getCoreProperties() throws IOException { Properties props = new Properties(); try (InputStream in = SchemaModels.class.getClassLoader().getResourceAsStream("core.properties")) { Loading
TASMAN-core/src/main/java/it/inaf/ia2/tsm/model/XMLModelsLoader.java +27 −9 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ */ package it.inaf.ia2.tsm.model; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; Loading Loading @@ -52,13 +54,19 @@ public class XMLModelsLoader { private static final Logger LOG = LoggerFactory.getLogger(XMLModelsLoader.class); private final String[] xmlModelFileNames; private final File[] xmlModelExternalFiles; // key: doc version private final Map<String, Document> documents; private final Map<String, String> inheritanceGraph; private final Map<Integer, List<Document>> inheritanceLevels; public XMLModelsLoader(String[] xmlModelFileNames) { this(xmlModelFileNames, new File[]{}); } public XMLModelsLoader(String[] xmlModelFileNames, File[] xmlModelExternalFiles) { this.xmlModelFileNames = xmlModelFileNames; this.xmlModelExternalFiles = xmlModelExternalFiles; this.documents = new HashMap<>(); inheritanceGraph = new HashMap<>(); inheritanceLevels = new HashMap<>(); Loading Loading @@ -110,6 +118,18 @@ public class XMLModelsLoader { for (String xmlModelFileName : xmlModelFileNames) { try (InputStream in = classLoader.getResourceAsStream(xmlModelFileName)) { loadFile(builder, in); } } for (File xmlModelExternalFile : xmlModelExternalFiles) { try (FileInputStream fis = new FileInputStream(xmlModelExternalFile)) { loadFile(builder, fis); } } } private void loadFile(DocumentBuilder builder, InputStream in) throws IOException, SAXException { Document doc = builder.parse(in); Element root = doc.getDocumentElement(); String version = root.getAttribute("version"); Loading @@ -120,8 +140,6 @@ public class XMLModelsLoader { assert documents.get(version) == null; documents.put(version, doc); } } } private void buildInheritanceGraph() { for (Document document : documents.values()) { Loading
install_template.sh +2 −2 Original line number Diff line number Diff line Loading @@ -110,8 +110,8 @@ cd - 1> /dev/null # Creating executable tasman_bin="$install_dir""tasman" echo "#!/bin/bash" > $tasman_bin echo "java -jar $install_dir""tasman-embedded.jar \$1" >> $tasman_bin echo "#!/bin/sh" > $tasman_bin echo "TASMAN_CONFIG_FOLDER=$tasman_config_dir java -jar $install_dir""tasman-embedded.jar \$1" >> $tasman_bin chmod +x $tasman_bin # Creating executable symbolic link Loading