You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2011/09/08 21:34:00 UTC

svn commit: r1166871 [1/2] - in /incubator/airavata/trunk/modules/commons: ./ utils/ utils/src/ utils/src/main/ utils/src/main/java/ utils/src/main/java/org/ utils/src/main/java/org/apache/ utils/src/main/java/org/apache/airavata/ utils/src/main/java/o...

Author: lahiru
Date: Thu Sep  8 19:33:59 2011
New Revision: 1166871

URL: http://svn.apache.org/viewvc?rev=1166871&view=rev
Log:
adding common utils package.

Added:
    incubator/airavata/trunk/modules/commons/utils/
    incubator/airavata/trunk/modules/commons/utils/airavata-common-utils.iml
    incubator/airavata/trunk/modules/commons/utils/pom.xml
    incubator/airavata/trunk/modules/commons/utils/src/
    incubator/airavata/trunk/modules/commons/utils/src/main/
    incubator/airavata/trunk/modules/commons/utils/src/main/java/
    incubator/airavata/trunk/modules/commons/utils/src/main/java/org/
    incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/
    incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/
    incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/
    incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/exception/
    incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/exception/UtilsException.java
    incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/
    incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/BrowserLauncher.java
    incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/IOUtil.java
    incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/NameValidator.java
    incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/Pair.java
    incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/StringUtil.java
    incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/SwingUtil.java
    incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/WSConstants.java
    incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/WSDLUtil.java
    incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/XMLUtil.java
    incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/XmlFormatter.java
Modified:
    incubator/airavata/trunk/modules/commons/pom.xml

Modified: incubator/airavata/trunk/modules/commons/pom.xml
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/commons/pom.xml?rev=1166871&r1=1166870&r2=1166871&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/commons/pom.xml (original)
+++ incubator/airavata/trunk/modules/commons/pom.xml Thu Sep  8 19:33:59 2011
@@ -83,6 +83,7 @@
             <modules>
                 <module>workflow-tracking</module>
             	<module>gfac-schema</module>
+		<module>utils</module>
 	    </modules>
         </profile>
     </profiles>

