Author: andreapatricelli Date: Fri Sep 26 15:49:40 2014 New Revision: 1627813
URL: http://svn.apache.org/r1627813 Log: [SYNCOPE-529] provided proxy feature to installer Modified: syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/processes/ArchetypeProcess.java syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/processes/ContainerProcess.java syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/utilities/DriverLoader.java syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/utilities/FileSystemUtils.java syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/validators/PersistenceValidator.java syncope/branches/1_2_X/installer/src/main/resources/izpack/ProcessPanel.Spec.xml syncope/branches/1_2_X/installer/src/main/resources/izpack/install.xml syncope/branches/1_2_X/installer/src/main/resources/izpack/userInputLang.xml_eng syncope/branches/1_2_X/installer/src/main/resources/izpack/userInputLang.xml_ita syncope/branches/1_2_X/installer/src/main/resources/izpack/userInputSpec.xml Modified: syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/processes/ArchetypeProcess.java URL: http://svn.apache.org/viewvc/syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/processes/ArchetypeProcess.java?rev=1627813&r1=1627812&r2=1627813&view=diff ============================================================================== --- syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/processes/ArchetypeProcess.java (original) +++ syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/processes/ArchetypeProcess.java Fri Sep 26 15:49:40 2014 @@ -21,14 +21,17 @@ package org.apache.syncope.installer.pro import org.apache.syncope.installer.utilities.FileSystemUtils; import com.izforge.izpack.panels.process.AbstractUIProcessHandler; import java.io.File; +import java.io.IOException; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerException; import org.apache.syncope.installer.files.Pom; import org.apache.syncope.installer.utilities.InstallLog; import org.apache.syncope.installer.utilities.MavenUtils; +import org.xml.sax.SAXException; public class ArchetypeProcess { public void run(final AbstractUIProcessHandler handler, final String[] args) { - final String installPath = args[0]; final String mavenDir = args[1]; final String groupId = args[2]; @@ -40,21 +43,61 @@ public class ArchetypeProcess { final String bundlesDirectory = args[8]; final String syncopeVersion = args[9]; final String syncopeAdminPassword = args[10]; + final boolean isProxyEnabled = Boolean.valueOf(args[11]); + final String proxyHost = args[12]; + final String proxyPort = args[13]; + final String proxyUser = args[14]; + final String proxyPwd = args[15]; + final boolean mavenProxyAutoconf = Boolean.valueOf(args[16]); final FileSystemUtils fileSystemUtils = new FileSystemUtils(handler); fileSystemUtils.createDirectory(installPath); InstallLog.initialize(installPath, handler); - final MavenUtils mavenUtils = new MavenUtils(mavenDir, handler); + File customMavenProxySettings = null; + try { + if (isProxyEnabled && mavenProxyAutoconf) { + customMavenProxySettings = MavenUtils.createSettingsWithProxy(installPath, proxyHost, proxyPort, + proxyUser, proxyPwd); + } + } catch (IOException ex) { + final StringBuilder messageError = new StringBuilder( + "I/O error during creation of Maven custom settings.xml"); + final String emittedError = messageError.toString(); + handler.emitError(emittedError, emittedError); + InstallLog.getInstance().error(messageError.append(ex.getMessage() == null ? "" : ex.getMessage()). + toString()); + } catch (ParserConfigurationException ex) { + final StringBuilder messageError = new StringBuilder( + "Parser configuration error during creation of Maven custom settings.xml"); + final String emittedError = messageError.toString(); + handler.emitError(emittedError, emittedError); + InstallLog.getInstance().error(messageError.append(ex.getMessage() == null ? "" : ex.getMessage()). + toString()); + } catch (TransformerException ex) { + final StringBuilder messageError = new StringBuilder( + "Transformer error during creation of Maven custom settings.xml"); + final String emittedError = messageError.toString(); + handler.emitError(emittedError, emittedError); + InstallLog.getInstance().error(messageError.append(ex.getMessage() == null ? "" : ex.getMessage()). + toString()); + } catch (SAXException ex) { + final StringBuilder messageError = new StringBuilder( + "XML parsing error during creation of Maven custom settings.xml"); + final String emittedError = messageError.toString(); + handler.emitError(emittedError, emittedError); + InstallLog.getInstance().error(messageError.append(ex.getMessage() == null ? "" : ex.getMessage()). + toString()); + } mavenUtils.archetypeGenerate( - syncopeVersion, groupId, artifactId, secretKey, anonymousKey, installPath); + syncopeVersion, groupId, artifactId, secretKey, anonymousKey, installPath, customMavenProxySettings); fileSystemUtils.writeToFile(new File(installPath + "/" + artifactId + Pom.PATH), String.format(Pom.FILE, syncopeVersion, syncopeVersion, groupId, artifactId)); fileSystemUtils.createDirectory(confDirectory); fileSystemUtils.createDirectory(logsDirectory); fileSystemUtils.createDirectory(bundlesDirectory); - mavenUtils.createPackage(installPath + "/" + artifactId, confDirectory, logsDirectory, bundlesDirectory); + mavenUtils.createPackage(installPath + "/" + artifactId, confDirectory, logsDirectory, bundlesDirectory, + customMavenProxySettings); } - } Modified: syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/processes/ContainerProcess.java URL: http://svn.apache.org/viewvc/syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/processes/ContainerProcess.java?rev=1627813&r1=1627812&r2=1627813&view=diff ============================================================================== --- syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/processes/ContainerProcess.java (original) +++ syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/processes/ContainerProcess.java Fri Sep 26 15:49:40 2014 @@ -21,6 +21,9 @@ package org.apache.syncope.installer.pro import org.apache.syncope.installer.utilities.FileSystemUtils; import com.izforge.izpack.panels.process.AbstractUIProcessHandler; import java.io.File; +import java.io.IOException; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerException; import org.apache.syncope.installer.containers.Glassfish; import org.apache.syncope.installer.containers.Tomcat; import org.apache.syncope.installer.containers.jboss.JBoss; @@ -31,6 +34,7 @@ import org.apache.syncope.installer.file import org.apache.syncope.installer.files.CoreWebXml; import org.apache.syncope.installer.utilities.InstallLog; import org.apache.syncope.installer.utilities.MavenUtils; +import org.xml.sax.SAXException; public class ContainerProcess { @@ -72,6 +76,18 @@ public class ContainerProcess { private String jbossAdminPassword; + private boolean isProxyEnabled; + + private String proxyHost; + + private String proxyPort; + + private String proxyUser; + + private String proxyPwd; + + private boolean mavenProxyAutoconf; + public void run(final AbstractUIProcessHandler handler, final String[] args) { installPath = args[0]; @@ -94,6 +110,12 @@ public class ContainerProcess { jbossJdbcModuleName = args[17]; jbossAdminUsername = args[18]; jbossAdminPassword = args[19]; + isProxyEnabled = Boolean.valueOf(args[20]); + proxyHost = args[21]; + proxyPort = args[22]; + proxyUser = args[23]; + proxyPwd = args[24]; + mavenProxyAutoconf = Boolean.valueOf(args[25]); final FileSystemUtils fileSystemUtils = new FileSystemUtils(handler); @@ -121,7 +143,46 @@ public class ContainerProcess { } final MavenUtils mavenUtils = new MavenUtils(mavenDir, handler); - mavenUtils.createPackage(installPath + "/" + artifactId, confDirectory, logsDirectory, bundlesDirectory); + File customMavenProxySettings = null; + try { + if (isProxyEnabled && mavenProxyAutoconf) { + customMavenProxySettings = MavenUtils.createSettingsWithProxy(installPath, proxyHost, proxyPort, + proxyUser, proxyPwd); + } + } catch (IOException ex) { + final StringBuilder messageError = new StringBuilder( + "I/O error during creation of Maven custom settings.xml"); + final String emittedError = messageError.toString(); + handler.emitError(emittedError, emittedError); + InstallLog.getInstance().error(messageError.append(ex.getMessage() == null ? "" : ex.getMessage()). + toString()); + } catch (ParserConfigurationException ex) { + final StringBuilder messageError = new StringBuilder( + "Parser configuration error during creation of Maven custom settings.xml"); + final String emittedError = messageError.toString(); + handler.emitError(emittedError, emittedError); + InstallLog.getInstance().error(messageError.append(ex.getMessage() == null ? "" : ex.getMessage()). + toString()); + } catch (TransformerException ex) { + final StringBuilder messageError = new StringBuilder( + "Transformer error during creation of Maven custom settings.xml"); + final String emittedError = messageError.toString(); + handler.emitError(emittedError, emittedError); + InstallLog.getInstance().error(messageError.append(ex.getMessage() == null ? "" : ex.getMessage()). + toString()); + } catch (SAXException ex) { + final StringBuilder messageError = new StringBuilder( + "XML parsing error during creation of Maven custom settings.xml"); + final String emittedError = messageError.toString(); + handler.emitError(emittedError, emittedError); + InstallLog.getInstance().error(messageError.append(ex.getMessage() == null ? "" : ex.getMessage()). + toString()); + } + mavenUtils.createPackage(installPath + "/" + artifactId, confDirectory, logsDirectory, bundlesDirectory, + customMavenProxySettings); + if (isProxyEnabled && mavenProxyAutoconf) { + FileSystemUtils.delete(customMavenProxySettings); + } switch (selectedContainer) { case TOMCAT: Modified: syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/utilities/DriverLoader.java URL: http://svn.apache.org/viewvc/syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/utilities/DriverLoader.java?rev=1627813&r1=1627812&r2=1627813&view=diff ============================================================================== --- syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/utilities/DriverLoader.java (original) +++ syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/utilities/DriverLoader.java Fri Sep 26 15:49:40 2014 @@ -18,19 +18,21 @@ */ package org.apache.syncope.installer.utilities; +import java.net.Authenticator; import java.net.MalformedURLException; +import java.net.PasswordAuthentication; import org.apache.syncope.installer.enums.DBs; import java.net.URL; import java.net.URLClassLoader; import java.sql.Driver; -public class DriverLoader extends URLClassLoader { +public final class DriverLoader extends URLClassLoader { private final static String POSTGRES_JAR = "http://jdbc.postgresql.org/download/postgresql-9.3-1101.jdbc41.jar"; - private final static String MYSQL_JAR - = "http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar"; + private final static String MYSQL_JAR = + "http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar"; private static final String POSTGRES_CLASS_DRIVER = "org.postgresql.Driver"; @@ -43,14 +45,17 @@ public class DriverLoader extends URLCla private static DriverLoader driverLoader; - public static Driver load(final DBs selectedDB) { + public static Driver load(final DBs selectedDB, final boolean isProxyEnabled, final String proxyHost, + final String proxyPort, final String proxyUser, final String proxyPwd) { Driver driver = null; switch (selectedDB) { case POSTGRES: - driver = downloadDriver(POSTGRES_JAR, POSTGRES_CLASS_DRIVER); + driver = downloadDriver(POSTGRES_JAR, POSTGRES_CLASS_DRIVER, isProxyEnabled, proxyHost, proxyPort, + proxyUser, proxyPwd); break; case MYSQL: - driver = downloadDriver(MYSQL_JAR, MYSQL_CLASS_DRIVER); + driver = downloadDriver(MYSQL_JAR, MYSQL_CLASS_DRIVER, isProxyEnabled, proxyHost, proxyPort, + proxyUser, proxyPwd); break; case SQLSERVER: break; @@ -62,10 +67,27 @@ public class DriverLoader extends URLCla return driver; } - private static Driver downloadDriver(final String driverUrl, final String driverClassName) { + private static Driver downloadDriver(final String driverUrl, final String driverClassName, + final boolean isProxyEnabled, final String proxyHost, final String proxyPort, final String proxyUser, + final String proxyPwd) { Driver driver = null; try { - final URL[] url = {new URL(driverUrl)}; + if (isProxyEnabled) { + System.setProperty("http.proxyHost", proxyHost); + System.setProperty("http.proxyPort", proxyPort); + if (proxyUser != null && !proxyUser.isEmpty() && proxyPwd != null) { + Authenticator.setDefault(new Authenticator() { + + @Override + public PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication(proxyUser, proxyPwd.toCharArray()); + } + }); + System.setProperty("http.proxyUser", proxyUser); + System.setProperty("http.proxyPassword", proxyPwd); + } + } + final URL[] url = { new URL(driverUrl) }; driverLoader = new DriverLoader(url); driver = (Driver) driverLoader.loadClass(driverClassName).newInstance(); } catch (ClassNotFoundException e) { Modified: syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/utilities/FileSystemUtils.java URL: http://svn.apache.org/viewvc/syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/utilities/FileSystemUtils.java?rev=1627813&r1=1627812&r2=1627813&view=diff ============================================================================== --- syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/utilities/FileSystemUtils.java (original) +++ syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/utilities/FileSystemUtils.java Fri Sep 26 15:49:40 2014 @@ -26,7 +26,18 @@ import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.OutputStreamWriter; import java.io.PrintWriter; +import javax.xml.transform.OutputKeys; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; +import org.w3c.dom.Document; public class FileSystemUtils { @@ -100,4 +111,24 @@ public class FileSystemUtils { } } + public static void writeXML(final Document doc, final OutputStream out) throws IOException, + TransformerException { + try { + final TransformerFactory factory = TransformerFactory.newInstance(); + final Transformer transformer = factory.newTransformer(); + transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no"); + transformer.setOutputProperty(OutputKeys.METHOD, "xml"); + transformer.setOutputProperty(OutputKeys.INDENT, "yes"); + transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); + transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); + transformer.transform(new DOMSource(doc), + new StreamResult(new OutputStreamWriter(out, "UTF-8"))); + } finally { + IOUtils.closeQuietly(out); + } + } + + public static void delete(final File file) { + FileUtils.deleteQuietly(file); + } } Modified: syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java URL: http://svn.apache.org/viewvc/syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java?rev=1627813&r1=1627812&r2=1627813&view=diff ============================================================================== --- syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java (original) +++ syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java Fri Sep 26 15:49:40 2014 @@ -20,16 +20,26 @@ package org.apache.syncope.installer.uti import com.izforge.izpack.panels.process.AbstractUIProcessHandler; import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Properties; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerException; +import org.apache.commons.io.FileUtils; import org.apache.maven.shared.invoker.DefaultInvocationRequest; import org.apache.maven.shared.invoker.DefaultInvoker; import org.apache.maven.shared.invoker.InvocationRequest; import org.apache.maven.shared.invoker.InvocationResult; import org.apache.maven.shared.invoker.Invoker; import org.apache.maven.shared.invoker.MavenInvocationException; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.xml.sax.SAXException; public class MavenUtils { @@ -45,14 +55,18 @@ public class MavenUtils { } public void archetypeGenerate(final String archetypeVersion, final String groupId, - final String artifactId, final String secretKey, final String anonymousKey, final String installPath) { + 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.setInteractive(false); - final Properties properties - = archetypeProperties(archetypeVersion, groupId, artifactId, secretKey, anonymousKey); + final Properties properties = + archetypeProperties(archetypeVersion, groupId, artifactId, secretKey, anonymousKey); request.setProperties(properties); + if (customSettingsFile != null && FileUtils.sizeOf(customSettingsFile) > 0) { + request.setUserSettingsFile(customSettingsFile); + } logToHandler(request.getGoals(), properties); logToFile(request.getGoals(), properties); invoke(request, installPath); @@ -73,11 +87,13 @@ public class MavenUtils { } public void createPackage(final String path, final String confDirectory, - final String logDirectory, final String bundlesDirectory) { - + final String logDirectory, final String bundlesDirectory, final File customSettingsFile) { final InvocationRequest request = new DefaultInvocationRequest(); final Properties properties = packageProperties(confDirectory, logDirectory, bundlesDirectory); request.setProperties(properties); + if (customSettingsFile != null && FileUtils.sizeOf(customSettingsFile) > 0) { + request.setUserSettingsFile(customSettingsFile); + } final List<String> mavenGoals = new ArrayList<String>(); mavenGoals.add("clean"); mavenGoals.add("package"); @@ -135,4 +151,56 @@ public class MavenUtils { return result; } + public static File createSettingsWithProxy(final String path, final String proxyHost, final String proxyPort, + final String proxyUser, final String proxyPassword) throws IOException, ParserConfigurationException, + TransformerException, SAXException { + final File settingsXML = new File(System.getProperty(MAVEN_HOME_PROPERTY) + (System.getProperty( + MAVEN_HOME_PROPERTY).endsWith("/") ? "conf/settings.xml" : "/conf/settings.xml")); + final File tempSettingsXML = new File(path + (path.endsWith("/") ? "settings_temp.xml" : "/settings_temp.xml")); + if (settingsXML.canRead() && !tempSettingsXML.exists()) { + tempSettingsXML.createNewFile(); + + final DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + final DocumentBuilder builder = dbf.newDocumentBuilder(); + // parse settings.xml + final Document settings = builder.parse(settingsXML); + + final Element proxies = (Element) settings.getDocumentElement().getElementsByTagName("proxies").item(0); + + final Element proxy = settings.createElement("proxy"); + + final Element id = settings.createElement("id"); + final Element active = settings.createElement("active"); + final Element protocol = settings.createElement("protocol"); + final Element host = settings.createElement("host"); + final Element port = settings.createElement("port"); + final Element nonProxyHosts = settings.createElement("nonProxyHosts"); + id.appendChild(settings.createTextNode("optional")); + active.appendChild(settings.createTextNode("true")); + protocol.appendChild(settings.createTextNode("http")); + host.appendChild(settings.createTextNode(proxyHost)); + port.appendChild(settings.createTextNode(proxyPort)); + proxy.appendChild(id); + proxy.appendChild(active); + proxy.appendChild(protocol); + // create username and password tags only if required + if (proxyUser != null && !proxyUser.isEmpty() && proxyPassword != null) { + final Element username = settings.createElement("username"); + final Element password = settings.createElement("password"); + username.appendChild(settings.createTextNode(proxyUser)); + password.appendChild(settings.createTextNode(proxyPassword)); + proxy.appendChild(username); + proxy.appendChild(password); + } + proxy.appendChild(host); + proxy.appendChild(port); + proxy.appendChild(nonProxyHosts); + + proxies.appendChild(proxy); + + FileSystemUtils.writeXML(settings, new FileOutputStream(tempSettingsXML)); + + } + return tempSettingsXML; + } } Modified: syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/validators/PersistenceValidator.java URL: http://svn.apache.org/viewvc/syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/validators/PersistenceValidator.java?rev=1627813&r1=1627812&r2=1627813&view=diff ============================================================================== --- syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/validators/PersistenceValidator.java (original) +++ syncope/branches/1_2_X/installer/src/main/java/org/apache/syncope/installer/validators/PersistenceValidator.java Fri Sep 26 15:49:40 2014 @@ -20,7 +20,6 @@ package org.apache.syncope.installer.val import com.izforge.izpack.api.data.InstallData; import java.sql.Driver; -import java.sql.SQLException; import java.util.Properties; import org.apache.syncope.installer.enums.DBs; import org.apache.syncope.installer.utilities.DriverLoader; @@ -37,6 +36,16 @@ public class PersistenceValidator extend private StringBuilder warning; + private boolean isProxyEnabled; + + private String proxyHost; + + private String proxyPort; + + private String proxyUser; + + private String proxyPwd; + @Override public Status validateData(final InstallData installData) { @@ -46,6 +55,11 @@ public class PersistenceValidator extend persistenceUrl = installData.getVariable("persistence.url"); persistenceDbuser = installData.getVariable("persistence.dbuser"); persistenceDbPassword = installData.getVariable("persistence.dbpassword"); + isProxyEnabled = Boolean.valueOf(installData.getVariable("mvn.proxy")); + proxyHost = installData.getVariable("mvn.proxy.host"); + proxyPort = installData.getVariable("mvn.proxy.port"); + proxyUser = installData.getVariable("mvn.proxy.user"); + proxyPwd = installData.getVariable("mvn.proxy.pwd"); boolean verified = true; error = new StringBuilder("Required fields:\n"); @@ -84,16 +98,21 @@ public class PersistenceValidator extend } private Status checkConnection(final DBs selectedDb) { - + Driver driver = null; try { - final Driver driver = DriverLoader.load(selectedDb); + driver = DriverLoader.load(selectedDb, isProxyEnabled, proxyHost, proxyPort, proxyUser, + proxyPwd); final Properties props = new Properties(); props.put("user", persistenceDbuser); props.put("password", persistenceDbPassword); driver.connect(persistenceUrl, props); return Status.OK; - } catch (SQLException ex) { - error = new StringBuilder("Db connection error: please check your insert data"); + } catch (Exception ex) { + error = + new StringBuilder( + "Error during connection to database: please check inserted data."); + error.append(driver == null ? new StringBuilder(" Unable to get ").append(selectedDb.getName()).append( + " driver!").toString() : ""); return Status.ERROR; } } Modified: syncope/branches/1_2_X/installer/src/main/resources/izpack/ProcessPanel.Spec.xml URL: http://svn.apache.org/viewvc/syncope/branches/1_2_X/installer/src/main/resources/izpack/ProcessPanel.Spec.xml?rev=1627813&r1=1627812&r2=1627813&view=diff ============================================================================== --- syncope/branches/1_2_X/installer/src/main/resources/izpack/ProcessPanel.Spec.xml (original) +++ syncope/branches/1_2_X/installer/src/main/resources/izpack/ProcessPanel.Spec.xml Fri Sep 26 15:49:40 2014 @@ -32,6 +32,12 @@ under the License. <arg>$mvn.bundle.directory</arg> <arg>$mvn.syncope.version</arg> <arg>$mvn.syncope.admin.password</arg> + <arg>$mvn.proxy</arg><!-- 11 --> + <arg>$mvn.proxy.host</arg><!-- 12 --> + <arg>$mvn.proxy.port</arg><!-- 13 --> + <arg>$mvn.proxy.user</arg><!-- 14 --> + <arg>$mvn.proxy.pwd</arg><!-- 15 --> + <arg>$mvn.proxy.autoconf</arg><!-- 16 --> </executeclass> </job> <job name="Persistence configuration..."> @@ -68,6 +74,12 @@ under the License. <arg>$jboss.container.jdbc.module</arg><!-- 17 --> <arg>$jboss.container.user</arg><!-- 18 --> <arg>$jboss.container.pwd</arg><!-- 19 --> + <arg>$mvn.proxy</arg><!-- 20 --> + <arg>$mvn.proxy.host</arg><!-- 21 --> + <arg>$mvn.proxy.port</arg><!-- 22 --> + <arg>$mvn.proxy.user</arg><!-- 23 --> + <arg>$mvn.proxy.pwd</arg><!-- 24 --> + <arg>$mvn.proxy.autoconf</arg><!-- 25 --> </executeclass> </job> <onFail previous="true" next="false" /> Modified: syncope/branches/1_2_X/installer/src/main/resources/izpack/install.xml URL: http://svn.apache.org/viewvc/syncope/branches/1_2_X/installer/src/main/resources/izpack/install.xml?rev=1627813&r1=1627812&r2=1627813&view=diff ============================================================================== --- syncope/branches/1_2_X/installer/src/main/resources/izpack/install.xml (original) +++ syncope/branches/1_2_X/installer/src/main/resources/izpack/install.xml Fri Sep 26 15:49:40 2014 @@ -65,6 +65,12 @@ under the License. </dynamicvariables> <conditions> + + <condition type="variable" id="mvn.choice.proxy"> + <name>mvn.proxy</name> + <value>true</value> + </condition> + <condition type="variable" id="postgres.choice"> <name>install.type.selection</name> <value>postgres</value> Modified: syncope/branches/1_2_X/installer/src/main/resources/izpack/userInputLang.xml_eng URL: http://svn.apache.org/viewvc/syncope/branches/1_2_X/installer/src/main/resources/izpack/userInputLang.xml_eng?rev=1627813&r1=1627812&r2=1627813&view=diff ============================================================================== --- syncope/branches/1_2_X/installer/src/main/resources/izpack/userInputLang.xml_eng (original) +++ syncope/branches/1_2_X/installer/src/main/resources/izpack/userInputLang.xml_eng Fri Sep 26 15:49:40 2014 @@ -17,7 +17,7 @@ KIND, either express or implied. See th specific language governing permissions and limitations under the License. --> -<langpack>+ +<langpack> <str id="mvn.directory.id" txt="Maven home directory:"/> <str id="archetype.mvn.groupid" txt="GroupId:"/> <str id="archetype.mvn.artifactid" txt="ArtifactId:"/> @@ -28,6 +28,13 @@ under the License. <str id="archetype.mvn.bundle.directory" txt="Bundle directory name:"/> <str id="mvn.syncope.version.id" txt="Syncope Version:"/> <str id="mvn.syncope.admin.password.id" txt="Admin Password:"/> + <str id="mvn.proxy.id" txt="Use Proxy Server:"/> + <str id="mvn.proxy.autoconf.id" txt="Automatically configure Maven proxy"/> + <str id="mvn.proxy.autoconf.desc.id" txt="Check this field if Maven is not yet configured to use proxy:"/> + <str id="mvn.proxy.host.id" txt="Proxy Host:"/> + <str id="mvn.proxy.port.id" txt="Proxy Port:"/> + <str id="mvn.proxy.user.id" txt="Proxy User (if required):"/> + <str id="mvn.proxy.pwd.id" txt="Proxy Password (if required):"/> <str id="persistence.jdbc.url" txt="Database JDBC url:"/> <str id="persistence.db.user" txt="Username:"/> Modified: syncope/branches/1_2_X/installer/src/main/resources/izpack/userInputLang.xml_ita URL: http://svn.apache.org/viewvc/syncope/branches/1_2_X/installer/src/main/resources/izpack/userInputLang.xml_ita?rev=1627813&r1=1627812&r2=1627813&view=diff ============================================================================== --- syncope/branches/1_2_X/installer/src/main/resources/izpack/userInputLang.xml_ita (original) +++ syncope/branches/1_2_X/installer/src/main/resources/izpack/userInputLang.xml_ita Fri Sep 26 15:49:40 2014 @@ -28,6 +28,13 @@ under the License. <str id="archetype.mvn.bundle.directory" txt="Bundle directory name:"/> <str id="mvn.syncope.version.id" txt="Syncope Version:"/> <str id="mvn.syncope.admin.password.id" txt="Admin Password:"/> + <str id="mvn.proxy.id" txt="Usa un Server Proxy:"/> + <str id="mvn.proxy.autoconf.id" txt="Configura automaticamente il proxy per Maven"/> + <str id="mvn.proxy.autoconf.desc.id" txt="Seleziona questo campo se Maven non è configurato per usare un proxy:"/> + <str id="mvn.proxy.host.id" txt="Proxy Host:"/> + <str id="mvn.proxy.port.id" txt="Proxy Port:"/> + <str id="mvn.proxy.user.id" txt="Proxy User (se richiesto):"/> + <str id="mvn.proxy.pwd.id" txt="Proxy Password (se richiesta):"/> <str id="persistence.jdbc.url" txt="Database JDBC url:"/> <str id="persistence.db.user" txt="Username:"/> Modified: syncope/branches/1_2_X/installer/src/main/resources/izpack/userInputSpec.xml URL: http://svn.apache.org/viewvc/syncope/branches/1_2_X/installer/src/main/resources/izpack/userInputSpec.xml?rev=1627813&r1=1627812&r2=1627813&view=diff ============================================================================== --- syncope/branches/1_2_X/installer/src/main/resources/izpack/userInputSpec.xml (original) +++ syncope/branches/1_2_X/installer/src/main/resources/izpack/userInputSpec.xml Fri Sep 26 15:49:40 2014 @@ -61,8 +61,38 @@ under the License. </field> <!-- <field type="space"/> <field type="password" variable="mvn.syncope.admin.password"> - <spec id="mvn.syncope.admin.password.id" size="20" set="password"/> + <spec> + <pwd id="mvn.syncope.admin.password.id" size="20" set="password"/> + </spec> </field>--> + <field type="space"/> + <field type="divider" align="top"/> + <field type="check" variable="mvn.proxy"> + <spec id="mvn.proxy.id" true="true" false="false" set="false"/> + </field> + <field type="space"/> + <field type="check" variable="mvn.proxy.autoconf" conditionid="mvn.choice.proxy"> + <description id="mvn.proxy.autoconf.desc.id"/> + <spec id="mvn.proxy.autoconf.id" true="true" false="false" set="false"/> + </field> + <field type="space"/> + <field type="text" variable="mvn.proxy.host" conditionid="mvn.choice.proxy"> + <spec id="mvn.proxy.host.id" size="20" set="localhost"/> + </field> + <field type="space"/> + <field type="text" variable="mvn.proxy.port" conditionid="mvn.choice.proxy"> + <spec id="mvn.proxy.port.id" size="5" set="3128"/> + </field> + <field type="space"/> + <field type="text" variable="mvn.proxy.user" conditionid="mvn.choice.proxy"> + <spec id="mvn.proxy.user.id" size="20"/> + </field> + <field type="space"/> + <field type="password" variable="mvn.proxy.pwd" conditionid="mvn.choice.proxy"> + <spec> + <pwd id="mvn.proxy.pwd.id" size="20"/> + </spec> + </field> </panel> <panel id="persistence" order="2" border="false">