summaryrefslogtreecommitdiffstats
path: root/config-application-package/src/main/java/com/yahoo/config/model/application/provider
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-09-09 13:52:14 +0200
committerJon Bratseth <bratseth@verizonmedia.com>2019-09-09 13:52:14 +0200
commit01b61de4db4be59d86298d540aaa948c68185585 (patch)
tree29508a311bc414d7bd6b243e948fb06651fa6350 /config-application-package/src/main/java/com/yahoo/config/model/application/provider
parentf78bc7ec2bbab76e5c9bec35d3a7ef3edcff9f40 (diff)
Allow services.xml variants on application instance name
Diffstat (limited to 'config-application-package/src/main/java/com/yahoo/config/model/application/provider')
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/DeployData.java55
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java29
2 files changed, 57 insertions, 27 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/DeployData.java b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/DeployData.java
index cd13305c009..344035745f8 100644
--- a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/DeployData.java
+++ b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/DeployData.java
@@ -1,8 +1,13 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.config.model.application.provider;
+import com.yahoo.config.provision.ApplicationId;
+import com.yahoo.config.provision.ApplicationName;
+import com.yahoo.config.provision.InstanceName;
+import com.yahoo.config.provision.TenantName;
+
/**
- * A class for holding values generated or computed during deployment
+ * Data generated or computed during deployment
*
* @author hmusum
*/
@@ -11,8 +16,7 @@ public class DeployData {
/** Which user deployed */
private final String deployedByUser;
- /** Name of application given by user */
- private final String applicationName;
+ private final ApplicationId applicationId;
/** The absolute path to the directory holding the application */
private final String deployedFromDir;
@@ -27,6 +31,7 @@ public class DeployData {
private final long generation;
private final long currentlyActiveGeneration;
+ // TODO: Remove after September 2019
public DeployData(String deployedByUser,
String deployedFromDir,
String applicationName,
@@ -34,39 +39,45 @@ public class DeployData {
boolean internalRedeploy,
Long generation,
long currentlyActiveGeneration) {
+ this(deployedByUser,
+ deployedFromDir,
+ ApplicationId.from(TenantName.defaultName(), ApplicationName.from(applicationName), InstanceName.from("default")),
+ deployTimestamp,
+ internalRedeploy,
+ generation, currentlyActiveGeneration);
+ }
+
+ public DeployData(String deployedByUser,
+ String deployedFromDir,
+ ApplicationId applicationId,
+ Long deployTimestamp,
+ boolean internalRedeploy,
+ Long generation,
+ long currentlyActiveGeneration) {
this.deployedByUser = deployedByUser;
this.deployedFromDir = deployedFromDir;
- this.applicationName = applicationName;
+ this.applicationId = applicationId;
this.deployTimestamp = deployTimestamp;
this.internalRedeploy = internalRedeploy;
this.generation = generation;
this.currentlyActiveGeneration = currentlyActiveGeneration;
}
- public String getDeployedByUser() {
- return deployedByUser;
- }
+ public String getDeployedByUser() { return deployedByUser; }
- public String getDeployedFromDir() {
- return deployedFromDir;
- }
+ public String getDeployedFromDir() { return deployedFromDir; }
- public long getDeployTimestamp() {
- return deployTimestamp;
- }
+ public long getDeployTimestamp() { return deployTimestamp; }
public boolean isInternalRedeploy() { return internalRedeploy; }
- public long getGeneration() {
- return generation;
- }
+ public long getGeneration() { return generation; }
- public long getCurrentlyActiveGeneration() {
- return currentlyActiveGeneration;
- }
+ public long getCurrentlyActiveGeneration() { return currentlyActiveGeneration; }
- public String getApplicationName() {
- return applicationName;
- }
+ public ApplicationId getApplicationId() { return applicationId; }
+
+ // TODO: remove after September 2019
+ public String getApplicationName() { return applicationId.application().toString(); }
}
diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java
index b2a1507b424..2859d9f89fc 100644
--- a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java
+++ b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java
@@ -13,6 +13,10 @@ import com.yahoo.config.application.api.UnparsedConfigDefinition;
import com.yahoo.config.codegen.DefParser;
import com.yahoo.config.application.api.ApplicationFile;
import com.yahoo.config.application.api.ApplicationPackage;
+import com.yahoo.config.provision.ApplicationId;
+import com.yahoo.config.provision.ApplicationName;
+import com.yahoo.config.provision.InstanceName;
+import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.Zone;
import com.yahoo.path.Path;
import com.yahoo.io.HexDump;
@@ -117,7 +121,7 @@ public class FilesApplicationPackage implements ApplicationPackage {
deployData.getDeployedFromDir(),
deployData.getDeployTimestamp(),
deployData.isInternalRedeploy(),
- deployData.getApplicationName(),
+ deployData.getApplicationId(),
computeCheckSum(appDir),
deployData.getGeneration(),
deployData.getCurrentlyActiveGeneration());
@@ -144,8 +148,10 @@ public class FilesApplicationPackage implements ApplicationPackage {
this.metaData = metaData;
}
+ @Override
+ @SuppressWarnings("deprecation")
public String getApplicationName() {
- return metaData.getApplicationName();
+ return metaData.getApplicationId().application().value();
}
@Override
@@ -571,9 +577,18 @@ public class FilesApplicationPackage implements ApplicationPackage {
}
private static ApplicationMetaData readMetaData(File appDir) {
- ApplicationMetaData defaultMetaData = new ApplicationMetaData(appDir, "n/a", "n/a", 0l, false, "", 0l, 0l);
+ ApplicationMetaData defaultMetaData = new ApplicationMetaData("n/a",
+ "n/a",
+ 0L,
+ false,
+ ApplicationId.from(TenantName.defaultName(),
+ ApplicationName.from(appDir.getName()),
+ InstanceName.defaultName()),
+ "",
+ 0L,
+ 0L);
File metaFile = new File(appDir, META_FILE_NAME);
- if (!metaFile.exists()) {
+ if ( ! metaFile.exists()) {
return defaultMetaData;
}
try (FileReader reader = new FileReader(metaFile)) {
@@ -663,7 +678,11 @@ public class FilesApplicationPackage implements ApplicationPackage {
}
private void preprocessXML(File destination, File inputXml, Zone zone) throws ParserConfigurationException, TransformerException, SAXException, IOException {
- Document document = new XmlPreProcessor(appDir, inputXml, zone.environment(), zone.region()).run();
+ Document document = new XmlPreProcessor(appDir,
+ inputXml,
+ metaData.getApplicationId().instance(),
+ zone.environment(),
+ zone.region()).run();
Transformer transformer = TransformerFactory.newInstance().newTransformer();
try (FileOutputStream outputStream = new FileOutputStream(destination)) {
transformer.transform(new DOMSource(document), new StreamResult(outputStream));