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/09/24 09:51:47 UTC

svn commit: r291260 [1/2] - in /webservices/axis2/trunk/java/modules/tool/ideapluging/plugin: ./ META-INF/ icons/ org/ org/apache/ org/apache/axis2/ org/apache/axis2/tools/ org/apache/axis2/tools/bean/ org/apache/axis2/tools/idea/ org/apache/idaeplugin...

Author: deepal
Date: Sat Sep 24 00:51:20 2005
New Revision: 291260

URL: http://svn.apache.org/viewcvs?rev=291260&view=rev
Log:
IDEA plugin both code generation and ServiceArchive creator.

plugin is there at http://ws.apache.org/axis2/tools/Axis2Ideaplugin.jar

I am sorry I did not have time to write a ReadMe.txt I will do that soon , any way download that jar and extract into IDEA/plugin director ( extract to idea/pugin/Axis2)


Added:
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/META-INF/
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/META-INF/plugin.xml
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/Thumbs.db   (with props)
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.gif   (with props)
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.png   (with props)
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/icon.png   (with props)
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/bean/
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/bean/CodegenBean.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ActionsPlugin.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/BottomPanel.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/FirstPanel.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ImagePanel.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/OutPutPane.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/PlugingClassLoader.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/SecondPanel.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ServiceArchiveCreator.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/Window.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ModuleDialog.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ParameterDialog.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ArchiveBean.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/FileCopier.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/JarFileWriter.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ObjectKeeper.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/OprationObj.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ServiceObj.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/Axi2PluginPage.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/BottomPanel.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/ClassSelctionPage.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/DescriptorFile.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/FirstFrame.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/ImagePanel.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/LogoPage.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/MainFrame.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/OutPage.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/ResourceChooser.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/SelectPanel.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/XMLSelectionPage.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/table/
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/table/ArchiveTableModel.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/plugin/
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/plugin/Axis2IdeaPlugin.java
    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/plugin/Axis2PlgingAction.java