Added: incubator/airavata/trunk/modules/commons/utils/airavata-common-utils.iml
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/commons/utils/airavata-common-utils.iml?rev=1166871&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/commons/utils/airavata-common-utils.iml (added)
+++ incubator/airavata/trunk/modules/commons/utils/airavata-common-utils.iml Thu Sep  8 19:33:59 2011
@@ -0,0 +1,603 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module relativePaths="false" type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="false">
+    <output url="file://$MODULE_DIR$/target/classes" />
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <excludeFolder url="file://$MODULE_DIR$/target" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="module" module-name="airavata-workflowtracking" />
+    <orderEntry type="module" module-name="airavata-messagebox" />
+    <orderEntry type="module" module-name="airavata-messagebroker" />
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/axis2/axis2/1.5.1/axis2-1.5.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/axis2/axis2-transport-local/1.5.1/axis2-transport-local-1.5.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/axis2/axis2-kernel/1.5.1/axis2-kernel-1.5.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/ws/commons/axiom/axiom-api/1.2.8/axiom-api-1.2.8.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/geronimo/specs/geronimo-activation_1.1_spec/1.0.1/geronimo-activation_1.1_spec-1.0.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/geronimo/specs/geronimo-javamail_1.4_spec/1.2/geronimo-javamail_1.4_spec-1.2.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/jaxen/jaxen/1.1.1/jaxen-1.1.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/geronimo/specs/geronimo-stax-api_1.0_spec/1.0.1/geronimo-stax-api_1.0_spec-1.0.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/ws/commons/axiom/axiom-impl/1.2.8/axiom-impl-1.2.8.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/woodstox/wstx-asl/3.2.4/wstx-asl-3.2.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/ws/commons/axiom/axiom-dom/1.2.8/axiom-dom-1.2.8.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/geronimo/specs/geronimo-ws-metadata_2.0_spec/1.1.2/geronimo-ws-metadata_2.0_spec-1.1.2.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.1/geronimo-jta_1.1_spec-1.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.3/commons-codec-1.3.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/commons-fileupload/commons-fileupload/1.2/commons-fileupload-1.2.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/wsdl4j/wsdl4j/1.5.2/wsdl4j-1.5.2.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/ws/commons/schema/XmlSchema/1.4.3/XmlSchema-1.4.3.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/neethi/neethi/2.0.4/neethi-2.0.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/woden/woden-api/1.0M8/woden-api-1.0M8.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/ant/ant/1.7.0/ant-1.7.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/xerces/xmlParserAPIs/2.6.0/xmlParserAPIs-2.6.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/woden/woden-impl-dom/1.0M8/woden-impl-dom-1.0M8.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/javax/mail/mail/1.4/mail-1.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/javax/activation/activation/1.1/activation-1.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/xalan/xalan/2.7.0/xalan-2.7.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/1.4/commons-io-1.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/axis2/axis2-transport-http/1.5.1/axis2-transport-http-1.5.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpcore/4.0/httpcore-4.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/edu/berkeley/yfilter/1.0/yfilter-1.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/org/apache/xmlbeans/xmlbeans/2.4.0/xmlbeans-2.4.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/stax/stax-api/1.0.1/stax-api-1.0.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/net/java/dev/jets3t/jets3t/0.8.0/jets3t-0.8.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/com/amazonaws/aws-java-sdk/1.1.8/aws-java-sdk-1.1.8.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/xpp5/xpp5/1.2.6/xpp5-1.2.6.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/xpp3/xpp3/1.1.3_7/xpp3-1.1.3_7.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/amazon/MapReduce.Service.Client/1.0/MapReduce.Service.Client-1.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/xsul/xsul/2.10.5_b/xsul-2.10.5_b.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/xsul5-ogce/xsul5-2007-02-27/1/xsul5-2007-02-27-1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MAVEN_REPOSITORY$/xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+  </component>
+  <component name="org.twodividedbyzero.idea.findbugs">
+    <option name="_basePreferences">
+      <map>
+        <entry key="property.analysisEffortLevel" value="default" />
+        <entry key="property.analyzeAfterCompile" value="false" />
+        <entry key="property.exportAsHtml" value="true" />
+        <entry key="property.exportAsXml" value="true" />
+        <entry key="property.exportBaseDir" value="" />
+        <entry key="property.exportCreateArchiveDir" value="false" />
+        <entry key="property.exportOpenBrowser" value="true" />
+        <entry key="property.minPriorityToReport" value="Medium" />
+        <entry key="property.runAnalysisInBackground" value="false" />
+        <entry key="property.showHiddenDetectors" value="false" />
+        <entry key="property.toolWindowToFront" value="true" />
+      </map>
+    </option>
+    <option name="_detectors">
+      <map>
+        <entry key="AppendingToAnObjectOutputStream" value="true" />
+        <entry key="BCPMethodReturnCheck" value="false" />
+        <entry key="BadAppletConstructor" value="false" />
+        <entry key="BadResultSetAccess" value="true" />
+        <entry key="BadSyntaxForRegularExpression" value="true" />
+        <entry key="BadUseOfReturnValue" value="true" />
+        <entry key="BadlyOverriddenAdapter" value="true" />
+        <entry key="BooleanReturnNull" value="true" />
+        <entry key="BuildInterproceduralCallGraph" value="false" />
+        <entry key="BuildObligationPolicyDatabase" value="true" />
+        <entry key="CallToUnsupportedMethod" value="false" />
+        <entry key="CalledMethods" value="true" />
+        <entry key="CheckCalls" value="false" />
+        <entry key="CheckExpectedWarnings" value="false" />
+        <entry key="CheckImmutableAnnotation" value="true" />
+        <entry key="CheckTypeQualifiers" value="true" />
+        <entry key="CloneIdiom" value="true" />
+        <entry key="ComparatorIdiom" value="true" />
+        <entry key="ConfusedInheritance" value="true" />
+        <entry key="ConfusionBetweenInheritedAndOuterMethod" value="true" />
+        <entry key="CrossSiteScripting" value="true" />
+        <entry key="DoInsideDoPrivileged" value="true" />
+        <entry key="DontCatchIllegalMonitorStateException" value="true" />
+        <entry key="DontIgnoreResultOfPutIfAbsent" value="true" />
+        <entry key="DontUseEnum" value="true" />
+        <entry key="DroppedException" value="true" />
+        <entry key="DumbMethodInvocations" value="true" />
+        <entry key="DumbMethods" value="true" />
+        <entry key="DuplicateBranches" value="true" />
+        <entry key="EmptyZipFileEntry" value="true" />
+        <entry key="EqStringTest" value="false" />
+        <entry key="EqualsOperandShouldHaveClassCompatibleWithThis" value="true" />
+        <entry key="FieldItemSummary" value="true" />
+        <entry key="FinalizerNullsFields" value="true" />
+        <entry key="FindBadCast" value="false" />
+        <entry key="FindBadCast2" value="true" />
+        <entry key="FindBadEqualsImplementation" value="false" />
+        <entry key="FindBadForLoop" value="true" />
+        <entry key="FindBugsSummaryStats" value="true" />
+        <entry key="FindCircularDependencies" value="false" />
+        <entry key="FindDeadLocalStores" value="true" />
+        <entry key="FindDoubleCheck" value="true" />
+        <entry key="FindEmptySynchronizedBlock" value="true" />
+        <entry key="FindFieldSelfAssignment" value="true" />
+        <entry key="FindFinalizeInvocations" value="true" />
+        <entry key="FindFloatEquality" value="true" />
+        <entry key="FindFloatMath" value="false" />
+        <entry key="FindHEmismatch" value="true" />
+        <entry key="FindInconsistentSync2" value="true" />
+        <entry key="FindJSR166LockMonitorenter" value="true" />
+        <entry key="FindLocalSelfAssignment2" value="true" />
+        <entry key="FindMaskedFields" value="true" />
+        <entry key="FindMismatchedWaitOrNotify" value="true" />
+        <entry key="FindNakedNotify" value="true" />
+        <entry key="FindNonSerializableStoreIntoSession" value="true" />
+        <entry key="FindNonSerializableValuePassedToWriteObject" value="true" />
+        <entry key="FindNonShortCircuit" value="true" />
+        <entry key="FindNullDeref" value="true" />
+        <entry key="FindNullDerefsInvolvingNonShortCircuitEvaluation" value="true" />
+        <entry key="FindOpenStream" value="true" />
+        <entry key="FindPuzzlers" value="true" />
+        <entry key="FindRefComparison" value="true" />
+        <entry key="FindReturnRef" value="true" />
+        <entry key="FindRunInvocations" value="true" />
+        <entry key="FindSelfComparison" value="true" />
+        <entry key="FindSelfComparison2" value="true" />
+        <entry key="FindSleepWithLockHeld" value="true" />
+        <entry key="FindSpinLoop" value="true" />
+        <entry key="FindSqlInjection" value="true" />
+        <entry key="FindTwoLockWait" value="true" />
+        <entry key="FindUncalledPrivateMethods" value="true" />
+        <entry key="FindUnconditionalWait" value="true" />
+        <entry key="FindUninitializedGet" value="true" />
+        <entry key="FindUnrelatedTypesInGenericContainer" value="true" />
+        <entry key="FindUnreleasedLock" value="true" />
+        <entry key="FindUnsatisfiedObligation" value="true" />
+        <entry key="FindUnsyncGet" value="true" />
+        <entry key="FindUselessControlFlow" value="true" />
+        <entry key="FormatStringChecker" value="true" />
+        <entry key="HugeSharedStringConstants" value="true" />
+        <entry key="IDivResultCastToDouble" value="true" />
+        <entry key="IncompatMask" value="true" />
+        <entry key="InconsistentAnnotations" value="true" />
+        <entry key="InefficientMemberAccess" value="false" />
+        <entry key="InefficientToArray" value="true" />
+        <entry key="InfiniteLoop" value="true" />
+        <entry key="InfiniteRecursiveLoop" value="true" />
+        <entry key="InfiniteRecursiveLoop2" value="false" />
+        <entry key="InheritanceUnsafeGetResource" value="true" />
+        <entry key="InitializationChain" value="true" />
+        <entry key="InstantiateStaticClass" value="true" />
+        <entry key="InvalidJUnitTest" value="true" />
+        <entry key="IteratorIdioms" value="true" />
+        <entry key="LazyInit" value="true" />
+        <entry key="LoadOfKnownNullValue" value="true" />
+        <entry key="LockedFields" value="false" />
+        <entry key="LostLoggerDueToWeakReference" value="true" />
+        <entry key="MethodReturnCheck" value="true" />
+        <entry key="Methods" value="true" />
+        <entry key="MultithreadedInstanceAccess" value="true" />
+        <entry key="MutableLock" value="true" />
+        <entry key="MutableStaticFields" value="true" />
+        <entry key="Naming" value="true" />
+        <entry key="Noise" value="false" />
+        <entry key="NoiseNullDeref" value="false" />
+        <entry key="NoteAnnotationRetention" value="true" />
+        <entry key="NoteCheckReturnValue" value="true" />
+        <entry key="NoteCheckReturnValueAnnotations" value="true" />
+        <entry key="NoteDirectlyRelevantTypeQualifiers" value="true" />
+        <entry key="NoteJCIPAnnotation" value="true" />
+        <entry key="NoteNonNullAnnotations" value="true" />
+        <entry key="NoteNonnullReturnValues" value="true" />
+        <entry key="NoteSuppressedWarnings" value="true" />
+        <entry key="NoteUnconditionalParamDerefs" value="true" />
+        <entry key="NumberConstructor" value="true" />
+        <entry key="OverridingEqualsNotSymmetrical" value="true" />
+        <entry key="PreferZeroLengthArrays" value="true" />
+        <entry key="PublicSemaphores" value="false" />
+        <entry key="QuestionableBooleanAssignment" value="true" />
+        <entry key="ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass" value="true" />
+        <entry key="ReadReturnShouldBeChecked" value="true" />
+        <entry key="RedundantInterfaces" value="true" />
+        <entry key="ReflectiveClasses" value="true" />
+        <entry key="RepeatedConditionals" value="true" />
+        <entry key="ResolveAllReferences" value="false" />
+        <entry key="RuntimeExceptionCapture" value="true" />
+        <entry key="SerializableIdiom" value="true" />
+        <entry key="StartInConstructor" value="true" />
+        <entry key="StaticCalendarDetector" value="true" />
+        <entry key="StringConcatenation" value="true" />
+        <entry key="SuperfluousInstanceOf" value="true" />
+        <entry key="SuspiciousThreadInterrupted" value="true" />
+        <entry key="SwitchFallthrough" value="true" />
+        <entry key="SynchronizationOnSharedBuiltinConstant" value="true" />
+        <entry key="SynchronizeAndNullCheckField" value="true" />
+        <entry key="SynchronizeOnClassLiteralNotGetClass" value="true" />
+        <entry key="SynchronizingOnContentsOfFieldToProtectField" value="true" />
+        <entry key="TestASM" value="false" />
+        <entry key="TestDataflowAnalysis" value="false" />
+        <entry key="TestingGround" value="false" />
+        <entry key="TrainFieldStoreTypes" value="true" />
+        <entry key="TrainNonNullAnnotations" value="true" />
+        <entry key="TrainUnconditionalDerefParams" value="true" />
+        <entry key="URLProblems" value="true" />
+        <entry key="UncallableMethodOfAnonymousClass" value="true" />
+        <entry key="UnnecessaryMath" value="true" />
+        <entry key="UnreadFields" value="true" />
+        <entry key="UseObjectEquals" value="false" />
+        <entry key="UselessSubclassMethod" value="false" />
+        <entry key="VarArgsProblems" value="true" />
+        <entry key="VolatileUsage" value="true" />
+        <entry key="WaitInLoop" value="true" />
+        <entry key="WrongMapIterator" value="true" />
+        <entry key="XMLFactoryBypass" value="true" />
+      </map>
+    </option>
+    <option name="_reportCategories">
+      <map>
+        <entry key="BAD_PRACTICE" value="true" />
+        <entry key="CORRECTNESS" value="true" />
+        <entry key="EXPERIMENTAL" value="true" />
+        <entry key="I18N" value="true" />
+        <entry key="MALICIOUS_CODE" value="true" />
+        <entry key="MT_CORRECTNESS" value="true" />
+        <entry key="NOISE" value="false" />
+        <entry key="PERFORMANCE" value="true" />
+        <entry key="SECURITY" value="true" />
+        <entry key="STYLE" value="true" />
+      </map>
+    </option>
+  </component>
+</module>
+

