]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
CSPACE-6329: All fields believed to now be edited, with some currently using placehol...
authorAron Roberts <aron@socrates.berkeley.edu>
Tue, 4 Mar 2014 22:52:04 +0000 (14:52 -0800)
committerAron Roberts <aron@socrates.berkeley.edu>
Tue, 4 Mar 2014 22:52:04 +0000 (14:52 -0800)
services/common-api/src/main/java/org/collectionspace/services/common/api/JEEServerDeployment.java
services/common/src/main/java/org/collectionspace/services/common/ServiceMain.java

index a66a24464a3417001036e268634c23c5aabcfe8d..3f4210bb216f219d116eafafc2afe29464bb0a9b 100644 (file)
@@ -14,7 +14,8 @@ public interface JEEServerDeployment {
        public final static String NUXEO_SERVER_DIR = "nuxeo-server";
        public final static String NUXEO_CONFIG_DIR = "config";
        public final static String NUXEO_SERVER_CONFIG_DIR = NUXEO_SERVER_DIR + File.separator + NUXEO_CONFIG_DIR;
-        public final static String NUXEO_PROTOTYPE_CONFIG_FILENAME = "proto-repo-config.xml";
+        public final static String NUXEO_REPO_CONFIG_FILENAME_SUFFIX = "-repo-config.xml";
+        public final static String NUXEO_PROTOTYPE_CONFIG_FILENAME = "proto" + NUXEO_REPO_CONFIG_FILENAME_SUFFIX;
        public final static String NUXEO_PLUGINS_DIR = "plugins";
        public final static String NUXEO_SERVER_PLUGINS_DIR = NUXEO_SERVER_DIR + File.separator + NUXEO_PLUGINS_DIR;
 }
index bdba40bbd0fecf2d80c5a1044bbab345c865a150..1d32ede7ec77a67986c98bc7724426892432bc54 100644 (file)
@@ -21,6 +21,7 @@ import javax.sql.DataSource;
 import org.collectionspace.authentication.AuthN;\r
 \r
 import org.collectionspace.services.common.api.JEEServerDeployment;\r
+import org.collectionspace.services.common.api.Tools;\r
 import org.collectionspace.services.common.authorization_mgt.AuthorizationCommon;\r
 import org.collectionspace.services.common.config.ConfigReader;\r
 import org.collectionspace.services.common.config.ConfigUtils;\r
