You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jl...@apache.org on 2007/06/22 01:18:41 UTC
svn commit: r549644 [4/8] - in /geronimo/sandbox/geronimo-netbeans-plugin:
./ src/ src/main/ src/main/java/ src/main/java/org/
src/main/java/org/apache/ src/main/java/org/apache/geronimo/
src/main/java/org/apache/geronimo/netbeans/ src/main/java/org/ap...
Added: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerJVM.form
URL: http://svn.apache.org/viewvc/geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerJVM.form?view=auto&rev=549644
==============================================================================
--- geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerJVM.form (added)
+++ geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerJVM.form Thu Jun 21 16:18:31 2007
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.2" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+ <AuxValues>
+ <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
+ <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+ <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+ <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
+ </AuxValues>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+ <SubComponents>
+ <Container class="javax.swing.JPanel" name="jPanel1">
+ <AuxValues>
+ <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,90,0,0,1,-112"/>
+ </AuxValues>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+ <BorderConstraints direction="Center"/>
+ </Constraint>
+ </Constraints>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
+ <SubComponents>
+ <Component class="javax.swing.JLabel" name="jvmLabel">
+ <Properties>
+ <Property name="labelFor" type="java.awt.Component" editor="org.netbeans.modules.form.ComponentChooserEditor">
+ <ComponentRef name="jvmComboBox"/>
+ </Property>
+ <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/netbeans/modules/j2ee/jboss4/customizer/Bundle.properties" key="TXT_JVM" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ </Properties>
+ <AccessibilityProperties>
+ <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/netbeans/modules/tomcat5/customizer/Bundle.properties" key="ASCN_JVM" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ <Property name="AccessibleContext.accessibleDescription" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/netbeans/modules/tomcat5/customizer/Bundle.properties" key="ASCD_JavaPlatform" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ </AccessibilityProperties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="0" gridY="0" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="12" insetsLeft="12" insetsBottom="0" insetsRight="0" anchor="17" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JButton" name="jvmButton">
+ <Properties>
+ <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/netbeans/modules/j2ee/jboss4/customizer/Bundle.properties" key="TXT_ManagePlatforms" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ </Properties>
+ <AccessibilityProperties>
+ <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/netbeans/modules/tomcat5/customizer/Bundle.properties" key="ASCN_ManagerPlatform" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ <Property name="AccessibleContext.accessibleDescription" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/netbeans/modules/tomcat5/customizer/Bundle.properties" key="ASCD_JavaPlatform" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ </AccessibilityProperties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jvmButtonActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="2" gridY="0" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="12" insetsLeft="5" insetsBottom="0" insetsRight="12" anchor="17" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JComboBox" name="jvmComboBox">
+ <Properties>
+ <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+ <Connection code="custData.getJvmModel()" type="code"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="1" gridY="0" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="12" insetsLeft="5" insetsBottom="0" insetsRight="0" anchor="17" weightX="1.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JCheckBox" name="proxyCheckBox">
+ <Properties>
+ <Property name="mnemonic" type="int" editor="org.netbeans.modules.i18n.form.FormI18nMnemonicEditor">
+ <ResourceString bundle="" key="MNE_Proxy" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/netbeans/modules/j2ee/jboss4/customizer/Bundle.properties" key="LBL_Proxy" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ <Property name="model" type="javax.swing.ButtonModel" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+ <Connection code="custData.getProxyModel()" type="code"/>
+ </Property>
+ </Properties>
+ <AccessibilityProperties>
+ <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/netbeans/modules/tomcat5/customizer/Bundle.properties" key="ASCN_SecManager" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ <Property name="AccessibleContext.accessibleDescription" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/netbeans/modules/tomcat5/customizer/Bundle.properties" key="ASCD_SecManager" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ </AccessibilityProperties>
+ <AuxValues>
+ <AuxValue name="generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+ </AuxValues>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="0" gridY="3" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="11" insetsLeft="12" insetsBottom="0" insetsRight="0" anchor="18" weightX="1.0" weightY="1.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabel1">
+ <Properties>
+ <Property name="labelFor" type="java.awt.Component" editor="org.netbeans.modules.form.ComponentChooserEditor">
+ <ComponentRef name="jTextField1"/>
+ </Property>
+ <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/netbeans/modules/j2ee/jboss4/customizer/Bundle.properties" key="TXT_VMOptions" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ </Properties>
+ <AccessibilityProperties>
+ <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/netbeans/modules/tomcat5/customizer/Bundle.properties" key="ASCN_VMOpts" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ <Property name="AccessibleContext.accessibleDescription" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/netbeans/modules/tomcat5/customizer/Bundle.properties" key="ASCD_VMOpts" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ </AccessibilityProperties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="0" gridY="1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="5" insetsLeft="12" insetsBottom="0" insetsRight="0" anchor="17" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JTextField" name="jTextField1">
+ <Properties>
+ <Property name="columns" type="int" value="30"/>
+ <Property name="document" type="javax.swing.text.Document" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+ <Connection code="custData.getJavaOptsModel()" type="code"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="1" gridY="1" gridWidth="0" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="5" insetsLeft="5" insetsBottom="0" insetsRight="12" anchor="17" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabel2">
+ <Properties>
+ <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/netbeans/modules/j2ee/jboss4/customizer/Bundle.properties" key="TXT_VMOptionsEG" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ </Properties>
+ <AccessibilityProperties>
+ <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/netbeans/modules/tomcat5/customizer/Bundle.properties" key="ASCN_VMOptEG" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ <Property name="AccessibleContext.accessibleDescription" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/netbeans/modules/tomcat5/customizer/Bundle.properties" key="ASCD_VmOptsEG" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ </AccessibilityProperties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="1" gridY="2" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="5" insetsLeft="5" insetsBottom="0" insetsRight="0" anchor="17" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabel3">
+ <Properties>
+ <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/netbeans/modules/j2ee/jboss4/customizer/Bundle.properties" key="TXT_NoteChangesTakeAffect" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ </Properties>
+ <AccessibilityProperties>
+ <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/netbeans/modules/tomcat5/customizer/Bundle.properties" key="ASCN_Note" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ <Property name="AccessibleContext.accessibleDescription" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/netbeans/modules/tomcat5/customizer/Bundle.properties" key="ASCD_Note" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
+ </Property>
+ </AccessibilityProperties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="0" gridY="4" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="5" insetsLeft="12" insetsBottom="12" insetsRight="0" anchor="17" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ </SubComponents>
+ </Container>
+ </SubComponents>
+</Form>
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerJVM.form
------------------------------------------------------------------------------
svn:executable = *
Added: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerJVM.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerJVM.java?view=auto&rev=549644
==============================================================================
--- geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerJVM.java (added)
+++ geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerJVM.java Thu Jun 21 16:18:31 2007
@@ -0,0 +1,166 @@
+package org.apache.geronimo.netbeans.customizer;
+
+import org.netbeans.api.java.platform.PlatformsCustomizer;
+
+/**
+ * Customizer JVM (Platform) tab.
+ */
+public class CustomizerJVM extends javax.swing.JPanel {
+
+ private CustomizerDataSupport custData;
+
+ /** Creates new form CustomizerJVM */
+ public CustomizerJVM(CustomizerDataSupport custData) {
+ this.custData = custData;
+ initComponents();
+
+ // mnemonics generated in the guarded block do not work
+ proxyCheckBox.setMnemonic(org.openide.util.NbBundle.getMessage(CustomizerJVM.class, "MNE_Proxy").charAt(0));
+ }
+
+ /**
+ * This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The
+ * content of this method is always regenerated by the Form Editor.
+ */
+ // <editor-fold defaultstate="collapsed" desc=" Generated Code
+ // ">//GEN-BEGIN:initComponents
+ private void initComponents() {
+ java.awt.GridBagConstraints gridBagConstraints;
+
+ jPanel1 = new javax.swing.JPanel();
+ jvmLabel = new javax.swing.JLabel();
+ jvmButton = new javax.swing.JButton();
+ jvmComboBox = new javax.swing.JComboBox();
+ proxyCheckBox = new javax.swing.JCheckBox();
+ jLabel1 = new javax.swing.JLabel();
+ jTextField1 = new javax.swing.JTextField();
+ jLabel2 = new javax.swing.JLabel();
+ jLabel3 = new javax.swing.JLabel();
+
+ setLayout(new java.awt.BorderLayout());
+
+ jPanel1.setLayout(new java.awt.GridBagLayout());
+
+ jvmLabel.setLabelFor(jvmComboBox);
+ org.openide.awt.Mnemonics.setLocalizedText(jvmLabel, org.openide.util.NbBundle.getMessage(CustomizerJVM.class,
+ "TXT_JVM"));
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 0;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
+ gridBagConstraints.insets = new java.awt.Insets(12, 12, 0, 0);
+ jPanel1.add(jvmLabel, gridBagConstraints);
+ jvmLabel.getAccessibleContext().setAccessibleName(null);
+ jvmLabel.getAccessibleContext().setAccessibleDescription(null);
+
+ org.openide.awt.Mnemonics.setLocalizedText(jvmButton, org.openide.util.NbBundle.getMessage(CustomizerJVM.class,
+ "TXT_ManagePlatforms"));
+ jvmButton.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jvmButtonActionPerformed(evt);
+ }
+ });
+
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 2;
+ gridBagConstraints.gridy = 0;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
+ gridBagConstraints.insets = new java.awt.Insets(12, 5, 0, 12);
+ jPanel1.add(jvmButton, gridBagConstraints);
+ jvmButton.getAccessibleContext().setAccessibleName(null);
+ jvmButton.getAccessibleContext().setAccessibleDescription(null);
+
+ jvmComboBox.setModel(custData.getJvmModel());
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 1;
+ gridBagConstraints.gridy = 0;
+ gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
+ gridBagConstraints.weightx = 1.0;
+ gridBagConstraints.insets = new java.awt.Insets(12, 5, 0, 0);
+ jPanel1.add(jvmComboBox, gridBagConstraints);
+
+ proxyCheckBox.setMnemonic(org.openide.util.NbBundle.getMessage(CustomizerJVM.class, "MNE_Proxy").charAt(0));
+ proxyCheckBox.setText(org.openide.util.NbBundle.getMessage(CustomizerJVM.class, "LBL_Proxy"));
+ proxyCheckBox.setModel(custData.getProxyModel());
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 3;
+ gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
+ gridBagConstraints.weightx = 1.0;
+ gridBagConstraints.weighty = 1.0;
+ gridBagConstraints.insets = new java.awt.Insets(11, 12, 0, 0);
+ jPanel1.add(proxyCheckBox, gridBagConstraints);
+ proxyCheckBox.getAccessibleContext().setAccessibleName(null);
+ proxyCheckBox.getAccessibleContext().setAccessibleDescription(null);
+
+ jLabel1.setLabelFor(jTextField1);
+ org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(CustomizerJVM.class,
+ "TXT_VMOptions"));
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 1;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
+ gridBagConstraints.insets = new java.awt.Insets(5, 12, 0, 0);
+ jPanel1.add(jLabel1, gridBagConstraints);
+ jLabel1.getAccessibleContext().setAccessibleName(null);
+ jLabel1.getAccessibleContext().setAccessibleDescription(null);
+
+ jTextField1.setColumns(30);
+ jTextField1.setDocument(custData.getJavaOptsModel());
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 1;
+ gridBagConstraints.gridy = 1;
+ gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
+ gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
+ gridBagConstraints.insets = new java.awt.Insets(5, 5, 0, 12);
+ jPanel1.add(jTextField1, gridBagConstraints);
+
+ org.openide.awt.Mnemonics.setLocalizedText(jLabel2, org.openide.util.NbBundle.getMessage(CustomizerJVM.class,
+ "TXT_VMOptionsEG"));
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 1;
+ gridBagConstraints.gridy = 2;
+ gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
+ gridBagConstraints.insets = new java.awt.Insets(5, 5, 0, 0);
+ jPanel1.add(jLabel2, gridBagConstraints);
+ jLabel2.getAccessibleContext().setAccessibleName(null);
+ jLabel2.getAccessibleContext().setAccessibleDescription(null);
+
+ org.openide.awt.Mnemonics.setLocalizedText(jLabel3, org.openide.util.NbBundle.getMessage(CustomizerJVM.class,
+ "TXT_NoteChangesTakeAffect"));
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 4;
+ gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
+ gridBagConstraints.insets = new java.awt.Insets(5, 12, 12, 0);
+ jPanel1.add(jLabel3, gridBagConstraints);
+ jLabel3.getAccessibleContext().setAccessibleName(null);
+ jLabel3.getAccessibleContext().setAccessibleDescription(null);
+
+ add(jPanel1, java.awt.BorderLayout.CENTER);
+
+ }// </editor-fold>//GEN-END:initComponents
+
+ private void jvmButtonActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jvmButtonActionPerformed
+ PlatformsCustomizer.showCustomizer(null);
+ custData.loadJvmModel();
+ }// GEN-LAST:event_jvmButtonActionPerformed
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JLabel jLabel1;
+ private javax.swing.JLabel jLabel2;
+ private javax.swing.JLabel jLabel3;
+ private javax.swing.JPanel jPanel1;
+ private javax.swing.JTextField jTextField1;
+ private javax.swing.JButton jvmButton;
+ private javax.swing.JComboBox jvmComboBox;
+ private javax.swing.JLabel jvmLabel;
+ private javax.swing.JCheckBox proxyCheckBox;
+ // End of variables declaration//GEN-END:variables
+
+}
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerJVM.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerJVM.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerJVM.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerJVM.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerSupport.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerSupport.java?view=auto&rev=549644
==============================================================================
--- geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerSupport.java (added)
+++ geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerSupport.java Thu Jun 21 16:18:31 2007
@@ -0,0 +1,747 @@
+package org.apache.geronimo.netbeans.customizer;
+
+import java.awt.Component;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.StringTokenizer;
+import javax.swing.AbstractListModel;
+import javax.swing.JButton;
+import javax.swing.JFileChooser;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+import javax.swing.filechooser.FileFilter;
+import org.netbeans.modules.j2ee.deployment.common.api.J2eeLibraryTypeProvider;
+import org.openide.ErrorManager;
+import org.openide.NotifyDescriptor;
+import org.openide.filesystems.FileUtil;
+import org.openide.util.NbBundle;
+
+public final class CustomizerSupport {
+
+ private static final String CLASSPATH = J2eeLibraryTypeProvider.VOLUME_TYPE_CLASSPATH;
+ private static final String SOURCES = J2eeLibraryTypeProvider.VOLUME_TYPE_SRC;
+ private static final String JAVADOC = J2eeLibraryTypeProvider.VOLUME_TYPE_JAVADOC;
+
+ /** Do not allow to create instances of this class */
+ private CustomizerSupport() {
+ }
+
+ /**
+ * Creates non-editable customizer classes pane.
+ *
+ * @param model
+ * A model prepresenting the class path entries.
+ *
+ * @return A Component representing the classes pane.
+ *
+ * @throws NullPointerException
+ * If null model is passed in.
+ */
+ public static Component createClassesCustomizer(PathModel model) {
+ if (model == null) {
+ throw new NullPointerException();
+ }
+ return new PathView(model, CLASSPATH, null);
+ }
+
+ /**
+ * Creates an editable customizer sources pane.
+ *
+ * @param model
+ * A model prepresenting the source path entries.
+ * @param currentDir
+ * Add sources file chooser current directory. Passing in a null represents the user's default directory.
+ *
+ * @return A Component representing the sources pane.
+ *
+ * @throws NullPointerException
+ * If null model is passed in.
+ */
+ public static Component createSourcesCustomizer(PathModel model, File currentDir) {
+ if (model == null) {
+ throw new NullPointerException();
+ }
+ return new PathView(model, SOURCES, currentDir);
+ }
+
+ /**
+ * Creates an editable customizer javadoc pane.
+ *
+ * @param model
+ * A model prepresenting the javadoc entries.
+ * @param currentDir
+ * Add javadoc file chooser current directory. Passing in a null represents the user's default directory.
+ *
+ * @return A Component representing the javadoc pane.
+ *
+ * @throws NullPointerException
+ * If null model is passed in.
+ */
+ public static Component createJavadocCustomizer(PathModel model, File currentDir) {
+ if (model == null) {
+ throw new NullPointerException();
+ }
+ return new PathView(model, JAVADOC, currentDir);
+ }
+
+ /**
+ * Creates an Ant-style path specification from the specified list of URLs.
+ *
+ * @param The
+ * list of URLs.
+ *
+ * @return An Ant-style path specification.
+ */
+ public static String buildPath(List<URL> path) {
+ String PATH_SEPARATOR = System.getProperty("path.separator"); // NOI18N
+ StringBuffer sb = new StringBuffer(path.size() * 16);
+ for (Iterator<URL> i = path.iterator(); i.hasNext();) {
+ sb.append(urlToString(i.next()));
+ if (i.hasNext()) {
+ sb.append(PATH_SEPARATOR);
+ }
+ }
+ return sb.toString();
+ }
+
+ /**
+ * Splits an Ant-style path specification into the list of URLs. Tokenizes on <code>:</code> and <code>;</code>,
+ * paying attention to DOS-style components such as <samp>C:\FOO</samp>. Also removes any empty components.
+ *
+ * @param path
+ * An Ant-style path (elements arbitrary) using DOS or Unix separators
+ *
+ * @return A tokenization of the specified path into the list of URLs.
+ */
+ public static List<URL> tokenizePath(String path) {
+ try {
+ List<URL> l = new ArrayList<URL>();
+ StringTokenizer tok = new StringTokenizer(path, ":;", true); // NOI18N
+ char dosHack = '\0';
+ char lastDelim = '\0';
+ int delimCount = 0;
+ while (tok.hasMoreTokens()) {
+ String s = tok.nextToken();
+ if (s.length() == 0) {
+ // Strip empty components.
+ continue;
+ }
+ if (s.length() == 1) {
+ char c = s.charAt(0);
+ if (c == ':' || c == ';') {
+ // Just a delimiter.
+ lastDelim = c;
+ delimCount++;
+ continue;
+ }
+ }
+ if (dosHack != '\0') {
+ // #50679 - "C:/something" is also accepted as DOS path
+ if (lastDelim == ':' && delimCount == 1 && (s.charAt(0) == '\\' || s.charAt(0) == '/')) {
+ // We had a single letter followed by ':' now followed
+ // by \something or /something
+ s = "" + dosHack + ':' + s;
+ // and use the new token with the drive prefix...
+ } else {
+ // Something else, leave alone.
+ l.add(fileToUrl(new File(Character.toString(dosHack))));
+ // and continue with this token too...
+ }
+ dosHack = '\0';
+ }
+ // Reset count of # of delimiters in a row.
+ delimCount = 0;
+ if (s.length() == 1) {
+ char c = s.charAt(0);
+ if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
+ // Probably a DOS drive letter. Leave it with the next
+ // component.
+ dosHack = c;
+ continue;
+ }
+ }
+ l.add(fileToUrl(new File(s)));
+ }
+ if (dosHack != '\0') {
+ // the dosHack was the last letter in the input string (not
+ // followed by the ':')
+ // so obviously not a drive letter.
+ // Fix for issue #57304
+ l.add(fileToUrl(new File(Character.toString(dosHack))));
+ }
+ return l;
+ } catch (MalformedURLException e) {
+ ErrorManager.getDefault().notify(e);
+ return new ArrayList<URL>();
+ }
+ }
+
+ /** Return URL representation of the specified file. */
+ private static URL fileToUrl(File file) throws MalformedURLException {
+ URL url = file.toURI().toURL();
+ if (FileUtil.isArchiveFile(url)) {
+ url = FileUtil.getArchiveRoot(url);
+ }
+ return url;
+ }
+
+ /** Return string representation of the specified URL. */
+ private static String urlToString(URL url) {
+ if ("jar".equals(url.getProtocol())) { // NOI18N
+ URL fileURL = FileUtil.getArchiveFile(url);
+ if (FileUtil.getArchiveRoot(fileURL).equals(url)) {
+ // really the root
+ url = fileURL;
+ } else {
+ // some subdir, just show it as is
+ return url.toExternalForm();
+ }
+ }
+ if ("file".equals(url.getProtocol())) { // NOI18N
+ File f = new File(URI.create(url.toExternalForm()));
+ return f.getAbsolutePath();
+ } else {
+ return url.toExternalForm();
+ }
+ }
+
+ /**
+ * Path list model, supports adding, removing and moving URL entries in the list.
+ */
+ public static final class PathModel extends AbstractListModel {
+
+ private final List<URL> data;
+
+ /**
+ * Creates a new PathModel initialized with a list of URL entries.
+ *
+ * @param data
+ * The list of URL entries.
+ *
+ * @throws NullPointerException
+ * If null data attribute is passed in.
+ */
+ public PathModel(List<URL> data) {
+ if (data == null) {
+ throw new NullPointerException("The data attribute must not be null."); // NOI18N
+ }
+ this.data = data;
+ }
+
+ /**
+ * Returns the number of URL entries in the list.
+ *
+ * return The number of URL entries in the list.
+ */
+ public int getSize() {
+ return data.size();
+ }
+
+ /**
+ * Returns the element at the specified position in this list.
+ *
+ * @param index
+ * The element position in the list.
+ *
+ * @return The element at the specified position in this list.
+ */
+ public Object getElementAt(int index) {
+ URL url = data.get(index);
+ if ("jar".equals(url.getProtocol())) { // NOI18N
+ URL fileURL = FileUtil.getArchiveFile(url);
+ if (FileUtil.getArchiveRoot(fileURL).equals(url)) {
+ // really the root
+ url = fileURL;
+ } else {
+ // some subdir, just show it as is
+ return url.toExternalForm();
+ }
+ }
+ if ("file".equals(url.getProtocol())) { // NOI18N
+ File f = new File(URI.create(url.toExternalForm()));
+ return f.getAbsolutePath();
+ } else {
+ return url.toExternalForm();
+ }
+ }
+
+ /**
+ * Removes the URL entries denotated with their respective indices from the list.
+ */
+ public void removePath(int[] indices) {
+ for (int i = indices.length - 1; i >= 0; i--) {
+ data.remove(indices[i]);
+ }
+ fireIntervalRemoved(this, indices[0], indices[indices.length - 1]);
+ }
+
+ /**
+ * Moves the URL entries denotated with their respective indices up in the list.
+ */
+ public void moveUpPath(int[] indices) {
+ for (int i = 0; i < indices.length; i++) {
+ URL p2 = data.get(indices[i]);
+ URL p1 = data.set(indices[i] - 1, p2);
+ data.set(indices[i], p1);
+ }
+ fireContentsChanged(this, indices[0] - 1, indices[indices.length - 1]);
+ }
+
+ /**
+ * Moves the URL entries denotated with their respective indices down in the list.
+ */
+ public void moveDownPath(int[] indices) {
+ for (int i = indices.length - 1; i >= 0; i--) {
+ URL p1 = data.get(indices[i]);
+ URL p2 = data.set(indices[i] + 1, p1);
+ data.set(indices[i], p2);
+ }
+ fireContentsChanged(this, indices[0], indices[indices.length - 1] + 1);
+ }
+
+ /**
+ * Appends the URL representing the specified file to the end of the list.
+ *
+ * @return true if the URL was appended, false otherwise.
+ */
+ public boolean addPath(File f) {
+ try {
+ URL url = f.toURI().toURL();
+ return this.addPath(url);
+ } catch (MalformedURLException mue) {
+ return false;
+ }
+ }
+
+ /**
+ * Appends the specified URL to the end of the list.
+ *
+ * @return true if the URL was appended, false otherwise.
+ */
+ public boolean addPath(URL url) {
+ if (FileUtil.isArchiveFile(url)) {
+ url = FileUtil.getArchiveRoot(url);
+ } else if (!url.toExternalForm().endsWith("/")) { // NOI18N
+ try {
+ url = new URL(url.toExternalForm() + "/"); // NOI18N
+ } catch (MalformedURLException mue) {
+ ErrorManager.getDefault().notify(ErrorManager.INFORMATIONAL, mue);
+ }
+ }
+ int oldSize = data.size();
+ data.add(url);
+ fireIntervalAdded(this, oldSize, oldSize);
+ return true;
+ }
+
+ /**
+ * Returns the list of URL entries.
+ *
+ * @return The list of URL entries.
+ */
+ public List<URL> getData() {
+ return data;
+ }
+ }
+
+ // private helper classes -------------------------------------------------
+
+ private static class PathView extends JPanel {
+
+ private JList resources;
+ private JButton addButton;
+ private JButton addURLButton;
+ private JButton removeButton;
+ private JButton moveUpButton;
+ private JButton moveDownButton;
+ private File currentDir;
+ private String type;
+
+ public PathView(PathModel model, String type, File currentDir) {
+ this.type = type;
+ this.currentDir = currentDir;
+ initComponents(model);
+ }
+
+ private void initComponents(PathModel model) {
+ setLayout(new GridBagLayout());
+ JLabel label = new JLabel();
+ String key = null;
+ String mneKey = null;
+ String ad = null;
+ if (type.equals(CLASSPATH)) {
+ key = "TXT_Classes"; // NOI18N
+ mneKey = "MNE_Classes"; // NOI18N
+ ad = "AD_Classes"; // NOI18N
+ } else if (type.equals(SOURCES)) {
+ key = "TXT_Sources"; // NOI18N
+ mneKey = "MNE_Sources"; // NOI18N
+ ad = "AD_Sources"; // NOI18N
+ } else if (type.equals(JAVADOC)) {
+ key = "TXT_Javadoc"; // NOI18N
+ mneKey = "MNE_Javadoc"; // NOI18N
+ ad = "AD_Javadoc"; // NOI18N
+ } else {
+ assert false : "Illegal type of panel"; // NOI18N
+ return;
+ }
+ label.setText(NbBundle.getMessage(CustomizerSupport.class, key));
+ label.setDisplayedMnemonic(NbBundle.getMessage(CustomizerSupport.class, mneKey).charAt(0));
+ GridBagConstraints c = new GridBagConstraints();
+ c.gridx = GridBagConstraints.RELATIVE;
+ c.gridy = GridBagConstraints.RELATIVE;
+ c.gridwidth = GridBagConstraints.REMAINDER;
+ c.insets = new Insets(6, 12, 2, 0);
+ c.fill = GridBagConstraints.HORIZONTAL;
+ c.weightx = 1.0;
+ ((GridBagLayout) getLayout()).setConstraints(label, c);
+ add(label);
+ resources = new JList(model);
+ label.setLabelFor(resources);
+ resources.getAccessibleContext().setAccessibleDescription(NbBundle.getMessage(CustomizerSupport.class, ad));
+ resources.addListSelectionListener(new ListSelectionListener() {
+ public void valueChanged(ListSelectionEvent e) {
+ selectionChanged();
+ }
+ });
+ JScrollPane spane = new JScrollPane(this.resources);
+ // set the preferred size so that the size won't be set according to
+ // the longest row in the list by default
+ spane.setPreferredSize(new java.awt.Dimension(200, 100));
+ c = new GridBagConstraints();
+ c.gridx = GridBagConstraints.RELATIVE;
+ c.gridy = GridBagConstraints.RELATIVE;
+ c.gridwidth = 1;
+ c.gridheight = 5;
+ c.insets = new Insets(0, 12, 12, 6);
+ c.fill = GridBagConstraints.BOTH;
+ c.weightx = 1.0;
+ c.weighty = 1.0;
+ ((GridBagLayout) this.getLayout()).setConstraints(spane, c);
+ add(spane);
+ if (type == SOURCES || type == JAVADOC) {
+ this.addButton = new JButton();
+ String text;
+ char mne;
+ if (type == SOURCES) {
+ text = NbBundle.getMessage(CustomizerSupport.class, "CTL_Add");
+ mne = NbBundle.getMessage(CustomizerSupport.class, "MNE_Add").charAt(0);
+ ad = NbBundle.getMessage(CustomizerSupport.class, "AD_Add");
+ } else {
+ text = NbBundle.getMessage(CustomizerSupport.class, "CTL_AddZip");
+ mne = NbBundle.getMessage(CustomizerSupport.class, "MNE_AddZip").charAt(0);
+ ad = NbBundle.getMessage(CustomizerSupport.class, "AD_AddZip");
+ }
+ this.addButton.setText(text);
+ this.addButton.setMnemonic(mne);
+ this.addButton.getAccessibleContext().setAccessibleDescription(ad);
+ addButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ addPathElement();
+ }
+ });
+ c = new GridBagConstraints();
+ c.gridx = 1;
+ c.gridy = 1;
+ c.gridwidth = GridBagConstraints.REMAINDER;
+ c.fill = GridBagConstraints.HORIZONTAL;
+ c.anchor = GridBagConstraints.NORTHWEST;
+ c.insets = new Insets(0, 6, 0, 6);
+ ((GridBagLayout) this.getLayout()).setConstraints(addButton, c);
+ this.add(addButton);
+ // if (this.type == JAVADOC) {
+ // addURLButton = new JButton
+ // (NbBundle.getMessage(CustomizerSupport.class, "CTL_AddURL"));
+ // addURLButton.setMnemonic(NbBundle.getMessage(CustomizerSupport.class,
+ // "MNE_AddURL").charAt(0));
+ // addURLButton.addActionListener(new ActionListener () {
+ // public void actionPerformed(ActionEvent e) {
+ // addURLElement ();
+ // }
+ // });
+ // c = new GridBagConstraints();
+ // c.gridx = 1;
+ // c.gridy = 2;
+ // c.gridwidth = GridBagConstraints.REMAINDER;
+ // c.fill = GridBagConstraints.HORIZONTAL;
+ // c.anchor = GridBagConstraints.NORTHWEST;
+ // c.insets = new Insets (0,6,6,12);
+ // ((GridBagLayout)this.getLayout()).setConstraints(addURLButton,c);
+ // this.add (addURLButton);
+ // }
+ removeButton = new JButton(NbBundle.getMessage(CustomizerSupport.class, "CTL_Remove"));
+ removeButton.setMnemonic(NbBundle.getMessage(CustomizerSupport.class, "MNE_Remove").charAt(0));
+ removeButton.getAccessibleContext().setAccessibleDescription(
+ NbBundle.getMessage(CustomizerSupport.class, "AD_Remove"));
+ removeButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ removePathElement();
+ }
+ });
+ removeButton.setEnabled(false);
+ c = new GridBagConstraints();
+ c.gridx = 1;
+ c.gridy = 3;
+ c.gridwidth = GridBagConstraints.REMAINDER;
+ c.fill = GridBagConstraints.HORIZONTAL;
+ c.anchor = GridBagConstraints.NORTHWEST;
+ c.insets = new Insets(12, 6, 0, 6);
+ ((GridBagLayout) this.getLayout()).setConstraints(removeButton, c);
+ this.add(removeButton);
+ moveUpButton = new JButton(NbBundle.getMessage(CustomizerSupport.class, "CTL_Up"));
+ moveUpButton.setMnemonic(NbBundle.getMessage(CustomizerSupport.class, "MNE_Up").charAt(0));
+ moveUpButton.getAccessibleContext().setAccessibleDescription(
+ NbBundle.getMessage(CustomizerSupport.class, "AD_Up"));
+ moveUpButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ moveUpPathElement();
+ }
+ });
+ moveUpButton.setEnabled(false);
+ c = new GridBagConstraints();
+ c.gridx = 1;
+ c.gridy = 4;
+ c.gridwidth = GridBagConstraints.REMAINDER;
+ c.fill = GridBagConstraints.HORIZONTAL;
+ c.anchor = GridBagConstraints.NORTHWEST;
+ c.insets = new Insets(12, 6, 0, 6);
+ ((GridBagLayout) this.getLayout()).setConstraints(moveUpButton, c);
+ this.add(moveUpButton);
+ moveDownButton = new JButton(NbBundle.getMessage(CustomizerSupport.class, "CTL_Down"));
+ moveDownButton.setMnemonic(NbBundle.getMessage(CustomizerSupport.class, "MNE_Down").charAt(0));
+ moveDownButton.getAccessibleContext().setAccessibleDescription(
+ NbBundle.getMessage(CustomizerSupport.class, "AD_Down"));
+ moveDownButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ moveDownPathElement();
+ }
+ });
+ moveDownButton.setEnabled(false);
+ c = new GridBagConstraints();
+ c.gridx = 1;
+ c.gridy = 5;
+ c.gridwidth = GridBagConstraints.REMAINDER;
+ c.fill = GridBagConstraints.HORIZONTAL;
+ c.anchor = GridBagConstraints.NORTHWEST;
+ c.insets = new Insets(5, 6, 6, 6);
+ ((GridBagLayout) this.getLayout()).setConstraints(moveDownButton, c);
+ this.add(moveDownButton);
+ }
+ }
+
+ // private void addURLElement() {
+ // JPanel p = new JPanel ();
+ // GridBagLayout lm = new GridBagLayout();
+ // p.setLayout (lm);
+ // GridBagConstraints c = new GridBagConstraints ();
+ // c.gridx = c.gridy = GridBagConstraints.RELATIVE;
+ // c.insets = new Insets (12,12,12,6);
+ // c.anchor = GridBagConstraints.NORTHWEST;
+ // JLabel label = new JLabel
+ // (NbBundle.getMessage(CustomizerSupport.class,"CTL_AddJavadocURLMessage"));
+ // label.setDisplayedMnemonic ('U');
+ // lm.setConstraints(label,c);
+ // p.add (label);
+ // c = new GridBagConstraints ();
+ // c.gridx = c.gridy = GridBagConstraints.RELATIVE;
+ // c.gridwidth = GridBagConstraints.REMAINDER;
+ // c.insets = new Insets (12,0,12,6);
+ // c.fill = GridBagConstraints.HORIZONTAL;
+ // c.anchor = GridBagConstraints.NORTHWEST;
+ // JTextField text = new JTextField ();
+ // text.setColumns(30);
+ // text.setText
+ // (NbBundle.getMessage(CustomizerSupport.class,"TXT_DefaultProtocol"));
+ // text.selectAll();
+ // label.setLabelFor(text);
+ // lm.setConstraints(text,c);
+ // p.add (text);
+ // JButton[] options = new JButton[] {
+ // new JButton
+ // (NbBundle.getMessage(CustomizerSupport.class,"CTL_AddJavadocURLTitle")),
+ // new JButton
+ // (NbBundle.getMessage(CustomizerSupport.class,"CTL_Cancel"))
+ // };
+ // options[0].setMnemonic(NbBundle.getMessage(CustomizerSupport.class,"MNE_Add").charAt(0));
+ // options[1].setMnemonic(NbBundle.getMessage(CustomizerSupport.class,"MNE_Cancel").charAt(0));
+ // DialogDescriptor input = new DialogDescriptor (
+ // p,
+ // NbBundle.getMessage(CustomizerSupport.class,"CTL_AddJavadocURLTitle"),
+ // true, options, options[0], DialogDescriptor.DEFAULT_ALIGN, null,
+ // null);
+ // if (DialogDisplayer.getDefault().notify(input) == options[0]) {
+ // try {
+ // String value = text.getText();
+ // URL url = new URL (value);
+ // ((PathModel)this.resources.getModel()).addPath(url);
+ // this.resources.setSelectedIndex
+ // (this.resources.getModel().getSize()-1);
+ // } catch (MalformedURLException mue) {
+ // DialogDescriptor.Message message = new DialogDescriptor.Message (
+ // NbBundle.getMessage(CustomizerSupport.class,"CTL_InvalidURLFormat"),
+ // DialogDescriptor.ERROR_MESSAGE);
+ // DialogDisplayer.getDefault().notify(message);
+ // }
+ // }
+ // }
+
+ private void addPathElement() {
+ JFileChooser chooser = new JFileChooser();
+ FileUtil.preventFileChooserSymlinkTraversal(chooser, null);
+ chooser.setMultiSelectionEnabled(true);
+ String title = null;
+ String message = null;
+ String approveButtonName = null;
+ String approveButtonNameMne = null;
+ if (this.type == SOURCES) {
+ title = NbBundle.getMessage(CustomizerSupport.class, "TXT_OpenSources");
+ message = NbBundle.getMessage(CustomizerSupport.class, "TXT_Sources");
+ approveButtonName = NbBundle.getMessage(CustomizerSupport.class, "TXT_OpenSources");
+ approveButtonNameMne = NbBundle.getMessage(CustomizerSupport.class, "MNE_OpenSources");
+ } else if (this.type == JAVADOC) {
+ title = NbBundle.getMessage(CustomizerSupport.class, "TXT_OpenJavadoc");
+ message = NbBundle.getMessage(CustomizerSupport.class, "TXT_Javadoc");
+ approveButtonName = NbBundle.getMessage(CustomizerSupport.class, "TXT_OpenJavadoc");
+ approveButtonNameMne = NbBundle.getMessage(CustomizerSupport.class, "MNE_OpenJavadoc");
+ }
+ chooser.setDialogTitle(title);
+ chooser.setApproveButtonText(approveButtonName);
+ chooser.setApproveButtonMnemonic(approveButtonNameMne.charAt(0));
+ chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
+ // #61789 on old macosx (jdk 1.4.1) these two method need to be
+ // called in this order.
+ chooser.setAcceptAllFileFilterUsed(false);
+ chooser.setFileFilter(new SimpleFileFilter(message, new String[] { "ZIP", "JAR" })); // NOI18N
+ if (this.currentDir != null && currentDir.exists()) {
+ chooser.setCurrentDirectory(this.currentDir);
+ }
+ if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
+ File[] fs = chooser.getSelectedFiles();
+ PathModel model = (PathModel) this.resources.getModel();
+ boolean addingFailed = false;
+ int firstIndex = this.resources.getModel().getSize();
+ for (int i = 0; i < fs.length; i++) {
+ File f = fs[i];
+ // XXX: JFileChooser workaround (JDK bug #5075580), double
+ // click on folder returns wrong file
+ // E.g. for /foo/src it returns /foo/src/src
+ // Try to convert it back by removing last invalid name
+ // component
+ if (!f.exists()) {
+ File parent = f.getParentFile();
+ if (parent != null && f.getName().equals(parent.getName()) && parent.exists()) {
+ f = parent;
+ }
+ }
+ addingFailed |= !model.addPath(f);
+ }
+ if (addingFailed) {
+ new NotifyDescriptor.Message(NbBundle.getMessage(CustomizerSupport.class, "TXT_CanNotAddResolve"),
+ NotifyDescriptor.ERROR_MESSAGE);
+ }
+ int lastIndex = this.resources.getModel().getSize() - 1;
+ if (firstIndex <= lastIndex) {
+ int[] toSelect = new int[lastIndex - firstIndex + 1];
+ for (int i = 0; i < toSelect.length; i++) {
+ toSelect[i] = firstIndex + i;
+ }
+ this.resources.setSelectedIndices(toSelect);
+ }
+ this.currentDir = FileUtil.normalizeFile(chooser.getCurrentDirectory());
+ }
+ }
+
+ private void removePathElement() {
+ int[] indices = this.resources.getSelectedIndices();
+ if (indices.length == 0) {
+ return;
+ }
+ PathModel model = (PathModel) this.resources.getModel();
+ model.removePath(indices);
+ if (indices[indices.length - 1] - indices.length + 1 < this.resources.getModel().getSize()) {
+ this.resources.setSelectedIndex(indices[indices.length - 1] - indices.length + 1);
+ } else if (indices[0] > 0) {
+ this.resources.setSelectedIndex(indices[0] - 1);
+ }
+ }
+
+ private void moveDownPathElement() {
+ int[] indices = this.resources.getSelectedIndices();
+ if (indices.length == 0) {
+ return;
+ }
+ PathModel model = (PathModel) this.resources.getModel();
+ model.moveDownPath(indices);
+ for (int i = 0; i < indices.length; i++) {
+ indices[i] = indices[i] + 1;
+ }
+ this.resources.setSelectedIndices(indices);
+ }
+
+ private void moveUpPathElement() {
+ int[] indices = this.resources.getSelectedIndices();
+ if (indices.length == 0) {
+ return;
+ }
+ PathModel model = (PathModel) this.resources.getModel();
+ model.moveUpPath(indices);
+ for (int i = 0; i < indices.length; i++) {
+ indices[i] = indices[i] - 1;
+ }
+ this.resources.setSelectedIndices(indices);
+ }
+
+ private void selectionChanged() {
+ if (this.type == CLASSPATH) {
+ return;
+ }
+ int indices[] = this.resources.getSelectedIndices();
+ this.removeButton.setEnabled(indices.length > 0);
+ this.moveUpButton.setEnabled(indices.length > 0 && indices[0] > 0);
+ this.moveDownButton.setEnabled(indices.length > 0
+ && indices[indices.length - 1] < this.resources.getModel().getSize() - 1);
+ }
+ }
+
+ private static class SimpleFileFilter extends FileFilter {
+
+ private String description;
+ private Collection extensions;
+
+ public SimpleFileFilter(String description, String[] extensions) {
+ this.description = description;
+ this.extensions = Arrays.asList(extensions);
+ }
+
+ public boolean accept(File f) {
+ if (f.isDirectory())
+ return true;
+ String name = f.getName();
+ int index = name.lastIndexOf('.'); // NOI18N
+ if (index <= 0 || index == name.length() - 1)
+ return false;
+ String extension = name.substring(index + 1).toUpperCase();
+ return this.extensions.contains(extension);
+ }
+
+ public String getDescription() {
+ return this.description;
+ }
+ }
+}
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerSupport.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerSupport.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerSupport.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/customizer/CustomizerSupport.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoDeploymentStatus.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoDeploymentStatus.java?view=auto&rev=549644
==============================================================================
--- geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoDeploymentStatus.java (added)
+++ geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoDeploymentStatus.java Thu Jun 21 16:18:31 2007
@@ -0,0 +1,51 @@
+package org.apache.geronimo.netbeans.ide;
+
+import javax.enterprise.deploy.shared.ActionType;
+import javax.enterprise.deploy.shared.CommandType;
+import javax.enterprise.deploy.shared.StateType;
+import javax.enterprise.deploy.spi.status.DeploymentStatus;
+
+public class GeronimoDeploymentStatus implements DeploymentStatus {
+
+ private ActionType action;
+ private CommandType command;
+ private StateType state;
+
+ private String message;
+
+ public GeronimoDeploymentStatus(ActionType action, CommandType command, StateType state, String message) {
+ this.action = action;
+ this.command = command;
+ this.state = state;
+ this.message = message;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public StateType getState() {
+ return state;
+ }
+
+ public CommandType getCommand() {
+ return command;
+ }
+
+ public ActionType getAction() {
+ return action;
+ }
+
+ public boolean isRunning() {
+ return StateType.RUNNING.equals(state);
+ }
+
+ public boolean isFailed() {
+ return StateType.FAILED.equals(state);
+ }
+
+ public boolean isCompleted() {
+ return StateType.COMPLETED.equals(state);
+ }
+
+}
\ No newline at end of file
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoDeploymentStatus.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoDeploymentStatus.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoDeploymentStatus.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoDeploymentStatus.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoJ2eePlatformFactory.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoJ2eePlatformFactory.java?view=auto&rev=549644
==============================================================================
--- geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoJ2eePlatformFactory.java (added)
+++ geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoJ2eePlatformFactory.java Thu Jun 21 16:18:31 2007
@@ -0,0 +1,251 @@
+package org.apache.geronimo.netbeans.ide;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.util.Iterator;
+import java.util.List;
+import java.util.WeakHashMap;
+import org.netbeans.modules.j2ee.deployment.devmodules.api.J2eePlatform;
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.HashSet;
+import java.util.Set;
+import org.netbeans.modules.j2ee.deployment.common.api.J2eeLibraryTypeProvider;
+import org.netbeans.modules.j2ee.deployment.devmodules.api.J2eeModule;
+import org.netbeans.modules.j2ee.deployment.plugins.spi.J2eePlatformFactory;
+import org.netbeans.modules.j2ee.deployment.plugins.spi.J2eePlatformImpl;
+import org.netbeans.spi.project.libraries.LibraryImplementation;
+import org.openide.ErrorManager;
+import org.openide.filesystems.FileObject;
+import org.openide.filesystems.FileStateInvalidException;
+import org.openide.filesystems.FileUtil;
+import org.openide.filesystems.URLMapper;
+import org.openide.util.NbBundle;
+import javax.enterprise.deploy.spi.DeploymentManager;
+import java.io.FilenameFilter;
+import org.netbeans.modules.j2ee.deployment.plugins.api.InstanceProperties;
+import org.apache.geronimo.netbeans.GeronimoDeploymentManager;
+import org.apache.geronimo.netbeans.util.GeronimoProperties;
+import org.netbeans.api.java.platform.JavaPlatform;
+import org.openide.modules.InstalledFileLocator;
+import org.openide.util.Utilities;
+
+public class GeronimoJ2eePlatformFactory extends J2eePlatformFactory {
+
+ private static final WeakHashMap<InstanceProperties, J2eePlatformImplImpl> instanceCache = new WeakHashMap<InstanceProperties, J2eePlatformImplImpl>();
+
+ public synchronized J2eePlatformImpl getJ2eePlatformImpl(DeploymentManager dm) {
+ assert GeronimoDeploymentManager.class.isAssignableFrom(dm.getClass()) : this
+ + " cannot create platform for unknown deployment manager:" + dm;
+ // Ensure that for each server instance will be always used the same
+ // instance of the J2eePlatformImpl
+ GeronimoDeploymentManager manager = (GeronimoDeploymentManager) dm;
+ InstanceProperties ip = manager.getInstanceProperties();
+ if (ip == null) {
+ throw new RuntimeException("Cannot create J2eePlatformImpl instance for " + manager.getUrl());
+ }
+ J2eePlatformImplImpl platform = instanceCache.get(ip);
+ if (platform == null) {
+ platform = new J2eePlatformImplImpl(manager.getProperties());
+ instanceCache.put(ip, platform);
+ }
+ return platform;
+ }
+
+ public static class J2eePlatformImplImpl extends J2eePlatformImpl {
+ private static final String J2EE_API_DOC = "docs/javaee5-doc-api.zip"; // NOI18N
+ private static final Set MODULE_TYPES = new HashSet();
+ static {
+ MODULE_TYPES.add(J2eeModule.EAR);
+ MODULE_TYPES.add(J2eeModule.WAR);
+ MODULE_TYPES.add(J2eeModule.EJB);
+ MODULE_TYPES.add(J2eeModule.CONN);
+ MODULE_TYPES.add(J2eeModule.CLIENT);
+ }
+
+ private static final Set SPEC_VERSIONS = new HashSet();
+ static {
+ SPEC_VERSIONS.add(J2eeModule.J2EE_14);
+ SPEC_VERSIONS.add(J2eeModule.JAVA_EE_5);
+ }
+
+ private LibraryImplementation[] libraries;
+
+ private static final String ICON = "org/apache/geronimo/netbeans/resources/16x16.gif";
+
+ private final GeronimoProperties properties;
+
+ public J2eePlatformImplImpl(GeronimoProperties properties) {
+ this.properties = properties;
+ }
+
+ public Set getSupportedSpecVersions() {
+ return SPEC_VERSIONS;
+ }
+
+ public Set<String> getSupportedSpecVersions(Object moduleType) {
+ return SPEC_VERSIONS;
+ }
+
+ public Set getSupportedModuleTypes() {
+ return MODULE_TYPES;
+ }
+
+ public Set/* <String> */getSupportedJavaPlatformVersions() {
+ Set versions = new HashSet();
+ versions.add("1.4"); // NOI18N
+ versions.add("1.5"); // NOI18N
+ return versions;
+ }
+
+ public JavaPlatform getJavaPlatform() {
+ return null;
+ }
+
+ public File[] getPlatformRoots() {
+ return new File[] { properties.getServerDir() };
+ }
+
+ private static class FF implements FilenameFilter {
+ public boolean accept(File dir, String name) {
+ return name.endsWith(".jar") || new File(dir, name).isDirectory(); // NOI18N
+ }
+ }
+
+ public LibraryImplementation[] getLibraries() {
+ if (libraries == null) {
+ initLibraries();
+ }
+ return libraries;
+ }
+
+ public void notifyLibrariesChanged() {
+ initLibraries();
+ firePropertyChange(PROP_LIBRARIES, null, libraries.clone());
+ }
+
+ public java.awt.Image getIcon() {
+ return Utilities.loadImage(ICON);
+ }
+
+ public String getDisplayName() {
+ return NbBundle.getMessage(GeronimoJ2eePlatformFactory.class, "TITLE_GERONIMO_FACTORY");
+
+ }
+
+ public boolean isToolSupported(String toolName) {
+ return true;
+ }
+
+ private boolean containsPersistenceProvider(String providerName) {
+ return containsService(libraries, "javax.persistence.spi.PersistenceProvider", providerName);
+ }
+
+ private static boolean containsService(LibraryImplementation[] libraries, String serviceName,
+ String serviceImplName) {
+ for (LibraryImplementation libImpl : libraries) {
+ if (containsService(libImpl, serviceName, serviceImplName)) { // NOI18N
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private static boolean containsService(LibraryImplementation library, String serviceName, String serviceImplName) {
+ List roots = library.getContent(J2eeLibraryTypeProvider.VOLUME_TYPE_CLASSPATH);
+ for (Iterator it = roots.iterator(); it.hasNext();) {
+ URL rootUrl = (URL) it.next();
+ FileObject root = URLMapper.findFileObject(rootUrl);
+ if (root != null && "jar".equals(rootUrl.getProtocol())) { // NOI18N
+ FileObject archiveRoot = FileUtil.getArchiveRoot(FileUtil.getArchiveFile(root));
+ String serviceRelativePath = "META-INF/services/" + serviceName; // NOI18N
+ FileObject serviceFO = archiveRoot.getFileObject(serviceRelativePath);
+ if (serviceFO != null && containsService(serviceFO, serviceName, serviceImplName)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ private static boolean containsService(FileObject serviceFO, String serviceName, String serviceImplName) {
+ try {
+ BufferedReader br = new BufferedReader(new InputStreamReader(serviceFO.getInputStream()));
+ String line;
+ while ((line = br.readLine()) != null) {
+ int ci = line.indexOf('#');
+ if (ci >= 0)
+ line = line.substring(0, ci);
+ if (line.trim().equals(serviceImplName)) {
+ return true;
+ }
+ }
+ } catch (Exception ex) {
+ try {
+ ErrorManager.getDefault().annotate(ex, serviceFO.getURL().toString());
+ } catch (FileStateInvalidException fsie) {
+ // noop
+ }
+ ErrorManager.getDefault().notify(ErrorManager.INFORMATIONAL, ex);
+ }
+ return false;
+ }
+
+ public File[] getToolClasspathEntries(String toolName) {
+ if (J2eePlatform.TOOL_WSCOMPILE.equals(toolName)) {
+ File root = InstalledFileLocator.getDefault().locate("modules/ext/jaxrpc16", null, false); // NOI18N
+ return new File[] { new File(root, "saaj-api.jar"), // NOI18N
+ new File(root, "saaj-impl.jar"), // NOI18N
+ new File(root, "jaxrpc-api.jar"), // NOI18N
+ new File(root, "jaxrpc-impl.jar"), // NOI18N
+ };
+ }
+ if (J2eePlatform.TOOL_APP_CLIENT_RUNTIME.equals(toolName)) {
+ return new File(properties.getServerDir(), "client").listFiles(new FF()); // NOI18N
+ }
+ return null;
+ }
+
+ // copied from appserv plugin
+ private URL fileToUrl(File file) throws MalformedURLException {
+ URL url = file.toURI().toURL();
+ if (FileUtil.isArchiveFile(url)) {
+ url = FileUtil.getArchiveRoot(url);
+ }
+ return url;
+ }
+
+ public String getToolProperty(String toolName, String propertyName) {
+ if (J2eePlatform.TOOL_APP_CLIENT_RUNTIME.equals(toolName)) {
+ if (J2eePlatform.TOOL_PROP_MAIN_CLASS.equals(propertyName)) {
+ return ""; // NOI18N
+ }
+ if (J2eePlatform.TOOL_PROP_MAIN_CLASS_ARGS.equals(propertyName)) {
+ return ""; // NOI18N
+ }
+ if ("j2ee.clientName".equals(propertyName)) { // NOI18N
+ return "${jar.name}"; // NOI18N
+ }
+ if (J2eePlatform.TOOL_PROP_JVM_OPTS.equals(propertyName)) {
+ return "-Djava.naming.factory.initial=org.FIXME.NamingContextFactory" // NOI18N
+ + " -Djava.naming.provider.url=FIXME";
+ }
+ }
+ return null;
+ }
+
+ // private helper methods
+ // -------------------------------------------------
+
+ private void initLibraries() {
+ // create library
+ LibraryImplementation lib = new J2eeLibraryTypeProvider().createLibrary();
+ lib.setName(NbBundle.getMessage(GeronimoJ2eePlatformFactory.class, "LIBRARY_TITLE"));
+ lib.setContent(J2eeLibraryTypeProvider.VOLUME_TYPE_CLASSPATH, properties.getClasses());
+ lib.setContent(J2eeLibraryTypeProvider.VOLUME_TYPE_JAVADOC, properties.getJavadocs());
+ lib.setContent(J2eeLibraryTypeProvider.VOLUME_TYPE_SRC, properties.getSources());
+ libraries = new LibraryImplementation[] { lib };
+ }
+ }
+}
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoJ2eePlatformFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoJ2eePlatformFactory.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoJ2eePlatformFactory.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoJ2eePlatformFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoOptionalDeploymentManagerFactory.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoOptionalDeploymentManagerFactory.java?view=auto&rev=549644
==============================================================================
--- geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoOptionalDeploymentManagerFactory.java (added)
+++ geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoOptionalDeploymentManagerFactory.java Thu Jun 21 16:18:31 2007
@@ -0,0 +1,45 @@
+package org.apache.geronimo.netbeans.ide;
+
+import javax.enterprise.deploy.spi.DeploymentManager;
+
+import org.apache.geronimo.netbeans.ide.ui.GeronimoInstantiatingIterator;
+import org.netbeans.modules.j2ee.deployment.plugins.spi.DatasourceManager;
+import org.netbeans.modules.j2ee.deployment.plugins.spi.FindJSPServlet;
+import org.netbeans.modules.j2ee.deployment.plugins.spi.IncrementalDeployment;
+import org.netbeans.modules.j2ee.deployment.plugins.spi.OptionalDeploymentManagerFactory;
+import org.netbeans.modules.j2ee.deployment.plugins.spi.StartServer;
+import org.openide.WizardDescriptor.InstantiatingIterator;
+
+/**
+ * An entry point to the plugin's optional functionality, such as server
+ * start/stop, incremental deployment, custom wizard for instance addition and
+ * the ability to locate the servlet for a jsp page.
+ *
+ * Factory for optional deployment functionality that a plugin can provide.
+ * Plugins need to register an instance of this class in module layer in folder J2EE/DeploymentPlugins/{plugin_name}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class GeronimoOptionalDeploymentManagerFactory extends OptionalDeploymentManagerFactory {
+
+ public StartServer getStartServer(DeploymentManager dm) {
+ return new GeronimoStartServer(dm);
+ }
+
+ public IncrementalDeployment getIncrementalDeployment(DeploymentManager dm) {
+ return null;
+ }
+
+ public FindJSPServlet getFindJSPServlet(DeploymentManager dm) {
+ throw new IllegalArgumentException("");
+ }
+
+ public InstantiatingIterator getAddInstanceIterator() {
+ return new GeronimoInstantiatingIterator();
+ }
+
+ public DatasourceManager getDatasourceManager(DeploymentManager dm) {
+ throw new IllegalArgumentException("");
+ }
+
+}
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoOptionalDeploymentManagerFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoOptionalDeploymentManagerFactory.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoOptionalDeploymentManagerFactory.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/sandbox/geronimo-netbeans-plugin/src/main/java/org/apache/geronimo/netbeans/ide/GeronimoOptionalDeploymentManagerFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain