You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by de...@apache.org on 2005/08/16 07:43:47 UTC

svn commit: r232943 - in /webservices/axis/trunk/archive/java/scratch/ideapluging_deepal: ./ codegen/ codegen/src/ codegen/src/META-INF/ codegen/src/icons/ codegen/src/org/ codegen/src/org/apache/ codegen/src/org/apache/axis2/ codegen/src/org/apache/ax...

Author: deepal
Date: Mon Aug 15 22:42:34 2005
New Revision: 232943

URL: http://svn.apache.org/viewcvs?rev=232943&view=rev
Log:
axis2 idea pluging , will be there in next release

Added:
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/META-INF/
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/META-INF/plugin.xml
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/icons/
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/icons/asf-feather.gif   (with props)
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/icons/asf-feather.png   (with props)
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/icons/garbage.png   (with props)
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/bean/
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/bean/CodegenBean.java
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/ActionsPlugin.java
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/BottomPanel.java
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/FirstPanel.java
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/ImagePanel.java
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/OutPutPane.java
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/PlugingClassLoader.java
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/SecondPanel.java
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/ServiceArchiveCreator.java
    webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/Window.java

Added: webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/META-INF/plugin.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/META-INF/plugin.xml?rev=232943&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/META-INF/plugin.xml (added)
+++ webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/META-INF/plugin.xml Mon Aug 15 22:42:34 2005
@@ -0,0 +1,58 @@
+<!DOCTYPE idea-plugin PUBLIC "Plugin/DTD" "http://plugins.intellij.net/plugin.dtd">
+<!--<idea-plugin>-->
+<idea-plugin url="http://www.apache.org/~deepal">
+
+    <!-- Plugin name -->
+    <name>Axis Service Archive </name>
+
+    <!-- Description -->
+    <description> To generate Service archive file for a given class </description>
+
+    <!-- Plugin version -->
+    <version>1.0</version>
+
+    <!-- Plugin's vendor -->
+    <!--  <vendor logo="/general/ijLogo.png">IntelliJ</vendor>-->
+    <vendor email="deepal@apache.org">Deepal Jayasinghe </vendor>
+
+    <!-- the IDEA build number which works with plugin -->
+    <idea-version since-build="2000" />
+
+    <!-- Plugin's application components -->
+    <application-components>
+        <component>
+            <!-- Component's implementation class -->
+            <implementation-class>org.apache.axis2.tools.idea.ActionsPlugin</implementation-class>
+
+            <!-- Component's interface class -->
+            <interface-class>org.apache.axis2.tools.idea.ActionsPlugin</interface-class>
+        </component>
+    </application-components>
+    <!-- Component's actions -->
+    <actions>
+        <!-- We use "PluginName.ComponentName.ActionName" notation for "id" to avoid conflicts -->
+        <action id="ActionsSample.ActionsPlugin.ServiceArchiveCreator"
+            class="org.apache.axis2.tools.idea.ServiceArchiveCreator"
+            text="Axis2 Web service Creator" description="Create Service Archive">
+            <keyboard-shortcut first-keystroke="control alt G" second-keystroke="C" keymap="$default"/>
+            <mouse-shortcut keystroke="ctrl alt button2" keymap="$default"/>
+        </action>
+
+        <!--    <group id="Actions.ActionsPlugin.SampleGroup" text="S_ample" description="Sample group">-->
+        <group id="Actions.ActionsPlugin.SampleGroup" text="A_xis2" description="Axis2 Group">
+            <reference id="ActionsSample.ActionsPlugin.ServiceArchiveCreator"/>
+            <separator/>
+            <add-to-group group-id="MainMenu" anchor="last"/>
+            <add-to-group group-id="MainToolBar" anchor="before" relative-to-action="HelpTopics"/>
+        </group>
+
+        <!--the group below contains only the "Hello World" action defined above -->
+        <group>
+            <reference id="ActionsSample.ActionsPlugin.ServiceArchiveCreator"/>
+            <!--the group is added to the editor popup menu-->
+            <add-to-group group-id="EditorPopupMenu" anchor="after" relative-to-action="CutCopyPasteGroup"/>
+        </group>
+
+    </actions>
+
+</idea-plugin>

Added: webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/icons/asf-feather.gif
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/icons/asf-feather.gif?rev=232943&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/icons/asf-feather.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/icons/asf-feather.png
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/icons/asf-feather.png?rev=232943&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/icons/asf-feather.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/icons/garbage.png
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/icons/garbage.png?rev=232943&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/icons/garbage.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/bean/CodegenBean.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/bean/CodegenBean.java?rev=232943&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/bean/CodegenBean.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/bean/CodegenBean.java Mon Aug 15 22:42:34 2005
@@ -0,0 +1,227 @@
+package org.apache.axis2.tools.bean;
+
+import org.apache.axis2.wsdl.util.URLProcessor;
+import org.apache.axis2.wsdl.codegen.*;
+import org.apache.axis2.wsdl.builder.WOMBuilderFactory;
+import org.apache.wsdl.WSDLDescription;
+
+import javax.wsdl.WSDLException;
+import java.util.Map;
+import java.util.HashMap;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.FileInputStream;
+import java.io.File;
+
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed 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.
+*
+*
+*/
+
+/**
+ * Author : Deepal Jayasinghe
+ * Date: Jul 21, 2005
+ * Time: 2:41:26 PM
+ */
+public class CodegenBean {
+    private String WSDLFileName = null;
+    private String output = "E:/CD";
+    private String packageName = URLProcessor.DEFAULT_PACKAGE;
+    private String language = CommandLineOptionConstants.LanguageNames.JAVA;
+
+    private boolean asyncOnly = false;
+    private boolean syncOnly = false;
+    private boolean serverSide = false;
+    private boolean testcase = false;
+    private boolean generateServerXml = false;
+    /**
+     *
+     */
+    public Map fillOptionMap(boolean isAyncOnly,
+                             boolean isSyncOnly,
+                             boolean isServerSide,
+                             boolean isServerXML,
+                             boolean isTestCase,
+                             String WSDLFileName,
+                             String packageName,
+                             String selectedLanguage,
+                             String outputLocation) {
+        Map optionMap = new HashMap();
+        //WSDL file name
+        optionMap.put(CommandLineOptionConstants.WSDL_LOCATION_URI_OPTION,
+                new CommandLineOption(
+                        CommandLineOptionConstants.WSDL_LOCATION_URI_OPTION,
+                        getStringArray(WSDLFileName)));
+
+        //Async only
+        if (isAyncOnly) {
+            optionMap.put(CommandLineOptionConstants.CODEGEN_ASYNC_ONLY_OPTION,
+                    new CommandLineOption(
+                            CommandLineOptionConstants.CODEGEN_ASYNC_ONLY_OPTION,
+                            new String[0]));
+        }
+        //sync only
+        if (isSyncOnly) {
+            optionMap.put(CommandLineOptionConstants.CODEGEN_SYNC_ONLY_OPTION,
+                    new CommandLineOption(
+                            CommandLineOptionConstants.CODEGEN_SYNC_ONLY_OPTION,
+                            new String[0]));
+        }
+        //serverside
+        if (isServerSide) {
+            optionMap.put(CommandLineOptionConstants.SERVER_SIDE_CODE_OPTION,
+                    new CommandLineOption(
+                            CommandLineOptionConstants.SERVER_SIDE_CODE_OPTION,
+                            new String[0]));
+            //server xml
+            if (isServerXML) {
+                optionMap.put(
+                        CommandLineOptionConstants.GENERATE_SERVICE_DESCRIPTION_OPTION,
+                        new CommandLineOption(
+                                CommandLineOptionConstants.GENERATE_SERVICE_DESCRIPTION_OPTION,
+                                new String[0]));
+            }
+        }
+        //test case
+        if (isTestCase) {
+            optionMap.put(CommandLineOptionConstants.GENERATE_TEST_CASE_OPTION,
+                    new CommandLineOption(
+                            CommandLineOptionConstants.GENERATE_TEST_CASE_OPTION,
+                            new String[0]));
+        }
+        //package name
+        optionMap.put(CommandLineOptionConstants.PACKAGE_OPTION,
+                new CommandLineOption(
+                        CommandLineOptionConstants.PACKAGE_OPTION,
+                        getStringArray(packageName)));
+        //selected language
+        optionMap.put(CommandLineOptionConstants.STUB_LANGUAGE_OPTION,
+                new CommandLineOption(
+                        CommandLineOptionConstants.STUB_LANGUAGE_OPTION,
+                        getStringArray(selectedLanguage)));
+        //output location
+        optionMap.put(CommandLineOptionConstants.OUTPUT_LOCATION_OPTION,
+                new CommandLineOption(
+                        CommandLineOptionConstants.OUTPUT_LOCATION_OPTION,
+                        getStringArray(outputLocation)));
+
+        // System.out.println(page3.getOutputLocation());
+        return optionMap;
+    }
+
+
+    private String[] getStringArray(String value) {
+        String[] values = new String[1];
+        values[0] = value;
+        return values;
+    }
+
+    public WSDLDescription getWOM(String wsdlLocation) throws WSDLException,
+            IOException {
+        InputStream in = new FileInputStream(new File(wsdlLocation));
+        return WOMBuilderFactory.getBuilder(WOMBuilderFactory.WSDL11).build(in).getDescription();
+    }
+
+    public void execute() throws Exception {
+        Map optionsMap = fillOptionMap(
+                isAsyncOnly(),
+                isSyncOnly(),
+                isServerSide(),
+                isGenerateServerXml(),
+                isTestcase(),
+                getWSDLFileName(),
+                getPackageName(),
+                getLanguage(),
+                getOutput());
+        CommandLineOptionParser parser = new CommandLineOptionParser(optionsMap);
+        CodeGenerationEngine codegen = new CodeGenerationEngine(parser);
+        codegen.generate();
+    }
+
+    public String getWSDLFileName() {
+        return WSDLFileName;
+    }
+
+    public void setWSDLFileName(String WSDLFileName) {
+        this.WSDLFileName = WSDLFileName;
+    }
+
+    public boolean isSyncOnly() {
+        return syncOnly;
+    }
+
+    public void setSyncOnly(boolean syncOnly) {
+        this.syncOnly = syncOnly;
+    }
+
+    public boolean isAsyncOnly() {
+        return asyncOnly;
+    }
+
+    public void setAsyncOnly(boolean asyncOnly) {
+        this.asyncOnly = asyncOnly;
+    }
+
+    public String getLanguage() {
+        return language;
+    }
+
+    public void setLanguage(String language) {
+        this.language = language;
+    }
+
+    public String getPackageName() {
+        return packageName;
+    }
+
+    public void setPackageName(String packageName) {
+        this.packageName = packageName;
+    }
+
+    public String getOutput() {
+        return output;
+    }
+
+    public void setOutput(String output) {
+        this.output = output;
+    }
+
+    public boolean isServerSide() {
+        return serverSide;
+    }
+
+    public void setServerSide(boolean serverSide) {
+        this.serverSide = serverSide;
+    }
+
+    public boolean isGenerateServerXml() {
+        return generateServerXml;
+    }
+
+    public void setGenerateServerXml(boolean generateServerXml) {
+        this.generateServerXml = generateServerXml;
+    }
+
+    public boolean isTestcase() {
+        return testcase;
+    }
+
+    public void setTestcase(boolean testcase) {
+        this.testcase = testcase;
+    }
+
+}

