aboutsummaryrefslogtreecommitdiffstats
path: root/config-application-package/src/main/java/com/yahoo/config/model/application/AbstractApplicationPackage.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-application-package/src/main/java/com/yahoo/config/model/application/AbstractApplicationPackage.java')
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/AbstractApplicationPackage.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/AbstractApplicationPackage.java b/config-application-package/src/main/java/com/yahoo/config/model/application/AbstractApplicationPackage.java
new file mode 100644
index 00000000000..c616784c7be
--- /dev/null
+++ b/config-application-package/src/main/java/com/yahoo/config/model/application/AbstractApplicationPackage.java
@@ -0,0 +1,44 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.config.model.application;
+
+import com.yahoo.config.application.api.ApplicationPackage;
+import com.yahoo.config.application.Xml;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * Common code for all implementations of ApplicationPackage
+ *
+ * @author arnej
+ */
+public abstract class AbstractApplicationPackage implements ApplicationPackage {
+
+ @Override
+ public Map<String,String> legacyOverrides() {
+ Map<String, String> result = new HashMap<>();
+ try {
+ Document services = Xml.getDocument(getServices());
+ NodeList legacyNodes = services.getElementsByTagName("legacy");
+ for (int i=0; i < legacyNodes.getLength(); i++) {
+ var flagNodes = legacyNodes.item(i).getChildNodes();
+ for (int j = 0; j < flagNodes.getLength(); ++j) {
+ var flagNode = flagNodes.item(j);
+ if (flagNode.getNodeType() == Node.ELEMENT_NODE) {
+ String key = flagNode.getNodeName();
+ String value = flagNode.getTextContent();
+ result.put(key, value);
+ }
+ }
+ }
+ } catch (Exception e) {
+ // nothing: This method does not validate that services.xml exists, or that it is valid xml.
+ }
+ return result;
+ }
+
+}