Skip to content
Commits on Source (3)
...@@ -51,8 +51,6 @@ test_backend: ...@@ -51,8 +51,6 @@ test_backend:
upload_installer: upload_installer:
stage: deploy stage: deploy
tags:
- shell
tags: tags:
- shell - shell
only: only:
...@@ -60,3 +58,13 @@ upload_installer: ...@@ -60,3 +58,13 @@ upload_installer:
script: script:
- 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file install.sh "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/TASMAN/latest/install.sh"' - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file install.sh "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/TASMAN/latest/install.sh"'
- 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file install-jdk8.sh "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/TASMAN/latest/install-jdk8.sh"' - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file install-jdk8.sh "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/TASMAN/latest/install-jdk8.sh"'
upload_tagged_installer:
stage: deploy
tags:
- shell
rules:
- if: '$CI_COMMIT_TAG != null'
script:
- 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file install.sh "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/TASMAN/${CI_COMMIT_TAG}/install-${CI_COMMIT_TAG}.sh"'
- 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file install-jdk8.sh "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/TASMAN/${CI_COMMIT_TAG}/install-${CI_COMMIT_TAG}-jdk8.sh"'
# CHANGELOG # CHANGELOG
## Version 1.3.5
* Added possibility to load custom TAP_SCHEMA XML models also from configuration folder (inside a folder named `schema_definition`).
## Version 1.3.4 ## Version 1.3.4
* Bugfix: loaded also Postgres views metadata * Bugfix: loaded also Postgres views metadata
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<groupId>it.inaf.ia2.tsm</groupId> <groupId>it.inaf.ia2.tsm</groupId>
<artifactId>tasman-bom</artifactId> <artifactId>tasman-bom</artifactId>
<version>1.3.4</version> <version>1.3.5</version>
<packaging>pom</packaging> <packaging>pom</packaging>
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>it.inaf.ia2.tsm</groupId> <groupId>it.inaf.ia2.tsm</groupId>
<artifactId>tasman-bom</artifactId> <artifactId>tasman-bom</artifactId>
<version>1.3.4</version> <version>1.3.5</version>
</parent> </parent>
<artifactId>tasman-core</artifactId> <artifactId>tasman-core</artifactId>
......
...@@ -53,13 +53,27 @@ public class SchemaModels { ...@@ -53,13 +53,27 @@ public class SchemaModels {
String[] tapSchemaModelFiles = getXMLModelFileNames(properties, "tap_schema_models"); String[] tapSchemaModelFiles = getXMLModelFileNames(properties, "tap_schema_models");
String[] ivoaModelFiles = getXMLModelFileNames(properties, "ivoa_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(); IVOA_SCHEMA_MODELS = new XMLModelsLoader(ivoaModelFiles).load();
} catch (IOException e) { } catch (IOException e) {
throw new ExceptionInInitializerError(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 { private static Properties getCoreProperties() throws IOException {
Properties props = new Properties(); Properties props = new Properties();
try (InputStream in = SchemaModels.class.getClassLoader().getResourceAsStream("core.properties")) { try (InputStream in = SchemaModels.class.getClassLoader().getResourceAsStream("core.properties")) {
......
...@@ -22,6 +22,8 @@ ...@@ -22,6 +22,8 @@
*/ */
package it.inaf.ia2.tsm.model; package it.inaf.ia2.tsm.model;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -52,13 +54,19 @@ public class XMLModelsLoader { ...@@ -52,13 +54,19 @@ public class XMLModelsLoader {
private static final Logger LOG = LoggerFactory.getLogger(XMLModelsLoader.class); private static final Logger LOG = LoggerFactory.getLogger(XMLModelsLoader.class);
private final String[] xmlModelFileNames; private final String[] xmlModelFileNames;
private final File[] xmlModelExternalFiles;
// key: doc version // key: doc version
private final Map<String, Document> documents; private final Map<String, Document> documents;
private final Map<String, String> inheritanceGraph; private final Map<String, String> inheritanceGraph;
private final Map<Integer, List<Document>> inheritanceLevels; private final Map<Integer, List<Document>> inheritanceLevels;
public XMLModelsLoader(String[] xmlModelFileNames) { public XMLModelsLoader(String[] xmlModelFileNames) {
this(xmlModelFileNames, new File[]{});
}
public XMLModelsLoader(String[] xmlModelFileNames, File[] xmlModelExternalFiles) {
this.xmlModelFileNames = xmlModelFileNames; this.xmlModelFileNames = xmlModelFileNames;
this.xmlModelExternalFiles = xmlModelExternalFiles;
this.documents = new HashMap<>(); this.documents = new HashMap<>();
inheritanceGraph = new HashMap<>(); inheritanceGraph = new HashMap<>();
inheritanceLevels = new HashMap<>(); inheritanceLevels = new HashMap<>();
...@@ -110,6 +118,18 @@ public class XMLModelsLoader { ...@@ -110,6 +118,18 @@ public class XMLModelsLoader {
for (String xmlModelFileName : xmlModelFileNames) { for (String xmlModelFileName : xmlModelFileNames) {
try (InputStream in = classLoader.getResourceAsStream(xmlModelFileName)) { 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); Document doc = builder.parse(in);
Element root = doc.getDocumentElement(); Element root = doc.getDocumentElement();
String version = root.getAttribute("version"); String version = root.getAttribute("version");
...@@ -120,8 +140,6 @@ public class XMLModelsLoader { ...@@ -120,8 +140,6 @@ public class XMLModelsLoader {
assert documents.get(version) == null; assert documents.get(version) == null;
documents.put(version, doc); documents.put(version, doc);
} }
}
}
private void buildInheritanceGraph() { private void buildInheritanceGraph() {
for (Document document : documents.values()) { for (Document document : documents.values()) {
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>it.inaf.ia2.tsm</groupId> <groupId>it.inaf.ia2.tsm</groupId>
<artifactId>tasman-bom</artifactId> <artifactId>tasman-bom</artifactId>
<version>1.3.4</version> <version>1.3.5</version>
</parent> </parent>
<artifactId>tasman-embedded</artifactId> <artifactId>tasman-embedded</artifactId>
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>it.inaf.ia2.tsm</groupId> <groupId>it.inaf.ia2.tsm</groupId>
<artifactId>tasman-bom</artifactId> <artifactId>tasman-bom</artifactId>
<version>1.3.4</version> <version>1.3.5</version>
</parent> </parent>
<artifactId>tasman-webapp</artifactId> <artifactId>tasman-webapp</artifactId>
......
ucd_service_url=http://ia2-vo.oats.inaf.it/ucd/ ucd_service_url=http://ia2-vo.oats.inaf.it/ucd/
config_directory=/home/user/.tasman config_directory=/etc/tasman
\ No newline at end of file
...@@ -110,8 +110,8 @@ cd - 1> /dev/null ...@@ -110,8 +110,8 @@ cd - 1> /dev/null
# Creating executable # Creating executable
tasman_bin="$install_dir""tasman" tasman_bin="$install_dir""tasman"
echo "#!/bin/bash" > $tasman_bin echo "#!/bin/sh" > $tasman_bin
echo "java -jar $install_dir""tasman-embedded.jar \$1" >> $tasman_bin echo "TASMAN_CONFIG_FOLDER=$tasman_config_dir java -jar $install_dir""tasman-embedded.jar \$1" >> $tasman_bin
chmod +x $tasman_bin chmod +x $tasman_bin
# Creating executable symbolic link # Creating executable symbolic link
......