Added: incubator/airavata/trunk/modules/commons/utils/pom.xml
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/commons/utils/pom.xml?rev=1166871&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/commons/utils/pom.xml (added)
+++ incubator/airavata/trunk/modules/commons/utils/pom.xml Thu Sep  8 19:33:59 2011
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--Licensed to the Apache Software Foundation (ASF) under one or more contributor 
+	license agreements. See the NOTICE file distributed with this work for additional 
+	information regarding copyright ownership. The ASF licenses this file to 
+	you under the Apache License, Version 2.0 (theÏ "License"); you may not use 
+	this file except in compliance with the License. You may obtain a copy of 
+	the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 
+	by applicable law or agreed to in writing, software distributed under the 
+	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
+	OF ANY ~ KIND, either express or implied. See the License for the specific 
+	language governing permissions and limitations under the License. -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <parent>
+		<artifactId>airavata-commons</artifactId>
+		<groupId>airavata</groupId>
+		<version>0.0.1-SNAPSHOT</version>
+		<relativePath>../pom.xml</relativePath>
+	</parent>
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>airavata</groupId>
+	<artifactId>airavata-common-utils</artifactId>
+	<packaging>jar</packaging>
+	<name>Airavata Common  Utilities</name>
+	<url>http://incubator.apache.org/airavata/</url>
+
+	<dependencies>
+		<dependency>
+			<groupId>xpp3</groupId>
+			<artifactId>xpp3</artifactId>
+		</dependency>
+        	<dependency>
+			<groupId>com.amazonaws</groupId>
+			<artifactId>aws-java-sdk</artifactId>
+			<version>1.1.8</version>
+		</dependency>
+		<dependency>
+			<groupId>amazon</groupId>
+			<artifactId>MapReduce.Service.Client</artifactId>
+			<version>1.0</version>
+		</dependency>
+		<dependency>
+			<groupId>net.java.dev.jets3t</groupId>
+			<artifactId>jets3t</artifactId>
+			<version>0.8.0</version>
+		</dependency>
+        <dependency>
+            <groupId>airavata</groupId>
+            <artifactId>airavata-messagebroker</artifactId>
+            <version>${airavata.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>airavata</groupId>
+            <artifactId>airavata-workflowtracking</artifactId>
+            <version>${airavata.version}</version>
+        </dependency>
+        <dependency>
+			<groupId>xsul5-ogce</groupId>
+			<artifactId>xsul5-2007-02-27</artifactId>
+			<version>1</version>
+		</dependency>
+       		 <dependency>
+			<groupId>xpp5</groupId>
+  			<artifactId>xpp5</artifactId>
+  			<version>1.2.6</version>
+		</dependency>
+        <dependency>
+			<groupId>xsul</groupId>
+			<artifactId>xsul</artifactId>
+			<version>2.10.5_b</version>
+		</dependency>
+        <dependency>
+			<groupId>xerces</groupId>
+			<artifactId>xercesImpl</artifactId>
+		</dependency>
+	</dependencies>
+	<build>
+		<pluginManagement>
+			<plugins>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-compiler-plugin</artifactId>
+					<version>2.3.2</version>
+					<configuration>
+						<source>1.5</source>
+						<target>1.5</target>
+					</configuration>
+				</plugin>
+			
+
+			</plugins>
+		</pluginManagement>
+	</build>
+</project>

Added: incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/exception/UtilsException.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/exception/UtilsException.java?rev=1166871&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/exception/UtilsException.java (added)
+++ incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/exception/UtilsException.java Thu Sep  8 19:33:59 2011
@@ -0,0 +1,60 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.common.exception;
+
+public class UtilsException extends Exception {
+
+    /**
+     * Constructs a UtilsException.
+     *
+     */
+    public UtilsException() {
+        super();
+    }
+
+    /**
+     * Constructs a UtilsException.
+     *
+     * @param message
+     */
+    public UtilsException(String message) {
+        super(message);
+    }
+
+    /**
+     * Constructs a UtilsException.
+     *
+     * @param cause
+     */
+    public UtilsException(Throwable cause) {
+        super(cause);
+    }
+
+    /**
+     * Constructs a UtilsException.
+     *
+     * @param message
+     * @param cause
+     */
+    public UtilsException(String message, Throwable cause) {
+        super(message, cause);
+    }
+}

Added: incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/BrowserLauncher.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/BrowserLauncher.java?rev=1166871&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/BrowserLauncher.java (added)
+++ incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/BrowserLauncher.java Thu Sep  8 19:33:59 2011
@@ -0,0 +1,98 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.utils;
+
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.net.URL;
+
+
+import org.apache.airavata.common.exception.UtilsException;
+import xsul5.MLogger;
+
+/**
+ * Opens URLs with the OS-specific browser.
+ */
+public class BrowserLauncher {
+
+    private static final String ERROR_MESSAGE = "Error while attempting to launch web browser";
+
+    private static MLogger logger = MLogger.getLogger();
+
+    /**
+     * Opens a specified URL with the browser.
+     * 
+     * @param url
+     *            The specified URL.
+     * @throws UtilsException
+     */
+    public static void openURL(URL url) throws UtilsException {
+        openURL(url.toString());
+    }
+
+    /**
+     * Opens a specified URL with the browser.
+     * 
+     * @param url
+     *            The specified URL.
+     * @throws UtilsException
+     */
+    public static void openURL(String url) throws UtilsException {
+        logger.entering(url);
+        String osName = System.getProperty("os.name");
+        try {
+            if (osName.startsWith("Mac OS")) {
+                Class macUtils = Class.forName("com.apple.mrj.MRJFileUtils");
+                Method openURL = macUtils.getDeclaredMethod("openURL", new Class[] { String.class });
+                openURL.invoke(null, new Object[] { url });
+            } else if (osName.startsWith("Windows"))
+                Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
+            else { // assume Unix or Linux
+                String[] browsers = { "firefox", "mozilla", "netscape", "opera", "konqueror" };
+                String browser = null;
+                for (int count = 0; count < browsers.length && browser == null; count++)
+                    if (Runtime.getRuntime().exec(new String[] { "which", browsers[count] }).waitFor() == 0)
+                        browser = browsers[count];
+                if (browser == null) {
+                    throw new UtilsException("Could not find web browser.");
+                } else {
+                    Runtime.getRuntime().exec(new String[] { browser, url });
+                }
+            }
+        } catch (ClassNotFoundException e) {
+            throw new UtilsException(ERROR_MESSAGE, e);
+        } catch (NoSuchMethodException e) {
+            throw new UtilsException(ERROR_MESSAGE, e);
+        } catch (IllegalAccessException e) {
+            throw new UtilsException(ERROR_MESSAGE, e);
+        } catch (InvocationTargetException e) {
+            throw new UtilsException(ERROR_MESSAGE, e);
+        } catch (IOException e) {
+            throw new UtilsException(ERROR_MESSAGE, e);
+        } catch (InterruptedException e) {
+            throw new UtilsException(ERROR_MESSAGE, e);
+        } catch (RuntimeException e) {
+            throw new UtilsException(ERROR_MESSAGE, e);
+        }
+    }
+}
\ No newline at end of file

Added: incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/IOUtil.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/IOUtil.java?rev=1166871&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/IOUtil.java (added)
+++ incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/IOUtil.java Thu Sep  8 19:33:59 2011
@@ -0,0 +1,210 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.utils;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.Writer;
+
+import xsul5.MLogger;
+
+public class IOUtil {
+
+    private static final MLogger logger = MLogger.getLogger();
+
+    /**
+     * @param path
+     * @param content
+     * @throws IOException
+     */
+    public static void writeToFile(String content, String path) throws IOException {
+        logger.entering(new Object[] { path, content });
+
+        FileWriter fw = new FileWriter(path);
+        writeToWriter(content, fw);
+
+        logger.exiting();
+    }
+
+    /**
+     * @param content
+     * @param file
+     * @throws IOException
+     */
+    public static void writeToFile(String content, File file) throws IOException {
+        FileWriter fw = new FileWriter(file);
+        writeToWriter(content, fw);
+    }
+
+    /**
+     * @param inputStream
+     * @param file
+     * @throws IOException
+     */
+    public static void writeToFile(InputStream inputStream, File file) throws IOException {
+        FileOutputStream outputStream = new FileOutputStream(file);
+        byte[] bytes = new byte[1024];
+        int len;
+        while ((len = inputStream.read(bytes)) != -1) {
+            outputStream.write(bytes, 0, len);
+        }
+        outputStream.close();
+    }
+
+    /**
+     * Writes a specified String to a specified Writer.
+     * 
+     * @param content
+     *            The content to write
+     * @param writer
+     *            The specified Writer
+     * 
+     * @throws IOException
+     */
+    public static void writeToWriter(String content, Writer writer) throws IOException {
+        writer.write(content);
+        writer.close();
+    }
+
+    /**
+     * Returns the content of a specified file as a String.
+     * 
+     * @param path
+     * @return the content of a specified file as a String
+     * @throws IOException
+     */
+    public static String readFileToString(String path) throws IOException {
+        FileReader read = new FileReader(path);
+        return readToString(read);
+    }
+
+    /**
+     * Returns the content of a specified file as a String.
+     * 
+     * @param file
+     * @return the content of a specified file as a String
+     * @throws IOException
+     */
+    public static String readFileToString(File file) throws IOException {
+        FileReader reader = new FileReader(file);
+        return readToString(reader);
+    }
+
+    /**
+     * Returns a String read from a specified InputStream.
+     * 
+     * @param stream
+     *            The specified InputStream
+     * @return The String read from the specified InputStream
+     * @throws IOException
+     */
+    public static String readToString(InputStream stream) throws IOException {
+        return readToString(new InputStreamReader(stream));
+    }
+
+    /**
+     * Returns a String read from a specified Reader.
+     * 
+     * @param reader
+     *            The specified Reader
+     * @return The String read from the specified Reader
+     * @throws IOException
+     */
+    public static String readToString(Reader reader) throws IOException {
+        char[] cbuf = new char[1024];
+        StringBuilder sbuf = new StringBuilder();
+        int len;
+        while ((len = reader.read(cbuf)) != -1) {
+            sbuf.append(cbuf, 0, len);
+        }
+        return sbuf.toString();
+    }
+
+    /**
+     * @param file
+     * @return The byte array
+     * @throws IOException
+     */
+    public static byte[] readToByteArray(File file) throws IOException {
+        return readToByteArray(new FileInputStream(file));
+    }
+
+    /**
+     * @param inputStream
+     * @return The byte array.
+     * @throws IOException
+     */
+    public static byte[] readToByteArray(InputStream inputStream) throws IOException {
+        byte[] buf = new byte[1024];
+        ByteArrayOutputStream byteArrayStream = new ByteArrayOutputStream();
+        int len;
+        while ((len = inputStream.read(buf)) != -1) {
+            byteArrayStream.write(buf, 0, len);
+        }
+        return byteArrayStream.toByteArray();
+    }
+
+    /**
+     * @param path
+     * @return <code>true</code> if and only if the file or directory is successfully deleted; <code>false</code>
+     *         otherwise
+     */
+    public static boolean deleteDirectory(File path) {
+        if (path.exists()) {
+            File[] files = path.listFiles();
+            for (File file : files) {
+                if (file.isDirectory()) {
+                    deleteDirectory(file);
+                } else {
+                    file.delete();
+                }
+            }
+        }
+        return path.delete();
+    }
+
+    /**
+     * Gets the extension of a specified file.
+     * 
+     * @param file
+     *            the specified file.
+     * @return the extension of the file in lower case if there is an extension; null otherwise
+     */
+    public static String getExtension(File file) {
+        String ext = null;
+        String name = file.getName();
+
+        int index = name.lastIndexOf('.');
+        if (index > 0 && index < name.length() - 1) {
+            ext = name.substring(index + 1).toLowerCase();
+        }
+        return ext;
+    }
+}
\ No newline at end of file

Added: incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/NameValidator.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/NameValidator.java?rev=1166871&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/NameValidator.java (added)
+++ incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/NameValidator.java Thu Sep  8 19:33:59 2011
@@ -0,0 +1,70 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.utils;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class NameValidator {
+
+    /**
+     * @param name
+     * @return Is it valid name?
+     */
+    public static boolean validate(String name) {
+        // Set the name pattern string
+        Pattern p = Pattern.compile("([a-zA-Z]){1,}([0-9]|_|\\.|[a-zA-Z]){0,}$");
+
+        // Match the given string with the pattern
+        Matcher m = p.matcher(name);
+
+        // Check whether match is found
+        boolean matchFound = m.matches();
+
+        return matchFound;
+    }
+
+    /**
+     * @param args
+     * @Description some quick tests
+     */
+    public static void main(String[] args) {
+        System.out.println(validate("abc90_90abc")); // true
+
+        System.out.println(validate("abc_abc_123")); // true
+
+        System.out.println(validate("abc_abc_")); // true
+
+        System.out.println(validate("abc_abc")); // true
+
+        System.out.println(validate("abc.abc")); // true
+
+        System.out.println(validate("9abc_abc")); // false, name cannot start with number
+
+        System.out.println(validate("_abc_abc")); // false, name cannot start with "_"
+
+        System.out.println(validate("\\abc_abc")); // false, name cannot start with "\"
+
+        System.out.println(validate("abc\\_abc")); // false, name cannot contain "\"
+    }
+
+}
\ No newline at end of file

Added: incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/Pair.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/Pair.java?rev=1166871&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/Pair.java (added)
+++ incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/Pair.java Thu Sep  8 19:33:59 2011
@@ -0,0 +1,79 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.utils;
+
+public class Pair<L, R> {
+
+    private L left;
+
+    private R right;
+
+    /**
+     * Constructs a Pair.
+     * 
+     * @param left
+     * @param right
+     */
+    public Pair(L left, R right) {
+        this.left = left;
+        this.right = right;
+    }
+
+    /**
+     * Returns the left.
+     * 
+     * @return The left
+     */
+    public L getLeft() {
+        return this.left;
+    }
+
+    /**
+     * Sets left.
+     * 
+     * @param left
+     *            The left to set.
+     */
+    public void setLeft(L left) {
+        this.left = left;
+    }
+
+    /**
+     * Returns the right.
+     * 
+     * @return The right
+     */
+    public R getRight() {
+        return this.right;
+    }
+
+    /**
+     * Sets right.
+     * 
+     * @param right
+     *            The right to set.
+     */
+    public void setRight(R right) {
+        this.right = right;
+    }
+
+}
\ No newline at end of file

Added: incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/StringUtil.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/StringUtil.java?rev=1166871&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/StringUtil.java (added)
+++ incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/StringUtil.java Thu Sep  8 19:33:59 2011
@@ -0,0 +1,167 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.utils;
+
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+
+public class StringUtil {
+
+    /**
+     * Converts object to String without worrying about null check.
+     * 
+     * @param object
+     * @return The object.toString if object is not null; "" otherwise.
+     */
+    public static String toString(Object object) {
+        if (object == null) {
+            return "";
+        } else {
+            return object.toString();
+        }
+    }
+
+    /**
+     * Trims a specified string, and makes it null if the result is empty string.
+     * 
+     * @param string
+     * @return the string processed
+     */
+    public static String trimAndNullify(String string) {
+        if (string != null) {
+            string = string.trim();
+            if (string.equals("")) {
+                string = null;
+            }
+        }
+        return string;
+    }
+
+    /**
+     * @param oldName
+     * @return Trimmed String
+     */
+    public static String trimSpaceInString(String oldName) {
+        if (oldName == null) {
+            return "";
+        }
+        return oldName.replace(" ", "");
+    }
+
+    /**
+     * Converts a specified string to a Java identifier.
+     * 
+     * @param name
+     * @return the Java identifier
+     */
+    public static String convertToJavaIdentifier(String name) {
+
+        final char REPLACE_CHAR = '_';
+
+        if (name == null || name.length() == 0) {
+            return "" + REPLACE_CHAR;
+        }
+
+        StringBuilder buf = new StringBuilder();
+
+        char c = name.charAt(0);
+        if (!Character.isJavaIdentifierStart(c)) {
+            // Add _ at the beggining instead of replacing it to _. This is
+            // more readable if the name is like 3D_Model.
+            buf.append(REPLACE_CHAR);
+        }
+
+        for (int i = 0; i < name.length(); i++) {
+            c = name.charAt(i);
+            if (Character.isJavaIdentifierPart(c)) {
+                buf.append(c);
+            } else {
+                buf.append(REPLACE_CHAR);
+            }
+        }
+
+        return buf.toString();
+    }
+
+    /**
+     * Creates a new name by incrementing the number after the underscore at the end of the old name. If there is no
+     * underscore and number at the end, put "_2" at the end.
+     * 
+     * @param oldName
+     * @return the new name
+     */
+    public static String incrementName(String oldName) {
+
+        final char PREFIX = '_';
+
+        String newName;
+        if (oldName == null || oldName.length() == 0) {
+            newName = "noName";
+        } else {
+            int lastDashIndex = oldName.lastIndexOf(PREFIX);
+            if (lastDashIndex < 0) {
+                newName = oldName + PREFIX + 2;
+            } else {
+                String suffix = oldName.substring(lastDashIndex + 1);
+                try {
+                    int number = Integer.parseInt(suffix);
+                    int newNumber = number + 1;
+                    newName = oldName.substring(0, lastDashIndex + 1) + newNumber;
+                } catch (RuntimeException e) {
+                    // It was not a number
+                    newName = oldName + PREFIX + 2;
+                }
+            }
+        }
+        return newName;
+    }
+
+    /**
+     * Returns the local class name of a specified class.
+     * 
+     * @param klass
+     *            The specified class
+     * @return The local class name
+     */
+    public static String getClassName(Class klass) {
+        String fullName = klass.getName();
+        int index = fullName.lastIndexOf(".");
+        if (index < 0) {
+            return fullName;
+        } else {
+            return fullName.substring(index + 1);
+        }
+    }
+
+    /**
+     * @param throwable
+     * @return The stackTrace in String
+     */
+    public static String getStackTraceInString(Throwable throwable) {
+        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+        PrintStream printStream = new PrintStream(byteArrayOutputStream);
+        throwable.printStackTrace(printStream);
+        printStream.flush();
+        return byteArrayOutputStream.toString();
+    }
+
+}
\ No newline at end of file

Added: incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/SwingUtil.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/SwingUtil.java?rev=1166871&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/SwingUtil.java (added)
+++ incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/SwingUtil.java Thu Sep  8 19:33:59 2011
@@ -0,0 +1,305 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.utils;
+
+import java.awt.Component;
+import java.awt.Container;
+import java.awt.Cursor;
+import java.awt.Dimension;
+import java.awt.Frame;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.net.URL;
+import java.util.List;
+
+import javax.swing.ImageIcon;
+import javax.swing.Spring;
+import javax.swing.SpringLayout;
+
+public class SwingUtil {
+
+    /**
+     * Minimum size, zero.
+     */
+    public static final Dimension MINIMUM_SIZE = new Dimension(0, 0);
+
+    /**
+     * The default distance between components.
+     */
+    public static final int PAD = 6;
+
+    /**
+     * Default cursor.
+     */
+    public static final Cursor DEFAULT_CURSOR = new Cursor(Cursor.DEFAULT_CURSOR);
+
+    /**
+     * Hand cursor.
+     */
+    public static final Cursor HAND_CURSOR = new Cursor(Cursor.HAND_CURSOR);
+
+    /**
+     * Cross hair cursor.
+     */
+    public static final Cursor CROSSHAIR_CURSOR = new Cursor(Cursor.CROSSHAIR_CURSOR);
+
+    /**
+     * Move cursor.
+     */
+    public static final Cursor MOVE_CURSOR = new Cursor(Cursor.MOVE_CURSOR);
+
+    /**
+     * Wait cursor.
+     */
+    public static final Cursor WAIT_CURSOR = new Cursor(Cursor.WAIT_CURSOR);
+
+    /**
+     * Creates an icon from an image contained in the "images" directory.
+     * 
+     * @param filename
+     * @return the ImageIcon created
+     */
+    public static ImageIcon createImageIcon(String filename) {
+        ImageIcon icon = null;
+        String path = "/images/" + filename;
+        URL imgURL = SwingUtil.class.getResource(path);
+        if (imgURL != null) {
+            icon = new ImageIcon(imgURL);
+        }
+        return icon;
+    }
+
+    /**
+     * Return the Frame of a specified component if any.
+     * 
+     * @param component
+     *            the specified component
+     * 
+     * @return the Frame of a specified component if any; otherwise null
+     */
+    public static Frame getFrame(Component component) {
+        Frame frame;
+        Component parent;
+        while ((parent = component.getParent()) != null) {
+            component = parent;
+        }
+        if (component instanceof Frame) {
+            frame = (Frame) component;
+        } else {
+            frame = null;
+        }
+        return frame;
+    }
+
+    /**
+     * Wight none of rows or eolumns. Used by layoutToGrid().
+     */
+    public final static int WEIGHT_NONE = -1;
+
+    /**
+     * Weight all rows or columns equally. Used by layoutToGrid().
+     */
+    public final static int WEIGHT_EQUALLY = -2;
+
+    /**
+     * Layouts the child components of a specified parent component using GridBagLayout.
+     * 
+     * @param parent
+     *            The specified parent component
+     * @param numRow
+     *            The number of rows
+     * @param numColumn
+     *            The number of columns
+     * @param weightedRow
+     *            The row to weight
+     * @param weightedColumn
+     *            The column to weight
+     */
+    public static void layoutToGrid(Container parent, int numRow, int numColumn, int weightedRow, int weightedColumn) {
+        GridBagLayout layout = new GridBagLayout();
+        parent.setLayout(layout);
+        GridBagConstraints constraints = new GridBagConstraints();
+
+        constraints.fill = GridBagConstraints.BOTH;
+        constraints.insets = new Insets(SwingUtil.PAD, SwingUtil.PAD, SwingUtil.PAD, SwingUtil.PAD);
+
+        for (int row = 0; row < numRow; row++) {
+            constraints.gridy = row;
+            if (weightedRow == WEIGHT_EQUALLY) {
+                constraints.weighty = 1;
+            } else if (row == weightedRow) {
+                constraints.weighty = 1;
+            } else {
+                constraints.weighty = 0;
+            }
+            for (int column = 0; column < numColumn; column++) {
+                constraints.gridx = column;
+                if (weightedColumn == WEIGHT_EQUALLY) {
+                    constraints.weightx = 1;
+                } else if (column == weightedColumn) {
+                    constraints.weightx = 1;
+                } else {
+                    constraints.weightx = 0;
+                }
+                Component component = parent.getComponent(row * numColumn + column);
+                layout.setConstraints(component, constraints);
+            }
+        }
+    }
+
+    /**
+     * @param parent
+     * @param rowWeights
+     * @param columnWeights
+     */
+    public static void layoutToGrid(Container parent, double[] rowWeights, double[] columnWeights) {
+        GridBagLayout layout = new GridBagLayout();
+        parent.setLayout(layout);
+        GridBagConstraints constraints = new GridBagConstraints();
+
+        constraints.fill = GridBagConstraints.BOTH;
+        constraints.insets = new Insets(SwingUtil.PAD, SwingUtil.PAD, SwingUtil.PAD, SwingUtil.PAD);
+
+        for (int row = 0; row < rowWeights.length; row++) {
+            constraints.gridy = row;
+            constraints.weighty = rowWeights[row];
+            for (int column = 0; column < columnWeights.length; column++) {
+                constraints.gridx = column;
+                constraints.weightx = columnWeights[column];
+                Component component = parent.getComponent(row * columnWeights.length + column);
+                layout.setConstraints(component, constraints);
+            }
+        }
+    }
+
+    /**
+     * @param parent
+     * @param rowWeights
+     * @param columnWeights
+     */
+    @SuppressWarnings("boxing")
+    public static void layoutToGrid(Container parent, List<Double> rowWeights, List<Double> columnWeights) {
+        GridBagLayout layout = new GridBagLayout();
+        parent.setLayout(layout);
+        GridBagConstraints constraints = new GridBagConstraints();
+
+        constraints.fill = GridBagConstraints.BOTH;
+        constraints.insets = new Insets(SwingUtil.PAD, SwingUtil.PAD, SwingUtil.PAD, SwingUtil.PAD);
+
+        for (int row = 0; row < rowWeights.size(); row++) {
+            constraints.gridy = row;
+            constraints.weighty = rowWeights.get(row);
+            for (int column = 0; column < columnWeights.size(); column++) {
+                constraints.gridx = column;
+                constraints.weightx = columnWeights.get(column);
+                Component component = parent.getComponent(row * columnWeights.size() + column);
+                layout.setConstraints(component, constraints);
+            }
+        }
+    }
+
+    /**
+     * Aligns the first <code>rows</code> * <code>cols</code> components of <code>parent</code> in a grid. Each
+     * component in a column is as wide as the maximum preferred width of the components in that column; height is
+     * similarly determined for each row. The parent is made just big enough to fit them all.
+     * 
+     * @param parent
+     * 
+     * @param rows
+     *            number of rows
+     * @param cols
+     *            number of columns
+     */
+    public static void makeSpringCompactGrid(Container parent, int rows, int cols) {
+        makeSpringCompactGrid(parent, rows, cols, PAD, PAD, PAD, PAD);
+    }
+
+    /**
+     * Aligns the first <code>rows</code> * <code>cols</code> components of <code>parent</code> in a grid. Each
+     * component in a column is as wide as the maximum preferred width of the components in that column; height is
+     * similarly determined for each row. The parent is made just big enough to fit them all.
+     * 
+     * @param parent
+     * 
+     * @param rows
+     *            number of rows
+     * @param cols
+     *            number of columns
+     * @param initialX
+     *            x location to start the grid at
+     * @param initialY
+     *            y location to start the grid at
+     * @param xPad
+     *            x padding between cells
+     * @param yPad
+     *            y padding between cells
+     */
+    private static void makeSpringCompactGrid(Container parent, int rows, int cols, int initialX, int initialY,
+            int xPad, int yPad) {
+
+        SpringLayout layout = new SpringLayout();
+        parent.setLayout(layout);
+
+        // Align all cells in each column and make them the same width.
+        Spring x = Spring.constant(initialX);
+        for (int c = 0; c < cols; c++) {
+            Spring width = Spring.constant(0);
+            for (int r = 0; r < rows; r++) {
+                width = Spring.max(width, getConstraintsForCell(r, c, parent, cols).getWidth());
+            }
+            for (int r = 0; r < rows; r++) {
+                SpringLayout.Constraints constraints = getConstraintsForCell(r, c, parent, cols);
+                constraints.setX(x);
+                constraints.setWidth(width);
+            }
+            x = Spring.sum(x, Spring.sum(width, Spring.constant(xPad)));
+        }
+
+        // Align all cells in each row and make them the same height.
+        Spring y = Spring.constant(initialY);
+        for (int r = 0; r < rows; r++) {
+            Spring height = Spring.constant(0);
+            for (int c = 0; c < cols; c++) {
+                height = Spring.max(height, getConstraintsForCell(r, c, parent, cols).getHeight());
+            }
+            for (int c = 0; c < cols; c++) {
+                SpringLayout.Constraints constraints = getConstraintsForCell(r, c, parent, cols);
+                constraints.setY(y);
+                constraints.setHeight(height);
+            }
+            y = Spring.sum(y, Spring.sum(height, Spring.constant(yPad)));
+        }
+
+        // Set the parent's size.
+        SpringLayout.Constraints pCons = layout.getConstraints(parent);
+        pCons.setConstraint(SpringLayout.SOUTH, y);
+        pCons.setConstraint(SpringLayout.EAST, x);
+    }
+
+    /* Used by makeCompactGrid. */
+    private static SpringLayout.Constraints getConstraintsForCell(int row, int col, Container parent, int cols) {
+        SpringLayout layout = (SpringLayout) parent.getLayout();
+        Component c = parent.getComponent(row * cols + col);
+        return layout.getConstraints(c);
+    }
+}
\ No newline at end of file

Added: incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/WSConstants.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/WSConstants.java?rev=1166871&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/WSConstants.java (added)
+++ incubator/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/WSConstants.java Thu Sep  8 19:33:59 2011
@@ -0,0 +1,178 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.utils;
+
+import javax.xml.namespace.QName;
+
+import org.xmlpull.infoset.XmlNamespace;
+
+import xsul5.XmlConstants;
+
+public interface WSConstants {
+
+    /**
+     * xmlns
+     */
+    public final static String XMLNS = "xmlns";
+
+    /**
+     * XML Schema prefix, xsd
+     */
+    public static final String XSD_NS_PREFIX = "xsd";
+
+    /**
+     * XML Schema URI.
+     */
+    public static final String XSD_NS_URI = "http://www.w3.org/2001/XMLSchema";
+
+    /**
+     * XML Schema Namespace
+     */
+    public static final XmlNamespace XSD_NS = XmlConstants.BUILDER.newNamespace(XSD_NS_PREFIX, XSD_NS_URI);
+
+    /**
+     * The any type.
+     */
+    public static final QName XSD_ANY_TYPE = new QName(XSD_NS_URI, "any", XSD_NS_PREFIX);
+
+    /**
+     * xsd:anyURI
+     */
+    public static final QName XSD_ANY_URI = new QName(XSD_NS_URI, "anyURI", XSD_NS_PREFIX);
+
+    /**
+     * tns
+     */
+    public static final String TARGET_NS_PREFIX = "tns";
+
+    /**
+     * typens
+     */
+    public static final String TYPE_NS_PREFIX = "typens";
+
+    /**
+     * schema
+     */
+    public static final String SCHEMA_TAG = "schema";
+
+    /**
+     * Element name for annotation, annotation
+     */
+    public static final String ANNOTATION_TAG = "annotation";
+
+    /**
+     * Element name for documentation, documentation
+     */
+    public static final String DOCUMENTATION_TAG = "documentation";
+
+    /**
+     * appinfo
+     */
+    public static final String APPINFO_TAG = "appinfo";
+
+    /**
+     * element
+     */
+    public static final String ELEMENT_TAG = "element";
+
+    /**
+     * sequence
+     */
+    public static final String SEQUENCE_TAG = "sequence";
+
+    /**
+     * complexType
+     */
+    public static final String COMPLEX_TYPE_TAG = "complexType";
+
+    /**
+     * simpleType
+     */
+    public static final String SIMPLE_TYPE_TAG = "simpleType";
+
+    /**
+     * name
+     */
+    public static final String NAME_ATTRIBUTE = "name";
+
+    /**
+     * type
+     */
+    public static final String TYPE_ATTRIBUTE = "type";
+
+    /**
+     * targetNamespace
+     */
+    public static final String TARGET_NAMESPACE_ATTRIBUTE = "targetNamespace";
+
+    /**
+     * elementFormDefault
+     */
+    public final static String ELEMENT_FORM_DEFAULT_ATTRIBUTE = "elementFormDefault";
+
+    /**
+     * unqualified
+     */
+    public final static String UNQUALIFIED_VALUE = "unqualified";
+
+    /**
+     * default
+     */
+    public static final String DEFAULT_ATTRIBUTE = "default";
+
+    /**
+     * UsingAddressing
+     */
+    public static final String USING_ADDRESSING_TAG = "UsingAddressing";
+
+    /**
+     * <appinfo xmlns="http://www.w3.org/2001/XMLSchema">
+     * 
+     * </appinfo>
+     */
+    public static final String EMPTY_APPINFO = "<appinfo xmlns=\"http://www.w3.org/2001/XMLSchema\">\n\n</appinfo>";
+
+    /**
+     * minOccurs
+     */
+    public static final String MIN_OCCURS_ATTRIBUTE = "minOccurs";
+
+    /**
+     * maxOccurs
+     */
+    public static final String MAX_OCCURS_ATTRIBUTE = "maxOccurs";
+
+    /**
+     * unbounded
+     */
+    public static final String UNBOUNDED_VALUE = "unbounded";
+
+    /**
+     * import
+     */
+    public static final String IMPORT_TAG = "import";
+
+    /**
+     * schemaLocation
+     */
+    public static final String SCHEMA_LOCATION_ATTRIBUTE = "schemaLocation";
+}
\ No newline at end of file