[jboss-svn-commits] JBL Code SVN: r11990 - in labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator: lib and 5 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun May 20 19:21:17 EDT 2007


Author: maciej.machulak
Date: 2007-05-20 19:21:16 -0400 (Sun, 20 May 2007)
New Revision: 11990

Added:
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/HandlerGenerator.iml
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/HandlerGenerator.ipr
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/HandlerGenerator.iws
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/HotelImpl.class
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/JaxWSTransactionSpecifierHandler.java
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/build.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/freemarker.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/handlergenerator.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/javaee.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/lib/
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/lib/freemarker.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/lib/javaee.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/lib/log4j.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/lib/tools.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/log4j.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/src/
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/src/handlergenerator/
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/src/handlergenerator/HandlerGenerator.java
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/src/handlergenerator/HandlerWriter.java
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/src/handlergenerator/MethodInfo.java
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/src/handlergenerator/handler.ftl
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/tools.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/wstest/
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/wstest/services/
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/wstest/services/hotel/
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/wstest/services/hotel/Hotel.class
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/wstest/services/hotel/HotelEntityImpl.class
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/wstest/services/hotel/HotelImpl.class
   labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/wstest/services/hotel/JaxWSTransactionSpecifierHandler.class
Log:


Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/HandlerGenerator.iml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/HandlerGenerator.iml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/HandlerGenerator.iml	2007-05-20 23:21:16 UTC (rev 11990)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4" relativePaths="true" type="JAVA_MODULE">
+  <component name="BuildJarSettings">
+    <containerInfo>
+      <containerElement type="module" name="HandlerGenerator">
+        <attribute name="method" value="6" />
+        <attribute name="URI" value="/HandlerGenerator.jar" />
+      </containerElement>
+      <containerElement type="library" name="freemarker" level="project">
+        <attribute name="method" value="2" />
+        <attribute name="URI" value="/" />
+      </containerElement>
+      <containerElement type="library" name="javaee" level="project">
+        <attribute name="method" value="2" />
+        <attribute name="URI" value="/" />
+      </containerElement>
+      <containerElement type="library" name="log4j" level="project">
+        <attribute name="method" value="2" />
+        <attribute name="URI" value="/" />
+      </containerElement>
+    </containerInfo>
+    <setting name="jarUrl" value="file://$MODULE_DIR$/HandlerGenerator.jar" />
+    <setting name="buildJar" value="true" />
+    <setting name="mainClass" value="handlergenerator.HandlerGenerator" />
+  </component>
+  <component name="ModuleRootManager" />
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="freemarker" level="project" />
+    <orderEntry type="library" name="log4j" level="project" />
+    <orderEntry type="library" name="javaee" level="project" />
+    <orderEntry type="library" name="tools" level="project" />
+    <orderEntryProperties />
+  </component>
+</module>
+

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/HandlerGenerator.ipr
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/HandlerGenerator.ipr	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/HandlerGenerator.ipr	2007-05-20 23:21:16 UTC (rev 11990)
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4" relativePaths="false">
+  <component name="AntConfiguration">
+    <defaultAnt bundledAnt="true" />
+    <buildFile url="file://$PROJECT_DIR$/build.xml">
+      <additionalClassPath />
+      <antReference projectDefault="true" />
+      <customJdkName value="" />
+      <maximumHeapSize value="128" />
+      <properties />
+    </buildFile>
+  </component>
+  <component name="BuildJarProjectSettings">
+    <option name="BUILD_JARS_ON_MAKE" value="true" />
+  </component>
+  <component name="CodeStyleProjectProfileManger">
+    <option name="PROJECT_PROFILE" />
+    <option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
+  </component>
+  <component name="CodeStyleSettingsManager">
+    <option name="PER_PROJECT_SETTINGS" />
+    <option name="USE_PER_PROJECT_SETTINGS" value="false" />
+  </component>
+  <component name="CompilerConfiguration">
+    <option name="DEFAULT_COMPILER" value="Javac" />
+    <option name="DEPLOY_AFTER_MAKE" value="0" />
+    <resourceExtensions>
+      <entry name=".+\.(properties|xml|html|dtd|tld)" />
+      <entry name=".+\.(gif|png|jpeg|jpg)" />
+    </resourceExtensions>
+    <wildcardResourcePatterns>
+      <entry name="?*.properties" />
+      <entry name="?*.xml" />
+      <entry name="?*.gif" />
+      <entry name="?*.png" />
+      <entry name="?*.jpeg" />
+      <entry name="?*.jpg" />
+      <entry name="?*.html" />
+      <entry name="?*.dtd" />
+      <entry name="?*.tld" />
+    </wildcardResourcePatterns>
+  </component>
+  <component name="DataSourceManagerImpl" />
+  <component name="DependenciesAnalyzeManager">
+    <option name="myForwardDirection" value="false" />
+  </component>
+  <component name="DependencyValidationManager" />
+  <component name="EclipseCompilerSettings">
+    <option name="DEBUGGING_INFO" value="true" />
+    <option name="GENERATE_NO_WARNINGS" value="true" />
+    <option name="DEPRECATION" value="false" />
+    <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+    <option name="MAXIMUM_HEAP_SIZE" value="128" />
+  </component>
+  <component name="EclipseEmbeddedCompilerSettings">
+    <option name="DEBUGGING_INFO" value="true" />
+    <option name="GENERATE_NO_WARNINGS" value="true" />
+    <option name="DEPRECATION" value="false" />
+    <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+    <option name="MAXIMUM_HEAP_SIZE" value="128" />
+  </component>
+  <component name="EntryPointsManager">
+    <entry_points />
+  </component>
+  <component name="ExportToHTMLSettings">
+    <option name="PRINT_LINE_NUMBERS" value="false" />
+    <option name="OPEN_IN_BROWSER" value="false" />
+    <option name="OUTPUT_DIRECTORY" />
+  </component>
+  <component name="GUI Designer component loader factory" />
+  <component name="IdProvider" IDEtalkID="DCAC47215A60376190135F2646377A87" />
+  <component name="InspectionProjectProfileManager">
+    <option name="PROJECT_PROFILE" value="Project Default" />
+    <option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
+    <scopes />
+    <profiles>
+      <profile version="1.0" is_locked="false">
+        <option name="myName" value="Project Default" />
+        <option name="myLocal" value="false" />
+        <used_levels>
+          <error>
+            <option name="myName" value="ERROR" />
+            <option name="myVal" value="400" />
+          </error>
+          <warning>
+            <option name="myName" value="WARNING" />
+            <option name="myVal" value="300" />
+          </warning>
+          <information>
+            <option name="myName" value="INFO" />
+            <option name="myVal" value="200" />
+          </information>
+          <server>
+            <option name="myName" value="SERVER PROBLEM" />
+            <option name="myVal" value="100" />
+          </server>
+        </used_levels>
+      </profile>
+    </profiles>
+  </component>
+  <component name="JavacSettings">
+    <option name="DEBUGGING_INFO" value="true" />
+    <option name="GENERATE_NO_WARNINGS" value="false" />
+    <option name="DEPRECATION" value="true" />
+    <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+    <option name="MAXIMUM_HEAP_SIZE" value="128" />
+  </component>
+  <component name="JavadocGenerationManager">
+    <option name="OUTPUT_DIRECTORY" />
+    <option name="OPTION_SCOPE" value="protected" />
+    <option name="OPTION_HIERARCHY" value="true" />
+    <option name="OPTION_NAVIGATOR" value="true" />
+    <option name="OPTION_INDEX" value="true" />
+    <option name="OPTION_SEPARATE_INDEX" value="true" />
+    <option name="OPTION_DOCUMENT_TAG_USE" value="false" />
+    <option name="OPTION_DOCUMENT_TAG_AUTHOR" value="false" />
+    <option name="OPTION_DOCUMENT_TAG_VERSION" value="false" />
+    <option name="OPTION_DOCUMENT_TAG_DEPRECATED" value="true" />
+    <option name="OPTION_DEPRECATED_LIST" value="true" />
+    <option name="OTHER_OPTIONS" value="" />
+    <option name="HEAP_SIZE" />
+    <option name="LOCALE" />
+    <option name="OPEN_IN_BROWSER" value="true" />
+  </component>
+  <component name="JikesSettings">
+    <option name="JIKES_PATH" value="" />
+    <option name="DEBUGGING_INFO" value="true" />
+    <option name="DEPRECATION" value="true" />
+    <option name="GENERATE_NO_WARNINGS" value="false" />
+    <option name="IS_EMACS_ERRORS_MODE" value="true" />
+    <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+  </component>
+  <component name="LogConsolePreferences">
+    <option name="FILTER_ERRORS" value="false" />
+    <option name="FILTER_WARNINGS" value="false" />
+    <option name="FILTER_INFO" value="true" />
+    <option name="CUSTOM_FILTER" />
+  </component>
+  <component name="Palette2">
+    <group name="Swing">
+      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+      </item>
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+        <initial-values>
+          <property name="text" value="Button" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="RadioButton" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="CheckBox" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="Label" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+          <preferred-size width="-1" height="20" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+      </item>
+    </group>
+  </component>
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/HandlerGenerator.iml" filepath="$PROJECT_DIR$/HandlerGenerator.iml" />
+    </modules>
+  </component>
+  <component name="ProjectRootManager" version="2" assert-keyword="true" jdk-15="true" project-jdk-name="1.5" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/classes" />
+  </component>
+  <component name="ProjectRunConfigurationManager" />
+  <component name="RmicSettings">
+    <option name="IS_EANABLED" value="false" />
+    <option name="DEBUGGING_INFO" value="true" />
+    <option name="GENERATE_NO_WARNINGS" value="false" />
+    <option name="GENERATE_IIOP_STUBS" value="false" />
+    <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+  </component>
+  <component name="StarteamVcsAdapter" />
+  <component name="VssVcs" />
+  <component name="WebServicesPlugin" />
+  <component name="com.intellij.jsf.UserDefinedFacesConfigs">
+    <option name="USER_DEFINED_CONFIGS">
+      <value>
+        <list size="0" />
+      </value>
+    </option>
+  </component>
+  <component name="libraryTable">
+    <library name="freemarker">
+      <CLASSES>
+        <root url="jar://$PROJECT_DIR$/lib/freemarker.jar!/" />
+      </CLASSES>
+      <JAVADOC />
+      <SOURCES />
+    </library>
+    <library name="log4j">
+      <CLASSES>
+        <root url="jar://$PROJECT_DIR$/lib/log4j.jar!/" />
+      </CLASSES>
+      <JAVADOC />
+      <SOURCES />
+    </library>
+    <library name="javaee">
+      <CLASSES>
+        <root url="jar://$PROJECT_DIR$/lib/javaee.jar!/" />
+      </CLASSES>
+      <JAVADOC />
+      <SOURCES />
+    </library>
+    <library name="tools">
+      <CLASSES>
+        <root url="jar://$PROJECT_DIR$/lib/tools.jar!/" />
+      </CLASSES>
+      <JAVADOC />
+      <SOURCES />
+    </library>
+  </component>
+  <component name="uidesigner-configuration">
+    <option name="INSTRUMENT_CLASSES" value="true" />
+    <option name="COPY_FORMS_RUNTIME_TO_OUTPUT" value="true" />
+    <option name="DEFAULT_LAYOUT_MANAGER" value="GridLayoutManager" />
+  </component>
+  <UsedPathMacros />
+</project>
+

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/HandlerGenerator.iws
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/HandlerGenerator.iws	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/HandlerGenerator.iws	2007-05-20 23:21:16 UTC (rev 11990)
@@ -0,0 +1,667 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4" relativePaths="false">
+  <component name="BookmarkManager" />
+  <component name="ChangeBrowserSettings">
+    <option name="MAIN_SPLITTER_PROPORTION" value="0.3" />
+    <option name="MESSAGES_SPLITTER_PROPORTION" value="0.8" />
+    <option name="USE_DATE_BEFORE_FILTER" value="false" />
+    <option name="USE_DATE_AFTER_FILTER" value="false" />
+    <option name="USE_CHANGE_BEFORE_FILTER" value="false" />
+    <option name="USE_CHANGE_AFTER_FILTER" value="false" />
+    <option name="DATE_BEFORE" value="" />
+    <option name="DATE_AFTER" value="" />
+    <option name="CHANGE_BEFORE" value="" />
+    <option name="CHANGE_AFTER" value="" />
+    <option name="USE_USER_FILTER" value="false" />
+    <option name="USER" value="" />
+  </component>
+  <component name="ChangeListManager">
+    <list default="true" name="Default" comment="" />
+  </component>
+  <component name="ChangeListSynchronizer" />
+  <component name="ChangesViewManager" flattened_view="true" />
+  <component name="CheckinPanelState" />
+  <component name="Commander">
+    <leftPanel />
+    <rightPanel />
+    <splitter proportion="0.5" />
+  </component>
+  <component name="CompilerWorkspaceConfiguration">
+    <option name="COMPILE_IN_BACKGROUND" value="false" />
+    <option name="AUTO_SHOW_ERRORS_IN_EDITOR" value="true" />
+    <option name="CLOSE_MESSAGE_VIEW_IF_SUCCESS" value="true" />
+    <option name="COMPILE_DEPENDENT_FILES" value="false" />
+    <option name="CLEAR_OUTPUT_DIRECTORY" value="false" />
+    <option name="ASSERT_NOT_NULL" value="true" />
+  </component>
+  <component name="CoverageDataManager" />
+  <component name="Cvs2Configuration">
+    <option name="PRUNE_EMPTY_DIRECTORIES" value="true" />
+    <option name="MERGING_MODE" value="0" />
+    <option name="MERGE_WITH_BRANCH1_NAME" value="HEAD" />
+    <option name="MERGE_WITH_BRANCH2_NAME" value="HEAD" />
+    <option name="RESET_STICKY" value="false" />
+    <option name="CREATE_NEW_DIRECTORIES" value="true" />
+    <option name="DEFAULT_TEXT_FILE_SUBSTITUTION" value="kv" />
+    <option name="PROCESS_UNKNOWN_FILES" value="false" />
+    <option name="PROCESS_DELETED_FILES" value="false" />
+    <option name="PROCESS_IGNORED_FILES" value="false" />
+    <option name="RESERVED_EDIT" value="false" />
+    <option name="CHECKOUT_DATE_OR_REVISION_SETTINGS">
+      <value>
+        <option name="BRANCH" value="" />
+        <option name="DATE" value="" />
+        <option name="USE_BRANCH" value="false" />
+        <option name="USE_DATE" value="false" />
+      </value>
+    </option>
+    <option name="UPDATE_DATE_OR_REVISION_SETTINGS">
+      <value>
+        <option name="BRANCH" value="" />
+        <option name="DATE" value="" />
+        <option name="USE_BRANCH" value="false" />
+        <option name="USE_DATE" value="false" />
+      </value>
+    </option>
+    <option name="SHOW_CHANGES_REVISION_SETTINGS">
+      <value>
+        <option name="BRANCH" value="" />
+        <option name="DATE" value="" />
+        <option name="USE_BRANCH" value="false" />
+        <option name="USE_DATE" value="false" />
+      </value>
+    </option>
+    <option name="SHOW_OUTPUT" value="false" />
+    <option name="ADD_WATCH_INDEX" value="0" />
+    <option name="REMOVE_WATCH_INDEX" value="0" />
+    <option name="UPDATE_KEYWORD_SUBSTITUTION" />
+    <option name="MAKE_NEW_FILES_READONLY" value="false" />
+    <option name="SHOW_CORRUPTED_PROJECT_FILES" value="0" />
+    <option name="TAG_AFTER_PROJECT_COMMIT" value="false" />
+    <option name="OVERRIDE_EXISTING_TAG_FOR_PROJECT" value="true" />
+    <option name="TAG_AFTER_PROJECT_COMMIT_NAME" value="" />
+    <option name="CLEAN_COPY" value="false" />
+  </component>
+  <component name="DaemonCodeAnalyzer">
+    <disable_hints />
+  </component>
+  <component name="DebuggerManager">
+    <breakpoint_any>
+      <breakpoint>
+        <option name="NOTIFY_CAUGHT" value="true" />
+        <option name="NOTIFY_UNCAUGHT" value="true" />
+        <option name="ENABLED" value="false" />
+        <option name="SUSPEND_POLICY" value="SuspendAll" />
+        <option name="LOG_ENABLED" value="false" />
+        <option name="LOG_EXPRESSION_ENABLED" value="false" />
+        <option name="COUNT_FILTER_ENABLED" value="false" />
+        <option name="COUNT_FILTER" value="0" />
+        <option name="CONDITION_ENABLED" value="false" />
+        <option name="CLASS_FILTERS_ENABLED" value="false" />
+        <option name="INSTANCE_FILTERS_ENABLED" value="false" />
+        <option name="CONDITION" value="" />
+        <option name="LOG_MESSAGE" value="" />
+      </breakpoint>
+      <breakpoint>
+        <option name="NOTIFY_CAUGHT" value="true" />
+        <option name="NOTIFY_UNCAUGHT" value="true" />
+        <option name="ENABLED" value="false" />
+        <option name="SUSPEND_POLICY" value="SuspendAll" />
+        <option name="LOG_ENABLED" value="false" />
+        <option name="LOG_EXPRESSION_ENABLED" value="false" />
+        <option name="COUNT_FILTER_ENABLED" value="false" />
+        <option name="COUNT_FILTER" value="0" />
+        <option name="CONDITION_ENABLED" value="false" />
+        <option name="CLASS_FILTERS_ENABLED" value="false" />
+        <option name="INSTANCE_FILTERS_ENABLED" value="false" />
+        <option name="CONDITION" value="" />
+        <option name="LOG_MESSAGE" value="" />
+      </breakpoint>
+    </breakpoint_any>
+    <breakpoint_rules />
+    <ui_properties />
+  </component>
+  <component name="ErrorTreeViewConfiguration">
+    <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+    <option name="HIDE_WARNINGS" value="false" />
+  </component>
+  <component name="FavoritesManager">
+    <favorites_list name="HandlerGenerator" />
+  </component>
+  <component name="FavoritesProjectViewPane">
+    <subPane subId="HandlerGenerator">
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" />
+          <option name="myItemType" value="com.intellij.ide.favoritesTreeView.FavoritesTreeNodeDescriptor" />
+        </PATH_ELEMENT>
+      </PATH>
+    </subPane>
+  </component>
+  <component name="FileEditorManager">
+    <leaf>
+      <file leaf-file-name="HandlerGenerator.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/handlergenerator/HandlerGenerator.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="20" column="13" selection-start="473" selection-end="473" vertical-scroll-proportion="-2.178832">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="handler.ftl" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/handlergenerator/handler.ftl">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="0" column="23" selection-start="23" selection-end="23" vertical-scroll-proportion="0.0">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="build.xml" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/build.xml">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="82" column="43" selection-start="2944" selection-end="2944" vertical-scroll-proportion="0.71532845">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="HandlerWriter.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/handlergenerator/HandlerWriter.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="15" column="13" selection-start="322" selection-end="322" vertical-scroll-proportion="-0.41058394">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="MethodInfo.java" pinned="false" current="true" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/src/handlergenerator/MethodInfo.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="28" column="0" selection-start="361" selection-end="361" vertical-scroll-proportion="0.84547067">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+    </leaf>
+  </component>
+  <component name="FindManager">
+    <FindUsagesManager>
+      <setting name="OPEN_NEW_TAB" value="false" />
+    </FindUsagesManager>
+  </component>
+  <component name="HierarchyBrowserManager">
+    <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+    <option name="SORT_ALPHABETICALLY" value="false" />
+    <option name="HIDE_CLASSES_WHERE_METHOD_NOT_IMPLEMENTED" value="false" />
+  </component>
+  <component name="InspectionManager">
+    <option name="AUTOSCROLL_TO_SOURCE" value="false" />
+    <option name="SPLITTER_PROPORTION" value="0.5" />
+    <option name="GROUP_BY_SEVERITY" value="false" />
+    <option name="FILTER_RESOLVED_ITEMS" value="true" />
+    <option name="ANALYZE_TEST_SOURCES" value="true" />
+    <option name="SHOW_DIFF_WITH_PREVIOUS_RUN" value="false" />
+    <option name="SCOPE_TYPE" value="1" />
+    <option name="CUSTOM_SCOPE_NAME" value="" />
+    <option name="SHOW_ONLY_DIFF" value="false" />
+    <option name="myCurrentProfileName" value="Default" />
+  </component>
+  <component name="J2EEProjectPane" />
+  <component name="JspContextManager" />
+  <component name="ModuleEditorState">
+    <option name="LAST_EDITED_MODULE_NAME" />
+    <option name="LAST_EDITED_TAB_NAME" />
+  </component>
+  <component name="NamedScopeManager" />
+  <component name="PackagesPane" />
+  <component name="PerforceChangeBrowserSettings">
+    <option name="USE_CLIENT_FILTER" value="true" />
+    <option name="CLIENT" value="" />
+  </component>
+  <component name="PerforceDirect.Settings">
+    <option name="useP4CONFIG" value="true" />
+    <option name="port" value="&lt;perforce_server&gt;:1666" />
+    <option name="client" value="" />
+    <option name="user" value="" />
+    <option name="passwd" value="" />
+    <option name="showCmds" value="false" />
+    <option name="useNativeApi" value="true" />
+    <option name="pathToExec" value="p4" />
+    <option name="useCustomPathToExec" value="false" />
+    <option name="SYNC_FORCE" value="false" />
+    <option name="SYNC_RUN_RESOLVE" value="true" />
+    <option name="REVERT_UNCHANGED_FILES" value="true" />
+    <option name="CHARSET" value="none" />
+    <option name="SHOW_BRANCHES_HISTORY" value="true" />
+    <option name="ENABLED" value="true" />
+    <option name="USE_LOGIN" value="false" />
+    <option name="LOGIN_SILENTLY" value="false" />
+    <option name="INTEGRATE_RUN_RESOLVE" value="true" />
+    <option name="INTEGRATE_REVERT_UNCHANGED" value="true" />
+    <option name="SERVER_TIMEOUT" value="20000" />
+  </component>
+  <component name="ProjectLevelVcsManager">
+    <OptionsSetting value="true" id="Add" />
+    <OptionsSetting value="true" id="Remove" />
+    <OptionsSetting value="true" id="Checkin" />
+    <OptionsSetting value="true" id="Checkout" />
+    <OptionsSetting value="true" id="Update" />
+    <OptionsSetting value="true" id="Status" />
+    <OptionsSetting value="true" id="Edit" />
+    <OptionsSetting value="true" id="Undo Check Out" />
+    <OptionsSetting value="true" id="Compare with SourceSafe Version" />
+    <OptionsSetting value="true" id="Get Latest Version" />
+    <ConfirmationsSetting value="0" id="Add" />
+    <ConfirmationsSetting value="0" id="Remove" />
+  </component>
+  <component name="ProjectPane">
+    <subPane>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="HandlerGenerator.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="HandlerGenerator" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="Libraries" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.LibraryGroupNode" />
+        </PATH_ELEMENT>
+      </PATH>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="HandlerGenerator.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="HandlerGenerator" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\RedHat\HandlerGenerator" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+      </PATH>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="HandlerGenerator.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="HandlerGenerator" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\RedHat\HandlerGenerator" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\RedHat\HandlerGenerator\wstest" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\RedHat\HandlerGenerator\wstest\services" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+      </PATH>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="HandlerGenerator.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="HandlerGenerator" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\RedHat\HandlerGenerator" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\RedHat\HandlerGenerator\src" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\RedHat\HandlerGenerator\src\handlergenerator" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+      </PATH>
+    </subPane>
+  </component>
+  <component name="ProjectReloadState">
+    <option name="STATE" value="0" />
+  </component>
+  <component name="ProjectView">
+    <navigator currentView="ProjectPane" proportions="0.16666667" version="1" splitterProportion="0.5">
+      <flattenPackages />
+      <showMembers />
+      <showModules />
+      <showLibraryContents />
+      <hideEmptyPackages />
+      <abbreviatePackageNames />
+      <showStructure ProjectPane="false" Scope="false" Favorites="false" />
+      <autoscrollToSource />
+      <autoscrollFromSource />
+      <sortByType />
+    </navigator>
+  </component>
+  <component name="PropertiesComponent">
+    <property name="MemberChooser.copyJavadoc" value="false" />
+    <property name="GoToClass.includeLibraries" value="false" />
+    <property name="MemberChooser.showClasses" value="true" />
+    <property name="MemberChooser.sorted" value="false" />
+    <property name="GoToFile.includeJavaFiles" value="false" />
+    <property name="GoToClass.toSaveIncludeLibraries" value="false" />
+  </component>
+  <component name="ReadonlyStatusHandler">
+    <option name="SHOW_DIALOG" value="true" />
+  </component>
+  <component name="RecentsManager">
+    <key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
+      <recent name="handlergenerator" />
+    </key>
+  </component>
+  <component name="RestoreUpdateTree" />
+  <component name="RunManager">
+    <configuration default="true" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
+      <module name="" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="PACKAGE_NAME" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="METHOD_NAME" />
+      <option name="TEST_OBJECT" value="class" />
+      <option name="VM_PARAMETERS" />
+      <option name="PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+      <option name="ADDITIONAL_CLASS_PATH" />
+      <option name="TEST_SEARCH_SCOPE">
+        <value defaultName="wholeProject" />
+      </option>
+      <method>
+        <option name="Make" value="true" />
+      </method>
+    </configuration>
+    <configuration default="true" type="Application" factoryName="Application" enabled="false" merge="false">
+      <option name="MAIN_CLASS_NAME" />
+      <option name="VM_PARAMETERS" />
+      <option name="PROGRAM_PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="ENABLE_SWING_INSPECTOR" value="false" />
+      <module name="" />
+      <method>
+        <option name="Make" value="true" />
+      </method>
+    </configuration>
+    <configuration default="true" type="Applet" factoryName="Applet">
+      <module name="" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="HTML_FILE_NAME" />
+      <option name="HTML_USED" value="false" />
+      <option name="WIDTH" value="400" />
+      <option name="HEIGHT" value="300" />
+      <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
+      <option name="VM_PARAMETERS" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+    </configuration>
+    <configuration default="true" type="Remote" factoryName="Remote">
+      <option name="USE_SOCKET_TRANSPORT" value="true" />
+      <option name="SERVER_MODE" value="false" />
+      <option name="SHMEM_ADDRESS" value="javadebug" />
+      <option name="HOST" value="localhost" />
+      <option name="PORT" value="5005" />
+    </configuration>
+    <configuration name="&lt;template&gt;" type="WebApp" default="true" selected="false">
+      <Host>localhost</Host>
+      <Port>5050</Port>
+    </configuration>
+  </component>
+  <component name="ScopeViewComponent">
+    <subPane subId="Project">
+      <PATH>
+        <PATH_ELEMENT USER_OBJECT="Root">
+          <option name="myItemId" value="" />
+          <option name="myItemType" value="" />
+        </PATH_ELEMENT>
+      </PATH>
+    </subPane>
+  </component>
+  <component name="SelectInManager" />
+  <component name="StarteamConfiguration">
+    <option name="SERVER" value="" />
+    <option name="PORT" value="49201" />
+    <option name="USER" value="" />
+    <option name="PASSWORD" value="" />
+    <option name="PROJECT" value="" />
+    <option name="VIEW" value="" />
+    <option name="ALTERNATIVE_WORKING_PATH" value="" />
+    <option name="LOCK_ON_CHECKOUT" value="false" />
+    <option name="UNLOCK_ON_CHECKIN" value="false" />
+  </component>
+  <component name="StructuralSearchPlugin" />
+  <component name="StructureViewFactory">
+    <option name="AUTOSCROLL_MODE" value="true" />
+    <option name="AUTOSCROLL_FROM_SOURCE" value="false" />
+    <option name="ACTIVE_ACTIONS" value="" />
+  </component>
+  <component name="Struts Assistant">
+    <option name="showInputs" value="true" />
+    <option name="resources">
+      <value>
+        <option name="strutsPath" />
+        <option name="strutsHelp" />
+      </value>
+    </option>
+    <option name="selectedTaglibs" />
+    <option name="selectedTaglibs" />
+    <option name="myStrutsValidationEnabled" value="true" />
+    <option name="myTilesValidationEnabled" value="true" />
+    <option name="myValidatorValidationEnabled" value="true" />
+    <option name="myReportErrorsAsWarnings" value="true" />
+  </component>
+  <component name="SvnChangesBrowserSettings">
+    <option name="USE_AUTHOR_FIELD" value="true" />
+    <option name="AUTHOR" value="" />
+    <option name="LOCATION" value="" />
+    <option name="USE_PROJECT_SETTINGS" value="true" />
+    <option name="USE_ALTERNATE_LOCATION" value="false" />
+  </component>
+  <component name="SvnConfiguration">
+    <option name="USER" value="" />
+    <option name="PASSWORD" value="" />
+    <option name="PROCESS_UNRESOLVED" value="false" />
+    <option name="LAST_MERGED_REVISION" />
+    <option name="UPDATE_RUN_STATUS" value="false" />
+    <option name="UPDATE_RECURSIVELY" value="true" />
+    <option name="MERGE_DRY_RUN" value="false" />
+    <configuration useDefault="false">C:\Documents and Settings\a5913504\Application Data\Subversion</configuration>
+    <checkoutURL>https://svn.jboss.org/repos/jbossas/branches/Branch_4_2/</checkoutURL>
+    <checkoutURL>svn+ssh://svn.cs.ncl.ac.uk/addon/subversion/users/a5913504</checkoutURL>
+  </component>
+  <component name="TodoView" selected-index="0">
+    <todo-panel id="selected-file">
+      <are-packages-shown value="false" />
+      <are-modules-shown value="false" />
+      <flatten-packages value="false" />
+      <is-autoscroll-to-source value="true" />
+    </todo-panel>
+    <todo-panel id="all">
+      <are-packages-shown value="true" />
+      <are-modules-shown value="false" />
+      <flatten-packages value="false" />
+      <is-autoscroll-to-source value="true" />
+    </todo-panel>
+  </component>
+  <component name="ToolWindowManager">
+    <frame x="-4" y="-4" width="1288" height="979" extended-state="7" />
+    <editor active="false" />
+    <layout>
+      <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+      <window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+      <window_info id="IDEtalk" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="7" />
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.22871046" order="0" />
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="1" />
+      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="1" />
+      <window_info id="Messages" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.2995338" order="8" />
+      <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" order="6" />
+      <window_info id="Module Dependencies" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+      <window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+      <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.17356043" order="1" />
+      <window_info id="WebServices" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+      <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="2" />
+      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="2" />
+      <window_info id="File View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" order="4" />
+      <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" order="0" />
+      <window_info id="IDEtalk Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+      <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="0" />
+      <window_info id="Web" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="2" />
+      <window_info id="EJB" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="3" />
+      <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="5" />
+    </layout>
+  </component>
+  <component name="VCS.FileViewConfiguration">
+    <option name="SELECTED_STATUSES" value="DEFAULT" />
+    <option name="SELECTED_COLUMNS" value="DEFAULT" />
+    <option name="SHOW_FILTERS" value="true" />
+    <option name="CUSTOMIZE_VIEW" value="true" />
+    <option name="SHOW_FILE_HISTORY_AS_TREE" value="true" />
+  </component>
+  <component name="VcsManagerConfiguration">
+    <option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
+    <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" />
+    <option name="PERFORM_UPDATE_IN_BACKGROUND" value="false" />
+    <option name="PERFORM_COMMIT_IN_BACKGROUND" value="false" />
+    <option name="PUT_FOCUS_INTO_COMMENT" value="false" />
+    <option name="FORCE_NON_EMPTY_COMMENT" value="false" />
+    <option name="LAST_COMMIT_MESSAGE" />
+    <option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
+    <option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
+    <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
+    <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
+    <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
+    <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
+    <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
+    <option name="ERROR_OCCURED" value="false" />
+    <option name="ACTIVE_VCS_NAME" />
+    <option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
+    <option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
+    <option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
+  </component>
+  <component name="VssConfiguration">
+    <option name="CLIENT_PATH" value="" />
+    <option name="SRCSAFEINI_PATH" value="" />
+    <option name="USER_NAME" value="" />
+    <option name="PWD" value="" />
+    <option name="VSS_IS_INITIALIZED" value="true" />
+    <CheckoutOptions>
+      <option name="COMMENT" value="" />
+      <option name="DO_NOT_GET_LATEST_VERSION" value="false" />
+      <option name="REPLACE_WRITABLE" value="false" />
+      <option name="RECURSIVE" value="false" />
+    </CheckoutOptions>
+    <CheckinOptions>
+      <option name="COMMENT" value="" />
+      <option name="KEEP_CHECKED_OUT" value="false" />
+      <option name="RECURSIVE" value="false" />
+    </CheckinOptions>
+    <AddOptions>
+      <option name="STORE_ONLY_LATEST_VERSION" value="false" />
+      <option name="CHECK_OUT_IMMEDIATELY" value="false" />
+      <option name="FILE_TYPE" value="0" />
+    </AddOptions>
+    <UndocheckoutOptions>
+      <option name="MAKE_WRITABLE" value="false" />
+      <option name="REPLACE_LOCAL_COPY" value="0" />
+      <option name="RECURSIVE" value="false" />
+    </UndocheckoutOptions>
+    <GetOptions>
+      <option name="REPLACE_WRITABLE" value="0" />
+      <option name="MAKE_WRITABLE" value="false" />
+      <option name="ANSWER_NEGATIVELY" value="false" />
+      <option name="ANSWER_POSITIVELY" value="false" />
+      <option name="RECURSIVE" value="false" />
+      <option name="VERSION" />
+    </GetOptions>
+    <VssConfigurableExcludedFilesTag />
+  </component>
+  <component name="antWorkspaceConfiguration">
+    <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+    <option name="FILTER_TARGETS" value="false" />
+    <buildFile url="file://$PROJECT_DIR$/build.xml">
+      <antCommandLine value="" />
+      <runInBackground value="false" />
+      <targetFilters />
+      <treeView value="true" />
+      <verbose value="true" />
+      <viewClosedWhenNoErrors value="false" />
+    </buildFile>
+  </component>
+  <component name="com.intellij.ide.util.scopeChooser.ScopeChooserConfigurable" proportions="" version="1">
+    <option name="myLastEditedConfigurable" />
+  </component>
+  <component name="com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectRootMasterDetailsConfigurable" proportions="0.16666667" version="1">
+    <option name="myPlainMode" value="false" />
+    <option name="myLastEditedConfigurable" value="tools" />
+  </component>
+  <component name="com.intellij.profile.ui.ErrorOptionsConfigurable" proportions="" version="1">
+    <option name="myLastEditedConfigurable" />
+  </component>
+  <component name="editorHistoryManager">
+    <entry file="file://$PROJECT_DIR$/JaxWSTransactionSpecifierHandler.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/handlergenerator/handler.ftl">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="0" column="23" selection-start="23" selection-end="23" vertical-scroll-proportion="0.0">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/build.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="82" column="43" selection-start="2944" selection-end="2944" vertical-scroll-proportion="0.71532845">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/handlergenerator/HandlerGenerator.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="20" column="13" selection-start="473" selection-end="473" vertical-scroll-proportion="-2.178832">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/handlergenerator/HandlerWriter.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="15" column="13" selection-start="322" selection-end="322" vertical-scroll-proportion="-0.41058394">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/handlergenerator/MethodInfo.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="28" column="0" selection-start="361" selection-end="361" vertical-scroll-proportion="0.84547067">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+  </component>
+</project>
+

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/HotelImpl.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/HotelImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/JaxWSTransactionSpecifierHandler.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/JaxWSTransactionSpecifierHandler.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/JaxWSTransactionSpecifierHandler.java	2007-05-20 23:21:16 UTC (rev 11990)
@@ -0,0 +1,88 @@
+package wstest.services.hotel.at;
+
+import org.apache.log4j.Logger;
+
+import javax.xml.ws.handler.Handler;
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.handler.soap.SOAPMessageContext;
+import javax.xml.soap.SOAPMessage;
+import javax.xml.soap.SOAPBodyElement;
+import javax.xml.soap.SOAPBody;
+import javax.xml.soap.SOAPException;
+import java.util.HashMap;
+
+/**
+ * Author: Maciej Machulak
+ */
+public class JaxWSTransactionSpecifierHandler implements Handler
+{
+    private static Logger log = Logger.getLogger(JaxWSTransactionSpecifierHandler.class);
+    private static HashMap methodMappings = new HashMap();
+
+    public JaxWSTransactionSpecifierHandler()
+    {
+        methodMappings.put("bookRooms","REQUIRED");
+        methodMappings.put("getBookingCount","MANDATORY");
+        methodMappings.put("getHotelInfo","REQUIRES_NEW");
+        methodMappings.put("getHotelAddress","NOT_SUPPORTED");
+        methodMappings.put("getHotelOwner","REQUIRED");
+        methodMappings.put("getHotelEntity","REQUIRED");
+    }
+
+    public boolean handleMessage(MessageContext msgContext)
+    {
+        log.debug("handleMessage()");
+
+        Boolean outbound = (Boolean)msgContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
+        if (outbound == null)
+        {
+            throw new IllegalStateException("Cannot obtain required property: " + MessageContext.MESSAGE_OUTBOUND_PROPERTY);
+        }
+        return outbound ? handleOutbound(msgContext) : handleInbound(msgContext);
+    }
+
+    private boolean handleInbound(MessageContext msgContext)
+    {
+
+        log.debug("handleInbound()");
+
+        try
+        {
+            SOAPMessage soapMessage = ((SOAPMessageContext)msgContext).getMessage();
+            SOAPBody soapBody = soapMessage.getSOAPBody();
+            SOAPBodyElement soapBodyElement = (SOAPBodyElement)soapBody.getChildElements().next();
+            String methodName = soapBodyElement.getElementName().getLocalName();
+
+            String transactionType = (String) methodMappings.get(methodName);
+
+            msgContext.put("TransactionAttributeType",transactionType);
+
+        }
+        catch (SOAPException soape)
+        {
+            soape.printStackTrace();
+        }
+        return true;
+    }
+
+    private boolean handleOutbound(MessageContext msgContext)
+    {
+        if (msgContext.containsKey("TransactionAttributeType"))
+        {
+            msgContext.remove("TransactionAttributeType");
+        }
+        return true;
+    }
+
+
+    public boolean handleFault(MessageContext messageContext)
+    {
+        log.debug("handleFault()");
+        return true;
+    }
+
+    public void close(MessageContext messageContext)
+    {
+        log.debug("close()");
+    }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/build.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/build.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/build.xml	2007-05-20 23:21:16 UTC (rev 11990)
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<project name="wstest" default="handlerjar" basedir=".">
+    <!-- MODIFY THE NEXT THREE LINES -->
+    <property name="jboss.home" value="C:\RedHat\JBossAS\build\output\jboss-4.2.0.GA"/>
+    <property name="jndi.host" value="localhost"/>
+    <property name="jndi.port" value="11099"/>
+    <property name="sleep.time" value="5"/>
+
+    <property name="jboss.profile" value="all"/>
+    <property name="build.dir" value="build"/>
+    <property name="src.dir" value="src"/>
+    <property name="doc.dir" value="doc"/>
+    <property name="dd.dir" value="dd"/>
+    <property name="lib.dir" value="lib"/>
+    <property name="resources.dir" value="resources"/>
+    <property name="javaee.dir" value="C:/Program Files/JetBrains/IntelliJ IDEA 6.0/lib/"/>
+
+    <target name="clean">
+        <delete dir="${build.dir}"/>
+    </target>
+
+    <target name="init" depends="clean">
+        <mkdir dir="${build.dir}"/>
+        <mkdir dir="${build.dir}/classes"/>
+    </target>
+
+    <target name="delete-JBoss-working-dirs">
+        <delete dir="${jboss.home}/server/${jboss.profile}/data"/>
+        <delete dir="${jboss.home}/server/${jboss.profile}/log"/>
+        <delete dir="${jboss.home}/server/${jboss.profile}/tmp"/>
+        <delete dir="${jboss.home}/server/${jboss.profile}/work"/>
+    </target>
+
+    <path id="classpath">
+        <fileset dir="lib" includes="*.jar"/>
+    </path>
+
+    <path id="classpath.apt">
+        <fileset dir="C:\RedHat\oldbackup\lib\" includes="*.jar"/>
+    </path>
+
+    <path id="build.classpath">
+        <pathelement location="${build.dir}/classes"/>
+    </path>
+
+
+    <target name="compile" depends="init">
+        <mkdir dir="${build.dir}"/>
+        <javac destdir="${build.dir}/classes" classpathref="classpath">
+            <src path="${src.dir}"/>
+        </javac>
+    </target>
+
+    <target name="docs" depends="compile">
+        <javadoc destdir="${doc.dir}/api" packagenames="services.*" private="true">
+            <sourcepath>
+                <pathelement location="${src.dir}"/>
+            </sourcepath>
+            <classpath>
+                <path refid="classpath"/>
+            </classpath>
+        </javadoc>
+    </target>
+
+    <target name="handlerjar" depends="compile">
+        <copy file="${src.dir}/handlergenerator/handler.ftl" todir="${build.dir}/classes/handlergenerator/"/>
+        <jar destfile="handlergenerator.jar">
+            <manifest>
+                <attribute name="Main-Class" value="handlergenerator.HandlerGenerator"/>
+                <attribute name="Class-Path" value="javaee.jar freemarker.jar log4j.jar tools.jar"/>
+            </manifest>
+            <fileset dir="${build.dir}/classes">
+                <include name="**/*.class"/>
+                <include name="**/*.ftl"/>
+            </fileset>
+            <fileset dir="${lib.dir}" includes="*.jar"/>
+        </jar>
+    </target>
+
+
+
+    <target name="annotations">
+        <javac destdir="${lib.dir}" classpathref="classpath.apt">
+            <src path="${src.dir}/wstest/annotations/"/>
+        </javac>
+    </target>
+
+    <target name="runapt" depends="init">
+        <echoproperties/>
+        <apt fork="true"
+             verbose="true"
+             debug="on"
+             debuglevel="vars"
+             srcdir="${src.dir}"
+             destdir="${build.dir}"
+             factory="wstest.annotations.WebServiceAPF"
+             factorypathref="factory.path"
+             preprocessdir="${src.dir}">
+            <classpath refid="classpath.apt"/>
+        </apt>
+
+    </target>
+
+</project>
\ No newline at end of file

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/freemarker.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/freemarker.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/handlergenerator.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/handlergenerator.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/javaee.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/javaee.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/lib/freemarker.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/lib/freemarker.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/lib/javaee.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/lib/javaee.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/lib/log4j.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/lib/log4j.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/lib/tools.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/lib/tools.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/log4j.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/log4j.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/src/handlergenerator/HandlerGenerator.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/src/handlergenerator/HandlerGenerator.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/src/handlergenerator/HandlerGenerator.java	2007-05-20 23:21:16 UTC (rev 11990)
@@ -0,0 +1,132 @@
+package handlergenerator;
+
+import freemarker.template.Configuration;
+
+import javax.jws.WebService;
+import javax.jws.WebMethod;
+import javax.ejb.TransactionAttribute;
+import javax.ejb.TransactionAttributeType;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.io.File;
+import java.net.URL;
+import java.net.URLClassLoader;
+
+import com.sun.tools.javac.Main;
+import com.sun.tools.javac.main.JavaCompiler;
+
+/**
+ * Author: Maciej Machulak
+ */
+public class HandlerGenerator
+{
+
+    private static String handlerName = "JaxWSTransactionSpecifierHandler";
+
+    public static void main(String[] args) throws Exception
+    {
+        if (args.length != 2)
+        {
+            System.err.println("Usage:");
+            System.err.println("java -jar handlergenerator.jar <dir> <qualified_class_name>");
+            System.exit(1);
+        }
+
+        String location = args[0];
+        
+        File file = new File(location);
+
+        // Convert File to a URL
+        URL url = file.toURL();
+        URL[] urls = new URL[]{url};
+
+        // Create a new class loader with the directory
+        ClassLoader loader = new URLClassLoader(urls);
+
+        // Load in the class
+        Class<?> myClass = loader.loadClass(args[1]);
+
+        // Loop through all classes
+        for (String className : args)
+        {
+
+            // Obtain annotation
+            WebService wsAnnotation = myClass.getAnnotation(WebService.class);
+            if (wsAnnotation == null)
+            {
+                System.err.println("Class " + className + " does not have a WebService annotation.");
+                continue;
+            }
+
+            // Get methods
+            Method[] methodList = myClass.getDeclaredMethods();
+
+            // Check if there were any methods
+            if ( methodList.length < 1 )
+            {
+                continue;
+            }
+
+            // Get the package name
+            String packageName = myClass.getPackage().getName();
+
+            // Create a new list for method information
+            methodInfoList = new ArrayList<MethodInfo>();
+
+            // Loop through all methods
+            for (Method singleMethod : methodList)
+            {
+                // Check what is the name of the Web Method
+                String webMethodName = null;
+                WebMethod webMethodAnnotation = singleMethod.getAnnotation(WebMethod.class);
+                if (webMethodAnnotation != null)
+                {
+                    webMethodName = webMethodAnnotation.operationName();
+                }
+
+                // Get the attribute of the transaction
+                TransactionAttribute txAttr = singleMethod.getAnnotation(TransactionAttribute.class);
+                if (txAttr != null)
+                {
+                    // Check the type of the transaction attribute
+                    TransactionAttributeType txType = txAttr.value();
+
+                    // Add the method definition to the methodInfoList
+                    methodInfoList.add(new MethodInfo(singleMethod.getName(),txType.toString()));
+                }
+                else
+                {
+                    // Add the method definition to the methodInfoList
+                    methodInfoList.add(new MethodInfo(singleMethod.getName(),defaultAttribute.toString()));
+                }
+            }
+
+            if (!methodInfoList.isEmpty())
+            {
+                HandlerWriter handlerWriter = new HandlerWriter();
+                if (handlerWriter.createHandler(handlerName,packageName,methodInfoList))
+                {
+                    // Compile the newly generated class
+                    String classPath = "log4j.jar;javaee.jar";
+                    String fileName = handlerName + ".java";
+
+                    String[] compilerOptions = new String[] {
+                            "-classpath", classPath, "-d", location, fileName
+                    };
+                    com.sun.tools.javac.Main.compile(compilerOptions);
+
+
+
+                }
+                else
+                {
+                    System.err.println("Error creating JaxWS Transaction Specifier Handler");
+                }
+            }
+
+        }
+    }
+
+    private static ArrayList<MethodInfo> methodInfoList;
+    private static TransactionAttributeType defaultAttribute = TransactionAttributeType.REQUIRED;
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/src/handlergenerator/HandlerWriter.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/src/handlergenerator/HandlerWriter.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/src/handlergenerator/HandlerWriter.java	2007-05-20 23:21:16 UTC (rev 11990)
@@ -0,0 +1,70 @@
+package handlergenerator;
+
+import freemarker.template.DefaultObjectWrapper;
+import freemarker.template.Configuration;
+import freemarker.template.Template;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.List;
+import java.io.*;
+
+/**
+ * Author: Maciej Machulak
+ */
+public class HandlerWriter
+{
+
+    private Configuration cfg;
+
+    public HandlerWriter()
+    {
+        cfg = new Configuration();
+        cfg.setClassForTemplateLoading(getClass(),"");
+        cfg.setObjectWrapper(new DefaultObjectWrapper());
+
+    }
+
+    public boolean createHandler(String handlerName,String packageName,ArrayList<MethodInfo> methodList)
+    {
+
+        try
+        {
+            // Get a template
+            Template temp = cfg.getTemplate("handler.ftl");
+
+            // Create the data model
+            Map root = new HashMap();
+            // - package name
+            root.put("packagename",packageName);
+
+            // - method information
+            List newMethodList = new ArrayList();
+            for (MethodInfo singleMethod : methodList)
+            {
+                Map method = new HashMap();
+                method.put("name",singleMethod.getName());
+                method.put("type",singleMethod.getType());
+                newMethodList.add(method);
+            }
+            root.put("methods",newMethodList);
+
+            // - merge the data model with the template
+            Writer fileWriter = new PrintWriter(handlerName + ".java");
+
+            temp.process(root, fileWriter);
+            fileWriter.flush();
+            return true;
+
+        }
+        catch (Exception e)
+        {
+
+            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+            return false;
+        }
+    }
+
+
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/src/handlergenerator/MethodInfo.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/src/handlergenerator/MethodInfo.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/src/handlergenerator/MethodInfo.java	2007-05-20 23:21:16 UTC (rev 11990)
@@ -0,0 +1,28 @@
+package handlergenerator;
+
+/**
+ * Author: Maciej Machulak
+ */
+public class MethodInfo
+{
+
+    private String name, type;
+
+
+    public MethodInfo(String name, String type)
+    {
+        this.name = name;
+        this.type = type;
+    }
+
+
+    public String getName()
+    {
+        return name;
+    }
+
+    public String getType()
+    {
+        return type;
+    }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/src/handlergenerator/handler.ftl
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/src/handlergenerator/handler.ftl	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/src/handlergenerator/handler.ftl	2007-05-20 23:21:16 UTC (rev 11990)
@@ -0,0 +1,85 @@
+package ${packagename};
+
+import org.apache.log4j.Logger;
+
+import javax.xml.ws.handler.Handler;
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.handler.soap.SOAPMessageContext;
+import javax.xml.soap.SOAPMessage;
+import javax.xml.soap.SOAPBodyElement;
+import javax.xml.soap.SOAPBody;
+import javax.xml.soap.SOAPException;
+import java.util.HashMap;
+
+/**
+ * Author: Maciej Machulak
+ */
+public class JaxWSTransactionSpecifierHandler implements Handler
+{
+    private static Logger log = Logger.getLogger(JaxWSTransactionSpecifierHandler.class);
+    private static HashMap methodMappings = new HashMap();
+
+    public JaxWSTransactionSpecifierHandler()
+    {
+        <#list methods as method>
+        methodMappings.put("${method.name}","${method.type}");
+        </#list>
+    }
+
+    public boolean handleMessage(MessageContext msgContext)
+    {
+        log.debug("handleMessage()");
+
+        Boolean outbound = (Boolean)msgContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
+        if (outbound == null)
+        {
+            throw new IllegalStateException("Cannot obtain required property: " + MessageContext.MESSAGE_OUTBOUND_PROPERTY);
+        }
+        return outbound ? handleOutbound(msgContext) : handleInbound(msgContext);
+    }
+
+    private boolean handleInbound(MessageContext msgContext)
+    {
+
+        log.debug("handleInbound()");
+
+        try
+        {
+            SOAPMessage soapMessage = ((SOAPMessageContext)msgContext).getMessage();
+            SOAPBody soapBody = soapMessage.getSOAPBody();
+            SOAPBodyElement soapBodyElement = (SOAPBodyElement)soapBody.getChildElements().next();
+            String methodName = soapBodyElement.getElementName().getLocalName();
+
+            String transactionType = (String) methodMappings.get(methodName);
+
+            msgContext.put("TransactionAttributeType",transactionType);
+
+        }
+        catch (SOAPException soape)
+        {
+            soape.printStackTrace();
+        }
+        return true;
+    }
+
+    private boolean handleOutbound(MessageContext msgContext)
+    {
+        if (msgContext.containsKey("TransactionAttributeType"))
+        {
+            msgContext.remove("TransactionAttributeType");
+        }
+        return true;
+    }
+
+
+    public boolean handleFault(MessageContext messageContext)
+    {
+        log.debug("handleFault()");
+        return true;
+    }
+
+    public void close(MessageContext messageContext)
+    {
+        log.debug("close()");
+    }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/tools.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/tools.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/wstest/services/hotel/Hotel.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/wstest/services/hotel/Hotel.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/wstest/services/hotel/HotelEntityImpl.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/wstest/services/hotel/HotelEntityImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/wstest/services/hotel/HotelImpl.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/wstest/services/hotel/HotelImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/wstest/services/hotel/JaxWSTransactionSpecifierHandler.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/HandlerGenerator/wstest/services/hotel/JaxWSTransactionSpecifierHandler.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream




More information about the jboss-svn-commits mailing list