Added: webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/ActionsPlugin.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/ActionsPlugin.java?rev=232943&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/ActionsPlugin.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/ActionsPlugin.java Mon Aug 15 22:42:34 2005
@@ -0,0 +1,37 @@
+package org.apache.axis2.tools.idea;
+
+import com.intellij.openapi.components.ApplicationComponent;
+
+/**
+ * <h3>SampleApplicationPlugin</h3>
+ *
+ * Application level plugin sample showing IDEA <b>OpenAPI</b> basics.<br>
+ * Implements <code>ApplicationComponent</code> interface.
+ *
+ */
+public class ActionsPlugin implements ApplicationComponent {
+
+  /**
+   * Method is called after plugin is already created and configured. Plugin can start to communicate with
+   * other plugins only in this method.
+   */
+  public void initComponent() {
+      
+  }
+
+  /**
+   * This method is called on plugin disposal.
+   */
+  public void disposeComponent() {
+  }
+
+  /**
+   * Returns the name of component
+   *
+   * @return String representing component name. Use PluginName.ComponentName notation
+   *  to avoid conflicts.
+   */
+  public String getComponentName() {
+    return "ActionsSample.ActionsPlugin";
+  }
+}

Added: webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/BottomPanel.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/BottomPanel.java?rev=232943&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/BottomPanel.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/BottomPanel.java Mon Aug 15 22:42:34 2005
@@ -0,0 +1,133 @@
+package org.apache.axis2.tools.idea;
+
+import com.intellij.openapi.ui.Messages;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
+import java.io.StringWriter;
+import java.io.PrintWriter;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed 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.
+*
+*
+*/
+
+/**
+ * Author : Deepal Jayasinghe
+ * Date: Jul 20, 2005
+ * Time: 3:38:12 PM
+ */
+public class BottomPanel extends JPanel implements ActionListener{
+    public static JButton btnNext;
+    public static JButton btnFinish;
+    public static JButton btnCancel;
+
+    private Window  window;
+
+    public BottomPanel(Window window) {
+        this.window = window;
+        setFont(new Font("Helvetica", Font.PLAIN, 12));
+        BottomLayout customLayout = new BottomLayout();
+
+        setLayout(customLayout);
+
+        btnNext = new JButton("Next");
+        btnNext.addActionListener(this);
+        add(btnNext);
+
+        btnFinish = new JButton("Finish");
+        btnFinish.addActionListener(this);
+        add(btnFinish);
+
+        btnCancel = new JButton("Cancel");
+        btnCancel.addActionListener(this);
+        add(btnCancel);
+
+        setSize(getPreferredSize());
+
+    }
+
+    public static void setEnable(boolean next , boolean finish , boolean cancel){
+        btnNext.setEnabled(next);
+        btnFinish.setEnabled(finish);
+        btnCancel.setEnabled(cancel);
+    }
+
+    public void actionPerformed(ActionEvent e) {
+        Object obj = e.getSource();
+        if(obj == btnCancel){
+            window.setVisible(false);
+            Thread.currentThread().setContextClassLoader(window.getClassLoader());
+        }   else if (obj == btnFinish){
+            try {
+                window.generatecode();
+                JOptionPane.showMessageDialog(window, "Code genaration successful!",
+                    "Axis2 codegeneration", JOptionPane.INFORMATION_MESSAGE);
+                window.setVisible(false);
+            } catch (Exception e1) {
+                StringWriter writer = new StringWriter();
+                e1.printStackTrace(new PrintWriter(writer));
+                JOptionPane.showMessageDialog(window, "Code genaration failed!" + writer.toString(),
+                    "Axis2 codegeneration", JOptionPane.ERROR_MESSAGE);
+                window.setVisible(false);
+            }
+        }   else if (obj == btnNext){
+            window.setPane();
+        }
+    }
+}
+
+class BottomLayout implements LayoutManager {
+
+    public BottomLayout() {
+    }
+
+    public void addLayoutComponent(String name, Component comp) {
+    }
+
+    public void removeLayoutComponent(Component comp) {
+    }
+
+    public Dimension preferredLayoutSize(Container parent) {
+        Dimension dim = new Dimension(0, 0);
+
+        Insets insets = parent.getInsets();
+        dim.width = 541 + insets.left + insets.right;
+        dim.height = 87 + insets.top + insets.bottom;
+
+        return dim;
+    }
+
+    public Dimension minimumLayoutSize(Container parent) {
+        Dimension dim = new Dimension(0, 0);
+        return dim;
+    }
+
+    public void layoutContainer(Container parent) {
+        Insets insets = parent.getInsets();
+
+        Component c;
+        c = parent.getComponent(0);
+        if (c.isVisible()) {c.setBounds(insets.left+232,insets.top+24,80,24);}
+        c = parent.getComponent(1);
+        if (c.isVisible()) {c.setBounds(insets.left+312,insets.top+24,80,24);}
+        c = parent.getComponent(2);
+        if (c.isVisible()) {c.setBounds(insets.left+392,insets.top+24,80,24);}
+    }
+}
+

