Skip to content
Commits on Source (3)
......@@ -51,8 +51,6 @@ test_backend:
upload_installer:
stage: deploy
tags:
- shell
tags:
- shell
only:
......@@ -60,3 +58,13 @@ upload_installer:
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-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
## 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
* Bugfix: loaded also Postgres views metadata
......
......@@ -4,7 +4,7 @@
<groupId>it.inaf.ia2.tsm</groupId>
<artifactId>tasman-bom</artifactId>
<version>1.3.4</version>
<version>1.3.5</version>
<packaging>pom</packaging>
......@@ -54,4 +54,4 @@
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
</project>
......@@ -5,7 +5,7 @@
<parent>
<groupId>it.inaf.ia2.tsm</groupId>
<artifactId>tasman-bom</artifactId>
<version>1.3.4</version>
<version>1.3.5</version>
</parent>
<artifactId>tasman-core</artifactId>
......@@ -134,4 +134,4 @@
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
</project>
......@@ -53,12 +53,26 @@ 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();
......
......@@ -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;
......@@ -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<>();
......@@ -110,19 +118,29 @@ public class XMLModelsLoader {
for (String xmlModelFileName : xmlModelFileNames) {
try (InputStream in = classLoader.getResourceAsStream(xmlModelFileName)) {
Document doc = builder.parse(in);
Element root = doc.getDocumentElement();
String version = root.getAttribute("version");
// TODO: XML Model validation
// Documents loaded in a single XMLModelsLoader instance must
// have different versions.
assert documents.get(version) == null;
documents.put(version, doc);
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");
// TODO: XML Model validation
// Documents loaded in a single XMLModelsLoader instance must
// have different versions.
assert documents.get(version) == null;
documents.put(version, doc);
}
private void buildInheritanceGraph() {
for (Document document : documents.values()) {
Element root = document.getDocumentElement();
......
......@@ -5,7 +5,7 @@
<parent>
<groupId>it.inaf.ia2.tsm</groupId>
<artifactId>tasman-bom</artifactId>
<version>1.3.4</version>
<version>1.3.5</version>
</parent>
<artifactId>tasman-embedded</artifactId>
......@@ -86,4 +86,4 @@
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
</project>
......@@ -5,7 +5,7 @@
<parent>
<groupId>it.inaf.ia2.tsm</groupId>
<artifactId>tasman-bom</artifactId>
<version>1.3.4</version>
<version>1.3.5</version>
</parent>
<artifactId>tasman-webapp</artifactId>
......
ucd_service_url=http://ia2-vo.oats.inaf.it/ucd/
config_directory=/home/user/.tasman
\ No newline at end of file
config_directory=/etc/tasman
......@@ -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
......