You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2017/06/13 13:32:19 UTC
[2/2] syncope git commit: [SYNCOPE-1109] Various fixes
[SYNCOPE-1109] Various fixes
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/06f3fdd7
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/06f3fdd7
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/06f3fdd7
Branch: refs/heads/master
Commit: 06f3fdd73e6b08f400d6551b4607d9527b70ef0d
Parents: 8cee380
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Tue Jun 13 15:31:57 2017 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Tue Jun 13 15:32:08 2017 +0200
----------------------------------------------------------------------
.../src/main/webapp/WEB-INF/glassfish-web.xml | 4 +-
.../src/main/webapp/WEB-INF/weblogic.xml | 45 --------
installer/pom.xml | 5 +-
.../syncope/installer/files/ConsolePom.java | 108 +++++++++++++++++
.../apache/syncope/installer/files/CorePom.java | 7 +-
.../installer/files/GlassfishCoreWebXml.java | 4 +-
.../installer/files/MasterProperties.java | 16 ++-
.../installer/processes/ArchetypeProcess.java | 59 ++++------
.../installer/processes/ContainerProcess.java | 31 ++---
.../installer/utilities/FileSystemUtils.java | 26 ++---
.../syncope/installer/utilities/MavenUtils.java | 33 ++++--
.../validators/ContainerValidator.java | 4 +-
.../src/main/resources/installer.properties | 1 -
.../main/resources/izpack/ProcessPanel.Spec.xml | 29 ++---
.../main/resources/izpack/userInputLang.xml_eng | 2 +-
.../main/resources/izpack/userInputLang.xml_ita | 2 +-
.../src/main/resources/izpack/userInputSpec.xml | 2 +-
installer/src/main/resources/modelerPom.xml | 115 -------------------
18 files changed, 227 insertions(+), 266 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/06f3fdd7/fit/core-reference/src/main/webapp/WEB-INF/glassfish-web.xml
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/main/webapp/WEB-INF/glassfish-web.xml b/fit/core-reference/src/main/webapp/WEB-INF/glassfish-web.xml
index ab6a9bf..2578cf5 100644
--- a/fit/core-reference/src/main/webapp/WEB-INF/glassfish-web.xml
+++ b/fit/core-reference/src/main/webapp/WEB-INF/glassfish-web.xml
@@ -23,8 +23,8 @@ GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/gla
<context-root>/syncope</context-root>
<!-- Uncomment this when using JNDI DataSource -->
<!--<resource-ref>
- <res-ref-name>jdbc/syncopeDataSource</res-ref-name>
- <jndi-name>jdbc/syncopeDataSource</jndi-name>
+ <res-ref-name>jdbc/syncopeMasterDataSource</res-ref-name>
+ <jndi-name>jdbc/syncopeMasterDataSource</jndi-name>
</resource-ref>-->
<class-loader delegate="false"/>
<jsp-config>
http://git-wip-us.apache.org/repos/asf/syncope/blob/06f3fdd7/fit/core-reference/src/main/webapp/WEB-INF/weblogic.xml
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/main/webapp/WEB-INF/weblogic.xml b/fit/core-reference/src/main/webapp/WEB-INF/weblogic.xml
deleted file mode 100644
index e3db665..0000000
--- a/fit/core-reference/src/main/webapp/WEB-INF/weblogic.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app
- http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
-
- <context-root>syncope</context-root>
-
- <container-descriptor>
- <prefer-application-packages>
- <package-name>javax.ws.rs.*</package-name>
- <package-name>javax.validation.*</package-name>
- <package-name>org.apache.cxf.*</package-name>
- <package-name>org.apache.commons.*</package-name>
- <package-name>org.apache.openjpa.*</package-name>
- <package-name>org.slf4j.*</package-name>
- <package-name>org.apache.logging.log4j.*</package-name>
- <package-name>com.fasterxml.jackson.*</package-name>
- </prefer-application-packages>
- </container-descriptor>
-
- <!-- Uncomment this when using JNDI DataSource -->
- <!--<resource-description>
- <jndi-name>syncopeDataSource</jndi-name>
- <res-ref-name>jdbc/syncopeDataSource</res-ref-name>
- </resource-description>-->
-</weblogic-web-app>
http://git-wip-us.apache.org/repos/asf/syncope/blob/06f3fdd7/installer/pom.xml
----------------------------------------------------------------------
diff --git a/installer/pom.xml b/installer/pom.xml
index 2a20bfa..227bd89 100644
--- a/installer/pom.xml
+++ b/installer/pom.xml
@@ -178,7 +178,6 @@ under the License.
<directory>src/main/resources</directory>
<includes>
<include>installer.properties</include>
- <include>modelerPom.xml</include>
</includes>
</resource>
<resource>
@@ -190,13 +189,13 @@ under the License.
<resource>
<directory>${basedir}/../fit/core-reference/src/main/resources/all</directory>
<includes>
- <include>provisioning.properties</include>
+ <include>workflow.properties</include>
</includes>
</resource>
<resource>
<directory>${basedir}/../fit/core-reference/src/main/resources</directory>
<includes>
- <include>workflow.properties</include>
+ <include>provisioning.properties</include>
</includes>
</resource>
<resource>
http://git-wip-us.apache.org/repos/asf/syncope/blob/06f3fdd7/installer/src/main/java/org/apache/syncope/installer/files/ConsolePom.java
----------------------------------------------------------------------
diff --git a/installer/src/main/java/org/apache/syncope/installer/files/ConsolePom.java b/installer/src/main/java/org/apache/syncope/installer/files/ConsolePom.java
new file mode 100644
index 0000000..57a1bd3
--- /dev/null
+++ b/installer/src/main/java/org/apache/syncope/installer/files/ConsolePom.java
@@ -0,0 +1,108 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.installer.files;
+
+public final class ConsolePom {
+
+ public static final String ACTIVITI_PLACEHOLDER = "</dependencies>";
+
+ public static final String ACTIVITI_CONTENT_TO_ADD = "<dependency>\n"
+ + " <groupId>org.activiti</groupId>\n"
+ + " <artifactId>activiti-webapp-explorer2</artifactId>\n"
+ + " <type>war</type>\n"
+ + " <scope>test</scope>\n"
+ + " </dependency>\n"
+ + " </dependencies>\n";
+
+ public static final String MODELER_PLACEHOLDER = "</finalName>";
+
+ public static final String MODELER_CONTENT_TO_ADD = "</finalName><plugins>\n"
+ + " <plugin>\n"
+ + " <groupId>org.apache.maven.plugins</groupId>\n"
+ + " <artifactId>maven-antrun-plugin</artifactId>\n"
+ + " <inherited>true</inherited>\n"
+ + " <executions>\n"
+ + " <execution>\n"
+ + " <id>setupActivitiModeler</id>\n"
+ + " <phase>process-resources</phase>\n"
+ + " <configuration>\n"
+ + " <target>\n"
+ + " <unzip src=\"${settings.localRepository}/org/activiti/activiti-webapp-explorer2/"
+ + "${activiti.version}/activiti-webapp-explorer2-${activiti.version}.war\" \n"
+ + " dest=\"${project.build.directory}/activiti-webapp-explorer2\" />\n"
+ + " \n"
+ + " <mkdir dir=\"${activiti-modeler.directory}\" />\n"
+ + " <copy file=\"${project.build.directory}/activiti-webapp-explorer2/modeler.html\" \n"
+ + " todir=\"${activiti-modeler.directory}\" />\n"
+ + " <replace file=\"${activiti-modeler.directory}/modeler.html\"\n"
+ + " token=\"</head>\"\n"
+ + " value=\"<script type="text/javascript">window.onunload = "
+ + "refreshParent; function refreshParent() { window.opener.location.reload(); }</script></head>"
+ + "\"/>\n"
+ + " <copy file=\"${project.build.directory}/activiti-webapp-explorer2/WEB-INF/classes/"
+ + "stencilset.json\" \n"
+ + " todir=\"${activiti-modeler.directory}\" />\n" + "\n"
+ + " <mkdir dir=\"${activiti-modeler.directory}/editor-app\" />\n"
+ + " <copy todir=\"${activiti-modeler.directory}/editor-app\">\n"
+ + " <fileset dir=\"${project.build.directory}/activiti-webapp-explorer2/editor-app\""
+ + "/>\n"
+ + " </copy>\n"
+ + " <replaceregexp file=\"${activiti-modeler.directory}/editor-app/editor/oryx.debug.js"
+ + "\"\n"
+ + " match=\"ORYX.CONFIG.ROOT_PATH =.*"editor/"; //TODO:"
+ + " Remove last slash!!\"\n"
+ + " replace=\"BASE_PATH = window.location.toString().substr(0, "
+ + "window.location.toString().indexOf('/wicket'));\n"
+ + "ORYX.CONFIG.ROOT_PATH = BASE_PATH + "/activiti-modeler/editor-app/editor/";\"\n"
+ + " byline=\"true\"/>\n"
+ + " <replace file=\"${activiti-modeler.directory}/editor-app/editor/oryx.debug.js\"\n"
+ + " token=\"new Ajax.Request(ACTIVITI.CONFIG.contextRoot + '/editor/"
+ + "stencilset?version=' + Date.now(), {\"\n"
+ + " value=\"new Ajax.Request(window.location.toString().substr(0,"
+ + " window.location.toString().indexOf('/activiti-modeler')) + "/activiti-modeler/"
+ + "stencilset.json", {\"/>\n"
+ + " <replace file=\"${activiti-modeler.directory}/editor-app/editor/oryx.debug.js\"\n"
+ + " token=\"ORYX.Editor.createByUrl(modelUrl);\"\n"
+ + " value=\"modelUrl = BASE_PATH + "/workflowDefGET?modelId=" "
+ + "+ this.modelId; ORYX.Editor.createByUrl(modelUrl);\" />\n"
+ + " <replace file=\"${activiti-modeler.directory}/editor-app/configuration/"
+ + "toolbar-default-actions.js\"\n"
+ + " token=\"window.location.href = "./";\"\n"
+ + " value=\"window.close();\"/>\n"
+ + " \n"
+ + " <copy file=\"${basedir}/src/main/resources/url-config.js\" \n"
+ + " todir=\"${activiti-modeler.directory}/editor-app/configuration\"\n"
+ + " overwrite=\"true\" />\n"
+ + " <copy file=\"${basedir}/src/main/resources/save-model.html\" \n"
+ + " todir=\"${activiti-modeler.directory}/editor-app/popups\"\n"
+ + " overwrite=\"true\" />\n"
+ + " </target>\n"
+ + " </configuration>\n"
+ + " <goals>\n"
+ + " <goal>run</goal>\n"
+ + " </goals>\n"
+ + " </execution>\n"
+ + " </executions>\n"
+ + " </plugin>\n"
+ + " </plugins>";
+
+ private ConsolePom() {
+ // private constructor for static utility class
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/06f3fdd7/installer/src/main/java/org/apache/syncope/installer/files/CorePom.java
----------------------------------------------------------------------
diff --git a/installer/src/main/java/org/apache/syncope/installer/files/CorePom.java b/installer/src/main/java/org/apache/syncope/installer/files/CorePom.java
index 5a9f392..029fad1 100644
--- a/installer/src/main/java/org/apache/syncope/installer/files/CorePom.java
+++ b/installer/src/main/java/org/apache/syncope/installer/files/CorePom.java
@@ -29,10 +29,13 @@ public final class CorePom {
+ " </dependency>\n"
+ " </dependencies>\n";
- public static final String ACTIVITI_PLACEHOLDER = " <dependency>\n"
+ public static final String ACTIVITI_PLACEHOLDER = "</dependencies>";
+
+ public static final String ACTIVITI_CONTENT_TO_ADD = " <dependency>\n"
+ " <groupId>org.apache.syncope.core</groupId>\n"
+ " <artifactId>syncope-core-workflow-activiti</artifactId>\n"
- + " </dependency>\n";
+ + " </dependency>\n"
+ + " </dependencies>\n";
private CorePom() {
// private constructor for static utility class
http://git-wip-us.apache.org/repos/asf/syncope/blob/06f3fdd7/installer/src/main/java/org/apache/syncope/installer/files/GlassfishCoreWebXml.java
----------------------------------------------------------------------
diff --git a/installer/src/main/java/org/apache/syncope/installer/files/GlassfishCoreWebXml.java b/installer/src/main/java/org/apache/syncope/installer/files/GlassfishCoreWebXml.java
index f9a99df..67989c7 100644
--- a/installer/src/main/java/org/apache/syncope/installer/files/GlassfishCoreWebXml.java
+++ b/installer/src/main/java/org/apache/syncope/installer/files/GlassfishCoreWebXml.java
@@ -22,12 +22,12 @@ public final class GlassfishCoreWebXml {
public static final String PLACEHOLDER = " <!--<resource-ref>\n"
+ " <res-ref-name>jdbc/syncopeDataSource</res-ref-name>\n"
- + " <jndi-name>jdbc/syncopeDataSource</jndi-name>\n"
+ + " <jndi-name>jdbc/syncopeMasterDataSource</jndi-name>\n"
+ " </resource-ref>-->";
public static final String DATA_SOURCE = " <resource-ref>\n"
+ " <res-ref-name>jdbc/syncopeDataSource</res-ref-name>\n"
- + " <jndi-name>jdbc/syncopeDataSource</jndi-name>\n"
+ + " <jndi-name>jdbc/syncopeMasterDataSource</jndi-name>\n"
+ " </resource-ref>";
private GlassfishCoreWebXml() {
http://git-wip-us.apache.org/repos/asf/syncope/blob/06f3fdd7/installer/src/main/java/org/apache/syncope/installer/files/MasterProperties.java
----------------------------------------------------------------------
diff --git a/installer/src/main/java/org/apache/syncope/installer/files/MasterProperties.java b/installer/src/main/java/org/apache/syncope/installer/files/MasterProperties.java
index aa43826..46d38b9 100644
--- a/installer/src/main/java/org/apache/syncope/installer/files/MasterProperties.java
+++ b/installer/src/main/java/org/apache/syncope/installer/files/MasterProperties.java
@@ -44,17 +44,21 @@ public final class MasterProperties {
+ "Master.databasePlatform=org.apache.openjpa.jdbc.sql.PostgresDictionary%n"
+ "Master.orm=META-INF/spring-orm.xml%n"
+ "Master.pool.validationQuery=SELECT 1%n"
+ + "Master.pool.maxActive=10%n"
+ + "Master.pool.minIdle=2%n"
+ "Master.audit.sql=audit.sql%n";
public static final String MYSQL = ""
+ "Master.driverClassName=com.mysql.jdbc.Driver%n"
- + "Master.url=%s%n"
+ + "Master.url=%s&relaxAutoCommit=true%n"
+ "Master.schema=%n"
+ "Master.username=%s%n"
+ "Master.password=%s%n"
- + "Master.databasePlatform=org.apache.openjpa.jdbc.sql.MySQLDictionary%n"
+ + "Master.databasePlatform=org.apache.openjpa.jdbc.sql.MySQLDictionary(blobTypeName=LONGBLOB)%n"
+ "Master.orm=META-INF/spring-orm.xml%n"
+ "Master.pool.validationQuery=SELECT 1%n"
+ + "Master.pool.maxActive=10%n"
+ + "Master.pool.minIdle=2%n"
+ "Master.audit.sql=audit.sql%n";
public static final String MARIADB = ""
@@ -63,9 +67,11 @@ public final class MasterProperties {
+ "Master.schema=%n"
+ "Master.username=%s%n"
+ "Master.password=%s%n"
- + "Master.databasePlatform=org.apache.openjpa.jdbc.sql.MariaDBDictionary%n"
+ + "Master.databasePlatform=org.apache.openjpa.jdbc.sql.MariaDBDictionary(blobTypeName=LONGBLOB)%n"
+ "Master.orm=META-INF/spring-orm.xml%n"
+ "Master.pool.validationQuery=SELECT 1%n"
+ + "Master.pool.maxActive=10%n"
+ + "Master.pool.minIdle=2%n"
+ "Master.audit.sql=audit.sql%n";
public static final String ORACLE = ""
@@ -77,6 +83,8 @@ public final class MasterProperties {
+ "Master.databasePlatform=org.apache.openjpa.jdbc.sql.OracleDictionary%n"
+ "Master.orm=META-INF/spring-orm-oracle.xml%n"
+ "Master.pool.validationQuery=SELECT 1 FROM DUAL%n"
+ + "Master.pool.maxActive=10%n"
+ + "Master.pool.minIdle=2%n"
+ "Master.audit.sql=audit_oracle.sql%n";
public static final String SQLSERVER = ""
@@ -88,6 +96,8 @@ public final class MasterProperties {
+ "Master.databasePlatform=org.apache.openjpa.jdbc.sql.SQLServerDictionary%n"
+ "Master.orm=META-INF/spring-orm-sqlserver.xml%n"
+ "Master.pool.validationQuery=SELECT 1%n"
+ + "Master.pool.maxActive=10%n"
+ + "Master.pool.minIdle=2%n"
+ "Master.audit.sql=audit_sqlserver.sql%n";
private MasterProperties() {
http://git-wip-us.apache.org/repos/asf/syncope/blob/06f3fdd7/installer/src/main/java/org/apache/syncope/installer/processes/ArchetypeProcess.java
----------------------------------------------------------------------
diff --git a/installer/src/main/java/org/apache/syncope/installer/processes/ArchetypeProcess.java b/installer/src/main/java/org/apache/syncope/installer/processes/ArchetypeProcess.java
index 810295b..e0e61b0 100644
--- a/installer/src/main/java/org/apache/syncope/installer/processes/ArchetypeProcess.java
+++ b/installer/src/main/java/org/apache/syncope/installer/processes/ArchetypeProcess.java
@@ -25,6 +25,7 @@ import java.io.IOException;
import java.util.Properties;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
+import org.apache.syncope.installer.files.ConsolePom;
import org.apache.syncope.installer.files.CorePom;
import org.apache.syncope.installer.files.ParentPom;
import org.apache.syncope.installer.utilities.InstallLog;
@@ -98,9 +99,9 @@ public class ArchetypeProcess extends BaseProcess {
if (syncopeVersion.contains("SNAPSHOT")) {
final File pomFile = new File(syncopeInstallDir + PROPERTIES.getProperty("pomFile"));
String contentPomFile = fileSystemUtils.readFile(pomFile);
- fileSystemUtils.
- writeToFile(pomFile, contentPomFile.replace(ParentPom.REPOSITORY_PLACEHOLDER,
- ParentPom.REPOSITORY_CONTENT_TO_ADD));
+ fileSystemUtils.writeToFile(
+ pomFile,
+ contentPomFile.replace(ParentPom.REPOSITORY_PLACEHOLDER, ParentPom.REPOSITORY_CONTENT_TO_ADD));
}
if (swagger) {
@@ -111,9 +112,9 @@ public class ArchetypeProcess extends BaseProcess {
+ File.separator
+ PROPERTIES.getProperty("pomFile"));
String contentPomFile = fileSystemUtils.readFile(pomFile);
- contentPomFile = contentPomFile.replace(CorePom.SWAGGER_PLACEHOLDER, CorePom.SWAGGER_CONTENT_TO_ADD);
-
- fileSystemUtils.writeToFile(pomFile, contentPomFile);
+ fileSystemUtils.writeToFile(
+ pomFile,
+ contentPomFile.replace(CorePom.SWAGGER_PLACEHOLDER, CorePom.SWAGGER_CONTENT_TO_ADD));
}
fileSystemUtils.createDirectory(confDirectory);
@@ -122,50 +123,38 @@ public class ArchetypeProcess extends BaseProcess {
fileSystemUtils.createDirectory(modelerDirectory);
if (activiti) {
- fileSystemUtils.copyFileFromResources(
- File.separator + PROPERTIES.getProperty("modelerPomFile"),
- modelerDirectory + File.separator + PROPERTIES.getProperty("pomFile"), handler);
-
- File modelerPomFile = new File(modelerDirectory + File.separator + PROPERTIES.getProperty("pomFile"));
-
- String contentModelerPomFile =
- fileSystemUtils.readFile(modelerPomFile).replace("${syncope.version}", syncopeVersion);
- fileSystemUtils.writeToFile(modelerPomFile, String.format(contentModelerPomFile, modelerDirectory));
- fileSystemUtils.copyFile(
- syncopeInstallDir
- + PROPERTIES.getProperty("consoleResDirectory")
- + File.separator + PROPERTIES.getProperty("urlConfig"),
- modelerDirectory + File.separator + PROPERTIES.getProperty("urlConfig"));
- fileSystemUtils.copyFile(
- syncopeInstallDir
- + PROPERTIES.getProperty("consoleResDirectory")
- + File.separator + PROPERTIES.getProperty("saveModel"),
- modelerDirectory + File.separator + PROPERTIES.getProperty("saveModel"));
-
- final Properties modelerProperties = new Properties();
- modelerProperties.setProperty("activiti-modeler.directory", modelerDirectory);
- mavenUtils.mvnCleanPackageWithProperties(modelerDirectory, modelerProperties, customMavenProxySettings);
- FileSystemUtils.delete(new File(modelerDirectory + File.separator + PROPERTIES.getProperty("saveModel")));
- FileSystemUtils.delete(new File(modelerDirectory + File.separator + PROPERTIES.getProperty("urlConfig")));
- } else {
- final File pomFile = new File(
+ File pomFile = new File(
syncopeInstallDir
+ File.separator
+ "core"
+ File.separator
+ PROPERTIES.getProperty("pomFile"));
String contentPomFile = fileSystemUtils.readFile(pomFile);
- contentPomFile = contentPomFile.replace(CorePom.ACTIVITI_PLACEHOLDER, "");
- fileSystemUtils.writeToFile(pomFile, contentPomFile);
+ fileSystemUtils.writeToFile(
+ pomFile,
+ contentPomFile.replace(CorePom.ACTIVITI_PLACEHOLDER, CorePom.ACTIVITI_CONTENT_TO_ADD));
fileSystemUtils.copyFileFromResources("/workflow.properties",
syncopeInstallDir + PROPERTIES.getProperty("workflowPropertiesFile"), handler);
+
+ pomFile = new File(
+ syncopeInstallDir
+ + File.separator
+ + "console"
+ + File.separator
+ + PROPERTIES.getProperty("pomFile"));
+ contentPomFile = fileSystemUtils.readFile(pomFile);
+ fileSystemUtils.writeToFile(
+ pomFile,
+ contentPomFile.replace(ConsolePom.ACTIVITI_PLACEHOLDER, ConsolePom.ACTIVITI_CONTENT_TO_ADD).
+ replace(ConsolePom.MODELER_PLACEHOLDER, ConsolePom.MODELER_CONTENT_TO_ADD));
}
final Properties syncopeProperties = new Properties();
syncopeProperties.setProperty("conf.directory", confDirectory);
syncopeProperties.setProperty("log.directory", logsDirectory);
syncopeProperties.setProperty("bundles.directory", bundlesDirectory);
+ syncopeProperties.setProperty("activiti-modeler.directory", modelerDirectory);
mavenUtils.mvnCleanPackageWithProperties(
installPath + File.separator + artifactId, syncopeProperties, customMavenProxySettings);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/06f3fdd7/installer/src/main/java/org/apache/syncope/installer/processes/ContainerProcess.java
----------------------------------------------------------------------
diff --git a/installer/src/main/java/org/apache/syncope/installer/processes/ContainerProcess.java b/installer/src/main/java/org/apache/syncope/installer/processes/ContainerProcess.java
index ba730d3..63668cf 100644
--- a/installer/src/main/java/org/apache/syncope/installer/processes/ContainerProcess.java
+++ b/installer/src/main/java/org/apache/syncope/installer/processes/ContainerProcess.java
@@ -76,6 +76,7 @@ public final class ContainerProcess extends BaseProcess {
private String logsDirectory;
private String bundlesDirectory;
+ private String modelerDirectory;
private boolean withDataSource;
@@ -123,20 +124,21 @@ public final class ContainerProcess extends BaseProcess {
confDirectory = args[13];
logsDirectory = args[14];
bundlesDirectory = args[15];
- withDataSource = Boolean.valueOf(args[16]);
- jbossSsl = Boolean.valueOf(args[17]);
- jbossHost = args[18];
- jbossPort = args[19];
- jbossJdbcModuleName = args[20];
- jbossAdminUsername = args[21];
- jbossAdminPassword = args[22];
- jbossManagementPort = args[23];
- isProxyEnabled = Boolean.valueOf(args[24]);
- proxyHost = args[25];
- proxyPort = args[26];
- proxyUser = args[27];
- proxyPwd = args[28];
- mavenProxyAutoconf = Boolean.valueOf(args[29]);
+ modelerDirectory = args[16];
+ withDataSource = Boolean.valueOf(args[17]);
+ jbossSsl = Boolean.valueOf(args[18]);
+ jbossHost = args[19];
+ jbossPort = args[20];
+ jbossJdbcModuleName = args[21];
+ jbossAdminUsername = args[22];
+ jbossAdminPassword = args[23];
+ jbossManagementPort = args[24];
+ isProxyEnabled = Boolean.valueOf(args[25]);
+ proxyHost = args[26];
+ proxyPort = args[27];
+ proxyUser = args[28];
+ proxyPwd = args[29];
+ mavenProxyAutoconf = Boolean.valueOf(args[30]);
handler.logOutput("Configure web.xml file according to " + selectedContainer + " properties", true);
InstallLog.getInstance().info("Configure web.xml file according to " + selectedContainer + " properties");
@@ -227,6 +229,7 @@ public final class ContainerProcess extends BaseProcess {
mvnProperties.setProperty("conf.directory", confDirectory);
mvnProperties.setProperty("log.directory", logsDirectory);
mvnProperties.setProperty("bundles.directory", bundlesDirectory);
+ mvnProperties.setProperty("activiti-modeler.directory", modelerDirectory);
mavenUtils.mvnCleanPackageWithProperties(
installPath + File.separator + artifactId, mvnProperties, customMavenProxySettings);
http://git-wip-us.apache.org/repos/asf/syncope/blob/06f3fdd7/installer/src/main/java/org/apache/syncope/installer/utilities/FileSystemUtils.java
----------------------------------------------------------------------
diff --git a/installer/src/main/java/org/apache/syncope/installer/utilities/FileSystemUtils.java b/installer/src/main/java/org/apache/syncope/installer/utilities/FileSystemUtils.java
index ab725c3..c8b70e1 100644
--- a/installer/src/main/java/org/apache/syncope/installer/utilities/FileSystemUtils.java
+++ b/installer/src/main/java/org/apache/syncope/installer/utilities/FileSystemUtils.java
@@ -60,7 +60,7 @@ public class FileSystemUtils {
FileUtils.copyFile(new File(sourceFilePath), new File(targetFilePath));
} catch (final IOException ex) {
final String errorMessage =
- "Error copying file " + sourceFilePath + " to " + targetFilePath;
+ "Error copying file " + sourceFilePath + " to " + targetFilePath + ": " + ex.getMessage();
handler.emitError(errorMessage, errorMessage);
InstallLog.getInstance().error(errorMessage);
}
@@ -82,8 +82,7 @@ public class FileSystemUtils {
}
}
- private void readResponse(final InputStream inputStream) throws
- IOException {
+ private void readResponse(final InputStream inputStream) throws IOException {
final BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line = reader.readLine();
while (line != null) {
@@ -98,9 +97,9 @@ public class FileSystemUtils {
public void writeToFile(final File file, final String content) {
try {
final FileWriter fw = new FileWriter(file.getAbsoluteFile());
- final BufferedWriter bw = new BufferedWriter(fw);
- bw.write(content);
- bw.close();
+ try (BufferedWriter bw = new BufferedWriter(fw)) {
+ bw.write(content);
+ }
} catch (final IOException ex) {
final String errorMessage = "Error writing file " + file.getAbsolutePath() + ": " + ex.getMessage();
handler.emitError(errorMessage, errorMessage);
@@ -125,9 +124,9 @@ public class FileSystemUtils {
if (!file.exists()) {
file.createNewFile();
}
- final PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(file, true)));
- out.println(content);
- out.close();
+ try (PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(file, true)))) {
+ out.println(content);
+ }
} catch (IOException ex) {
final String errorMessage = "Error writing file " + file.getAbsolutePath() + ": " + ex.getMessage();
handler.emitError(errorMessage, errorMessage);
@@ -135,8 +134,7 @@ public class FileSystemUtils {
}
}
- public static void writeXML(final Document doc, final OutputStream out) throws IOException,
- TransformerException {
+ public static void writeXML(final Document doc, final OutputStream out) throws IOException, TransformerException {
try {
final TransformerFactory factory = TransformerFactory.newInstance();
factory.setFeature(javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING, true);
@@ -157,13 +155,13 @@ public class FileSystemUtils {
FileUtils.deleteQuietly(file);
}
- public void copyFileFromResources(final String filePath,
- final String destination, final AbstractUIProcessHandler handler) {
+ public void copyFileFromResources(
+ final String filePath, final String destination, final AbstractUIProcessHandler handler) {
try {
FileUtils.copyURLToFile(getClass().getResource(filePath), new File(destination));
} catch (IOException ex) {
- String errorMessage = "Error copying file " + filePath + " to + " + destination;
+ String errorMessage = "Error copying file " + filePath + " to + " + destination + ": " + ex.getMessage();
handler.emitError(errorMessage, errorMessage);
InstallLog.getInstance().error(errorMessage);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/06f3fdd7/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java
----------------------------------------------------------------------
diff --git a/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java b/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java
index 3959af0..fb073f4 100644
--- a/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java
+++ b/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java
@@ -58,12 +58,20 @@ public class MavenUtils {
this.handler = handler;
}
- public void archetypeGenerate(final String archetypeVersion, final String groupId,
- final String artifactId, final String secretKey, final String anonymousKey, final String installPath,
+ public void archetypeGenerate(
+ final String archetypeVersion,
+ final String groupId,
+ final String artifactId,
+ final String secretKey,
+ final String anonymousKey,
+ final String installPath,
final File customSettingsFile) {
final InvocationRequest request = new DefaultInvocationRequest();
- request.setGoals(Collections.singletonList("archetype:generate"));
+ request.setGoals(Collections.singletonList(
+ archetypeVersion.contains("SNAPSHOT")
+ ? "org.apache.maven.plugins:maven-archetype-plugin:2.4:generate"
+ : "archetype:generate"));
request.setBatchMode(true);
final Properties properties =
archetypeProperties(archetypeVersion, groupId, artifactId, secretKey, anonymousKey);
@@ -76,17 +84,20 @@ public class MavenUtils {
invoke(request, installPath);
}
- private Properties archetypeProperties(final String archetypeVersion, final String groupId,
- final String artifactId, final String secretKey, final String anonymousKey) {
+ private Properties archetypeProperties(
+ final String archetypeVersion,
+ final String groupId,
+ final String artifactId,
+ final String secretKey,
+ final String anonymousKey) {
+
final Properties properties = new Properties();
properties.setProperty("archetypeGroupId", "org.apache.syncope");
properties.setProperty("archetypeArtifactId", "syncope-archetype");
- if (archetypeVersion.contains("SNAPSHOT")) {
- properties.setProperty("archetypeRepository",
- "http://repository.apache.org/content/repositories/snapshots");
- } else {
- properties.setProperty("archetypeRepository", "http://repo1.maven.org/maven2");
- }
+ properties.setProperty("archetypeRepository",
+ archetypeVersion.contains("SNAPSHOT")
+ ? "http://repository.apache.org/content/repositories/snapshots"
+ : "http://repo1.maven.org/maven2");
properties.setProperty("archetypeVersion", archetypeVersion);
properties.setProperty("groupId", groupId);
properties.setProperty("artifactId", artifactId);
http://git-wip-us.apache.org/repos/asf/syncope/blob/06f3fdd7/installer/src/main/java/org/apache/syncope/installer/validators/ContainerValidator.java
----------------------------------------------------------------------
diff --git a/installer/src/main/java/org/apache/syncope/installer/validators/ContainerValidator.java b/installer/src/main/java/org/apache/syncope/installer/validators/ContainerValidator.java
index adc7fa5..c674126 100644
--- a/installer/src/main/java/org/apache/syncope/installer/validators/ContainerValidator.java
+++ b/installer/src/main/java/org/apache/syncope/installer/validators/ContainerValidator.java
@@ -77,7 +77,7 @@ public class ContainerValidator extends AbstractValidator {
if (responseCode == 200) {
return Status.OK;
} else {
- error = new StringBuilder("Tomcat URL is offline");
+ error = new StringBuilder("The provided Tomcat instance seems to be offline");
return Status.ERROR;
}
case JBOSS:
@@ -113,7 +113,7 @@ public class ContainerValidator extends AbstractValidator {
if (jResponseCode == 200) {
return Status.OK;
} else {
- error = new StringBuilder("JBoss URL is offline");
+ error = new StringBuilder("The provided JBoss instance seems to be offline");
return Status.ERROR;
}
case GLASSFISH:
http://git-wip-us.apache.org/repos/asf/syncope/blob/06f3fdd7/installer/src/main/resources/installer.properties
----------------------------------------------------------------------
diff --git a/installer/src/main/resources/installer.properties b/installer/src/main/resources/installer.properties
index febfa0b..098d98d 100644
--- a/installer/src/main/resources/installer.properties
+++ b/installer/src/main/resources/installer.properties
@@ -28,4 +28,3 @@ provisioningPropertiesFile=core/src/main/resources/provisioning.properties
masterPropertiesFile=core/src/main/resources/domains/Master.properties
consolePropertiesFile=console.properties
enduserPropertiesFile=enduser.properties
-modelerPomFile=modelerPom.xml
http://git-wip-us.apache.org/repos/asf/syncope/blob/06f3fdd7/installer/src/main/resources/izpack/ProcessPanel.Spec.xml
----------------------------------------------------------------------
diff --git a/installer/src/main/resources/izpack/ProcessPanel.Spec.xml b/installer/src/main/resources/izpack/ProcessPanel.Spec.xml
index 075c2a1..e78149d 100644
--- a/installer/src/main/resources/izpack/ProcessPanel.Spec.xml
+++ b/installer/src/main/resources/izpack/ProcessPanel.Spec.xml
@@ -78,20 +78,21 @@ under the License.
<arg>$mvn.conf.directory</arg><!-- 13 -->
<arg>$mvn.log.directory</arg><!-- 14 -->
<arg>$mvn.bundle.directory</arg><!-- 15 -->
- <arg>$with.datasuorce</arg><!-- 16 -->
- <arg>$jboss.container.ssl</arg><!-- 17 -->
- <arg>$jboss.container.host</arg><!-- 18 -->
- <arg>$jboss.container.port</arg><!-- 19 -->
- <arg>$jboss.container.jdbc.module</arg><!-- 20 -->
- <arg>$jboss.container.user</arg><!-- 21 -->
- <arg>$jboss.container.pwd</arg><!-- 22 -->
- <arg>$jboss.container.management.port</arg><!-- 23 -->
- <arg>$mvn.proxy</arg><!-- 24 -->
- <arg>$mvn.proxy.host</arg><!-- 25 -->
- <arg>$mvn.proxy.port</arg><!-- 26 -->
- <arg>$mvn.proxy.user</arg><!-- 27 -->
- <arg>$mvn.proxy.pwd</arg><!-- 28 -->
- <arg>$mvn.proxy.autoconf</arg><!-- 29 -->
+ <arg>$mvn.modeler.directory</arg><!-- 16 -->
+ <arg>$with.datasuorce</arg><!-- 17 -->
+ <arg>$jboss.container.ssl</arg><!-- 18 -->
+ <arg>$jboss.container.host</arg><!-- 19 -->
+ <arg>$jboss.container.port</arg><!-- 20 -->
+ <arg>$jboss.container.jdbc.module</arg><!-- 21 -->
+ <arg>$jboss.container.user</arg><!-- 22 -->
+ <arg>$jboss.container.pwd</arg><!-- 23 -->
+ <arg>$jboss.container.management.port</arg><!-- 24 -->
+ <arg>$mvn.proxy</arg><!-- 25 -->
+ <arg>$mvn.proxy.host</arg><!-- 26 -->
+ <arg>$mvn.proxy.port</arg><!-- 27 -->
+ <arg>$mvn.proxy.user</arg><!-- 28 -->
+ <arg>$mvn.proxy.pwd</arg><!-- 29 -->
+ <arg>$mvn.proxy.autoconf</arg><!-- 30 -->
</executeclass>
</job>
<onFail previous="true" next="false" />
http://git-wip-us.apache.org/repos/asf/syncope/blob/06f3fdd7/installer/src/main/resources/izpack/userInputLang.xml_eng
----------------------------------------------------------------------
diff --git a/installer/src/main/resources/izpack/userInputLang.xml_eng b/installer/src/main/resources/izpack/userInputLang.xml_eng
index 74a1469..95732fe 100644
--- a/installer/src/main/resources/izpack/userInputLang.xml_eng
+++ b/installer/src/main/resources/izpack/userInputLang.xml_eng
@@ -51,7 +51,7 @@ under the License.
<str id="persistence.mysql.is.innodb" txt="INNODB"/>
<str id="persistence.oracle.tablespace" txt="Oracle tablespace:"/>
- <str id="with.datasuorce.id" txt="DataSource with JNDI name 'java:/syncopeDataSource':"/>
+ <str id="with.datasuorce.id" txt="DataSource with JNDI name 'java:/syncopeMasterDataSource':"/>
<str id="tomcat.container.ssl.id" txt="Https"/>
<str id="tomcat.container.host.id" txt="Tomcat host:"/>
http://git-wip-us.apache.org/repos/asf/syncope/blob/06f3fdd7/installer/src/main/resources/izpack/userInputLang.xml_ita
----------------------------------------------------------------------
diff --git a/installer/src/main/resources/izpack/userInputLang.xml_ita b/installer/src/main/resources/izpack/userInputLang.xml_ita
index b7c068a..92b6d03 100644
--- a/installer/src/main/resources/izpack/userInputLang.xml_ita
+++ b/installer/src/main/resources/izpack/userInputLang.xml_ita
@@ -51,7 +51,7 @@ under the License.
<str id="persistence.mysql.is.innodb" txt="INNODB"/>
<str id="persistence.oracle.tablespace" txt="Oracle tablespace:"/>
- <str id="with.datasuorce.id" txt="DataSource with JNDI name 'java:/syncopeDataSource':"/>
+ <str id="with.datasuorce.id" txt="DataSource with JNDI name 'java:/syncopeMasterDataSource':"/>
<str id="tomcat.container.ssl.id" txt="Https"/>
<str id="tomcat.container.host.id" txt="Tomcat host:"/>
http://git-wip-us.apache.org/repos/asf/syncope/blob/06f3fdd7/installer/src/main/resources/izpack/userInputSpec.xml
----------------------------------------------------------------------
diff --git a/installer/src/main/resources/izpack/userInputSpec.xml b/installer/src/main/resources/izpack/userInputSpec.xml
index cc921bc..b5dde14 100644
--- a/installer/src/main/resources/izpack/userInputSpec.xml
+++ b/installer/src/main/resources/izpack/userInputSpec.xml
@@ -145,7 +145,7 @@ under the License.
<spec id="persistence.jdbc.url" size="20" set="jdbc:postgresql://localhost:5432/syncope"/>
</field>
<field type="text" variable="persistence.url" conditionid="mysql.choice">
- <spec id="persistence.jdbc.url" size="20" set="jdbc:mysql://localhost:3306/syncope?characterEncoding=UTF-8"/>
+ <spec id="persistence.jdbc.url" size="20" set="jdbc:mysql://localhost:3306/syncope?characterEncoding=UTF-8&relaxAutoCommit=true"/>
</field>
<field type="text" variable="persistence.url" conditionid="oracle.choice">
<spec id="persistence.jdbc.url" size="20" set="jdbc:oracle:thin:@localhost:1521:orcl"/>
http://git-wip-us.apache.org/repos/asf/syncope/blob/06f3fdd7/installer/src/main/resources/modelerPom.xml
----------------------------------------------------------------------
diff --git a/installer/src/main/resources/modelerPom.xml b/installer/src/main/resources/modelerPom.xml
deleted file mode 100644
index 4d1faa7..0000000
--- a/installer/src/main/resources/modelerPom.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.syncope</groupId>
- <artifactId>syncope</artifactId>
- <version>${syncope.version}</version>
- </parent>
-
- <groupId>org.apache.syncope</groupId>
- <artifactId>activitiModelerSetup</artifactId>
- <version>1.0-SNAPSHOT</version>
- <packaging>jar</packaging>
-
- <properties>
- <activiti-modeler.directory>%s</activiti-modeler.directory>
-
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.activiti</groupId>
- <artifactId>activiti-webapp-explorer2</artifactId>
- <type>war</type>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>1.8</version>
- <executions>
- <execution>
- <id>setupActivitiModeler</id>
- <phase>process-resources</phase>
- <configuration>
- <target>
- <unzip src="${settings.localRepository}/org/activiti/activiti-webapp-explorer2/${activiti.version}/activiti-webapp-explorer2-${activiti.version}.war"
- dest="${project.build.directory}/activiti-webapp-explorer2" />
-
- <mkdir dir="${activiti-modeler.directory}" />
- <copy file="${project.build.directory}/activiti-webapp-explorer2/modeler.html"
- todir="${activiti-modeler.directory}" />
- <replace file="${activiti-modeler.directory}/modeler.html"
- token="</head>"
- value="<script type="text/javascript">window.onunload = refreshParent; function refreshParent() { window.opener.location.reload(); }</script></head>"/>
- <copy file="${project.build.directory}/activiti-webapp-explorer2/WEB-INF/classes/stencilset.json"
- todir="${activiti-modeler.directory}" />
-
- <mkdir dir="${activiti-modeler.directory}/editor-app" />
- <copy todir="${activiti-modeler.directory}/editor-app">
- <fileset dir="${project.build.directory}/activiti-webapp-explorer2/editor-app" />
- </copy>
- <replaceregexp file="${activiti-modeler.directory}/editor-app/editor/oryx.debug.js"
- match="ORYX.CONFIG.ROOT_PATH =.*"editor/"; //TODO: Remove last slash!!"
- replace="BASE_PATH = window.location.toString().substr(0, window.location.toString().indexOf('/wicket'));
-ORYX.CONFIG.ROOT_PATH = BASE_PATH + "/activiti-modeler/editor-app/editor/";"
- byline="true"/>
- <replace file="${activiti-modeler.directory}/editor-app/editor/oryx.debug.js"
- token="new Ajax.Request(ACTIVITI.CONFIG.contextRoot + '/editor/stencilset?version=' + Date.now(), {"
- value="new Ajax.Request(window.location.toString().substr(0, window.location.toString().indexOf('/activiti-modeler')) + "/activiti-modeler/stencilset.json", {"/>
- <replace file="${activiti-modeler.directory}/editor-app/editor/oryx.debug.js"
- token="ORYX.Editor.createByUrl(modelUrl);"
- value="modelUrl = BASE_PATH + "/workflowDefGET";
-ORYX.Editor.createByUrl(modelUrl);"/>
- <replace file="${activiti-modeler.directory}/editor-app/editor/oryx.debug.js"
- token="ORYX.Editor.createByUrl = function(modelUrl){"
- value="modelUrl = BASE_PATH + "/workflowDefGET";
-ORYX.Editor.createByUrl = function(modelUrl){"/>
- <replace file="${activiti-modeler.directory}/editor-app/configuration/toolbar-default-actions.js"
- token="window.location.href = "./";"
- value="window.close();"/>
-
- <copy file="url-config.js"
- todir="${activiti-modeler.directory}/editor-app/configuration"
- overwrite="true" />
- <copy file="save-model.html"
- todir="${activiti-modeler.directory}/editor-app/popups"
- overwrite="true" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>