Added: webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/FirstPanel.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/FirstPanel.java?rev=232943&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/FirstPanel.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/FirstPanel.java Mon Aug 15 22:42:34 2005
@@ -0,0 +1,156 @@
+package org.apache.axis2.tools.idea;
+
+import org.apache.axis2.tools.bean.CodegenBean;
+
+import javax.swing.*;
+import javax.swing.filechooser.FileFilter;
+import java.awt.*;
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
+import java.io.File;
+
+import org.apache.axis2.tools.idea.BottomPanel;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed 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.
+*
+*
+*/
+
+/**
+ * Author : Deepal Jayasinghe
+ * Date: Jul 20, 2005
+ * Time: 3:35:47 PM
+ */
+public class FirstPanel extends JPanel implements ActionListener {
+
+    JLabel lblWSDL;
+    JTextField txtWSDL;
+    JButton btnBrowse;
+    final JFileChooser fc = new JFileChooser();
+    private CodegenBean codegenBean;
+
+    public FirstPanel(CodegenBean codegenBean) {
+        this.codegenBean = codegenBean;
+        FirstPanelLayout customLayout = new FirstPanelLayout();
+        setLayout(customLayout);
+        setFont(new Font("Helvetica", Font.PLAIN, 12));
+        lblWSDL = new JLabel("WSDL File");
+        add(lblWSDL);
+
+        txtWSDL = new JTextField("");
+        add(txtWSDL);
+
+        btnBrowse = new JButton("Browse...");
+        add(btnBrowse);
+        btnBrowse.addActionListener(this);
+
+        setSize(getPreferredSize());
+
+    }
+
+    public void actionPerformed(ActionEvent e) {
+        Object obj = e.getSource();
+        if(obj == btnBrowse){
+            fc.setFileFilter(new WSDLFileFilter());
+            int returnVal = fc.showOpenDialog(this);
+            if (returnVal == JFileChooser.APPROVE_OPTION) {
+                File file = fc.getSelectedFile();
+                txtWSDL.setText(file.getAbsolutePath());
+                BottomPanel.setEnable(true , false , true);
+                codegenBean.setWSDLFileName(file.getAbsolutePath());
+            } else {
+                System.out.println("no file");
+            }
+
+        }
+
+    }
+}
+
+class WSDLFileFilter extends FileFilter {
+
+    public boolean accept(File f) {
+        if (f.isDirectory()) {
+            return true;
+        }
+        String extension = getExtension(f);
+        if (extension != null) {
+            if (extension.equals("wsdl")) {
+                return true;
+            } else {
+                return false;
+            }
+        }
+
+        return false;
+
+    }
+
+    public String getDescription() {
+        return ".wsdl";
+    }
+
+    private String getExtension(File f) {
+        String ext = null;
+        String s = f.getName();
+        int i = s.lastIndexOf('.');
+
+        if (i > 0 &&  i < s.length() - 1) {
+            ext = s.substring(i+1).toLowerCase();
+        }
+        return ext;
+    }
+
+}
+
+class FirstPanelLayout implements LayoutManager {
+
+    public FirstPanelLayout() {
+    }
+
+    public void addLayoutComponent(String name, Component comp) {
+    }
+
+    public void removeLayoutComponent(Component comp) {
+    }
+
+    public Dimension preferredLayoutSize(Container parent) {
+        Dimension dim = new Dimension(0, 0);
+
+        Insets insets = parent.getInsets();
+        dim.width = 541 + insets.left + insets.right;
+        dim.height = 204 + insets.top + insets.bottom;
+
+        return dim;
+    }
+
+    public Dimension minimumLayoutSize(Container parent) {
+        Dimension dim = new Dimension(0, 0);
+        return dim;
+    }
+
+    public void layoutContainer(Container parent) {
+        Insets insets = parent.getInsets();
+
+        Component c;
+        c = parent.getComponent(0);
+        if (c.isVisible()) {c.setBounds(insets.left+8,insets.top+8,72,24);}
+        c = parent.getComponent(1);
+        if (c.isVisible()) {c.setBounds(insets.left+88,insets.top+8,350,24);}
+        c = parent.getComponent(2);
+        if (c.isVisible()) {c.setBounds(insets.left+448,insets.top+8,90,24);}
+    }
+}

Added: webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/ImagePanel.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/ImagePanel.java?rev=232943&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/ImagePanel.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/ImagePanel.java Mon Aug 15 22:42:34 2005
@@ -0,0 +1,116 @@
+package org.apache.axis2.tools.idea;
+
+import javax.swing.*;
+import java.awt.*;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed 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.
+*
+*
+*/
+
+/**
+ * Author : Deepal Jayasinghe
+ * Date: Jul 20, 2005
+ * Time: 9:33:14 PM
+ */
+public class ImagePanel extends JPanel{
+    JLabel lblImage;
+    JLabel labTop;
+    JLabel lblBottom;
+    ImageIcon apachelogo ;
+
+    public ImagePanel() {
+        ImageLayout customLayout = new ImageLayout();
+        setLayout(customLayout);
+
+        java.net.URL resource = ImagePanel.class.getResource("/icons/asf-feather.png");
+        apachelogo = new ImageIcon(resource);
+
+        lblImage = new JLabel(apachelogo);
+        add(lblImage);
+        lblImage.setBackground(Color.white);
+
+        labTop = new JLabel();
+        labTop.setBackground(Color.white);
+        add(labTop);
+        labTop.setFont(new Font("Helvetica", Font.BOLD, 12));
+
+        lblBottom = new JLabel();
+        add(lblBottom);
+        lblBottom.setBackground(Color.white);
+        lblBottom.setFont(new Font("Helvetica", Font.PLAIN, 10));
+
+        setSize(getPreferredSize());
+        this.setBackground(Color.white);
+    }
+
+    public void setCaptions(String lbl1 , String lbl2){
+        labTop.setText(lbl1);
+        lblBottom.setText(lbl2);
+    }
+}
+
+class ImageLayout implements LayoutManager {
+
+    public ImageLayout() {
+    }
+
+    public void addLayoutComponent(String name, Component comp) {
+    }
+
+    public void removeLayoutComponent(Component comp) {
+    }
+
+    public Dimension preferredLayoutSize(Container parent) {
+        Dimension dim = new Dimension(0, 0);
+
+        Insets insets = parent.getInsets();
+        dim.width = 535 + insets.left + insets.right;
+        dim.height = 77 + insets.top + insets.bottom;
+
+        return dim;
+    }
+
+    public Dimension minimumLayoutSize(Container parent) {
+        Dimension dim = new Dimension(0, 0);
+        return dim;
+    }
+
+    public void layoutContainer(Container parent) {
+        Insets insets = parent.getInsets();
+
+        Component c;
+        c = parent.getComponent(0);
+        if (c.isVisible()) {c.setBounds(insets.left+368,insets.top+0,168,80);}
+        c = parent.getComponent(1);
+        if (c.isVisible()) {c.setBounds(insets.left+0,insets.top+0,368,40);}
+        c = parent.getComponent(2);
+        if (c.isVisible()) {c.setBounds(insets.left+0,insets.top+40,368,40);}
+    }
+}
+
+
+//
+//    public ImagePanel() {
+////        apachelogo = new ImageIcon("/icons/asf-feather.gif");
+//        java.net.URL resource = ImagePanel.class.getResource("/icons/asf-feather.png");
+//        apachelogo = new ImageIcon(resource);
+//        JLabel lblWSDL = new JLabel(apachelogo);
+//        add(lblWSDL);
+//        setSize(getPreferredSize());
+//
+//    }
+//}