Added: webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/META-INF/plugin.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/META-INF/plugin.xml?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/META-INF/plugin.xml (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/META-INF/plugin.xml Sat Sep 24 00:51:20 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>Axis2 IDEA tools</name>
+
+    <!-- Description -->
+    <description> Service Rrchive craetion and Codegenaration </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.idaeplugin.plugin.Axis2IdeaPlugin</implementation-class>
+
+            <!-- Component's interface class -->
+            <interface-class>org.apache.idaeplugin.plugin.Axis2IdeaPlugin</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.idaeplugin.plugin.Axis2PlgingAction"
+            text="Axis2 plugins" description="Service craetion and codegeneration">
+            <keyboard-shortcut first-keystroke="alt W" 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="Axis2" 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/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/Thumbs.db
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/Thumbs.db?rev=291260&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/Thumbs.db
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.gif
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.gif?rev=291260&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.png
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.png?rev=291260&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/icon.png
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/icon.png?rev=291260&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/icon.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/bean/CodegenBean.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/bean/CodegenBean.java?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/bean/CodegenBean.java (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/bean/CodegenBean.java Sat Sep 24 00:51:20 2005
@@ -0,0 +1,229 @@
+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());
+       optionMap.put(CommandLineOptionConstants.DATA_BINDING_TYPE_OPTION, new CommandLineOption(
+               CommandLineOptionConstants.DATA_BINDING_TYPE_OPTION, getStringArray(0+"")));
+        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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ActionsPlugin.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ActionsPlugin.java?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ActionsPlugin.java (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ActionsPlugin.java Sat Sep 24 00:51:20 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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/BottomPanel.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/BottomPanel.java?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/BottomPanel.java (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/BottomPanel.java Sat Sep 24 00:51:20 2005
@@ -0,0 +1,137 @@
+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;
+import java.io.InputStream;
+import java.io.FileInputStream;
+import java.net.URL;
+
+/*
+* 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) {
+                e1.printStackTrace();
+                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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/FirstPanel.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/FirstPanel.java?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/FirstPanel.java (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/FirstPanel.java Sat Sep 24 00:51:20 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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ImagePanel.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ImagePanel.java?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ImagePanel.java (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ImagePanel.java Sat Sep 24 00:51:20 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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/OutPutPane.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/OutPutPane.java?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/OutPutPane.java (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/OutPutPane.java Sat Sep 24 00:51:20 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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/PlugingClassLoader.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/PlugingClassLoader.java?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/PlugingClassLoader.java (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/PlugingClassLoader.java Sat Sep 24 00:51:20 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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/SecondPanel.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/SecondPanel.java?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/SecondPanel.java (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/SecondPanel.java Sat Sep 24 00:51:20 2005
@@ -0,0 +1,170 @@
+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;
+
+/*
+* 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;
+
+    JLabel databiding;
+    JComboBox databindingType;
+
+    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);
+
+        databiding = new JLabel("Select Databinding type");
+        add(databiding);
+        databindingType = new JComboBox();
+        databindingType.addItem("Default");
+        databindingType.addItem("XML_BEANS");
+        databindingType.addItem("JAXB");
+        databindingType.setEnabled(false);
+        add(databindingType);
+
+        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+280,insets.top+30,150,24);}
+        c = parent.getComponent(4);
+        if (c.isVisible()) {c.setBounds(insets.left+8,insets.top+55,150,24);}
+        c = parent.getComponent(5);
+        if (c.isVisible()) {c.setBounds(insets.left+8,insets.top+80,200,24);}
+        c = parent.getComponent(6);
+        if (c.isVisible()) {c.setBounds(insets.left+210,insets.top+80,160,24);}
+        c = parent.getComponent(7);
+        if (c.isVisible()) {c.setBounds(insets.left+8,insets.top+110,200,24);}
+        c = parent.getComponent(8);
+        if (c.isVisible()) {c.setBounds(insets.left+210,insets.top+110,200,24);}
+    }
+}
+

Added: webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ServiceArchiveCreator.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ServiceArchiveCreator.java?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ServiceArchiveCreator.java (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ServiceArchiveCreator.java Sat Sep 24 00:51:20 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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/Window.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/Window.java?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/Window.java (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/Window.java Sat Sep 24 00:51:20 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);}
+    }
+}

Added: webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ModuleDialog.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ModuleDialog.java?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ModuleDialog.java (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ModuleDialog.java Sat Sep 24 00:51:20 2005
@@ -0,0 +1,88 @@
+package org.apache.idaeplugin;
+
+import javax.swing.*;
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
+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: Sep 23, 2005
+ * Time: 4:11:19 PM
+ */
+public class ModuleDialog extends JFrame implements ActionListener {
+
+    Insets insets;
+
+    protected JLabel  moduleName;
+    protected JTextField txtModule;
+    protected JButton addbut;
+
+    protected String val;
+    JTextArea textarea;
+    int position;
+
+    public ModuleDialog() {
+        getContentPane().setFont(new Font("Helvetica", Font.PLAIN, 12));
+        getContentPane().setLayout(null);
+        getContentPane().setBounds(150,150,300,100);
+        insets = getInsets();
+
+        moduleName = new JLabel("Module Name: ");
+        getContentPane().add(moduleName);
+
+        txtModule = new JTextField("moduleName");
+        getContentPane().add(txtModule);
+
+        addbut = new JButton("Add");
+        getContentPane().add(addbut);
+        addbut.addActionListener(this);
+
+
+        moduleName.setBounds(insets.left + 5,insets.top +6 ,100,24);
+        txtModule.setBounds(insets.left + 110,insets.top+6,160,24);
+        addbut.setBounds(insets.left + 100,insets.top+45,60,24);
+
+        setSize(getPreferredSize());
+        setResizable(false);
+    }
+
+    public void showDialog(String in , JTextArea textarea , int position){
+        this.textarea = textarea;
+        this.position =position;
+        this.show();
+        this.val = in;
+        this.setVisible(true);
+    }
+
+    public String  hideForm(){
+        return  this.val;
+    }
+
+    public void actionPerformed(ActionEvent e) {
+        Object obj = e.getSource();
+        if(obj == addbut){
+            String str = "<module ref=\"" +txtModule.getText().trim() + "\" >";
+            val = str;
+            textarea.insert(str,position +1);
+            this.setVisible(false);
+        }
+    }
+}

Added: webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ParameterDialog.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ParameterDialog.java?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ParameterDialog.java (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ParameterDialog.java Sat Sep 24 00:51:20 2005
@@ -0,0 +1,111 @@
+package org.apache.idaeplugin;
+
+import org.apache.idaeplugin.bean.ArchiveBean;
+import org.apache.idaeplugin.frames.ImagePanel;
+import org.apache.idaeplugin.frames.FirstFrame;
+import org.apache.idaeplugin.frames.BottomPanel;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
+/*
+* 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: Sep 23, 2005
+ * Time: 12:11:36 PM
+ */
+public class ParameterDialog extends JFrame implements ActionListener {
+
+    Insets insets;
+
+    protected JLabel  paraName;
+    protected JLabel  paravale;
+    protected JTextField txtpraName;
+    protected JTextArea txtparaValue;
+    protected JScrollPane sp;
+    protected JButton addbut;
+    protected String val;
+    JTextArea textarea;
+    int position;
+
+    public ParameterDialog() {
+        getContentPane().setFont(new Font("Helvetica", Font.PLAIN, 12));
+        getContentPane().setLayout(null);
+        getContentPane().setBounds(150,150,300,180);
+        insets = getInsets();
+
+        paraName = new JLabel("Paramter Name: ");
+        getContentPane().add(paraName);
+
+        paravale = new JLabel("Paramter Value: ");
+        getContentPane().add(paravale);
+
+
+        txtpraName = new JTextField("-para name -");
+        getContentPane().add(txtpraName);
+
+
+        txtparaValue = new JTextArea("-para vale -");
+        sp = new JScrollPane(txtparaValue);
+        getContentPane().add(sp);
+        sp.setAutoscrolls(true);
+
+        addbut = new JButton("Add");
+        getContentPane().add(addbut);
+        addbut.addActionListener(this);
+
+
+        paraName.setBounds(insets.left + 5,insets.top +6 ,100,24);
+        paravale.setBounds(insets.left + 5,insets.top+34,100,24);
+        sp.setBounds(insets.left + 110,insets.top+34,160,60);
+        txtpraName.setBounds(insets.left + 110,insets.top+6,160,24);
+        addbut.setBounds(insets.left + 100,insets.top+100,60,24);
+
+        setSize(getPreferredSize());
+        setResizable(false);
+    }
+
+    public void showDialog(String in , JTextArea textarea , int position){
+        this.textarea = textarea;
+        this.position =position;
+        this.show();
+        this.val = in;
+        this.setVisible(true);
+    }
+
+    public String  hideForm(){
+        return  this.val;
+    }
+
+    public void actionPerformed(ActionEvent e) {
+        Object obj = e.getSource();
+        if(obj == addbut){
+            String str = "<parameter locked=\"false\" name=\"" + txtpraName.getText().trim() + "\">\n"
+                    + txtparaValue.getText() +"\n"+
+                    "</parameter>\n";
+            val = str;
+            textarea.insert(str,position +1);
+            this.setVisible(false);
+        }
+    }
+}

Added: webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ArchiveBean.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ArchiveBean.java?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ArchiveBean.java (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ArchiveBean.java Sat Sep 24 00:51:20 2005
@@ -0,0 +1,194 @@
+package org.apache.idaeplugin.bean;
+
+import java.io.*;
+import java.net.URLClassLoader;
+import java.net.URL;
+import java.net.MalformedURLException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+/*
+* 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: Sep 17, 2005
+ * Time: 11:40:40 PM
+ */
+public class ArchiveBean {
+
+    private boolean singleService = false;
+    private boolean generetServiceDesc = false;
+    private File classLocation ;
+    private ClassLoader classLoader;
+    private String ServiceXML;
+
+    public String fileSeparator = System.getProperty("file.separator");
+
+    private ArrayList libs;
+    private ArrayList wsdls;
+
+    private String outPath;
+    private String archiveName;
+
+    public boolean isSingleService() {
+        return singleService;
+    }
+
+    public void setSingleService(boolean singleService) {
+        this.singleService = singleService;
+    }
+
+    public boolean isGeneretServiceDesc() {
+        return generetServiceDesc;
+    }
+
+    public void setGeneretServiceDesc(boolean generetServiceDesc) {
+        this.generetServiceDesc = generetServiceDesc;
+    }
+    public File getClassLocation() {
+        return classLocation;
+    }
+
+    public void setClassLocation(File classLocation) {
+        this.classLocation = classLocation;
+    }
+
+    public String getServiceXML() {
+        return ServiceXML;
+    }
+
+    public void setServiceXML(String serviceXML) {
+        ServiceXML = serviceXML;
+    }
+
+    public ArrayList getLibs() {
+        return libs;
+    }
+
+    public void setLibs(ArrayList libs) {
+        this.libs = libs;
+    }
+
+    public ArrayList getWsdls() {
+        return wsdls;
+    }
+
+    public void setWsdls(ArrayList wsdls) {
+        this.wsdls = wsdls;
+    }
+
+    public String getOutPath() {
+        return outPath;
+    }
+
+    public void setOutPath(String outPath) {
+        this.outPath = outPath;
+    }
+
+    public String getArchiveName() {
+        return archiveName;
+    }
+
+    public void setArchiveName(String archiveName) {
+        this.archiveName = archiveName;
+    }
+
+    public void finsh(){
+        //Creating out File
+        try {
+            File outFile = new File(getOutPath());
+            File tempfile = new File(outFile,"temp");
+            if(!tempfile.exists()){
+                tempfile.mkdirs();
+            }
+            //creating META-INF
+            File metainf = new File(tempfile,"META-INF");
+            if(!metainf.exists()){
+                metainf.mkdir();
+            }
+
+            // Writing services.xml
+            File servicexml = new File(metainf,"services.xml");
+            FileWriter writer = new FileWriter(servicexml);
+            writer.write(getServiceXML());
+            writer.flush();
+            writer.close();
+
+            //Coping class files
+            FileCopier fc = new FileCopier();
+            fc.copyFiles(getClassLocation(),tempfile,null);
+
+            // Coping wsdl files
+            File lib = new File(tempfile,"lib");
+            if(!lib.exists()){
+                lib.mkdir();
+            }
+            for (int i = 0; i < libs.size(); i++) {
+                String libname = (String) libs.get(i);
+                fc.copyFiles(new File(libname),lib,null);
+            }
+
+            //coping wsdl files
+            for (int i = 0; i < wsdls.size(); i++) {
+                String libname = (String) wsdls.get(i);
+                fc.copyFiles(new File(libname),metainf,null);
+            }
+
+            String arcivename =getArchiveName();
+            if(arcivename.indexOf(".jar") < 0){
+                 arcivename = arcivename + ".jar";
+            }
+            JarFileWriter jwriter = new JarFileWriter();
+            jwriter.writeJarFile(outFile,arcivename,tempfile);
+            //craeting the jar file
+            deleteDir(tempfile);
+//
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+     private boolean deleteDir(File dir) {
+        if (dir.isDirectory()) {
+            String[] children = dir.list();
+            for (int i=0; i<children.length; i++) {
+                boolean success = deleteDir(new File(dir, children[i]));
+                if (!success) {
+                    return false;
+                }
+            }
+        }
+
+        // The directory is now empty so delete it
+        return dir.delete();
+    }
+
+    public ClassLoader getClassLoader() {
+        return classLoader;
+    }
+
+    public void setClassLoader(ClassLoader classLoader) {
+        this.classLoader = classLoader;
+    }
+
+
+}

Added: webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/FileCopier.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/FileCopier.java?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/FileCopier.java (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/FileCopier.java Sat Sep 24 00:51:20 2005
@@ -0,0 +1,63 @@
+package org.apache.idaeplugin.bean;
+
+import org.apache.tools.ant.taskdefs.Copy;
+import org.apache.tools.ant.types.FileSet;
+import org.apache.tools.ant.Project;
+
+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: Sep 23, 2005
+ * Time: 6:15:54 PM
+ */
+public class FileCopier extends Copy {
+    public FileCopier() {
+        this.setProject(new Project());
+        this.getProject().init();
+        this.setTaskType("copy");
+        this.setTaskName("copy-files");
+        this.setOwningTarget(new org.apache.tools.ant.Target());
+    }
+
+    public void copyFiles(File sourceFile, File destinationDirectory,String filter){
+
+        this.filesets.clear();
+
+        if (sourceFile.isFile())
+            this.setFile(sourceFile);
+        else {
+            FileSet fileset = new FileSet();
+            fileset.setDir(sourceFile);
+            if (filter!=null){
+                if (filter.matches("\\.\\w*")){
+                    fileset.setIncludes("*/**/*"+filter);
+                }
+            }
+
+            this.addFileset(fileset);
+        }
+        this.setTodir(destinationDirectory);
+        this.perform();
+    }
+
+
+}
+

Added: webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/JarFileWriter.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/JarFileWriter.java?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/JarFileWriter.java (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/JarFileWriter.java Sat Sep 24 00:51:20 2005
@@ -0,0 +1,63 @@
+package org.apache.idaeplugin.bean;
+
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.taskdefs.Jar;
+
+import java.io.File;
+import java.io.IOException;
+/*
+* 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: Sep 23, 2005
+ * Time: 8:48:21 PM
+ */
+public class JarFileWriter extends Jar {
+
+
+    public JarFileWriter() {
+        this.setProject(new Project());
+        this.getProject().init();
+        this.setTaskType("jar");
+        this.setTaskName("jar");
+        this.setOwningTarget(new org.apache.tools.ant.Target());
+    }
+
+    public void writeJarFile(File outputFolder,String outputFileName, File inputFileFolder) throws IOException,Exception {
+
+        if (!outputFolder.exists()){
+            outputFolder.mkdir(); //create the output path
+        }else{
+            if (!outputFolder.isDirectory())
+                return;
+        }
+
+        File targetFile = new File(outputFolder,outputFileName);
+        this.setBasedir(inputFileFolder);
+        this.setDestFile(targetFile);
+
+        //run the task
+        this.perform();
+
+
+    }
+
+
+}
+

Added: webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ObjectKeeper.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ObjectKeeper.java?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ObjectKeeper.java (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ObjectKeeper.java Sat Sep 24 00:51:20 2005
@@ -0,0 +1,44 @@
+package org.apache.idaeplugin.bean;
+
+import javax.swing.*;
+/*
+* 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: Sep 17, 2005
+ * Time: 11:40:12 PM
+ */
+
+//to fill the bean
+public interface ObjectKeeper {
+
+    void fillBean(ArchiveBean bean);
+
+    //to keep a refernce to next panel
+    void setNext(JPanel next);
+    JPanel getNext();
+
+    //to keep a refernce to previous panel
+    void setPrivious(JPanel privious);
+    JPanel getPrivious();
+    
+    String getTopLable();
+    String getLable();
+
+}

Added: webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/OprationObj.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/OprationObj.java?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/OprationObj.java (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/OprationObj.java Sat Sep 24 00:51:20 2005
@@ -0,0 +1,81 @@
+package org.apache.idaeplugin.bean;
+/*
+* 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: Sep 21, 2005
+ * Time: 11:36:02 PM
+ */
+public class OprationObj {
+
+    private String OpName ;
+    private String ReturnVale;
+    private Integer paramters;
+    private Boolean select;
+
+    public OprationObj(String opName, String returnVale, Integer paramters, Boolean select) {
+        OpName = opName;
+        ReturnVale = returnVale;
+        this.paramters = paramters;
+        this.select = select;
+    }
+
+
+    public String getOpName() {
+        return OpName;
+    }
+
+    public void setOpName(String opName) {
+        OpName = opName;
+    }
+
+    public String getReturnVale() {
+        return ReturnVale;
+    }
+
+    public void setReturnVale(String returnVale) {
+        ReturnVale = returnVale;
+    }
+
+    public Integer getParamters() {
+        return paramters;
+    }
+
+    public void setParamters(Integer paramters) {
+        this.paramters = paramters;
+    }
+
+    public Boolean getSelect() {
+        return select;
+    }
+
+    public void setSelect(Boolean select) {
+        this.select = select;
+    }
+
+    public void printMe(){
+        System.out.println("======== Row =============");
+        System.out.println("OpName = " + OpName);
+        System.out.println("paramters = " + paramters);
+        System.out.println("ReturnVale = " + ReturnVale);
+        System.out.println("select = " + select);
+        System.out.println("==========================");
+    }
+
+}

Added: webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ServiceObj.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ServiceObj.java?rev=291260&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ServiceObj.java (added)
+++ webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ServiceObj.java Sat Sep 24 00:51:20 2005
@@ -0,0 +1,65 @@
+package org.apache.idaeplugin.bean;
+
+import java.util.ArrayList;
+/*
+* 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: Sep 22, 2005
+ * Time: 11:11:48 PM
+ */
+public class ServiceObj {
+    private String serviceName;
+    private String serviceClass;
+    private ArrayList opeartions;
+
+    public ServiceObj(String serviceName, String serviceClass, ArrayList opeartions) {
+        this.serviceName = serviceName;
+        this.serviceClass = serviceClass;
+        this.opeartions = opeartions;
+    }
+
+    public String getServiceName() {
+        return serviceName;
+    }
+
+    public String getServiceClass() {
+        return serviceClass;
+    }
+
+    public ArrayList getOpeartions() {
+        return opeartions;
+    }
+
+    public String toString(){
+        String serviceXML = "<service name=\""+ serviceName + "\">\n" +
+                "<description>\n" +
+                "Please Type your service description here\n" +
+                "</description>\n"+
+                "<parameter name=\"ServiceClass\" locked=\"false\">" + serviceClass + "</parameter>\n";
+        for (int i = 0; i < opeartions.size(); i++) {
+            String s = (String) opeartions.get(i);
+            String op = "<operation name=\"" + s + "\">\n" +   "</operation>\n";
+            serviceXML = serviceXML + op;
+        }
+        serviceXML = serviceXML + "</service>\n";
+        return serviceXML;
+    }
+
+}



Re: svn commit: r291260 [1/2] - in /webservices/axis2/trunk/java/modules/tool/ideapluging/plugin: ./ META-INF/ icons/ org/ org/apache/ org/apache/axis2/ org/apache/axis2/tools/ org/apache/axis2/tools/bean/ org/apache/axis2/tools/idea/ org/apache/idaeplugin

Posted by Deepal Jayasinghe <de...@opensource.lk>.
The given URL does not show up the tool , pls have a look at
 http://people.apache.org/~deepal/axis2tools/Axis2Ideaplugin.jar


Thanks,
 Deepal
................................................................
~Future is Open~

----- Original Message ----- 
From: <de...@apache.org>
To: <ax...@ws.apache.org>
Sent: Saturday, September 24, 2005 1:51 PM
Subject: svn commit: r291260 [1/2] - in 
/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin: ./ META-INF/ 
icons/ org/ org/apache/ org/apache/axis2/ org/apache/axis2/tools/ 
org/apache/axis2/tools/bean/ org/apache/axis2/tools/idea/ 
org/apache/idaeplugin...


> Author: deepal
> Date: Sat Sep 24 00:51:20 2005
> New Revision: 291260
>
> URL: http://svn.apache.org/viewcvs?rev=291260&view=rev
> Log:
> IDEA plugin both code generation and ServiceArchive creator.
>
> plugin is there at http://ws.apache.org/axis2/tools/Axis2Ideaplugin.jar
>
> I am sorry I did not have time to write a ReadMe.txt I will do that soon , 
> any way download that jar and extract into IDEA/plugin director ( extract 
> to idea/pugin/Axis2)
>
>
> Added:
>    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/
>    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/META-INF/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/META-INF/plugin.xml
>    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/Thumbs.db 
> (with props)
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.gif 
> (with props)
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.png 
> (with props)
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/icon.png 
> (with props)
>    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/bean/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/bean/CodegenBean.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ActionsPlugin.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/BottomPanel.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/FirstPanel.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ImagePanel.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/OutPutPane.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/PlugingClassLoader.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/SecondPanel.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ServiceArchiveCreator.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/Window.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ModuleDialog.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ParameterDialog.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ArchiveBean.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/FileCopier.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/JarFileWriter.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ObjectKeeper.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/OprationObj.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ServiceObj.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/Axi2PluginPage.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/BottomPanel.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/ClassSelctionPage.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/DescriptorFile.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/FirstFrame.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/ImagePanel.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/LogoPage.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/MainFrame.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/OutPage.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/ResourceChooser.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/SelectPanel.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/XMLSelectionPage.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/table/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/table/ArchiveTableModel.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/plugin/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/plugin/Axis2IdeaPlugin.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/plugin/Axis2PlgingAction.java
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/META-INF/plugin.xml
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/META-INF/plugin.xml?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/META-INF/plugin.xml 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/META-INF/plugin.xml 
> Sat Sep 24 00:51:20 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>Axis2 IDEA tools</name>
> +
> +    <!-- Description -->
> +    <description> Service Rrchive craetion and Codegenaration 
> </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.idaeplugin.plugin.Axis2IdeaPlugin</implementation-class>
> +
> +            <!-- Component's interface class -->
> + 
> <interface-class>org.apache.idaeplugin.plugin.Axis2IdeaPlugin</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.idaeplugin.plugin.Axis2PlgingAction"
> +            text="Axis2 plugins" description="Service craetion and 
> codegeneration">
> +            <keyboard-shortcut first-keystroke="alt W" 
> 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="Axis2" 
> 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/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/Thumbs.db
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/Thumbs.db?rev=291260&view=auto
> ==============================================================================
> Binary file - no diff available.
>
> Propchange: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/Thumbs.db
> ------------------------------------------------------------------------------
>    svn:mime-type = application/octet-stream
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.gif
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.gif?rev=291260&view=auto
> ==============================================================================
> Binary file - no diff available.
>
> Propchange: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.gif
> ------------------------------------------------------------------------------
>    svn:mime-type = application/octet-stream
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.png
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.png?rev=291260&view=auto
> ==============================================================================
> Binary file - no diff available.
>
> Propchange: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.png
> ------------------------------------------------------------------------------
>    svn:mime-type = application/octet-stream
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/icon.png
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/icon.png?rev=291260&view=auto
> ==============================================================================
> Binary file - no diff available.
>
> Propchange: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/icon.png
> ------------------------------------------------------------------------------
>    svn:mime-type = application/octet-stream
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/bean/CodegenBean.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/bean/CodegenBean.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/bean/CodegenBean.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/bean/CodegenBean.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,229 @@
> +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());
> +       optionMap.put(CommandLineOptionConstants.DATA_BINDING_TYPE_OPTION, 
> new CommandLineOption(
> +               CommandLineOptionConstants.DATA_BINDING_TYPE_OPTION, 
> getStringArray(0+"")));
> +        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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ActionsPlugin.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ActionsPlugin.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ActionsPlugin.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ActionsPlugin.java 
> Sat Sep 24 00:51:20 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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/BottomPanel.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/BottomPanel.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/BottomPanel.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/BottomPanel.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,137 @@
> +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;
> +import java.io.InputStream;
> +import java.io.FileInputStream;
> +import java.net.URL;
> +
> +/*
> +* 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) {
> +                e1.printStackTrace();
> +                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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/FirstPanel.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/FirstPanel.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/FirstPanel.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/FirstPanel.java 
> Sat Sep 24 00:51:20 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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ImagePanel.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ImagePanel.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ImagePanel.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ImagePanel.java 
> Sat Sep 24 00:51:20 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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/OutPutPane.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/OutPutPane.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/OutPutPane.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/OutPutPane.java 
> Sat Sep 24 00:51:20 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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/PlugingClassLoader.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/PlugingClassLoader.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/PlugingClassLoader.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/PlugingClassLoader.java 
> Sat Sep 24 00:51:20 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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/SecondPanel.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/SecondPanel.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/SecondPanel.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/SecondPanel.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,170 @@
> +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;
> +
> +/*
> +* 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;
> +
> +    JLabel databiding;
> +    JComboBox databindingType;
> +
> +    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);
> +
> +        databiding = new JLabel("Select Databinding type");
> +        add(databiding);
> +        databindingType = new JComboBox();
> +        databindingType.addItem("Default");
> +        databindingType.addItem("XML_BEANS");
> +        databindingType.addItem("JAXB");
> +        databindingType.setEnabled(false);
> +        add(databindingType);
> +
> +        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+280,insets.top+30,150,24);}
> +        c = parent.getComponent(4);
> +        if (c.isVisible()) 
> {c.setBounds(insets.left+8,insets.top+55,150,24);}
> +        c = parent.getComponent(5);
> +        if (c.isVisible()) 
> {c.setBounds(insets.left+8,insets.top+80,200,24);}
> +        c = parent.getComponent(6);
> +        if (c.isVisible()) 
> {c.setBounds(insets.left+210,insets.top+80,160,24);}
> +        c = parent.getComponent(7);
> +        if (c.isVisible()) 
> {c.setBounds(insets.left+8,insets.top+110,200,24);}
> +        c = parent.getComponent(8);
> +        if (c.isVisible()) 
> {c.setBounds(insets.left+210,insets.top+110,200,24);}
> +    }
> +}
> +
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ServiceArchiveCreator.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ServiceArchiveCreator.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ServiceArchiveCreator.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ServiceArchiveCreator.java 
> Sat Sep 24 00:51:20 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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/Window.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/Window.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/Window.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/Window.java 
> Sat Sep 24 00:51:20 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);}
> +    }
> +}
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ModuleDialog.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ModuleDialog.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ModuleDialog.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ModuleDialog.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,88 @@
> +package org.apache.idaeplugin;
> +
> +import javax.swing.*;
> +import java.awt.event.ActionListener;
> +import java.awt.event.ActionEvent;
> +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: Sep 23, 2005
> + * Time: 4:11:19 PM
> + */
> +public class ModuleDialog extends JFrame implements ActionListener {
> +
> +    Insets insets;
> +
> +    protected JLabel  moduleName;
> +    protected JTextField txtModule;
> +    protected JButton addbut;
> +
> +    protected String val;
> +    JTextArea textarea;
> +    int position;
> +
> +    public ModuleDialog() {
> +        getContentPane().setFont(new Font("Helvetica", Font.PLAIN, 12));
> +        getContentPane().setLayout(null);
> +        getContentPane().setBounds(150,150,300,100);
> +        insets = getInsets();
> +
> +        moduleName = new JLabel("Module Name: ");
> +        getContentPane().add(moduleName);
> +
> +        txtModule = new JTextField("moduleName");
> +        getContentPane().add(txtModule);
> +
> +        addbut = new JButton("Add");
> +        getContentPane().add(addbut);
> +        addbut.addActionListener(this);
> +
> +
> +        moduleName.setBounds(insets.left + 5,insets.top +6 ,100,24);
> +        txtModule.setBounds(insets.left + 110,insets.top+6,160,24);
> +        addbut.setBounds(insets.left + 100,insets.top+45,60,24);
> +
> +        setSize(getPreferredSize());
> +        setResizable(false);
> +    }
> +
> +    public void showDialog(String in , JTextArea textarea , int 
> position){
> +        this.textarea = textarea;
> +        this.position =position;
> +        this.show();
> +        this.val = in;
> +        this.setVisible(true);
> +    }
> +
> +    public String  hideForm(){
> +        return  this.val;
> +    }
> +
> +    public void actionPerformed(ActionEvent e) {
> +        Object obj = e.getSource();
> +        if(obj == addbut){
> +            String str = "<module ref=\"" +txtModule.getText().trim() + 
> "\" >";
> +            val = str;
> +            textarea.insert(str,position +1);
> +            this.setVisible(false);
> +        }
> +    }
> +}
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ParameterDialog.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ParameterDialog.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ParameterDialog.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ParameterDialog.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,111 @@
> +package org.apache.idaeplugin;
> +
> +import org.apache.idaeplugin.bean.ArchiveBean;
> +import org.apache.idaeplugin.frames.ImagePanel;
> +import org.apache.idaeplugin.frames.FirstFrame;
> +import org.apache.idaeplugin.frames.BottomPanel;
> +
> +import javax.swing.*;
> +import java.awt.*;
> +import java.awt.event.WindowAdapter;
> +import java.awt.event.WindowEvent;
> +import java.awt.event.ActionListener;
> +import java.awt.event.ActionEvent;
> +/*
> +* 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: Sep 23, 2005
> + * Time: 12:11:36 PM
> + */
> +public class ParameterDialog extends JFrame implements ActionListener {
> +
> +    Insets insets;
> +
> +    protected JLabel  paraName;
> +    protected JLabel  paravale;
> +    protected JTextField txtpraName;
> +    protected JTextArea txtparaValue;
> +    protected JScrollPane sp;
> +    protected JButton addbut;
> +    protected String val;
> +    JTextArea textarea;
> +    int position;
> +
> +    public ParameterDialog() {
> +        getContentPane().setFont(new Font("Helvetica", Font.PLAIN, 12));
> +        getContentPane().setLayout(null);
> +        getContentPane().setBounds(150,150,300,180);
> +        insets = getInsets();
> +
> +        paraName = new JLabel("Paramter Name: ");
> +        getContentPane().add(paraName);
> +
> +        paravale = new JLabel("Paramter Value: ");
> +        getContentPane().add(paravale);
> +
> +
> +        txtpraName = new JTextField("-para name -");
> +        getContentPane().add(txtpraName);
> +
> +
> +        txtparaValue = new JTextArea("-para vale -");
> +        sp = new JScrollPane(txtparaValue);
> +        getContentPane().add(sp);
> +        sp.setAutoscrolls(true);
> +
> +        addbut = new JButton("Add");
> +        getContentPane().add(addbut);
> +        addbut.addActionListener(this);
> +
> +
> +        paraName.setBounds(insets.left + 5,insets.top +6 ,100,24);
> +        paravale.setBounds(insets.left + 5,insets.top+34,100,24);
> +        sp.setBounds(insets.left + 110,insets.top+34,160,60);
> +        txtpraName.setBounds(insets.left + 110,insets.top+6,160,24);
> +        addbut.setBounds(insets.left + 100,insets.top+100,60,24);
> +
> +        setSize(getPreferredSize());
> +        setResizable(false);
> +    }
> +
> +    public void showDialog(String in , JTextArea textarea , int 
> position){
> +        this.textarea = textarea;
> +        this.position =position;
> +        this.show();
> +        this.val = in;
> +        this.setVisible(true);
> +    }
> +
> +    public String  hideForm(){
> +        return  this.val;
> +    }
> +
> +    public void actionPerformed(ActionEvent e) {
> +        Object obj = e.getSource();
> +        if(obj == addbut){
> +            String str = "<parameter locked=\"false\" name=\"" + 
> txtpraName.getText().trim() + "\">\n"
> +                    + txtparaValue.getText() +"\n"+
> +                    "</parameter>\n";
> +            val = str;
> +            textarea.insert(str,position +1);
> +            this.setVisible(false);
> +        }
> +    }
> +}
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ArchiveBean.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ArchiveBean.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ArchiveBean.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ArchiveBean.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,194 @@
> +package org.apache.idaeplugin.bean;
> +
> +import java.io.*;
> +import java.net.URLClassLoader;
> +import java.net.URL;
> +import java.net.MalformedURLException;
> +import java.lang.reflect.Method;
> +import java.util.ArrayList;
> +/*
> +* 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: Sep 17, 2005
> + * Time: 11:40:40 PM
> + */
> +public class ArchiveBean {
> +
> +    private boolean singleService = false;
> +    private boolean generetServiceDesc = false;
> +    private File classLocation ;
> +    private ClassLoader classLoader;
> +    private String ServiceXML;
> +
> +    public String fileSeparator = System.getProperty("file.separator");
> +
> +    private ArrayList libs;
> +    private ArrayList wsdls;
> +
> +    private String outPath;
> +    private String archiveName;
> +
> +    public boolean isSingleService() {
> +        return singleService;
> +    }
> +
> +    public void setSingleService(boolean singleService) {
> +        this.singleService = singleService;
> +    }
> +
> +    public boolean isGeneretServiceDesc() {
> +        return generetServiceDesc;
> +    }
> +
> +    public void setGeneretServiceDesc(boolean generetServiceDesc) {
> +        this.generetServiceDesc = generetServiceDesc;
> +    }
> +    public File getClassLocation() {
> +        return classLocation;
> +    }
> +
> +    public void setClassLocation(File classLocation) {
> +        this.classLocation = classLocation;
> +    }
> +
> +    public String getServiceXML() {
> +        return ServiceXML;
> +    }
> +
> +    public void setServiceXML(String serviceXML) {
> +        ServiceXML = serviceXML;
> +    }
> +
> +    public ArrayList getLibs() {
> +        return libs;
> +    }
> +
> +    public void setLibs(ArrayList libs) {
> +        this.libs = libs;
> +    }
> +
> +    public ArrayList getWsdls() {
> +        return wsdls;
> +    }
> +
> +    public void setWsdls(ArrayList wsdls) {
> +        this.wsdls = wsdls;
> +    }
> +
> +    public String getOutPath() {
> +        return outPath;
> +    }
> +
> +    public void setOutPath(String outPath) {
> +        this.outPath = outPath;
> +    }
> +
> +    public String getArchiveName() {
> +        return archiveName;
> +    }
> +
> +    public void setArchiveName(String archiveName) {
> +        this.archiveName = archiveName;
> +    }
> +
> +    public void finsh(){
> +        //Creating out File
> +        try {
> +            File outFile = new File(getOutPath());
> +            File tempfile = new File(outFile,"temp");
> +            if(!tempfile.exists()){
> +                tempfile.mkdirs();
> +            }
> +            //creating META-INF
> +            File metainf = new File(tempfile,"META-INF");
> +            if(!metainf.exists()){
> +                metainf.mkdir();
> +            }
> +
> +            // Writing services.xml
> +            File servicexml = new File(metainf,"services.xml");
> +            FileWriter writer = new FileWriter(servicexml);
> +            writer.write(getServiceXML());
> +            writer.flush();
> +            writer.close();
> +
> +            //Coping class files
> +            FileCopier fc = new FileCopier();
> +            fc.copyFiles(getClassLocation(),tempfile,null);
> +
> +            // Coping wsdl files
> +            File lib = new File(tempfile,"lib");
> +            if(!lib.exists()){
> +                lib.mkdir();
> +            }
> +            for (int i = 0; i < libs.size(); i++) {
> +                String libname = (String) libs.get(i);
> +                fc.copyFiles(new File(libname),lib,null);
> +            }
> +
> +            //coping wsdl files
> +            for (int i = 0; i < wsdls.size(); i++) {
> +                String libname = (String) wsdls.get(i);
> +                fc.copyFiles(new File(libname),metainf,null);
> +            }
> +
> +            String arcivename =getArchiveName();
> +            if(arcivename.indexOf(".jar") < 0){
> +                 arcivename = arcivename + ".jar";
> +            }
> +            JarFileWriter jwriter = new JarFileWriter();
> +            jwriter.writeJarFile(outFile,arcivename,tempfile);
> +            //craeting the jar file
> +            deleteDir(tempfile);
> +//
> +        } catch (FileNotFoundException e) {
> +            e.printStackTrace();
> +        } catch (IOException e) {
> +            e.printStackTrace();
> +        } catch (Exception e) {
> +            e.printStackTrace();
> +        }
> +    }
> +
> +     private boolean deleteDir(File dir) {
> +        if (dir.isDirectory()) {
> +            String[] children = dir.list();
> +            for (int i=0; i<children.length; i++) {
> +                boolean success = deleteDir(new File(dir, children[i]));
> +                if (!success) {
> +                    return false;
> +                }
> +            }
> +        }
> +
> +        // The directory is now empty so delete it
> +        return dir.delete();
> +    }
> +
> +    public ClassLoader getClassLoader() {
> +        return classLoader;
> +    }
> +
> +    public void setClassLoader(ClassLoader classLoader) {
> +        this.classLoader = classLoader;
> +    }
> +
> +
> +}
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/FileCopier.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/FileCopier.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/FileCopier.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/FileCopier.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,63 @@
> +package org.apache.idaeplugin.bean;
> +
> +import org.apache.tools.ant.taskdefs.Copy;
> +import org.apache.tools.ant.types.FileSet;
> +import org.apache.tools.ant.Project;
> +
> +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: Sep 23, 2005
> + * Time: 6:15:54 PM
> + */
> +public class FileCopier extends Copy {
> +    public FileCopier() {
> +        this.setProject(new Project());
> +        this.getProject().init();
> +        this.setTaskType("copy");
> +        this.setTaskName("copy-files");
> +        this.setOwningTarget(new org.apache.tools.ant.Target());
> +    }
> +
> +    public void copyFiles(File sourceFile, File 
> destinationDirectory,String filter){
> +
> +        this.filesets.clear();
> +
> +        if (sourceFile.isFile())
> +            this.setFile(sourceFile);
> +        else {
> +            FileSet fileset = new FileSet();
> +            fileset.setDir(sourceFile);
> +            if (filter!=null){
> +                if (filter.matches("\\.\\w*")){
> +                    fileset.setIncludes("*/**/*"+filter);
> +                }
> +            }
> +
> +            this.addFileset(fileset);
> +        }
> +        this.setTodir(destinationDirectory);
> +        this.perform();
> +    }
> +
> +
> +}
> +
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/JarFileWriter.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/JarFileWriter.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/JarFileWriter.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/JarFileWriter.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,63 @@
> +package org.apache.idaeplugin.bean;
> +
> +import org.apache.tools.ant.Project;
> +import org.apache.tools.ant.taskdefs.Jar;
> +
> +import java.io.File;
> +import java.io.IOException;
> +/*
> +* 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: Sep 23, 2005
> + * Time: 8:48:21 PM
> + */
> +public class JarFileWriter extends Jar {
> +
> +
> +    public JarFileWriter() {
> +        this.setProject(new Project());
> +        this.getProject().init();
> +        this.setTaskType("jar");
> +        this.setTaskName("jar");
> +        this.setOwningTarget(new org.apache.tools.ant.Target());
> +    }
> +
> +    public void writeJarFile(File outputFolder,String outputFileName, 
> File inputFileFolder) throws IOException,Exception {
> +
> +        if (!outputFolder.exists()){
> +            outputFolder.mkdir(); //create the output path
> +        }else{
> +            if (!outputFolder.isDirectory())
> +                return;
> +        }
> +
> +        File targetFile = new File(outputFolder,outputFileName);
> +        this.setBasedir(inputFileFolder);
> +        this.setDestFile(targetFile);
> +
> +        //run the task
> +        this.perform();
> +
> +
> +    }
> +
> +
> +}
> +
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ObjectKeeper.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ObjectKeeper.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ObjectKeeper.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ObjectKeeper.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,44 @@
> +package org.apache.idaeplugin.bean;
> +
> +import javax.swing.*;
> +/*
> +* 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: Sep 17, 2005
> + * Time: 11:40:12 PM
> + */
> +
> +//to fill the bean
> +public interface ObjectKeeper {
> +
> +    void fillBean(ArchiveBean bean);
> +
> +    //to keep a refernce to next panel
> +    void setNext(JPanel next);
> +    JPanel getNext();
> +
> +    //to keep a refernce to previous panel
> +    void setPrivious(JPanel privious);
> +    JPanel getPrivious();
> +
> +    String getTopLable();
> +    String getLable();
> +
> +}
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/OprationObj.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/OprationObj.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/OprationObj.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/OprationObj.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,81 @@
> +package org.apache.idaeplugin.bean;
> +/*
> +* 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: Sep 21, 2005
> + * Time: 11:36:02 PM
> + */
> +public class OprationObj {
> +
> +    private String OpName ;
> +    private String ReturnVale;
> +    private Integer paramters;
> +    private Boolean select;
> +
> +    public OprationObj(String opName, String returnVale, Integer 
> paramters, Boolean select) {
> +        OpName = opName;
> +        ReturnVale = returnVale;
> +        this.paramters = paramters;
> +        this.select = select;
> +    }
> +
> +
> +    public String getOpName() {
> +        return OpName;
> +    }
> +
> +    public void setOpName(String opName) {
> +        OpName = opName;
> +    }
> +
> +    public String getReturnVale() {
> +        return ReturnVale;
> +    }
> +
> +    public void setReturnVale(String returnVale) {
> +        ReturnVale = returnVale;
> +    }
> +
> +    public Integer getParamters() {
> +        return paramters;
> +    }
> +
> +    public void setParamters(Integer paramters) {
> +        this.paramters = paramters;
> +    }
> +
> +    public Boolean getSelect() {
> +        return select;
> +    }
> +
> +    public void setSelect(Boolean select) {
> +        this.select = select;
> +    }
> +
> +    public void printMe(){
> +        System.out.println("======== Row =============");
> +        System.out.println("OpName = " + OpName);
> +        System.out.println("paramters = " + paramters);
> +        System.out.println("ReturnVale = " + ReturnVale);
> +        System.out.println("select = " + select);
> +        System.out.println("==========================");
> +    }
> +
> +}
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ServiceObj.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ServiceObj.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ServiceObj.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ServiceObj.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,65 @@
> +package org.apache.idaeplugin.bean;
> +
> +import java.util.ArrayList;
> +/*
> +* 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: Sep 22, 2005
> + * Time: 11:11:48 PM
> + */
> +public class ServiceObj {
> +    private String serviceName;
> +    private String serviceClass;
> +    private ArrayList opeartions;
> +
> +    public ServiceObj(String serviceName, String serviceClass, ArrayList 
> opeartions) {
> +        this.serviceName = serviceName;
> +        this.serviceClass = serviceClass;
> +        this.opeartions = opeartions;
> +    }
> +
> +    public String getServiceName() {
> +        return serviceName;
> +    }
> +
> +    public String getServiceClass() {
> +        return serviceClass;
> +    }
> +
> +    public ArrayList getOpeartions() {
> +        return opeartions;
> +    }
> +
> +    public String toString(){
> +        String serviceXML = "<service name=\""+ serviceName + "\">\n" +
> +                "<description>\n" +
> +                "Please Type your service description here\n" +
> +                "</description>\n"+
> +                "<parameter name=\"ServiceClass\" locked=\"false\">" + 
> serviceClass + "</parameter>\n";
> +        for (int i = 0; i < opeartions.size(); i++) {
> +            String s = (String) opeartions.get(i);
> +            String op = "<operation name=\"" + s + "\">\n" + 
> "</operation>\n";
> +            serviceXML = serviceXML + op;
> +        }
> +        serviceXML = serviceXML + "</service>\n";
> +        return serviceXML;
> +    }
> +
> +}
>
>
> 



Re: svn commit: r291260 [1/2] - in /webservices/axis2/trunk/java/modules/tool/ideapluging/plugin: ./ META-INF/ icons/ org/ org/apache/ org/apache/axis2/ org/apache/axis2/tools/ org/apache/axis2/tools/bean/ org/apache/axis2/tools/idea/ org/apache/idaeplugin

Posted by Deepal Jayasinghe <de...@opensource.lk>.
The given URL does not show up the tool , pls have a look at
 http://people.apache.org/~deepal/axis2tools/Axis2Ideaplugin.jar


Thanks,
 Deepal
................................................................
~Future is Open~

----- Original Message ----- 
From: <de...@apache.org>
To: <ax...@ws.apache.org>
Sent: Saturday, September 24, 2005 1:51 PM
Subject: svn commit: r291260 [1/2] - in 
/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin: ./ META-INF/ 
icons/ org/ org/apache/ org/apache/axis2/ org/apache/axis2/tools/ 
org/apache/axis2/tools/bean/ org/apache/axis2/tools/idea/ 
org/apache/idaeplugin...


> Author: deepal
> Date: Sat Sep 24 00:51:20 2005
> New Revision: 291260
>
> URL: http://svn.apache.org/viewcvs?rev=291260&view=rev
> Log:
> IDEA plugin both code generation and ServiceArchive creator.
>
> plugin is there at http://ws.apache.org/axis2/tools/Axis2Ideaplugin.jar
>
> I am sorry I did not have time to write a ReadMe.txt I will do that soon , 
> any way download that jar and extract into IDEA/plugin director ( extract 
> to idea/pugin/Axis2)
>
>
> Added:
>    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/
>    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/META-INF/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/META-INF/plugin.xml
>    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/Thumbs.db 
> (with props)
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.gif 
> (with props)
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.png 
> (with props)
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/icon.png 
> (with props)
>    webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/bean/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/bean/CodegenBean.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ActionsPlugin.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/BottomPanel.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/FirstPanel.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ImagePanel.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/OutPutPane.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/PlugingClassLoader.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/SecondPanel.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ServiceArchiveCreator.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/Window.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ModuleDialog.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ParameterDialog.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ArchiveBean.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/FileCopier.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/JarFileWriter.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ObjectKeeper.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/OprationObj.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ServiceObj.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/Axi2PluginPage.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/BottomPanel.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/ClassSelctionPage.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/DescriptorFile.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/FirstFrame.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/ImagePanel.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/LogoPage.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/MainFrame.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/OutPage.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/ResourceChooser.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/SelectPanel.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/XMLSelectionPage.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/table/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/frames/table/ArchiveTableModel.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/plugin/
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/plugin/Axis2IdeaPlugin.java
> 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/plugin/Axis2PlgingAction.java
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/META-INF/plugin.xml
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/META-INF/plugin.xml?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/META-INF/plugin.xml 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/META-INF/plugin.xml 
> Sat Sep 24 00:51:20 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>Axis2 IDEA tools</name>
> +
> +    <!-- Description -->
> +    <description> Service Rrchive craetion and Codegenaration 
> </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.idaeplugin.plugin.Axis2IdeaPlugin</implementation-class>
> +
> +            <!-- Component's interface class -->
> + 
> <interface-class>org.apache.idaeplugin.plugin.Axis2IdeaPlugin</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.idaeplugin.plugin.Axis2PlgingAction"
> +            text="Axis2 plugins" description="Service craetion and 
> codegeneration">
> +            <keyboard-shortcut first-keystroke="alt W" 
> 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="Axis2" 
> 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/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/Thumbs.db
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/Thumbs.db?rev=291260&view=auto
> ==============================================================================
> Binary file - no diff available.
>
> Propchange: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/Thumbs.db
> ------------------------------------------------------------------------------
>    svn:mime-type = application/octet-stream
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.gif
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.gif?rev=291260&view=auto
> ==============================================================================
> Binary file - no diff available.
>
> Propchange: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.gif
> ------------------------------------------------------------------------------
>    svn:mime-type = application/octet-stream
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.png
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.png?rev=291260&view=auto
> ==============================================================================
> Binary file - no diff available.
>
> Propchange: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/asf-feather.png
> ------------------------------------------------------------------------------
>    svn:mime-type = application/octet-stream
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/icon.png
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/icon.png?rev=291260&view=auto
> ==============================================================================
> Binary file - no diff available.
>
> Propchange: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/icons/icon.png
> ------------------------------------------------------------------------------
>    svn:mime-type = application/octet-stream
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/bean/CodegenBean.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/bean/CodegenBean.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/bean/CodegenBean.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/bean/CodegenBean.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,229 @@
> +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());
> +       optionMap.put(CommandLineOptionConstants.DATA_BINDING_TYPE_OPTION, 
> new CommandLineOption(
> +               CommandLineOptionConstants.DATA_BINDING_TYPE_OPTION, 
> getStringArray(0+"")));
> +        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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ActionsPlugin.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ActionsPlugin.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ActionsPlugin.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ActionsPlugin.java 
> Sat Sep 24 00:51:20 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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/BottomPanel.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/BottomPanel.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/BottomPanel.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/BottomPanel.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,137 @@
> +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;
> +import java.io.InputStream;
> +import java.io.FileInputStream;
> +import java.net.URL;
> +
> +/*
> +* 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) {
> +                e1.printStackTrace();
> +                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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/FirstPanel.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/FirstPanel.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/FirstPanel.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/FirstPanel.java 
> Sat Sep 24 00:51:20 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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ImagePanel.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ImagePanel.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ImagePanel.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ImagePanel.java 
> Sat Sep 24 00:51:20 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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/OutPutPane.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/OutPutPane.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/OutPutPane.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/OutPutPane.java 
> Sat Sep 24 00:51:20 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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/PlugingClassLoader.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/PlugingClassLoader.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/PlugingClassLoader.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/PlugingClassLoader.java 
> Sat Sep 24 00:51:20 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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/SecondPanel.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/SecondPanel.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/SecondPanel.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/SecondPanel.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,170 @@
> +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;
> +
> +/*
> +* 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;
> +
> +    JLabel databiding;
> +    JComboBox databindingType;
> +
> +    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);
> +
> +        databiding = new JLabel("Select Databinding type");
> +        add(databiding);
> +        databindingType = new JComboBox();
> +        databindingType.addItem("Default");
> +        databindingType.addItem("XML_BEANS");
> +        databindingType.addItem("JAXB");
> +        databindingType.setEnabled(false);
> +        add(databindingType);
> +
> +        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+280,insets.top+30,150,24);}
> +        c = parent.getComponent(4);
> +        if (c.isVisible()) 
> {c.setBounds(insets.left+8,insets.top+55,150,24);}
> +        c = parent.getComponent(5);
> +        if (c.isVisible()) 
> {c.setBounds(insets.left+8,insets.top+80,200,24);}
> +        c = parent.getComponent(6);
> +        if (c.isVisible()) 
> {c.setBounds(insets.left+210,insets.top+80,160,24);}
> +        c = parent.getComponent(7);
> +        if (c.isVisible()) 
> {c.setBounds(insets.left+8,insets.top+110,200,24);}
> +        c = parent.getComponent(8);
> +        if (c.isVisible()) 
> {c.setBounds(insets.left+210,insets.top+110,200,24);}
> +    }
> +}
> +
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ServiceArchiveCreator.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ServiceArchiveCreator.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ServiceArchiveCreator.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/ServiceArchiveCreator.java 
> Sat Sep 24 00:51:20 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/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/Window.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/Window.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/Window.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/axis2/tools/idea/Window.java 
> Sat Sep 24 00:51:20 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);}
> +    }
> +}
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ModuleDialog.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ModuleDialog.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ModuleDialog.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ModuleDialog.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,88 @@
> +package org.apache.idaeplugin;
> +
> +import javax.swing.*;
> +import java.awt.event.ActionListener;
> +import java.awt.event.ActionEvent;
> +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: Sep 23, 2005
> + * Time: 4:11:19 PM
> + */
> +public class ModuleDialog extends JFrame implements ActionListener {
> +
> +    Insets insets;
> +
> +    protected JLabel  moduleName;
> +    protected JTextField txtModule;
> +    protected JButton addbut;
> +
> +    protected String val;
> +    JTextArea textarea;
> +    int position;
> +
> +    public ModuleDialog() {
> +        getContentPane().setFont(new Font("Helvetica", Font.PLAIN, 12));
> +        getContentPane().setLayout(null);
> +        getContentPane().setBounds(150,150,300,100);
> +        insets = getInsets();
> +
> +        moduleName = new JLabel("Module Name: ");
> +        getContentPane().add(moduleName);
> +
> +        txtModule = new JTextField("moduleName");
> +        getContentPane().add(txtModule);
> +
> +        addbut = new JButton("Add");
> +        getContentPane().add(addbut);
> +        addbut.addActionListener(this);
> +
> +
> +        moduleName.setBounds(insets.left + 5,insets.top +6 ,100,24);
> +        txtModule.setBounds(insets.left + 110,insets.top+6,160,24);
> +        addbut.setBounds(insets.left + 100,insets.top+45,60,24);
> +
> +        setSize(getPreferredSize());
> +        setResizable(false);
> +    }
> +
> +    public void showDialog(String in , JTextArea textarea , int 
> position){
> +        this.textarea = textarea;
> +        this.position =position;
> +        this.show();
> +        this.val = in;
> +        this.setVisible(true);
> +    }
> +
> +    public String  hideForm(){
> +        return  this.val;
> +    }
> +
> +    public void actionPerformed(ActionEvent e) {
> +        Object obj = e.getSource();
> +        if(obj == addbut){
> +            String str = "<module ref=\"" +txtModule.getText().trim() + 
> "\" >";
> +            val = str;
> +            textarea.insert(str,position +1);
> +            this.setVisible(false);
> +        }
> +    }
> +}
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ParameterDialog.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ParameterDialog.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ParameterDialog.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/ParameterDialog.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,111 @@
> +package org.apache.idaeplugin;
> +
> +import org.apache.idaeplugin.bean.ArchiveBean;
> +import org.apache.idaeplugin.frames.ImagePanel;
> +import org.apache.idaeplugin.frames.FirstFrame;
> +import org.apache.idaeplugin.frames.BottomPanel;
> +
> +import javax.swing.*;
> +import java.awt.*;
> +import java.awt.event.WindowAdapter;
> +import java.awt.event.WindowEvent;
> +import java.awt.event.ActionListener;
> +import java.awt.event.ActionEvent;
> +/*
> +* 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: Sep 23, 2005
> + * Time: 12:11:36 PM
> + */
> +public class ParameterDialog extends JFrame implements ActionListener {
> +
> +    Insets insets;
> +
> +    protected JLabel  paraName;
> +    protected JLabel  paravale;
> +    protected JTextField txtpraName;
> +    protected JTextArea txtparaValue;
> +    protected JScrollPane sp;
> +    protected JButton addbut;
> +    protected String val;
> +    JTextArea textarea;
> +    int position;
> +
> +    public ParameterDialog() {
> +        getContentPane().setFont(new Font("Helvetica", Font.PLAIN, 12));
> +        getContentPane().setLayout(null);
> +        getContentPane().setBounds(150,150,300,180);
> +        insets = getInsets();
> +
> +        paraName = new JLabel("Paramter Name: ");
> +        getContentPane().add(paraName);
> +
> +        paravale = new JLabel("Paramter Value: ");
> +        getContentPane().add(paravale);
> +
> +
> +        txtpraName = new JTextField("-para name -");
> +        getContentPane().add(txtpraName);
> +
> +
> +        txtparaValue = new JTextArea("-para vale -");
> +        sp = new JScrollPane(txtparaValue);
> +        getContentPane().add(sp);
> +        sp.setAutoscrolls(true);
> +
> +        addbut = new JButton("Add");
> +        getContentPane().add(addbut);
> +        addbut.addActionListener(this);
> +
> +
> +        paraName.setBounds(insets.left + 5,insets.top +6 ,100,24);
> +        paravale.setBounds(insets.left + 5,insets.top+34,100,24);
> +        sp.setBounds(insets.left + 110,insets.top+34,160,60);
> +        txtpraName.setBounds(insets.left + 110,insets.top+6,160,24);
> +        addbut.setBounds(insets.left + 100,insets.top+100,60,24);
> +
> +        setSize(getPreferredSize());
> +        setResizable(false);
> +    }
> +
> +    public void showDialog(String in , JTextArea textarea , int 
> position){
> +        this.textarea = textarea;
> +        this.position =position;
> +        this.show();
> +        this.val = in;
> +        this.setVisible(true);
> +    }
> +
> +    public String  hideForm(){
> +        return  this.val;
> +    }
> +
> +    public void actionPerformed(ActionEvent e) {
> +        Object obj = e.getSource();
> +        if(obj == addbut){
> +            String str = "<parameter locked=\"false\" name=\"" + 
> txtpraName.getText().trim() + "\">\n"
> +                    + txtparaValue.getText() +"\n"+
> +                    "</parameter>\n";
> +            val = str;
> +            textarea.insert(str,position +1);
> +            this.setVisible(false);
> +        }
> +    }
> +}
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ArchiveBean.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ArchiveBean.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ArchiveBean.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ArchiveBean.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,194 @@
> +package org.apache.idaeplugin.bean;
> +
> +import java.io.*;
> +import java.net.URLClassLoader;
> +import java.net.URL;
> +import java.net.MalformedURLException;
> +import java.lang.reflect.Method;
> +import java.util.ArrayList;
> +/*
> +* 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: Sep 17, 2005
> + * Time: 11:40:40 PM
> + */
> +public class ArchiveBean {
> +
> +    private boolean singleService = false;
> +    private boolean generetServiceDesc = false;
> +    private File classLocation ;
> +    private ClassLoader classLoader;
> +    private String ServiceXML;
> +
> +    public String fileSeparator = System.getProperty("file.separator");
> +
> +    private ArrayList libs;
> +    private ArrayList wsdls;
> +
> +    private String outPath;
> +    private String archiveName;
> +
> +    public boolean isSingleService() {
> +        return singleService;
> +    }
> +
> +    public void setSingleService(boolean singleService) {
> +        this.singleService = singleService;
> +    }
> +
> +    public boolean isGeneretServiceDesc() {
> +        return generetServiceDesc;
> +    }
> +
> +    public void setGeneretServiceDesc(boolean generetServiceDesc) {
> +        this.generetServiceDesc = generetServiceDesc;
> +    }
> +    public File getClassLocation() {
> +        return classLocation;
> +    }
> +
> +    public void setClassLocation(File classLocation) {
> +        this.classLocation = classLocation;
> +    }
> +
> +    public String getServiceXML() {
> +        return ServiceXML;
> +    }
> +
> +    public void setServiceXML(String serviceXML) {
> +        ServiceXML = serviceXML;
> +    }
> +
> +    public ArrayList getLibs() {
> +        return libs;
> +    }
> +
> +    public void setLibs(ArrayList libs) {
> +        this.libs = libs;
> +    }
> +
> +    public ArrayList getWsdls() {
> +        return wsdls;
> +    }
> +
> +    public void setWsdls(ArrayList wsdls) {
> +        this.wsdls = wsdls;
> +    }
> +
> +    public String getOutPath() {
> +        return outPath;
> +    }
> +
> +    public void setOutPath(String outPath) {
> +        this.outPath = outPath;
> +    }
> +
> +    public String getArchiveName() {
> +        return archiveName;
> +    }
> +
> +    public void setArchiveName(String archiveName) {
> +        this.archiveName = archiveName;
> +    }
> +
> +    public void finsh(){
> +        //Creating out File
> +        try {
> +            File outFile = new File(getOutPath());
> +            File tempfile = new File(outFile,"temp");
> +            if(!tempfile.exists()){
> +                tempfile.mkdirs();
> +            }
> +            //creating META-INF
> +            File metainf = new File(tempfile,"META-INF");
> +            if(!metainf.exists()){
> +                metainf.mkdir();
> +            }
> +
> +            // Writing services.xml
> +            File servicexml = new File(metainf,"services.xml");
> +            FileWriter writer = new FileWriter(servicexml);
> +            writer.write(getServiceXML());
> +            writer.flush();
> +            writer.close();
> +
> +            //Coping class files
> +            FileCopier fc = new FileCopier();
> +            fc.copyFiles(getClassLocation(),tempfile,null);
> +
> +            // Coping wsdl files
> +            File lib = new File(tempfile,"lib");
> +            if(!lib.exists()){
> +                lib.mkdir();
> +            }
> +            for (int i = 0; i < libs.size(); i++) {
> +                String libname = (String) libs.get(i);
> +                fc.copyFiles(new File(libname),lib,null);
> +            }
> +
> +            //coping wsdl files
> +            for (int i = 0; i < wsdls.size(); i++) {
> +                String libname = (String) wsdls.get(i);
> +                fc.copyFiles(new File(libname),metainf,null);
> +            }
> +
> +            String arcivename =getArchiveName();
> +            if(arcivename.indexOf(".jar") < 0){
> +                 arcivename = arcivename + ".jar";
> +            }
> +            JarFileWriter jwriter = new JarFileWriter();
> +            jwriter.writeJarFile(outFile,arcivename,tempfile);
> +            //craeting the jar file
> +            deleteDir(tempfile);
> +//
> +        } catch (FileNotFoundException e) {
> +            e.printStackTrace();
> +        } catch (IOException e) {
> +            e.printStackTrace();
> +        } catch (Exception e) {
> +            e.printStackTrace();
> +        }
> +    }
> +
> +     private boolean deleteDir(File dir) {
> +        if (dir.isDirectory()) {
> +            String[] children = dir.list();
> +            for (int i=0; i<children.length; i++) {
> +                boolean success = deleteDir(new File(dir, children[i]));
> +                if (!success) {
> +                    return false;
> +                }
> +            }
> +        }
> +
> +        // The directory is now empty so delete it
> +        return dir.delete();
> +    }
> +
> +    public ClassLoader getClassLoader() {
> +        return classLoader;
> +    }
> +
> +    public void setClassLoader(ClassLoader classLoader) {
> +        this.classLoader = classLoader;
> +    }
> +
> +
> +}
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/FileCopier.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/FileCopier.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/FileCopier.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/FileCopier.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,63 @@
> +package org.apache.idaeplugin.bean;
> +
> +import org.apache.tools.ant.taskdefs.Copy;
> +import org.apache.tools.ant.types.FileSet;
> +import org.apache.tools.ant.Project;
> +
> +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: Sep 23, 2005
> + * Time: 6:15:54 PM
> + */
> +public class FileCopier extends Copy {
> +    public FileCopier() {
> +        this.setProject(new Project());
> +        this.getProject().init();
> +        this.setTaskType("copy");
> +        this.setTaskName("copy-files");
> +        this.setOwningTarget(new org.apache.tools.ant.Target());
> +    }
> +
> +    public void copyFiles(File sourceFile, File 
> destinationDirectory,String filter){
> +
> +        this.filesets.clear();
> +
> +        if (sourceFile.isFile())
> +            this.setFile(sourceFile);
> +        else {
> +            FileSet fileset = new FileSet();
> +            fileset.setDir(sourceFile);
> +            if (filter!=null){
> +                if (filter.matches("\\.\\w*")){
> +                    fileset.setIncludes("*/**/*"+filter);
> +                }
> +            }
> +
> +            this.addFileset(fileset);
> +        }
> +        this.setTodir(destinationDirectory);
> +        this.perform();
> +    }
> +
> +
> +}
> +
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/JarFileWriter.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/JarFileWriter.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/JarFileWriter.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/JarFileWriter.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,63 @@
> +package org.apache.idaeplugin.bean;
> +
> +import org.apache.tools.ant.Project;
> +import org.apache.tools.ant.taskdefs.Jar;
> +
> +import java.io.File;
> +import java.io.IOException;
> +/*
> +* 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: Sep 23, 2005
> + * Time: 8:48:21 PM
> + */
> +public class JarFileWriter extends Jar {
> +
> +
> +    public JarFileWriter() {
> +        this.setProject(new Project());
> +        this.getProject().init();
> +        this.setTaskType("jar");
> +        this.setTaskName("jar");
> +        this.setOwningTarget(new org.apache.tools.ant.Target());
> +    }
> +
> +    public void writeJarFile(File outputFolder,String outputFileName, 
> File inputFileFolder) throws IOException,Exception {
> +
> +        if (!outputFolder.exists()){
> +            outputFolder.mkdir(); //create the output path
> +        }else{
> +            if (!outputFolder.isDirectory())
> +                return;
> +        }
> +
> +        File targetFile = new File(outputFolder,outputFileName);
> +        this.setBasedir(inputFileFolder);
> +        this.setDestFile(targetFile);
> +
> +        //run the task
> +        this.perform();
> +
> +
> +    }
> +
> +
> +}
> +
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ObjectKeeper.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ObjectKeeper.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ObjectKeeper.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ObjectKeeper.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,44 @@
> +package org.apache.idaeplugin.bean;
> +
> +import javax.swing.*;
> +/*
> +* 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: Sep 17, 2005
> + * Time: 11:40:12 PM
> + */
> +
> +//to fill the bean
> +public interface ObjectKeeper {
> +
> +    void fillBean(ArchiveBean bean);
> +
> +    //to keep a refernce to next panel
> +    void setNext(JPanel next);
> +    JPanel getNext();
> +
> +    //to keep a refernce to previous panel
> +    void setPrivious(JPanel privious);
> +    JPanel getPrivious();
> +
> +    String getTopLable();
> +    String getLable();
> +
> +}
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/OprationObj.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/OprationObj.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/OprationObj.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/OprationObj.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,81 @@
> +package org.apache.idaeplugin.bean;
> +/*
> +* 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: Sep 21, 2005
> + * Time: 11:36:02 PM
> + */
> +public class OprationObj {
> +
> +    private String OpName ;
> +    private String ReturnVale;
> +    private Integer paramters;
> +    private Boolean select;
> +
> +    public OprationObj(String opName, String returnVale, Integer 
> paramters, Boolean select) {
> +        OpName = opName;
> +        ReturnVale = returnVale;
> +        this.paramters = paramters;
> +        this.select = select;
> +    }
> +
> +
> +    public String getOpName() {
> +        return OpName;
> +    }
> +
> +    public void setOpName(String opName) {
> +        OpName = opName;
> +    }
> +
> +    public String getReturnVale() {
> +        return ReturnVale;
> +    }
> +
> +    public void setReturnVale(String returnVale) {
> +        ReturnVale = returnVale;
> +    }
> +
> +    public Integer getParamters() {
> +        return paramters;
> +    }
> +
> +    public void setParamters(Integer paramters) {
> +        this.paramters = paramters;
> +    }
> +
> +    public Boolean getSelect() {
> +        return select;
> +    }
> +
> +    public void setSelect(Boolean select) {
> +        this.select = select;
> +    }
> +
> +    public void printMe(){
> +        System.out.println("======== Row =============");
> +        System.out.println("OpName = " + OpName);
> +        System.out.println("paramters = " + paramters);
> +        System.out.println("ReturnVale = " + ReturnVale);
> +        System.out.println("select = " + select);
> +        System.out.println("==========================");
> +    }
> +
> +}
>
> Added: 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ServiceObj.java
> URL: 
> http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ServiceObj.java?rev=291260&view=auto
> ==============================================================================
> ---  
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ServiceObj.java 
> (added)
> +++ 
> webservices/axis2/trunk/java/modules/tool/ideapluging/plugin/org/apache/idaeplugin/bean/ServiceObj.java 
> Sat Sep 24 00:51:20 2005
> @@ -0,0 +1,65 @@
> +package org.apache.idaeplugin.bean;
> +
> +import java.util.ArrayList;
> +/*
> +* 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: Sep 22, 2005
> + * Time: 11:11:48 PM
> + */
> +public class ServiceObj {
> +    private String serviceName;
> +    private String serviceClass;
> +    private ArrayList opeartions;
> +
> +    public ServiceObj(String serviceName, String serviceClass, ArrayList 
> opeartions) {
> +        this.serviceName = serviceName;
> +        this.serviceClass = serviceClass;
> +        this.opeartions = opeartions;
> +    }
> +
> +    public String getServiceName() {
> +        return serviceName;
> +    }
> +
> +    public String getServiceClass() {
> +        return serviceClass;
> +    }
> +
> +    public ArrayList getOpeartions() {
> +        return opeartions;
> +    }
> +
> +    public String toString(){
> +        String serviceXML = "<service name=\""+ serviceName + "\">\n" +
> +                "<description>\n" +
> +                "Please Type your service description here\n" +
> +                "</description>\n"+
> +                "<parameter name=\"ServiceClass\" locked=\"false\">" + 
> serviceClass + "</parameter>\n";
> +        for (int i = 0; i < opeartions.size(); i++) {
> +            String s = (String) opeartions.get(i);
> +            String op = "<operation name=\"" + s + "\">\n" + 
> "</operation>\n";
> +            serviceXML = serviceXML + op;
> +        }
> +        serviceXML = serviceXML + "</service>\n";
> +        return serviceXML;
> +    }
> +
> +}
>
>
>