@@ -69,8 +70,14 @@ public class ServiceMain {
     private UriTemplateRegistry uriTemplateRegistry = new UriTemplateRegistry();\r
     \r
     private static final String SERVER_HOME_PROPERTY = "catalina.home";\r
-       private static final boolean USE_APP_GENERATED_CONFIG = true;\r
-        \r
+    private static final boolean USE_APP_GENERATED_CONFIG = true;\r
+    \r
+    private static final String COMPONENT_EXTENSION_XPATH = "/component/extension[@point='%s']";\r
+    private static final String REPOSITORY_EXTENSION_POINT_XPATH =\r
+            String.format(COMPONENT_EXTENSION_XPATH, "repository");\r
+    private static final String REPOSITORIES_EXTENSION_POINT_XPATH =\r
+            String.format(COMPONENT_EXTENSION_XPATH, "repositories");\r
+            \r
     private ServiceMain() {\r
        //empty\r
     }\r
@@ -171,19 +178,50 @@ public class ServiceMain {
                 List<String> repositoryNameList = ConfigUtils.getRepositoryNameList(tbt);\r
                 if (repositoryNameList != null && repositoryNameList.isEmpty() == false) {\r
                     Document repoDoc = null;\r
+                    final String PLACEHOLDER = "placeholder";\r
                     for (String repositoryName : repositoryNameList) {\r
+                        if (Tools.isBlank(repositoryName)) {\r
+                            continue;\r
+                        }\r
+                        // FIXME: Remove this and other, similar log statements before merging. \r
                         logger.warn("Repository name=" + repositoryName);\r
                         repoDoc = (Document) prototypeDoc.clone();\r
-                        logger.warn("Before attribute edits=\n" + repoDoc.asXML());\r
-                        // FIXME: Set up constants and/or methods for XPath expressions, element and attribute names\r
-                        repoDoc = XmlTools.setAttributeValue(repoDoc, "/component/extension[@point='repository']/repository", "name", repositoryName);\r
-                        logger.warn("After first attribute edit=\n" + repoDoc.asXML());\r
-                        repoDoc = XmlTools.setAttributeValue(repoDoc, "/component/extension[@point='repository']/repository/repository", "name", repositoryName);\r
-                        logger.warn("After second attribute edit=\n" + repoDoc.asXML());\r
-                        repoDoc = XmlTools.setAttributeValue(repoDoc, "/component/extension[@point='repositories']/repository", "name", repositoryName);\r
-                        logger.warn("After third attribute edit=\n" + repoDoc.asXML());\r
-                        repoDoc = XmlTools.setElementValue(repoDoc, "/component/extension[@point='repository']/repository/repository/property[@name='DatabaseName']", repositoryName);\r
-                        logger.warn("After first element edit=\n" + repoDoc.asXML());\r
+                        logger.warn("Before edits=\n" + repoDoc.asXML());\r
+                        // Text substitutions within first extension point\r
+                        repoDoc = XmlTools.setAttributeValue(repoDoc,\r
+                                REPOSITORY_EXTENSION_POINT_XPATH + "/repository", "name", repositoryName);\r
+                        logger.warn("After edit=\n" + repoDoc.asXML());\r
+                        repoDoc = XmlTools.setAttributeValue(repoDoc,\r
+                                REPOSITORY_EXTENSION_POINT_XPATH + "/repository/repository", "name", repositoryName);\r
+                        logger.warn("After edit=\n" + repoDoc.asXML());\r
+                        repoDoc = XmlTools.setElementValue(repoDoc,\r
+                                REPOSITORY_EXTENSION_POINT_XPATH + "/repository/repository/xa-datasource", PLACEHOLDER);\r
+                        logger.warn("After edit=\n" + repoDoc.asXML());\r
+                        repoDoc = XmlTools.setElementValue(repoDoc,\r
+                                REPOSITORY_EXTENSION_POINT_XPATH + "/repository/repository/property[@name='URL']", PLACEHOLDER);\r
+                        logger.warn("After edit=\n" + repoDoc.asXML());\r
+                        repoDoc = XmlTools.setElementValue(repoDoc,\r
+                                REPOSITORY_EXTENSION_POINT_XPATH + "/repository/repository/property[@name='ServerName']", PLACEHOLDER);\r
+                        logger.warn("After edit=\n" + repoDoc.asXML());\r
+                        repoDoc = XmlTools.setElementValue(repoDoc,\r
+                                REPOSITORY_EXTENSION_POINT_XPATH + "/repository/repository/property[@name='DatabaseName']", repositoryName);\r
+                        logger.warn("After edit=\n" + repoDoc.asXML());\r
+                        repoDoc = XmlTools.setElementValue(repoDoc,\r
+                                REPOSITORY_EXTENSION_POINT_XPATH + "/repository/repository/property[@name='User']", PLACEHOLDER);\r
+                        logger.warn("After edit=\n" + repoDoc.asXML());\r
+                        repoDoc = XmlTools.setElementValue(repoDoc,\r
+                                REPOSITORY_EXTENSION_POINT_XPATH + "/repository/repository/property[@name='Password']", PLACEHOLDER);\r
+                        logger.warn("After edit=\n" + repoDoc.asXML());\r
+                        // Text substitutions within second extension point\r
+                        repoDoc = XmlTools.setElementValue(repoDoc,\r
+                                REPOSITORIES_EXTENSION_POINT_XPATH + "/documentation", PLACEHOLDER);\r
+                        logger.warn("After edit=\n" + repoDoc.asXML());\r
+                        repoDoc = XmlTools.setAttributeValue(repoDoc,\r
+                                REPOSITORIES_EXTENSION_POINT_XPATH + "/repository", "name", repositoryName);\r
+                        logger.warn("After edit=\n" + repoDoc.asXML());\r
+                        repoDoc = XmlTools.setAttributeValue(repoDoc,\r
+                                REPOSITORIES_EXTENSION_POINT_XPATH + "/repository", "label", PLACEHOLDER);\r
+                        logger.warn("After edit=\n" + repoDoc.asXML());\r
                         // FIXME: Edit additional element and/or attribute values.\r
                         // FIXME: Emit serialized XML and write it to an appropriately named file\r
                         // in the Nuxeo server config directory.\r
@@ -415,6 +453,10 @@ public class ServiceMain {
         return JEEServerDeployment.NUXEO_PROTOTYPE_CONFIG_FILENAME;\r
     }\r
     \r
+    public String getNuxeoConfigFilename(String reponame) {\r
+        return reponame + JEEServerDeployment.NUXEO_REPO_CONFIG_FILENAME_SUFFIX;\r
+    }\r
+    \r
     /**\r
      * @return the server resources path\r
      */\r