Added: webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/OutPutPane.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/OutPutPane.java?rev=232943&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/OutPutPane.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/OutPutPane.java Mon Aug 15 22:42:34 2005
@@ -0,0 +1,116 @@
+package org.apache.axis2.tools.idea;
+
+import org.apache.axis2.tools.bean.CodegenBean;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
+import java.io.File;
+
+import org.apache.axis2.tools.bean.CodegenBean;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed 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.
+*
+*
+*/
+
+/**
+ * Author : Deepal Jayasinghe
+ * Date: Jul 22, 2005
+ * Time: 12:52:31 PM
+ */
+public class OutPutPane extends JPanel implements ActionListener{
+    JLabel lbloutput;
+    JTextField txtoutput;
+    JButton btwBrowse;
+    private CodegenBean cogenbean ;
+    final JFileChooser fc = new JFileChooser();
+
+    public OutPutPane(CodegenBean bean) {
+        this.cogenbean = bean;
+        OutPutPaneLayout customLayout = new OutPutPaneLayout();
+
+        setLayout(customLayout);
+
+        lbloutput = new JLabel("Output Path");
+        add(lbloutput);
+
+        txtoutput = new JTextField("");
+        add(txtoutput);
+
+        btwBrowse = new JButton("Browse..");
+        add(btwBrowse);
+        btwBrowse.addActionListener(this);
+
+        setSize(getPreferredSize());
+    }
+
+    public void actionPerformed(ActionEvent e) {
+        Object obj = e.getSource();
+        if(obj == btwBrowse){
+            fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+            int returnVal = fc.showOpenDialog(this);
+            if (returnVal == JFileChooser.APPROVE_OPTION) {
+                File file = fc.getSelectedFile();
+                cogenbean.setOutput(file.getAbsolutePath());
+                txtoutput.setText(file.getAbsolutePath());
+            } else {
+                System.out.println("no file");
+            }
+        }
+    }
+}
+
+class OutPutPaneLayout implements LayoutManager {
+
+    public OutPutPaneLayout() {
+    }
+
+    public void addLayoutComponent(String name, Component comp) {
+    }
+
+    public void removeLayoutComponent(Component comp) {
+    }
+
+    public Dimension preferredLayoutSize(Container parent) {
+        Dimension dim = new Dimension(0, 0);
+
+        Insets insets = parent.getInsets();
+        dim.width = 611 + insets.left + insets.right;
+        dim.height = 57 + insets.top + insets.bottom;
+
+        return dim;
+    }
+
+    public Dimension minimumLayoutSize(Container parent) {
+        Dimension dim = new Dimension(0, 0);
+        return dim;
+    }
+
+    public void layoutContainer(Container parent) {
+        Insets insets = parent.getInsets();
+
+        Component c;
+        c = parent.getComponent(0);
+        if (c.isVisible()) {c.setBounds(insets.left+8,insets.top+8,72,24);}
+        c = parent.getComponent(1);
+        if (c.isVisible()) {c.setBounds(insets.left+88,insets.top+8,354,24);}
+        c = parent.getComponent(2);
+        if (c.isVisible()) {c.setBounds(insets.left+450,insets.top+8,80,24);}
+    }
+}
+

