geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From shiv...@apache.org
Subject svn commit: r654201 - /geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/
Date Wed, 07 May 2008 18:20:54 GMT
Author: shivahr
Date: Wed May  7 11:20:50 2008
New Revision: 654201

URL: http://svn.apache.org/viewvc?rev=654201&view=rev
Log:
GERONIMO-3433 - Plan Creator for geronimo-application.xml - first of many patches.

Added:
    geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EARConfigData.java   (with props)
    geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EARHelper.java   (with props)
    geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EjbConfigData.java   (with props)
    geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EnvironmentConfigData.java   (with props)
    geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/JndiRefsConfigData.java   (with props)
    geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/MessageDestinationConfigData.java   (with props)
    geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/SecurityConfigData.java   (with props)
    geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/WARConfigData.java   (with props)

Added: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EARConfigData.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EARConfigData.java?rev=654201&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EARConfigData.java (added)
+++ geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EARConfigData.java Wed May  7 11:20:50 2008
@@ -0,0 +1,192 @@
+/**
+ *  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.geronimo.console.configcreator.configData;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.LinkedHashSet;
+
+import javax.portlet.PortletRequest;
+
+import org.apache.geronimo.j2ee.ApplicationInfo;
+import org.apache.geronimo.j2ee.deployment.Module;
+import org.apache.geronimo.kernel.config.ConfigurationModuleType;
+import org.apache.geronimo.xbeans.geronimo.j2ee.GerApplicationDocument;
+import org.apache.geronimo.xbeans.geronimo.j2ee.GerApplicationType;
+import org.apache.geronimo.xbeans.geronimo.j2ee.GerModuleType;
+import org.apache.geronimo.xbeans.geronimo.web.GerWebAppDocument;
+import org.apache.xmlbeans.XmlCursor;
+import org.apache.xmlbeans.XmlOptions;
+
+/**
+ * 
+ * @version $Rev$ $Date$
+ */
+public class EARConfigData {
+    private GerApplicationType enterpriseApp = GerApplicationType.Factory.newInstance();
+
+    private EnvironmentConfigData environmentConfig;
+
+    private Hashtable<String, WARConfigData> webModules = new Hashtable<String, WARConfigData>();
+
+    private Hashtable<String, EjbConfigData> ejbModules = new Hashtable<String, EjbConfigData>();
+
+    private String deploymentPlan;
+
+    public EnvironmentConfigData getEnvironmentConfig() {
+        return environmentConfig;
+    }
+
+    public void parseEAR(ApplicationInfo applicationInfo) {
+        environmentConfig = new EnvironmentConfigData(getEnterpriseApp().addNewEnvironment());
+        environmentConfig.parseEnvironment(applicationInfo.getEnvironment());
+
+        LinkedHashSet modules = applicationInfo.getModules();
+        for (Object module1 : modules) {
+            Module module = (Module) module1;
+            if (ConfigurationModuleType.WAR == module.getType()) {
+                WARConfigData warConfig = new WARConfigData();
+                warConfig.parseReferences(module.getAnnotatedApp());
+                warConfig.parseSecurity(module.getAnnotatedApp());
+                webModules.put(module.getName(), warConfig);
+            } else if (ConfigurationModuleType.EJB == module.getType()) {
+                EjbConfigData ejbConfig = new EjbConfigData();
+                ejbModules.put(module.getName(), ejbConfig);
+            } else {
+                System.out.println("Module Type = " + module.getType());
+            }
+        }
+    }
+
+    public void readEnvironmentData(PortletRequest request) {
+        environmentConfig.readEnvironmentData(request);
+    }
+
+    public void readReferencesData(PortletRequest request) {
+        String moduleName = "";
+        if (webModules.containsKey(moduleName)) {
+            WARConfigData warConfig = webModules.get(moduleName);
+            warConfig.readReferencesData(request);
+        } else if (ejbModules.contains(moduleName)) {
+            EjbConfigData ejbConfig = ejbModules.get(moduleName);
+            ejbConfig.readReferencesData(request);
+        } else {
+            System.out.println("Invaild module name: " + moduleName + " !!");
+        }
+    }
+
+    public void readSecurityData(PortletRequest request) {
+        String moduleName = "";
+        if (webModules.containsKey(moduleName)) {
+            WARConfigData warConfig = webModules.get(moduleName);
+            warConfig.readSecurityData(request);
+        } else if (ejbModules.contains(moduleName)) {
+            EjbConfigData ejbConfig = ejbModules.get(moduleName);
+            ejbConfig.readSecurityData(request);
+        } else {
+            System.out.println("Invaild module name: " + moduleName + " !!");
+        }
+    }
+
+    public HashSet<String> consolidateDependencies() {
+        HashSet<String> deps = environmentConfig.getDependenciesSet();
+        for (Enumeration<WARConfigData> e = webModules.elements(); e.hasMoreElements();) {
+            WARConfigData warConfig = e.nextElement();
+            deps.addAll(warConfig.consolidateDependencies());
+        }
+        for (Enumeration<EjbConfigData> e = ejbModules.elements(); e.hasMoreElements();) {
+            EjbConfigData ejbConfig = e.nextElement();
+            deps.addAll(ejbConfig.consolidateDependencies());
+        }
+        return deps;
+    }
+
+    public String createDeploymentPlan() throws IOException {
+        environmentConfig.storeDependencies();
+        for (int i = getEnterpriseApp().getModuleArray().length - 1; i >= 0; i--) {
+            getEnterpriseApp().removeModule(i);
+        }
+        for (Enumeration<String> e = webModules.keys(); e.hasMoreElements();) {
+            String moduleName = e.nextElement();
+            GerModuleType newModule = getEnterpriseApp().addNewModule();
+            newModule.addNewWeb().setStringValue(moduleName);
+
+            /*WARConfigData warConfig = webModules.get(moduleName);
+            warConfig.getJndiRefsConfig().storeResourceRefs(warConfig.getWebApp());
+            if (warConfig.getSecurity() != null) {
+                warConfig.getWebApp().setSecurity(warConfig.getSecurity());
+            }
+            GerWebAppDocument webAppDocument = GerWebAppDocument.Factory.newInstance();
+            webAppDocument.setWebApp(warConfig.getWebApp());
+
+            // See http://xmlbeans.apache.org/docs/2.0.0/guide/conHandlingAny.html
+            XmlCursor xsAnyCursor = webAppDocument.newCursor();
+            xsAnyCursor.toNextToken();
+            XmlCursor rootCursor = newModule.newCursor();
+            rootCursor.toEndToken();
+            xsAnyCursor.moveXml(rootCursor);
+            xsAnyCursor.dispose();
+            rootCursor.dispose();*/
+        }
+        for (Enumeration<String> e = ejbModules.keys(); e.hasMoreElements();) {
+            String moduleName = e.nextElement();
+            GerModuleType newModule = getEnterpriseApp().addNewModule();
+            newModule.addNewEjb().setStringValue(moduleName);
+            EjbConfigData ejbConfig = ejbModules.get(moduleName);
+        }
+
+        GerApplicationDocument appDocument = GerApplicationDocument.Factory.newInstance();
+        appDocument.setApplication(enterpriseApp);
+        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+        XmlOptions options = new XmlOptions();
+        options.setSavePrettyPrint();
+        options.setSavePrettyPrintIndent(4);
+        options.setUseDefaultNamespace();
+        appDocument.save(outputStream, options);
+        outputStream.close();
+        deploymentPlan = new String(outputStream.toByteArray(), "US-ASCII");
+        return deploymentPlan;
+    }
+
+    public GerApplicationType getEnterpriseApp() {
+        return enterpriseApp;
+    }
+
+    public String getDeploymentPlan() {
+        try {
+            return createDeploymentPlan();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return "";
+    }
+
+    public void setDeploymentPlan(String deploymentPlan) {
+        this.deploymentPlan = deploymentPlan;
+    }
+
+    public Hashtable<String, WARConfigData> getWebModules() {
+        return webModules;
+    }
+
+    public Hashtable<String, EjbConfigData> getEjbModules() {
+        return ejbModules;
+    }
+}

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EARConfigData.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EARConfigData.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EARConfigData.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EARHelper.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EARHelper.java?rev=654201&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EARHelper.java (added)
+++ geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EARHelper.java Wed May  7 11:20:50 2008
@@ -0,0 +1,401 @@
+/**
+ *  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.geronimo.console.configcreator.configData;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.geronimo.console.configcreator.AbstractHandler;
+import org.apache.geronimo.deployment.xbeans.ArtifactType;
+import org.apache.geronimo.deployment.xbeans.EnvironmentType;
+import org.directwebremoting.annotations.DataTransferObject;
+import org.directwebremoting.annotations.RemoteMethod;
+import org.directwebremoting.annotations.RemoteProxy;
+
+/**
+ * @version $Rev$ $Date$
+ */
+@RemoteProxy
+public class EARHelper {
+    //private EARConfigData earConfig;
+
+    /**
+     * 
+     * Dojo tree expects a JSON in the below format:
+     * { label: 'name',
+     *   identifier: 'name',
+     *   items: [
+     *     { name:'Web Modules', type:'webModules',
+     *       children: [
+     *         { name:'module-name-1', type:'webModule' },
+     *         ...
+     *         { name:'module-name-n', type:'webModule' }
+     *       ]
+     *     },
+     *     { name:'EJB Modules', type: 'ejbModules',
+     *       children: [
+     *         { name:'module-name-1', type:'ejbModule' },
+     *         ...
+     *         { name:'module-name-n', type:'ejbModule' }
+     *       ]
+     *     }
+     *   ]
+     * }
+     * 
+     */
+    public static class TreeJson implements Serializable {
+        String identifier = "name";
+        String label = "name";
+        List<TreeNode> items = new ArrayList<TreeNode>();
+
+        public TreeJson() {
+        }
+
+        public String getIdentifier() {
+            return identifier;
+        }
+
+        public void setIdentifier(String identifier) {
+            this.identifier = identifier;
+        }
+
+        public String getLabel() {
+            return label;
+        }
+
+        public void setLabel(String label) {
+            this.label = label;
+        }
+
+        public List<TreeNode> getItems() {
+            return items;
+        }
+
+        public void setItems(List<TreeNode> items) {
+            this.items = items;
+        }
+    }
+
+    @DataTransferObject
+    public static class EarJsonTree extends TreeJson implements Serializable {
+
+        public EarJsonTree(EARConfigData earConfig) {
+            if (earConfig.getWebModules().size() > 0) {
+                TreeFolder webModules = new TreeFolder("Web Modules", "folder");
+                items.add(webModules);
+                for (Enumeration<String> e = earConfig.getWebModules().keys(); e.hasMoreElements();) {
+                    String moduleName = e.nextElement();
+                    webModules.getChildren().add(new TreeNode(moduleName, "webModule"));
+                }
+            }
+            if (earConfig.getEjbModules().size() > 0) {
+                TreeFolder ejbModules = new TreeFolder("EJB Modules", "folder");
+                items.add(ejbModules);
+                for (Enumeration<String> e = earConfig.getEjbModules().keys(); e.hasMoreElements();) {
+                    String moduleName = e.nextElement();
+                    ejbModules.getChildren().add(new TreeNode(moduleName, "ejbModule"));
+                }
+            }
+        }
+    }
+
+    @DataTransferObject
+    public static class TreeNode implements Serializable {
+        String name;
+        String type;
+
+        public TreeNode(String name, String type) {
+            this.name = name;
+            this.type = type;
+        }
+
+        public String getName() {
+            return name;
+        }
+
+        public void setName(String name) {
+            this.name = name;
+        }
+
+        public String getType() {
+            return type;
+        }
+
+        public void setType(String type) {
+            this.type = type;
+        }
+    }
+
+    @DataTransferObject
+    public static class TreeFolder extends TreeNode implements Serializable {
+        List<TreeNode> children = new ArrayList<TreeNode>();
+
+        public TreeFolder(String name, String type) {
+            super(name, type);
+        }
+
+        public List<TreeNode> getChildren() {
+            return children;
+        }
+
+        public void setChildren(List<TreeNode> children) {
+            this.children = children;
+        }
+    }
+
+    public EARHelper() {
+        //earConfig = (EARConfigData) WebContextFactory.get().getHttpServletRequest().getSession().getAttribute(
+        //        AbstractHandler.EAR_CONFIG_DATA_ID);
+    }
+
+    private EARConfigData getEarConfigData(HttpServletRequest request) {
+        return (EARConfigData) request.getSession().getAttribute(AbstractHandler.EAR_CONFIG_DATA_ID);
+    }
+
+    @RemoteMethod
+    public EarJsonTree getEarTree(HttpServletRequest request) {
+        return new EarJsonTree(getEarConfigData(request));
+    }
+
+    @DataTransferObject
+    public static class EnvironmentJson implements Serializable {
+        String groupId;
+        String artifactId;
+        String version;
+        String type;
+        String hiddenClasses;
+        String nonOverridableClasses;
+        List<String> inverseClassLoading = new ArrayList<String>();
+
+        public EnvironmentJson() {
+        }
+
+        public EnvironmentJson(EnvironmentType environment) {
+            ArtifactType moduleId = environment.getModuleId();
+            groupId = moduleId.getGroupId();
+            artifactId = moduleId.getArtifactId();
+            version = moduleId.getVersion();
+            type = moduleId.getType();
+            if (environment.isSetHiddenClasses()) {
+                hiddenClasses = mergeStrings(environment.getHiddenClasses().getFilterArray());
+            }
+            if (environment.isSetNonOverridableClasses()) {
+                nonOverridableClasses = mergeStrings(environment.getNonOverridableClasses().getFilterArray());
+            }
+            if (environment.isSetInverseClassloading()) {
+                inverseClassLoading.add("true");
+            }
+        }
+
+        private String mergeStrings(String[] strArray) {
+            StringBuffer str = new StringBuffer("");
+            for (int i = 0; i < strArray.length; i++) {
+                str.append(strArray[i] + ";");
+            }
+            return str.toString();
+        }
+
+        public void save(EnvironmentType environment) {
+            ArtifactType moduleId = environment.getModuleId();
+            moduleId.setArtifactId(artifactId);
+
+            if (moduleId.isSetGroupId()) {
+                moduleId.unsetGroupId();
+            }
+            if (!isEmpty(groupId)) {
+                moduleId.setGroupId(groupId);
+            }
+
+            if (moduleId.isSetVersion()) {
+                moduleId.unsetVersion();
+            }
+            if (!isEmpty(version)) {
+                moduleId.setVersion(version);
+            }
+
+            if (moduleId.isSetType()) {
+                moduleId.unsetType();
+            }
+            if (!isEmpty(type)) {
+                moduleId.setType(type);
+            }
+
+            if (environment.isSetHiddenClasses()) {
+                environment.unsetHiddenClasses();
+            }
+            if (!isEmpty(hiddenClasses)) {
+                String[] splitStrings = getNonEmptyStrings(hiddenClasses.split(";"));
+                if (splitStrings.length > 0) {
+                    environment.addNewHiddenClasses().setFilterArray(splitStrings);
+                }
+            }
+            if (environment.isSetNonOverridableClasses()) {
+                environment.unsetNonOverridableClasses();
+            }
+            if (!isEmpty(nonOverridableClasses)) {
+                String[] splitStrings = getNonEmptyStrings(nonOverridableClasses.split(";"));
+                if (splitStrings.length > 0) {
+                    environment.addNewNonOverridableClasses().setFilterArray(splitStrings);
+                }
+            }
+            if (environment.isSetInverseClassloading()) {
+                environment.unsetInverseClassloading();
+            }
+            if (inverseClassLoading.size() > 0 && "true".equalsIgnoreCase(inverseClassLoading.get(0))) {
+                environment.addNewInverseClassloading();
+            }
+        }
+
+        private String[] getNonEmptyStrings(String[] strings) {
+            ArrayList<String> list = new ArrayList<String>();
+            for (int i = 0; i < strings.length; i++) {
+                if (strings[i].trim().length() > 0)
+                    list.add(strings[i].trim());
+            }
+            return list.toArray(new String[list.size()]);
+        }
+
+        private boolean isEmpty(String s) {
+            return s == null || s.trim().equals("");
+        }
+
+        public String getGroupId() {
+            return groupId;
+        }
+
+        public void setGroupId(String groupId) {
+            this.groupId = groupId;
+        }
+
+        public String getArtifactId() {
+            return artifactId;
+        }
+
+        public void setArtifactId(String artifactId) {
+            this.artifactId = artifactId;
+        }
+
+        public String getVersion() {
+            return version;
+        }
+
+        public void setVersion(String version) {
+            this.version = version;
+        }
+
+        public String getType() {
+            return type;
+        }
+
+        public void setType(String type) {
+            this.type = type;
+        }
+
+        public String getHiddenClasses() {
+            return hiddenClasses;
+        }
+
+        public void setHiddenClasses(String hiddenClasses) {
+            this.hiddenClasses = hiddenClasses;
+        }
+
+        public String getNonOverridableClasses() {
+            return nonOverridableClasses;
+        }
+
+        public void setNonOverridableClasses(String nonOverridableClasses) {
+            this.nonOverridableClasses = nonOverridableClasses;
+        }
+
+        public List<String> getInverseClassLoading() {
+            return inverseClassLoading;
+        }
+
+        public void setInverseClassLoading(List<String> inverseClassLoading) {
+            this.inverseClassLoading = inverseClassLoading;
+        }
+    }
+
+    @RemoteMethod 
+    public EnvironmentJson getEnvironmentJson(HttpServletRequest request) {
+        return new EnvironmentJson(getEarConfigData(request).getEnvironmentConfig().getEnvironment());
+    }
+
+    @RemoteMethod
+    public void saveEnvironmentJson(HttpServletRequest request, EnvironmentJson envJson){
+        envJson.save(getEarConfigData(request).getEnvironmentConfig().getEnvironment());
+    }
+
+    @DataTransferObject
+    public static class DependenciesJsonTree extends TreeJson implements Serializable {
+
+        public DependenciesJsonTree() {
+        }
+
+        public DependenciesJsonTree(EnvironmentConfigData environmentConfig) {
+            Iterator<String> iter = environmentConfig.getDependenciesSet().iterator();
+            while (iter.hasNext()) {
+                String depString = iter.next();
+                items.add(new TreeNode(depString, depString));
+            }
+        }
+
+        public void save(EnvironmentType environment) {
+            ;
+        }
+    }
+
+    @RemoteMethod
+    public DependenciesJsonTree getDependenciesJsonTree(HttpServletRequest request) {
+        return new DependenciesJsonTree(getEarConfigData(request).getEnvironmentConfig());
+    }
+
+    @RemoteMethod
+    public void saveDependenciesJsonTree(HttpServletRequest request, DependenciesJsonTree dependenciesJsonTree){
+        dependenciesJsonTree.save(getEarConfigData(request).getEnvironmentConfig().getEnvironment());
+    }
+
+    @RemoteMethod
+    public String getGeneratedPlan(HttpServletRequest request) {
+        return getEarConfigData(request).getDeploymentPlan();
+    }
+
+    /*@RemoteMethod
+    public String[] getWebModules() {
+        return null;
+    }
+
+    @RemoteMethod
+    public String[] getEjbModules() {
+        return null;
+    }
+
+    @RemoteMethod
+    public String[] getSessionBeans(String ejbModuleName) {
+        return null;
+    }
+
+    @RemoteMethod
+    public String[] getMDBs(String ejbModuleName) {
+        return null;
+    }*/
+}

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EARHelper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EARHelper.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EARHelper.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EjbConfigData.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EjbConfigData.java?rev=654201&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EjbConfigData.java (added)
+++ geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EjbConfigData.java Wed May  7 11:20:50 2008
@@ -0,0 +1,42 @@
+/**
+ *  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.geronimo.console.configcreator.configData;
+
+import java.util.HashSet;
+
+import javax.portlet.PortletRequest;
+
+import org.apache.geronimo.openejb.deployment.EjbModule;
+
+/**
+ * 
+ * @version $Rev$ $Date$
+ */
+public class EjbConfigData {
+    public void parseEjbJar(EjbModule ejbModule) {
+    }
+
+    public void readReferencesData(PortletRequest request) {
+    }
+
+    public void readSecurityData(PortletRequest request) {
+    }
+
+    public HashSet<String> consolidateDependencies() {
+        return new HashSet<String>();
+    }
+}

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EjbConfigData.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EjbConfigData.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EjbConfigData.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EnvironmentConfigData.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EnvironmentConfigData.java?rev=654201&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EnvironmentConfigData.java (added)
+++ geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EnvironmentConfigData.java Wed May  7 11:20:50 2008
@@ -0,0 +1,167 @@
+/**
+ *  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.geronimo.console.configcreator.configData;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.portlet.PortletRequest;
+
+import org.apache.geronimo.deployment.xbeans.ArtifactType;
+import org.apache.geronimo.deployment.xbeans.DependenciesType;
+import org.apache.geronimo.deployment.xbeans.DependencyType;
+import org.apache.geronimo.deployment.xbeans.EnvironmentType;
+import org.apache.geronimo.kernel.repository.Artifact;
+import org.apache.geronimo.kernel.repository.Dependency;
+import org.apache.geronimo.kernel.repository.Environment;
+
+/**
+ * 
+ * @version $Rev$ $Date$
+ */
+public class EnvironmentConfigData {
+    private EnvironmentType environment;
+
+    private HashSet<String> dependenciesSet = new HashSet<String>();
+
+    public EnvironmentConfigData(EnvironmentType environment) {
+        this.environment = environment;
+    }
+
+    public void parseEnvironment(Environment env) {
+        ArtifactType moduleId = environment.addNewModuleId();
+        Artifact configId = env.getConfigId();
+        moduleId.setGroupId(configId.getGroupId());
+        moduleId.setArtifactId(configId.getArtifactId());
+        moduleId.setVersion(configId.getVersion().toString());
+        moduleId.setType(configId.getType());
+        //List<Dependency> deps = env.getDependencies();
+        //for (int i = 0; i < deps.size(); i++) {
+        //    String depString = deps.get(i).toString();
+        //    dependenciesSet.add(depString.substring(6, depString.length() - 1));
+        //}
+    }
+
+    public void readEnvironmentData(PortletRequest request) {
+        ArtifactType moduleId = environment.getModuleId();
+        moduleId.setArtifactId(request.getParameter("artifactId"));
+        moduleId.setGroupId(request.getParameter("groupId"));
+        moduleId.setVersion(request.getParameter("version"));
+        moduleId.setType(request.getParameter("type"));
+
+        String hiddenClassesString = request.getParameter("hiddenClasses");
+        if (!isEmpty(hiddenClassesString)) {
+            String[] hiddenClasses = getNonEmptyStrings(hiddenClassesString.split(";"));
+            if (hiddenClasses.length > 0) {
+                environment.addNewHiddenClasses().setFilterArray(hiddenClasses);
+            }
+        }
+        String nonOverridableClassesString = request.getParameter("nonOverridableClasses");
+        if (!isEmpty(nonOverridableClassesString)) {
+            String[] nonOverridableClasses = getNonEmptyStrings(nonOverridableClassesString.split(";"));
+            if (nonOverridableClasses.length > 0) {
+                environment.addNewNonOverridableClasses().setFilterArray(nonOverridableClasses);
+            }
+        }
+        if ("true".equalsIgnoreCase(request.getParameter("inverseClassLoading"))) {
+            environment.addNewInverseClassloading();
+        }
+    }
+
+    public void storeDependencies() {
+        if (environment.isSetDependencies()) {
+            environment.unsetDependencies();
+        }
+        DependenciesType dependencies = environment.addNewDependencies();
+        Iterator<String> iter = dependenciesSet.iterator();
+        while (iter.hasNext()) {
+            populateDependency(dependencies.addNewDependency(), iter.next());
+        }
+    }
+
+    private void populateDependency(DependencyType dep, String dependencyString) {
+        Artifact artifact = Artifact.create(dependencyString.trim());
+        dep.setArtifactId(artifact.getArtifactId());
+        if (artifact.getGroupId() != null) {
+            dep.setGroupId(artifact.getGroupId());
+        }
+        if (artifact.getType() != null) {
+            dep.setType(artifact.getType());
+        }
+        if (artifact.getVersion() != null) {
+            dep.setVersion(artifact.getVersion().toString());
+        }
+    }
+
+    public HashSet<String> getDependenciesSet() {
+        return dependenciesSet;
+    }
+
+    public List<String> getDependencies() {
+        List<String> dependencies = new ArrayList<String>();
+        Iterator<String> iter = getDependenciesSet().iterator();
+        while (iter.hasNext()) {
+            dependencies.add(iter.next());
+        }
+        return dependencies;
+    }
+
+    public String getHiddenClassesString() {
+        StringBuffer str = new StringBuffer("");
+        if (environment.isSetHiddenClasses()) {
+            String[] hiddenClasses = environment.getHiddenClasses().getFilterArray();
+            for (int i = 0; i < hiddenClasses.length; i++) {
+                str.append(hiddenClasses[i]);
+            }
+        }
+        return str.toString();
+    }
+
+    public String getNonOverridableClassesString() {
+        StringBuffer str = new StringBuffer("");
+        if (environment.isSetNonOverridableClasses()) {
+            String[] nonOverridableClasses = environment.getNonOverridableClasses().getFilterArray();
+            for (int i = 0; i < nonOverridableClasses.length; i++) {
+                str.append(nonOverridableClasses[i]);
+            }
+        }
+        return str.toString();
+    }
+
+    public boolean getInverseClassLoading() {
+        return environment.isSetInverseClassloading();
+    }
+
+    private String[] getNonEmptyStrings(String[] strings) {
+        ArrayList<String> list = new ArrayList<String>();
+        for (int i = 0; i < strings.length; i++) {
+            if (strings[i].trim().length() > 0)
+                list.add(strings[i].trim());
+        }
+        return list.toArray(new String[list.size()]);
+    }
+
+    private static boolean isEmpty(String s) {
+        return s == null || s.trim().equals("");
+    }
+
+    public EnvironmentType getEnvironment() {
+        return environment;
+    }
+}

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EnvironmentConfigData.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EnvironmentConfigData.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/EnvironmentConfigData.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/JndiRefsConfigData.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/JndiRefsConfigData.java?rev=654201&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/JndiRefsConfigData.java (added)
+++ geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/JndiRefsConfigData.java Wed May  7 11:20:50 2008
@@ -0,0 +1,326 @@
+/**
+ *  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.geronimo.console.configcreator.configData;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+
+import javax.portlet.PortletRequest;
+
+import org.apache.geronimo.j2ee.deployment.annotation.AnnotatedApp;
+import org.apache.geronimo.xbeans.geronimo.naming.GerPatternType;
+import org.apache.geronimo.xbeans.geronimo.naming.GerPortType;
+import org.apache.geronimo.xbeans.geronimo.naming.GerResourceEnvRefType;
+import org.apache.geronimo.xbeans.geronimo.naming.GerResourceRefType;
+import org.apache.geronimo.xbeans.geronimo.naming.GerServiceRefType;
+import org.apache.geronimo.xbeans.geronimo.web.GerWebAppType;
+import org.apache.geronimo.xbeans.javaee.EjbLocalRefType;
+import org.apache.geronimo.xbeans.javaee.EjbRefType;
+import org.apache.geronimo.xbeans.javaee.ResourceEnvRefType;
+import org.apache.geronimo.xbeans.javaee.ResourceRefType;
+import org.apache.geronimo.xbeans.javaee.ServiceRefType;
+
+/**
+ * 
+ * @version $Rev$ $Date$
+ */
+public class JndiRefsConfigData {
+    private List<ReferenceData> jdbcPoolRefs = new ArrayList<ReferenceData>();
+
+    private List<ReferenceData> jmsConnectionFactoryRefs = new ArrayList<ReferenceData>();
+
+    private List<ReferenceData> javaMailSessionRefs = new ArrayList<ReferenceData>();
+
+    private HashSet<String> dependenciesSet = new HashSet<String>();
+
+    private boolean referenceNotResolved = false;
+
+    public final static String REF_NAME = "refName";
+
+    public final static String REF_LINK = "refLink";
+
+    public void parseWebDD(AnnotatedApp annotatedWebAppDD, GerWebAppType webApp) {
+        EjbRefType[] ejbRefs = annotatedWebAppDD.getEjbRefArray();
+        for (int i = 0; i < ejbRefs.length; i++) {
+            String refName = ejbRefs[i].getEjbRefName().getStringValue();
+            webApp.addNewEjbRef().setRefName(refName);
+        }
+
+        EjbLocalRefType[] ejbLocalRefs = annotatedWebAppDD.getEjbLocalRefArray();
+        for (int i = 0; i < ejbLocalRefs.length; i++) {
+            String refName = ejbLocalRefs[i].getEjbRefName().getStringValue();
+            webApp.addNewEjbLocalRef().setRefName(refName);
+        }
+
+        ServiceRefType[] serviceRefs = annotatedWebAppDD.getServiceRefArray();
+        for (int i = 0; i < serviceRefs.length; i++) {
+            String refName = serviceRefs[i].getServiceRefName().getStringValue();
+            webApp.addNewServiceRef().setServiceRefName(refName);
+        }
+
+        ResourceRefType[] resourceRefs = annotatedWebAppDD.getResourceRefArray();
+        for (int i = 0; i < resourceRefs.length; i++) {
+            String refName = resourceRefs[i].getResRefName().getStringValue();
+            String refType = resourceRefs[i].getResType().getStringValue();
+            if ("javax.sql.DataSource".equalsIgnoreCase(refType)) {
+                jdbcPoolRefs.add(new ReferenceData(refName));
+            } else if ("javax.jms.ConnectionFactory".equalsIgnoreCase(refType)
+                    || "javax.jms.QueueConnectionFactory".equalsIgnoreCase(refType)
+                    || "javax.jms.TopicConnectionFactory".equalsIgnoreCase(refType)) {
+                jmsConnectionFactoryRefs.add(new ReferenceData(refName));
+            } else if ("javax.mail.Session".equalsIgnoreCase(refType)) {
+                javaMailSessionRefs.add(new ReferenceData(refName));
+            }
+        }
+
+        ResourceEnvRefType[] resourceEnvRefs = annotatedWebAppDD.getResourceEnvRefArray();
+        for (int i = 0; i < resourceEnvRefs.length; i++) {
+            String refName = resourceEnvRefs[i].getResourceEnvRefName().getStringValue();
+            GerResourceEnvRefType resourceEnvRef = webApp.addNewResourceEnvRef();
+            resourceEnvRef.setRefName(refName);
+            // resourceEnvRef.setMessageDestinationLink(refName);
+        }
+    }
+
+    public void readReferencesData(PortletRequest request, GerWebAppType webApp) {
+        dependenciesSet.clear();
+        Map map = request.getParameterMap();
+        int index = 0;
+        while (true) {
+            String prefix = "ejbRef" + "." + (index) + ".";
+            if (!map.containsKey(prefix + REF_NAME)) {
+                break;
+            }
+            String referenceLink = request.getParameter(prefix + REF_LINK);
+            if (isEmpty(referenceLink)) {
+                referenceNotResolved = true;
+            }
+            dependenciesSet.add(getDependencyString(referenceLink));
+            webApp.getEjbRefArray(index).setPattern(createPattern(referenceLink));
+            index++;
+        }
+        index = 0;
+        while (true) {
+            String prefix = "ejbLocalRef" + "." + (index) + ".";
+            if (!map.containsKey(prefix + REF_NAME)) {
+                break;
+            }
+            String referenceLink = request.getParameter(prefix + REF_LINK);
+            if (isEmpty(referenceLink)) {
+                referenceNotResolved = true;
+            }
+            dependenciesSet.add(getDependencyString(referenceLink));
+            webApp.getEjbLocalRefArray(index).setPattern(createPattern(referenceLink));
+            index++;
+        }
+        index = 0;
+        while (true) {
+            String prefix = "jmsDestinationRef" + "." + (index) + ".";
+            if (!map.containsKey(prefix + REF_NAME)) {
+                break;
+            }
+            String referenceLink = request.getParameter(prefix + REF_LINK);
+            if (isEmpty(referenceLink)) {
+                referenceNotResolved = true;
+            }
+            dependenciesSet.add(getDependencyString(referenceLink));
+            webApp.getResourceEnvRefArray(index).setPattern(createPattern(referenceLink));
+            index++;
+        }
+        readWebServiceRefsData(request, webApp);
+        readParameters("jdbcPoolRef", jdbcPoolRefs, request);
+        readParameters("jmsConnectionFactoryRef", jmsConnectionFactoryRefs, request);
+        readParameters("javaMailSessionRef", javaMailSessionRefs, request);
+    }
+
+    public static String getDependencyString(String patternString) {
+        String[] elements = patternString.split("/", 6);
+        return elements[0] + "/" + elements[1] + "/" + elements[2] + "/" + elements[3];
+    }
+
+    public static GerPatternType createPattern(String patternString) {
+        GerPatternType pattern = GerPatternType.Factory.newInstance();
+        String[] elements = patternString.split("/", 6);
+        if (!isEmpty(elements[0])) {
+            pattern.setGroupId(elements[0]);
+        }
+        if (!isEmpty(elements[1])) {
+            pattern.setArtifactId(elements[1]);
+        }
+        if (!isEmpty(elements[2])) {
+            pattern.setVersion(elements[2]);
+        }
+        if (!isEmpty(elements[3])) {
+            // pattern.setType(elements[3]);
+        }
+        if (!isEmpty(elements[4])) {
+            pattern.setModule(elements[4]);
+        }
+        if (!isEmpty(elements[5])) {
+            pattern.setName(elements[5]);
+        }
+        return pattern;
+    }
+
+    private void readParameters(String prefix1, List<ReferenceData> list, PortletRequest request) {
+        Map map = request.getParameterMap();
+        list.clear();
+        int index = 0;
+        while (true) {
+            String prefix2 = prefix1 + "." + (index++) + ".";
+            if (!map.containsKey(prefix2 + REF_NAME)) {
+                break;
+            }
+            ReferenceData referenceData = new ReferenceData();
+            referenceData.load(request, prefix2);
+            String referenceLink = referenceData.getRefLink();
+            if (isEmpty(referenceLink)) {
+                referenceNotResolved = true;
+            }
+            dependenciesSet.add(getDependencyString(referenceLink));
+            list.add(referenceData);
+        }
+    }
+
+    public void readWebServiceRefsData(PortletRequest request, GerWebAppType webApp) {
+        Map map = request.getParameterMap();
+        for (int i = 0; i < webApp.getServiceRefArray().length; i++) {
+            GerServiceRefType serviceRef = webApp.getServiceRefArray(i);
+            for (int j = serviceRef.getPortArray().length - 1; j >= 0; j--) {
+                serviceRef.removePort(j);
+            }
+            String prefix1 = "serviceRef" + "." + i + "." + "port" + ".";
+            int lastIndex = Integer.parseInt(request.getParameter(prefix1 + "lastIndex"));
+            for (int j = 0; j < lastIndex; j++) {
+                String prefix2 = prefix1 + j + ".";
+                if (!map.containsKey(prefix2 + "portName")) {
+                    continue;
+                }
+                GerPortType port = serviceRef.addNewPort();
+                String value = request.getParameter(prefix2 + "portName");
+                if (!isEmpty(value)) {
+                    port.setPortName(value);
+                }
+                value = request.getParameter(prefix2 + "protocol");
+                if (!isEmpty(value)) {
+                    port.setProtocol(value);
+                }
+                value = request.getParameter(prefix2 + "host");
+                if (!isEmpty(value)) {
+                    port.setHost(value);
+                }
+                value = request.getParameter(prefix2 + "port");
+                if (!isEmpty(value)) {
+                    int portValue = Integer.parseInt(value);
+                    port.setPort(portValue);
+                }
+                value = request.getParameter(prefix2 + "uri");
+                if (!isEmpty(value)) {
+                    port.setUri(value);
+                }
+                value = request.getParameter(prefix2 + "credentialsName");
+                if (!isEmpty(value)) {
+                    port.setCredentialsName(value);
+                }
+            }
+        }
+    }
+
+    public void storeResourceRefs(GerWebAppType webApp) {
+        for (int i = webApp.getResourceRefArray().length - 1; i >= 0; i--) {
+            webApp.removeResourceRef(i);
+        }
+        for (int i = 0; i < jdbcPoolRefs.size(); i++) {
+            ReferenceData referenceData = (ReferenceData) jdbcPoolRefs.get(i);
+            GerResourceRefType resourceRef = webApp.addNewResourceRef();
+            resourceRef.setRefName(referenceData.getRefName());
+            resourceRef.setPattern(createPattern(referenceData.getRefLink()));
+        }
+        for (int i = 0; i < jmsConnectionFactoryRefs.size(); i++) {
+            ReferenceData referenceData = (ReferenceData) jmsConnectionFactoryRefs.get(i);
+            GerResourceRefType resourceRef = webApp.addNewResourceRef();
+            resourceRef.setRefName(referenceData.getRefName());
+            resourceRef.setPattern(createPattern(referenceData.getRefLink()));
+        }
+        for (int i = 0; i < javaMailSessionRefs.size(); i++) {
+            ReferenceData referenceData = (ReferenceData) javaMailSessionRefs.get(i);
+            GerResourceRefType resourceRef = webApp.addNewResourceRef();
+            resourceRef.setRefName(referenceData.getRefName());
+            resourceRef.setPattern(createPattern(referenceData.getRefLink()));
+        }
+    }
+
+    public List<ReferenceData> getJdbcPoolRefs() {
+        return jdbcPoolRefs;
+    }
+
+    public List<ReferenceData> getJmsConnectionFactoryRefs() {
+        return jmsConnectionFactoryRefs;
+    }
+
+    public List<ReferenceData> getJavaMailSessionRefs() {
+        return javaMailSessionRefs;
+    }
+
+    public HashSet<String> getDependenciesSet() {
+        return dependenciesSet;
+    }
+
+    public boolean isReferenceNotResolved() {
+        return referenceNotResolved;
+    }
+
+    private static boolean isEmpty(String s) {
+        return s == null || s.trim().equals("");
+    }
+
+    public static class ReferenceData {
+        private String refName;
+
+        private String refLink;
+
+        public ReferenceData() {
+        }
+
+        public ReferenceData(String refName) {
+            this.refName = refName;
+        }
+
+        public void load(PortletRequest request, String prefix) {
+            refName = request.getParameter(prefix + REF_NAME);
+            refLink = request.getParameter(prefix + REF_LINK);
+        }
+
+        public String getRefName() {
+            return refName;
+        }
+
+        public void setRefName(String refName) {
+            this.refName = refName;
+        }
+
+        public String getRefLink() {
+            return refLink;
+        }
+
+        public void setRefLink(String refLink) {
+            this.refLink = refLink;
+        }
+    }
+}

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/JndiRefsConfigData.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/JndiRefsConfigData.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/JndiRefsConfigData.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/MessageDestinationConfigData.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/MessageDestinationConfigData.java?rev=654201&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/MessageDestinationConfigData.java (added)
+++ geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/MessageDestinationConfigData.java Wed May  7 11:20:50 2008
@@ -0,0 +1,85 @@
+/**
+ *  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.geronimo.console.configcreator.configData;
+
+import java.util.HashSet;
+import java.util.Map;
+
+import javax.portlet.PortletRequest;
+
+import org.apache.geronimo.j2ee.deployment.annotation.AnnotatedApp;
+import org.apache.geronimo.j2ee.deployment.annotation.AnnotatedWebApp;
+import org.apache.geronimo.xbeans.geronimo.naming.GerMessageDestinationType;
+import org.apache.geronimo.xbeans.geronimo.web.GerWebAppType;
+import org.apache.geronimo.xbeans.javaee.MessageDestinationType;
+import org.apache.geronimo.xbeans.javaee.WebAppType;
+
+/**
+ * 
+ * @version $Rev$ $Date$
+ */
+public class MessageDestinationConfigData {
+    private HashSet<String> dependenciesSet = new HashSet<String>();
+
+    private boolean referenceNotResolved = false;
+
+    public void parseWebDD(AnnotatedApp annotatedWebAppDD, GerWebAppType webApp) {
+        if (annotatedWebAppDD instanceof AnnotatedWebApp) {
+            WebAppType webAppDD = ((AnnotatedWebApp) annotatedWebAppDD).getWebApp();
+            MessageDestinationType[] messageDestinations = webAppDD.getMessageDestinationArray();
+            for (int i = 0; i < messageDestinations.length; i++) {
+                String messageDestinationName = messageDestinations[i].getMessageDestinationName().getStringValue();
+                GerMessageDestinationType messageDestination = webApp.addNewMessageDestination();
+                messageDestination.setMessageDestinationName(messageDestinationName);
+                // messageDestination.setAdminObjectLink(messageDestinationName);
+            }
+        }
+    }
+
+    public void readReferencesData(PortletRequest request, GerWebAppType webApp) {
+        dependenciesSet.clear();
+        Map map = request.getParameterMap();
+        int index = 0;
+        while (true) {
+            String prefix = "messageDestination" + "." + (index) + ".";
+            if (!map.containsKey(prefix + JndiRefsConfigData.REF_NAME)) {
+                break;
+            }
+            String referenceLink = request.getParameter(prefix + JndiRefsConfigData.REF_LINK);
+            if (isEmpty(referenceLink)) {
+                referenceNotResolved = true;
+            }
+            dependenciesSet.add(JndiRefsConfigData.getDependencyString(referenceLink));
+            // TODO setting pattern as below isn't working! why??
+            // webApp.getMessageDestinationArray(index).setPattern(createPattern(referenceLink));
+            webApp.getMessageDestinationArray(index).setAdminObjectLink(JndiRefsConfigData.createPattern(referenceLink).getName());
+            index++;
+        }
+    }
+
+    public HashSet<String> getDependenciesSet() {
+        return dependenciesSet;
+    }
+
+    public boolean isReferenceNotResolved() {
+        return referenceNotResolved;
+    }
+
+    private static boolean isEmpty(String s) {
+        return s == null || s.trim().equals("");
+    }
+}

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/MessageDestinationConfigData.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/MessageDestinationConfigData.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/MessageDestinationConfigData.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/SecurityConfigData.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/SecurityConfigData.java?rev=654201&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/SecurityConfigData.java (added)
+++ geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/SecurityConfigData.java Wed May  7 11:20:50 2008
@@ -0,0 +1,203 @@
+/**
+ *  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.geronimo.console.configcreator.configData;
+
+import java.util.HashSet;
+import java.util.Map;
+
+import javax.portlet.PortletRequest;
+
+import org.apache.geronimo.deployment.xbeans.PatternType;
+import org.apache.geronimo.j2ee.deployment.annotation.AnnotatedApp;
+import org.apache.geronimo.j2ee.deployment.annotation.AnnotatedWebApp;
+import org.apache.geronimo.xbeans.geronimo.security.GerDistinguishedNameType;
+import org.apache.geronimo.xbeans.geronimo.security.GerLoginDomainPrincipalType;
+import org.apache.geronimo.xbeans.geronimo.security.GerPrincipalType;
+import org.apache.geronimo.xbeans.geronimo.security.GerRealmPrincipalType;
+import org.apache.geronimo.xbeans.geronimo.security.GerRoleMappingsType;
+import org.apache.geronimo.xbeans.geronimo.security.GerRoleType;
+import org.apache.geronimo.xbeans.geronimo.security.GerSecurityType;
+import org.apache.geronimo.xbeans.geronimo.security.GerSubjectInfoType;
+import org.apache.geronimo.xbeans.javaee.SecurityRoleType;
+import org.apache.geronimo.xbeans.javaee.WebAppType;
+
+/**
+ * 
+ * @version $Rev$ $Date$
+ */
+public class SecurityConfigData {
+    private GerSecurityType security = null;
+
+    private HashSet<String> dependenciesSet = new HashSet<String>();
+
+    public void parseWebDD(AnnotatedApp annotatedWebAppDD) {
+        if (annotatedWebAppDD instanceof AnnotatedWebApp) {
+            WebAppType webAppDD = ((AnnotatedWebApp) annotatedWebAppDD).getWebApp();
+            SecurityRoleType[] securityRoles = webAppDD.getSecurityRoleArray();
+            if (securityRoles.length > 0) {
+                security = GerSecurityType.Factory.newInstance();
+                GerRoleMappingsType roleMappings = security.addNewRoleMappings();
+                for (int i = 0; i < securityRoles.length; i++) {
+                    String roleName = securityRoles[i].getRoleName().getStringValue();
+                    roleMappings.addNewRole().setRoleName(roleName);
+                }
+            }
+        }
+    }
+
+    public void readSecurityData(PortletRequest request) {
+        dependenciesSet.clear();
+        Map map = request.getParameterMap();
+        boolean processAdvancedSettings = false;
+        if (map.containsKey("security.advancedSettings.isPresent")
+                && "true".equalsIgnoreCase(request.getParameter("security.advancedSettings.isPresent"))) {
+            processAdvancedSettings = true;
+        }
+        GerRoleType[] roles = security.getRoleMappings().getRoleArray();
+        for (int index = 0; index < roles.length; index++) {
+            String prefix1 = "security.roleMappings" + "." + index + ".";
+            GerRoleType role = roles[index];
+
+            for (int i = role.sizeOfPrincipalArray() - 1; i >= 0; i--) {
+                role.removePrincipal(i);
+            }
+            int lastIndex = Integer.parseInt(request.getParameter(prefix1 + "principal.lastIndex"));
+            for (int i = 0; i < lastIndex; i++) {
+                String prefix2 = prefix1 + "principal" + "." + i + ".";
+                if (!map.containsKey(prefix2 + "name")) {
+                    continue;
+                }
+                GerPrincipalType principal = role.addNewPrincipal();
+                principal.setName(request.getParameter(prefix2 + "name"));
+                principal.setClass1(request.getParameter(prefix2 + "class"));
+            }
+
+            for (int i = role.sizeOfLoginDomainPrincipalArray() - 1; i >= 0; i--) {
+                role.removeLoginDomainPrincipal(i);
+            }
+            lastIndex = Integer.parseInt(request.getParameter(prefix1 + "loginDomainPrincipal.lastIndex"));
+            for (int i = 0; i < lastIndex; i++) {
+                String prefix2 = prefix1 + "loginDomainPrincipal" + "." + i + ".";
+                if (!map.containsKey(prefix2 + "name")) {
+                    continue;
+                }
+                GerLoginDomainPrincipalType loginDomainPrincipal = role.addNewLoginDomainPrincipal();
+                loginDomainPrincipal.setName(request.getParameter(prefix2 + "name"));
+                loginDomainPrincipal.setClass1(request.getParameter(prefix2 + "class"));
+                loginDomainPrincipal.setDomainName(request.getParameter(prefix2 + "domainName"));
+            }
+
+            for (int i = role.sizeOfRealmPrincipalArray() - 1; i >= 0; i--) {
+                role.removeRealmPrincipal(i);
+            }
+            lastIndex = Integer.parseInt(request.getParameter(prefix1 + "realmPrincipal.lastIndex"));
+            for (int i = 0; i < lastIndex; i++) {
+                String prefix2 = prefix1 + "realmPrincipal" + "." + i + ".";
+                if (!map.containsKey(prefix2 + "name")) {
+                    continue;
+                }
+                GerRealmPrincipalType realmPrincipal = role.addNewRealmPrincipal();
+                realmPrincipal.setName(request.getParameter(prefix2 + "name"));
+                realmPrincipal.setClass1(request.getParameter(prefix2 + "class"));
+                realmPrincipal.setDomainName(request.getParameter(prefix2 + "domainName"));
+                realmPrincipal.setRealmName(request.getParameter(prefix2 + "realmName"));
+            }
+
+            for (int i = role.sizeOfDistinguishedNameArray() - 1; i >= 0; i--) {
+                role.removeDistinguishedName(i);
+            }
+            lastIndex = Integer.parseInt(request.getParameter(prefix1 + "distinguishedName.lastIndex"));
+            for (int i = 0; i < lastIndex; i++) {
+                String prefix2 = prefix1 + "distinguishedName" + "." + i + ".";
+                if (!map.containsKey(prefix2 + "name")) {
+                    continue;
+                }
+                GerDistinguishedNameType distinguishedName = role.addNewDistinguishedName();
+                distinguishedName.setName(request.getParameter(prefix2 + "name"));
+            }
+
+            if (processAdvancedSettings) {
+                String prefix2 = prefix1 + "runAsSubject" + ".";
+                if (map.containsKey(prefix2 + "realm")) {
+                    if (role.isSetRunAsSubject()) {
+                        role.unsetRunAsSubject();
+                    }
+                    String realm = request.getParameter(prefix2 + "realm");
+                    String id = request.getParameter(prefix2 + "id");
+                    if (!isEmpty(realm) && !isEmpty(id)) {
+                        GerSubjectInfoType runAsSubject = role.addNewRunAsSubject();
+                        runAsSubject.setRealm(realm);
+                        runAsSubject.setId(id);
+                    }
+                }
+            }
+        }
+        if (processAdvancedSettings) {
+            String parameterName = "security" + "." + "credentialStoreRef";
+            if (map.containsKey(parameterName)) {
+                String patternString = request.getParameter(parameterName);
+                String[] elements = patternString.split("/", 6);
+                PatternType pattern = PatternType.Factory.newInstance();
+                pattern.setGroupId(elements[0]);
+                pattern.setArtifactId(elements[1]);
+                // pattern.setVersion(elements[2]);
+                // pattern.setType(elements[3]);
+                // pattern.setModule(elements[4]);
+                pattern.setName(elements[5]);
+                security.setCredentialStoreRef(pattern);
+                dependenciesSet.add(JndiRefsConfigData.getDependencyString(patternString));
+            }
+            String prefix = "security" + "." + "defaultSubject" + ".";
+            if (map.containsKey(prefix + "realm")) {
+                if (security.isSetDefaultSubject()) {
+                    security.unsetDefaultSubject();
+                }
+                String realm = request.getParameter(prefix + "realm");
+                String id = request.getParameter(prefix + "id");
+                if (!isEmpty(realm) && !isEmpty(id)) {
+                    GerSubjectInfoType runAsSubject = security.addNewDefaultSubject();
+                    runAsSubject.setRealm(realm);
+                    runAsSubject.setId(id);
+                }
+            }
+            parameterName = "security" + "." + "doasCurrentCaller";
+            if ("true".equalsIgnoreCase(request.getParameter(parameterName))) {
+                security.setDoasCurrentCaller(true);
+            }
+            parameterName = "security" + "." + "useContextHandler";
+            if ("true".equalsIgnoreCase(request.getParameter(parameterName))) {
+                security.setUseContextHandler(true);
+            }
+            String defaultRole = request.getParameter("security" + "." + "defaultRole");
+            if (!isEmpty(defaultRole)) {
+                security.setDefaultRole(defaultRole);
+            }
+        }
+    }
+
+    public GerSecurityType getSecurity() {
+        return security;
+    }
+
+    public HashSet<String> getDependenciesSet() {
+        return dependenciesSet;
+    }
+
+    protected static boolean isEmpty(String s) {
+        return s == null || s.trim().equals("");
+    }
+}

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/SecurityConfigData.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/SecurityConfigData.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/SecurityConfigData.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/WARConfigData.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/WARConfigData.java?rev=654201&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/WARConfigData.java (added)
+++ geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/WARConfigData.java Wed May  7 11:20:50 2008
@@ -0,0 +1,161 @@
+/**
+ *  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.geronimo.console.configcreator.configData;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.HashSet;
+
+import javax.portlet.PortletRequest;
+
+import org.apache.geronimo.j2ee.deployment.WebModule;
+import org.apache.geronimo.j2ee.deployment.annotation.AnnotatedApp;
+import org.apache.geronimo.xbeans.geronimo.security.GerSecurityType;
+import org.apache.geronimo.xbeans.geronimo.web.GerWebAppDocument;
+import org.apache.geronimo.xbeans.geronimo.web.GerWebAppType;
+import org.apache.xmlbeans.XmlOptions;
+
+/**
+ * 
+ * @version $Rev$ $Date$
+ */
+public class WARConfigData {
+    private GerWebAppType webApp = GerWebAppType.Factory.newInstance();
+
+    private EnvironmentConfigData environmentConfig;
+
+    private JndiRefsConfigData jndiRefsConfig;
+
+    private MessageDestinationConfigData messageDestinationConfig;
+
+    private SecurityConfigData securityConfig;
+
+    private String uploadedWarUri;
+
+    private String deploymentPlan;
+
+    public void parseWeb(WebModule module) {
+        environmentConfig = new EnvironmentConfigData(getWebApp().addNewEnvironment());
+        environmentConfig.parseEnvironment(module.getEnvironment());
+        getWebApp().setContextRoot(getWebApp().getEnvironment().getModuleId().getArtifactId());
+
+        parseReferences(module.getAnnotatedApp());
+        parseSecurity(module.getAnnotatedApp());
+    }
+
+    public void parseReferences(AnnotatedApp annotatedApp) {
+        jndiRefsConfig = new JndiRefsConfigData();
+        jndiRefsConfig.parseWebDD(annotatedApp, webApp);
+        messageDestinationConfig = new MessageDestinationConfigData();
+        messageDestinationConfig.parseWebDD(annotatedApp, webApp);
+    }
+
+    public void parseSecurity(AnnotatedApp annotatedApp) {
+        securityConfig = new SecurityConfigData();
+        securityConfig.parseWebDD(annotatedApp);
+    }
+
+    public void readEnvironmentData(PortletRequest request) {
+        getWebApp().setContextRoot(request.getParameter("contextRoot"));
+        environmentConfig.readEnvironmentData(request);
+    }
+
+    public void readReferencesData(PortletRequest request) {
+        jndiRefsConfig.readReferencesData(request, getWebApp());
+        messageDestinationConfig.readReferencesData(request, getWebApp());
+    }
+
+    public void readSecurityData(PortletRequest request) {
+        getWebApp().setSecurityRealmName(request.getParameter("securityRealmName"));
+        securityConfig.readSecurityData(request);
+    }
+
+    public HashSet<String> consolidateDependencies() {
+        HashSet<String> deps = environmentConfig.getDependenciesSet();
+        deps.addAll(jndiRefsConfig.getDependenciesSet());
+        deps.addAll(messageDestinationConfig.getDependenciesSet());
+        deps.addAll(securityConfig.getDependenciesSet());
+        return deps;
+    }
+
+    public String createDeploymentPlan() throws IOException {
+        environmentConfig.storeDependencies();
+        jndiRefsConfig.storeResourceRefs(getWebApp());
+        if (securityConfig.getSecurity() != null) {
+            getWebApp().setSecurity(securityConfig.getSecurity());
+        }
+
+        GerWebAppDocument webAppDocument = GerWebAppDocument.Factory.newInstance();
+        webAppDocument.setWebApp(getWebApp());
+        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+        XmlOptions options = new XmlOptions();
+        options.setSavePrettyPrint();
+        options.setSavePrettyPrintIndent(4);
+        options.setUseDefaultNamespace();
+        webAppDocument.save(outputStream, options);
+        outputStream.close();
+        deploymentPlan = new String(outputStream.toByteArray(), "US-ASCII");
+        return deploymentPlan;
+    }
+
+    public GerWebAppType getWebApp() {
+        return webApp;
+    }
+
+    public EnvironmentConfigData getEnvironmentConfig() {
+        return environmentConfig;
+    }
+
+    public JndiRefsConfigData getJndiRefsConfig() {
+        return jndiRefsConfig;
+    }
+
+    public GerSecurityType getSecurity() {
+        return securityConfig.getSecurity();
+    }
+
+    public boolean isReferenceNotResolved() {
+        return jndiRefsConfig.isReferenceNotResolved() || messageDestinationConfig.isReferenceNotResolved();
+    }
+
+    public void setUploadedWarUri(String uploadedWarUri) {
+        this.uploadedWarUri = uploadedWarUri;
+    }
+
+    public String getUploadedWarUri() {
+        return uploadedWarUri;
+    }
+
+    public String getDeploymentPlan() {
+        return deploymentPlan;
+    }
+
+    public void setDeploymentPlan(String deploymentPlan) {
+        this.deploymentPlan = deploymentPlan;
+    }
+
+    public boolean needsResolveReferences() {
+        if (getWebApp().getEjbRefArray().length > 0 || getWebApp().getEjbLocalRefArray().length > 0
+                || getWebApp().getServiceRefArray().length > 0 || getWebApp().getResourceEnvRefArray().length > 0
+                || getJndiRefsConfig().getJdbcPoolRefs().size() > 0
+                || getJndiRefsConfig().getJavaMailSessionRefs().size() > 0
+                || getJndiRefsConfig().getJmsConnectionFactoryRefs().size() > 0) {
+            return true;
+        }
+        return false;
+    }
+}

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/WARConfigData.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/WARConfigData.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugins/plancreator/plancreator-portlets/src/main/java/org/apache/geronimo/console/configcreator/configData/WARConfigData.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain



Mime
View raw message