Added: webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/PlugingClassLoader.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/PlugingClassLoader.java?rev=232943&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/PlugingClassLoader.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/PlugingClassLoader.java Mon Aug 15 22:42:34 2005
@@ -0,0 +1,185 @@
+package org.apache.axis2.tools.idea;
+
+import com.intellij.openapi.ui.Messages;
+
+import java.io.*;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipInputStream;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed 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.
+*
+*
+*/
+
+/**
+ * Author : Deepal Jayasinghe
+ * Date: Jul 22, 2005
+ * Time: 2:25:59 PM
+ */
+public class PlugingClassLoader extends URLClassLoader {
+
+    //urls which gives to create the classLoader
+    private URL[] urls;
+
+    //To keep jar files inside /lib directory in the main jar
+    private ArrayList lib_jars_list;
+
+
+    /**
+     * PlugingClassLoader is exetend form URLClassLoader , and the constructor
+     * has not overide the super constroctor , but has done some stuff to find out
+     * jar fils inside /lib director
+     *
+     * @param urls   <code>URL</code>
+     * @param parent parent classloader <code>ClassLoader</code>
+     */
+    public PlugingClassLoader(URL[] urls, ClassLoader parent) {
+        super(urls, parent);
+        this.urls = urls;
+        lib_jars_list = new ArrayList();
+        findLibJars();
+    }
+
+    /**
+     * This just search for jar files inside /lib dirctory and if there are any then those
+     * will be added to the arraylit (only the name of the jar file)
+     */
+    private void findLibJars() {
+        /**
+         * though the URL array can contains one or more urls , I have only consider the
+         * first one , that is this classLoader is only for Axis2 stuff and the classloader
+         * is created by Deployment , so there wont be any chance to have more the one urls for
+         * the URL array list
+         */
+        File file = new File(urls[0].getFile());
+        try {
+            ZipInputStream zin = new ZipInputStream(new FileInputStream(file));
+            ZipEntry entry;
+            String entryName = "";
+            while ((entry = zin.getNextEntry()) != null) {
+                entryName = entry.getName();
+                /**
+                 * id the entry name start with /lib and end with .jar
+                 * then those entry name will be added to the arraylist
+                 */
+                if (entryName != null && (entryName.startsWith("lib/") ||
+                        entryName.startsWith("Lib/")) &&
+                        entryName.endsWith(".jar")) {
+                    lib_jars_list.add(entryName);
+                }
+            }
+            zin.close();
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    /**
+     * @param name <code>String</code>  Name of the file to be loaded
+     * @return <code>Class</code> return a class object if it found else
+     *         will return null or classNotfoun exeption
+     *         <p/>
+     *         The method has ovride in the following way
+     *         1. called the super class and check to see wether the class is there
+     *         if the class is found then return that , else if super returns ClassNotfoundExeption
+     *         2. Check wether the entry corresponding to the class name exsit in one of jar files
+     *         in /lib director
+     *         3. If it is there get the byte array out of that and creat a Class object out of that
+     *         by calling "defineClass()" , if it sucssed then return that else
+     *         4. Throw classNotfound exeption
+     * @throws ClassNotFoundException
+     */
+    protected Class findClass(final String name)
+            throws ClassNotFoundException {
+        Class cla = null;
+        try {
+            boolean foundClass = false;
+            try {
+                cla = super.findClass(name);
+                foundClass = true;
+                return cla;
+            } catch (ClassNotFoundException e) {
+                foundClass = false;
+            }
+            if (!foundClass) {
+                byte raw[] = getBytes(name);
+                cla = defineClass(name, raw, 0, raw.length);
+                foundClass = true;
+                return cla;
+            }
+            if (!foundClass) {
+                throw new ClassNotFoundException("Class Not found : " + name);
+            }
+
+        } catch (Exception e) {
+
+        }
+        return null;
+    }
+
+    /**
+     * Read jar file (/lib) one by one , then for each file craete <code>ZipInputStream</code>
+     * that and check to see wether there is any entry eith given name if it found then
+     * Creat ByteArrayOutPutStream and get the class bytes to that .
+     * after goning throgh each and evry jar file if there is no entry with given name
+     * will throug a ClassNotFound execption
+     *
+     * @param filename <code>String</code>  Name of the file to be loaded (Class Name)
+     * @return bytt[]
+     * @throws java.io.IOException <code>Exception</code>
+     */
+    private byte[] getBytes(String filename) throws Exception {
+        String completeFileName = filename;
+        /**
+         * Replacing org.apache. -> org/apache/...
+         */
+        completeFileName = completeFileName.replace('.', '/').concat(".class");
+        byte raw[] = null;
+        for (int i = 0; i < lib_jars_list.size(); i++) {
+            String libjar_name = (String) lib_jars_list.get(i);
+            InputStream in = this.getResourceAsStream(libjar_name);
+            try {
+                ZipInputStream zin = new ZipInputStream(in);
+                ZipEntry entry;
+                String entryName = "";
+                while ((entry = zin.getNextEntry()) != null) {
+                    entryName = entry.getName();
+                    if (entryName != null &&
+                            entryName.endsWith(completeFileName)) {
+                        byte data[] = new byte[2048];
+                        ByteArrayOutputStream out = new ByteArrayOutputStream();
+                        int count;
+                        while ((count = zin.read(data, 0, 2048)) != -1) {
+                            out.write(data, 0, count);
+                        }
+                        raw = out.toByteArray();
+                        out.close();
+                        zin.close();
+                        return raw;
+                    }
+                }
+            } catch (IOException e) {
+                throw e;
+            }
+
+        }
+        throw new ClassNotFoundException("Class Not found : " + filename);
+    }
+}
+

Added: webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/SecondPanel.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/SecondPanel.java?rev=232943&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/SecondPanel.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/SecondPanel.java Mon Aug 15 22:42:34 2005
@@ -0,0 +1,155 @@
+package org.apache.axis2.tools.idea;
+
+import org.apache.axis2.tools.bean.CodegenBean;
+
+import javax.swing.*;
+import java.awt.*;
+
+import org.apache.axis2.wsdl.codegen.CommandLineOptionConstants;
+import org.apache.axis2.tools.bean.CodegenBean;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed 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.
+*
+*
+*/
+
+/**
+ * Author : Deepal Jayasinghe
+ * Date: Jul 20, 2005
+ * Time: 10:52:36 PM
+ */
+public class SecondPanel extends JPanel {
+    JLabel lblol;
+    JComboBox comlanguage;
+    ButtonGroup cbg;
+    JRadioButton rdsynasyn;
+    JRadioButton rdsyn;
+    JRadioButton rdasync;
+    JLabel lblpakage;
+    JTextField txtpackage;
+    private CodegenBean codegenBean;
+
+    public SecondPanel(CodegenBean codegenBean) {
+        this.codegenBean = codegenBean;
+        SecondPanelLayout customLayout = new SecondPanelLayout();
+        setFont(new Font("Helvetica", Font.PLAIN, 12));
+        setLayout(customLayout);
+
+        lblol = new JLabel("   Select the output language");
+        add(lblol);
+
+        comlanguage = new JComboBox();
+        comlanguage.addItem("Java");
+        comlanguage.addItem("C#");
+        comlanguage.addItem("C++");
+        add(comlanguage);
+
+        cbg = new ButtonGroup();
+        rdsynasyn = new JRadioButton(" Generate both sync and async", true);
+        cbg.add(rdsynasyn);
+        add(rdsynasyn);
+
+        rdsyn = new JRadioButton(" Generate sync only", false);
+        cbg.add(rdsyn);
+        add(rdsyn);
+
+        rdasync = new JRadioButton(" Generate async only", false);
+        cbg.add(rdasync);
+        add(rdasync);
+
+        lblpakage = new JLabel("Set the package name");
+        add(lblpakage);
+
+        txtpackage = new JTextField("org.axis2");
+        add(txtpackage);
+
+        setSize(getPreferredSize());
+
+    }
+
+    public void fillBean(){
+        int index =comlanguage.getSelectedIndex();
+        switch(index ){
+            case 0: {
+                codegenBean.setLanguage(CommandLineOptionConstants.LanguageNames.JAVA);
+                break;
+            } case 1: {
+                codegenBean.setLanguage(CommandLineOptionConstants.LanguageNames.C_SHARP);
+                break;
+            } case 2 : {
+                codegenBean.setLanguage(CommandLineOptionConstants.LanguageNames.C_PLUS_PLUS);
+                break;
+            }
+        }
+        if(rdasync.isSelected()) {
+            codegenBean.setAsyncOnly(true);
+        } else if (rdsyn.isSelected()){
+            codegenBean.setSyncOnly(true);
+        } else {
+            codegenBean.setSyncOnly(false);
+            codegenBean.setAsyncOnly(false);
+        }
+        codegenBean.setPackageName(txtpackage.getText());
+    }
+}
+
+class SecondPanelLayout implements LayoutManager {
+
+    public SecondPanelLayout() {
+    }
+
+    public void addLayoutComponent(String name, Component comp) {
+    }
+
+    public void removeLayoutComponent(Component comp) {
+    }
+
+    public Dimension preferredLayoutSize(Container parent) {
+        Dimension dim = new Dimension(0, 0);
+
+        Insets insets = parent.getInsets();
+        dim.width = 565 + insets.left + insets.right;
+        dim.height = 235 + insets.top + insets.bottom;
+
+        return dim;
+    }
+
+    public Dimension minimumLayoutSize(Container parent) {
+        Dimension dim = new Dimension(0, 0);
+        return dim;
+    }
+
+    public void layoutContainer(Container parent) {
+        Insets insets = parent.getInsets();
+
+        Component c;
+        c = parent.getComponent(0);
+        if (c.isVisible()) {c.setBounds(insets.left+0,insets.top+5,200,20);}
+        c = parent.getComponent(1);
+        if (c.isVisible()) {c.setBounds(insets.left+210,insets.top+5,160,20);}
+        c = parent.getComponent(2);
+        if (c.isVisible()) {c.setBounds(insets.left+8,insets.top+30,250,24);}
+        c = parent.getComponent(3);
+        if (c.isVisible()) {c.setBounds(insets.left+8,insets.top+55,150,24);}
+        c = parent.getComponent(4);
+        if (c.isVisible()) {c.setBounds(insets.left+8,insets.top+80,150,24);}
+        c = parent.getComponent(5);
+        if (c.isVisible()) {c.setBounds(insets.left+8,insets.top+110,200,24);}
+        c = parent.getComponent(6);
+        if (c.isVisible()) {c.setBounds(insets.left+210,insets.top+110,200,24);}
+    }
+}
+

Added: webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/ServiceArchiveCreator.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/ServiceArchiveCreator.java?rev=232943&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/ServiceArchiveCreator.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/ServiceArchiveCreator.java Mon Aug 15 22:42:34 2005
@@ -0,0 +1,55 @@
+package org.apache.axis2.tools.idea;
+
+import com.intellij.openapi.actionSystem.*;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.ui.Messages;
+
+import javax.swing.*;
+import java.net.URL;
+import java.net.MalformedURLException;
+import java.io.File;
+
+public class ServiceArchiveCreator extends AnAction {
+    private ImageIcon myIcon;
+
+    public ServiceArchiveCreator() {
+        super("GC", "Create Service Archive File", null);
+    }
+
+    public void actionPerformed(AnActionEvent event) {
+//        Project project = (Project)event.getDataContext().getData(DataConstants.PROJECT);
+//        java.net.URL resource = ServiceArchiveCreator.class.getResource("/icons/garbage.png");
+//        String fileName = resource.toString();
+//        fileName =  fileName.replaceAll("%20"," ");
+//        fileName = fileName.replaceAll("jar:file:/","");
+//        int end_index = fileName.indexOf("!");
+//        fileName = fileName.substring(0,end_index);
+//        ClassLoader contextClasLoader =
+//        URL[] urlsToLoadFrom = new URL[0];
+//        try {
+//            File file = new File(fileName);
+//            urlsToLoadFrom = new URL[]{file.toURL()};
+//            PlugingClassLoader clasloader = new PlugingClassLoader(
+//                    urlsToLoadFrom,contextClasLoader);
+//            contextClasLoader = clasloader;
+//        } catch (MalformedURLException e) {
+//
+//        }
+        Window win = new Window();
+    //    win.setClassLoader(contextClasLoader);
+        win.showUI();
+//        System.gc();
+    }
+
+    public void update(AnActionEvent event) {
+        super.update(event);
+        Presentation presentation = event.getPresentation();
+        if (ActionPlaces.MAIN_TOOLBAR.equals(event.getPlace())) {
+            if (myIcon == null) {
+                java.net.URL resource = ServiceArchiveCreator.class.getResource("/icons/garbage.png");
+                myIcon = new ImageIcon(resource);
+            }
+            presentation.setIcon(myIcon);
+        }
+    }
+}

Added: webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/Window.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/Window.java?rev=232943&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/Window.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ideapluging_deepal/codegen/src/org/apache/axis2/tools/idea/Window.java Mon Aug 15 22:42:34 2005
@@ -0,0 +1,190 @@
+package org.apache.axis2.tools.idea;
+
+import org.apache.axis2.tools.bean.CodegenBean;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.*;
+
+import org.apache.axis2.tools.idea.*;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed 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.
+*
+*
+*/
+
+/**
+ * Author : Deepal Jayasinghe
+ * Date: Jul 19, 2005
+ * Time: 2:26:15 PM
+ */
+public class Window extends JFrame {
+    ImagePanel panel_3;
+    JPanel plMiddle;
+    BottomPanel lblBottom;
+    SecondPanel secondPanel;
+    OutPutPane outputpane;
+    private int panleID = 0;
+    private ClassLoader classLoader ;
+
+    // To keep the value of wsdl wizzard
+    private CodegenBean codegenBean;
+
+    public Window() {
+        windowLayout  customLayout = new windowLayout(1);
+
+        getContentPane().setFont(new Font("Helvetica", Font.PLAIN, 12));
+        getContentPane().setLayout(customLayout);
+
+        codegenBean = new CodegenBean();
+
+        panel_3 = new ImagePanel();
+        panel_3.setCaptions("  WSDL selection page"
+                ,"  Welcome to the Axis2 code generation wizard. Select the WSDL file");
+
+        getContentPane().add(panel_3);
+
+        plMiddle = new FirstPanel(codegenBean);
+        getContentPane().add(plMiddle);
+
+        lblBottom = new BottomPanel(this);
+        BottomPanel.setEnable(false , false , true);
+        getContentPane().add(lblBottom);
+
+        secondPanel = new SecondPanel(codegenBean);
+        secondPanel.setVisible(false);
+        getContentPane().add(secondPanel);
+
+        outputpane = new OutPutPane(codegenBean);
+        outputpane.setVisible(false);
+        getContentPane().add(outputpane);
+
+        Dimension dim = getPreferredSize();
+        setSize(dim);
+        setBounds(200,200,dim.width ,dim.height);
+        this.setResizable(false);
+    }
+
+    public ClassLoader getClassLoader() {
+        return classLoader;
+    }
+
+    public void setClassLoader(ClassLoader classLoader) {
+        this.classLoader = classLoader;
+    }
+
+    public void showUI(){
+        Window window = new Window();
+        window.setTitle("Axis2 Code generation");
+        window.pack();
+        window.show();
+    }
+
+    public void generatecode() throws Exception{
+        secondPanel.fillBean();
+        codegenBean.execute();
+    }
+
+
+    public void setPane(){
+        panleID ++;
+        switch(panleID){
+            case 1 : {
+                panel_3.setCaptions("  Options"
+                        ,"  Set the options for the code generation");
+                this.secondPanel.setVisible(true);
+                this.plMiddle.setVisible(false);
+                BottomPanel.setEnable(true , false , true);
+                break;
+            }
+            case 2 : {
+                panel_3.setCaptions("  Output"
+                        ,"  set the output project for the generated code");
+                this.secondPanel.setVisible(false);
+                this.plMiddle.setVisible(false);
+                this.outputpane.setVisible(true);
+                BottomPanel.setEnable(true , true , true);
+                break;
+            }
+        }
+    }
+
+    public void setMiddlerPanel(int panel){
+        this.panleID = panel;
+        if(panleID == 2){
+            panel_3.setCaptions("  Options"
+                    ,"  Set the options for the code generation");
+            this.secondPanel.setVisible(true);
+            this.plMiddle.setVisible(false);
+            BottomPanel.setEnable(true , true , true);
+        }
+        this.pack();
+        this.show();
+    }
+
+
+    public static void main(String[] args) {
+        Window window = new Window();
+        window.setTitle("Axis2 Code generation");
+        window.pack();
+        window.show();
+    }
+}
+
+class windowLayout implements LayoutManager {
+
+    int paneID;
+    public windowLayout(int panelid) {
+        paneID = panelid;
+    }
+
+    public void addLayoutComponent(String name, Component comp) {
+    }
+
+    public void removeLayoutComponent(Component comp) {
+    }
+
+    public Dimension preferredLayoutSize(Container parent) {
+        Dimension dim = new Dimension(0, 0);
+
+        Insets insets = parent.getInsets();
+        dim.width = 541 + insets.left + insets.right;
+        dim.height = 300 + insets.top + insets.bottom;
+
+        return dim;
+    }
+
+    public Dimension minimumLayoutSize(Container parent) {
+        Dimension dim = new Dimension(0, 0);
+        return dim;
+    }
+
+    public void layoutContainer(Container parent) {
+        Insets insets = parent.getInsets();
+
+        Component c;
+        c = parent.getComponent(0);
+        if (c.isVisible()) {c.setBounds(insets.left+0,insets.top+0,544,80);}
+        c = parent.getComponent(1);
+        if (c.isVisible()) {c.setBounds(insets.left+0,insets.top+80,544,140);}
+        c = parent.getComponent(3);
+        if (c.isVisible()) {c.setBounds(insets.left+0,insets.top+80,544,140);}
+        c = parent.getComponent(4);
+        if (c.isVisible()) {c.setBounds(insets.left+0,insets.top+80,544,140);}
+        c = parent.getComponent(2);
+        if (c.isVisible()) {c.setBounds(insets.left+0,insets.top+220,544,50);}
+    }
+}