Menu

Commit [r2877]  Maximize  Restore  History

Upgrade to new serialisation version

hotzst 2009-12-16

changed /trunk/ch.sahits.codegen.java/fragments/codegenserilisation.xsd
added /trunk/ch.sahits.codegen.java/fragments/javaserialisation.xsd
changed /trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/internal/input/HeadlessJavaGeneratorInputDefinition.java
changed /trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/internal/wizards/GeneratedClass.java
changed /trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/internal/wizards/GeneratedClassBuilder.java
changed /trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/internal/wizards/IGeneratedClass.java
changed /trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/internal/wizards/IGeneratedClassBuilder.java
changed /trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/internal/wizards/XMLHeadlessSerializer.java
added /trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/internal/wizards/XMLHeadlessSerializer2_0.java
changed /trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/wizards/HeadlessJavaGenerator.java
changed /trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/wizards/XMLHeadlessSerializerFactory.java
added /trunk/ch.sahits.codegen.test/src/ch/sahits/codegen/java/internal/wizards/XMLHeadlessSerializer2_0Test.java
changed /trunk/ch.sahits.codegen.test/src/ch/sahits/codegen/java/internal/wizards/XMLSerializerTest.java
changed /trunk/ch.sahits.codegen.test/src/ch/sahits/codegen/java/wizards/HeadlessJavaGeneratorTest.java
changed /trunk/ch.sahits.codegen.ui/src/ch/sahits/codegen/ui/internal/wizards/GeneratedClassDelegateGenerator.java
changed /trunk/ch.sahits.codegen.ui/src/ch/sahits/codegen/ui/internal/wizards/JavaClassGenerationDefinitionPage.java
changed /trunk/ch.sahits.codegen.ui/src/ch/sahits/codegen/ui/internal/wizards/JavaCodegenWizard.java
changed /trunk/ch.sahits.codegen.ui/src/ch/sahits/codegen/ui/internal/wizards/XMLSerializer.java
added /trunk/ch.sahits.codegen.ui/src/ch/sahits/codegen/ui/internal/wizards/XMLSerializer2_0.java
changed /trunk/ch.sahits.model/src/ch/sahits/model/java/GeneratedJavaClass.java
/trunk/ch.sahits.codegen.java/fragments/codegenserilisation.xsd Diff Switch to side-by-side view
--- a/trunk/ch.sahits.codegen.java/fragments/codegenserilisation.xsd
+++ b/trunk/ch.sahits.codegen.java/fragments/codegenserilisation.xsd
@@ -1,87 +1,178 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="utf-8" ?>
+<!--Created with Liquid XML Studio - FREE Community Edition 7.0.5.906 (http://www.liquid-technologies.com)-->
 <!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by Andi Hotz (SAHITS) -->
 <!--W3C Schema generated by XMLSPY v2004 rel. 2 U (http://www.xmlspy.com)-->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
-	<xs:element name="class">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="interface"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="package" type="xs:string" use="required"/>
-			<xs:attribute name="superclass" type="xs:string" use="required"/>
-			<xs:attribute name="abstract" type="xs:boolean" use="required"/>
-			<xs:attribute name="final" type="xs:boolean" use="required"/>
-			<xs:attribute name="visibility" type="xs:string" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="database">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="port"/>
-				<xs:element ref="host"/>
-				<xs:element ref="dbname"/>
-				<xs:element ref="username"/>
-				<xs:element ref="password"/>
-				<xs:element ref="tablename"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="databaseproduct" type="xs:string"/>
-	<xs:element name="dbname" type="xs:string"/>
-	<xs:element name="generatedclass">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="srcFolder"/>
-				<xs:element ref="class"/>
-				<xs:element ref="generation"/>
-				<xs:element ref="database"/>
-			</xs:sequence>
-			<xs:attribute name="version" type="xs:decimal" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="generation">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="inputfile"/>
-				<xs:element ref="jetemplate"/>
-				<xs:element ref="generator"/>
-				<xs:element ref="referenceImplementation"/>
-				<xs:element ref="databaseproduct"/>
-			</xs:sequence>
-			<xs:attribute name="type" type="xs:string" use="required"/>
-			<xs:attribute name="base" type="xs:string" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="generator">
-		<xs:complexType>
-			<xs:attribute name="inPlugin" type="xs:boolean" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="host" type="xs:string"/>
-	<xs:element name="inputfile" type="xs:string"/>
-	<xs:element name="interface">
-		<xs:complexType>
-			<xs:attribute name="class" type="xs:string" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="jetemplate">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="inPlugin" type="xs:boolean" use="required"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="password" type="xs:string"/>
-	<xs:element name="port" type="xs:string"/>
-	<xs:element name="referenceImplementation" type="xs:string"/>
-	<xs:element name="srcFolder">
-		<xs:complexType>
-			<xs:attribute name="path" type="xs:string" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="tablename" type="xs:string"/>
-	<xs:element name="username"  type="xs:string"/>
-</xs:schema>
+<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:element name="class">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="interface" />
+      </xs:sequence>
+      <xs:attribute name="name" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:pattern value="[a-zA-Z]*[a-zA-Z_0-9]*" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="package" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="superclass" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="abstract" type="xs:boolean" use="required" />
+      <xs:attribute name="final" type="xs:boolean" use="required" />
+      <xs:attribute name="visibility" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:enumeration value="PUBLIC" />
+            <xs:enumeration value="PROTECTED" />
+            <xs:enumeration value="PACKAGE" />
+            <xs:enumeration value="DEFAULT" />
+            <xs:enumeration value="PRIVATE" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="database">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="port" />
+        <xs:element ref="host" />
+        <xs:element ref="dbname" />
+        <xs:element ref="username" />
+        <xs:element ref="password" />
+        <xs:element ref="tablename" />
+        <xs:element ref="schema" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="databaseproduct" type="xs:string" />
+  <xs:element name="dbname" type="xs:string" />
+  <xs:element name="generatedclass">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="srcFolder" />
+        <xs:element ref="class" />
+        <xs:element ref="generation" />
+        <xs:element ref="database" />
+      </xs:sequence>
+      <xs:attribute name="version" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:decimal">
+            <!--            <xs:enumeration value="1.0" />
+            <xs:enumeration value="1.1" />-->
+            <xs:enumeration value="2.0" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="generation">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="inputfile" />
+        <xs:element ref="jetemplate" />
+        <xs:element ref="generator" />
+        <xs:element ref="referenceImplementation" />
+        <xs:element ref="databaseproduct" />
+      </xs:sequence>
+      <xs:attribute name="type" type="xs:string" use="required" />
+      <xs:attribute name="base" type="xs:string" use="required" />
+      <xs:attribute name="genClass" use="optional">
+        <!-- optional iff base is 1 or 2 -->
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="generator">
+    <xs:complexType>
+      <xs:simpleContent>
+        <xs:extension base="xs:string">
+          <xs:attribute name="inPlugin" type="xs:boolean" use="optional" />
+          <xs:attribute name="pluginID" use="required">
+            <xs:simpleType>
+              <xs:restriction base="xs:string">
+                <xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
+              </xs:restriction>
+            </xs:simpleType>
+          </xs:attribute>
+        </xs:extension>
+      </xs:simpleContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="host" type="xs:string" />
+  <xs:element name="inputfile" type="xs:string" />
+  <xs:element name="interface">
+    <xs:complexType>
+      <xs:attribute name="class" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="jetemplate">
+    <xs:complexType>
+      <xs:simpleContent>
+        <xs:extension base="xs:string">
+          <xs:attribute name="inPlugin" type="xs:boolean" use="optional" />
+          <xs:attribute name="pluginID" use="required">
+            <xs:simpleType>
+              <xs:restriction base="xs:string">
+                <xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
+              </xs:restriction>
+            </xs:simpleType>
+          </xs:attribute>
+        </xs:extension>
+      </xs:simpleContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="password" type="xs:string" />
+  <xs:element name="port" type="xs:int" />
+  <xs:element name="referenceImplementation">
+    <xs:complexType>
+      <xs:attribute name="pluginID" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="srcFolder">
+    <xs:complexType>
+      <xs:simpleContent>
+        <xs:extension base="xs:string">
+          <xs:attribute name="path" type="xs:string" use="required" />
+        </xs:extension>
+      </xs:simpleContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tablename" type="xs:string" />
+  <xs:element name="username" type="xs:string" />
+  <xs:element name="schema">
+    <xs:simpleType>
+      <xs:restriction base="xs:string">
+        <xs:pattern value="[a-zA-Z]*" />
+      </xs:restriction>
+    </xs:simpleType>
+  </xs:element>
+</xs:schema>
\ No newline at end of file
/trunk/ch.sahits.codegen.java/fragments/javaserialisation.xsd Diff Switch to side-by-side view
--- a
+++ b/trunk/ch.sahits.codegen.java/fragments/javaserialisation.xsd
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--Created with Liquid XML Studio - FREE Community Edition 7.0.5.906 (http://www.liquid-technologies.com)-->
+<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:complexType name="classType">
+    <xs:sequence minOccurs="1" maxOccurs="unbounded">
+      <xs:element name="interface">
+        <xs:complexType>
+          <xs:simpleContent>
+            <xs:extension base="xs:string">
+              <xs:attribute name="class" use="required">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:attribute>
+            </xs:extension>
+          </xs:simpleContent>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+    <xs:attribute name="name" use="required">
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:pattern value="[a-zA-Z]*[a-zA-Z_0-9]*" />
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="package" use="required">
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="superclass" use="required">
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="abstract" type="xs:boolean" use="required" />
+    <xs:attribute name="final" type="xs:boolean" use="required" />
+    <xs:attribute name="visibility" use="required">
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="PUBLIC" />
+          <xs:enumeration value="PROTECTED" />
+          <xs:enumeration value="PACKAGE" />
+          <xs:enumeration value="DEFAULT" />
+          <xs:enumeration value="PRIVATE" />
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="generationType">
+    <xs:sequence minOccurs="1" maxOccurs="1">
+      <xs:element name="inputfile" type="xs:string" />
+      <xs:element name="jetemplate">
+        <xs:complexType>
+          <xs:simpleContent>
+            <xs:extension base="xs:string">
+              <xs:attribute name="inPlugin" type="xs:boolean" use="optional" />
+              <xs:attribute name="pluginID" use="required">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:attribute>
+            </xs:extension>
+          </xs:simpleContent>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="generator">
+        <xs:complexType>
+          <xs:simpleContent>
+            <xs:extension base="xs:string">
+              <xs:attribute name="inPlugin" type="xs:boolean" use="optional" />
+              <xs:attribute name="pluginID" use="required">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:attribute>
+            </xs:extension>
+          </xs:simpleContent>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="referenceImplementation">
+        <xs:complexType>
+          <xs:simpleContent>
+            <xs:extension base="xs:string">
+              <xs:attribute name="pluginID" use="required">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:attribute>
+            </xs:extension>
+          </xs:simpleContent>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="databaseproduct" type="xs:string" />
+    </xs:sequence>
+    <xs:attribute name="type" use="required">
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="JETEMPATE" />
+          <xs:enumeration value="GENERATE_JETEMPLATE" />
+          <xs:enumeration value="AST_IMPLEMENTATION" />
+          <xs:enumeration value="JET_AST_GENERATION" />
+          <xs:enumeration value="JETEMPLATE_AST_IMPROVEMENT" />
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="base" type="xs:int" use="required" />
+    <xs:attribute name="genClass" use="optional">
+      <!-- optional iff base is 1 or 2 -->
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="databaseType">
+    <xs:sequence minOccurs="1" maxOccurs="1">
+      <xs:element name="port" type="xs:string" />
+      <xs:element name="host" type="xs:string" />
+      <xs:element name="dbname" type="xs:string" />
+      <xs:element name="username" type="xs:string" />
+      <xs:element name="password" type="xs:string" />
+      <xs:element name="tablename" type="xs:string" />
+      <xs:element name="schema" type="xs:string" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="generatedclass">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="srcFolder">
+          <xs:complexType>
+            <xs:simpleContent>
+              <xs:extension base="xs:string">
+                <xs:attribute name="path" type="xs:string" use="required" />
+              </xs:extension>
+            </xs:simpleContent>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="class" type="classType" />
+        <xs:element name="generation" type="generationType" />
+        <xs:element name="database" type="databaseType" />
+      </xs:sequence>
+      <xs:attribute name="version" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:decimal">
+            <xs:pattern value="2.0" />
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
\ No newline at end of file
/trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/internal/input/HeadlessJavaGeneratorInputDefinition.java Diff Switch to side-by-side view
Loading...
/trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/internal/wizards/GeneratedClass.java Diff Switch to side-by-side view
Loading...
/trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/internal/wizards/GeneratedClassBuilder.java Diff Switch to side-by-side view
Loading...
/trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/internal/wizards/IGeneratedClass.java Diff Switch to side-by-side view
Loading...
/trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/internal/wizards/IGeneratedClassBuilder.java Diff Switch to side-by-side view
Loading...
/trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/internal/wizards/XMLHeadlessSerializer.java Diff Switch to side-by-side view
Loading...
/trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/internal/wizards/XMLHeadlessSerializer2_0.java Diff Switch to side-by-side view
Loading...
/trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/wizards/HeadlessJavaGenerator.java Diff Switch to side-by-side view
Loading...
/trunk/ch.sahits.codegen.java/src/ch/sahits/codegen/java/wizards/XMLHeadlessSerializerFactory.java Diff Switch to side-by-side view
Loading...
/trunk/ch.sahits.codegen.test/src/ch/sahits/codegen/java/internal/wizards/XMLHeadlessSerializer2_0Test.java Diff Switch to side-by-side view
Loading...
/trunk/ch.sahits.codegen.test/src/ch/sahits/codegen/java/internal/wizards/XMLSerializerTest.java Diff Switch to side-by-side view
Loading...
/trunk/ch.sahits.codegen.test/src/ch/sahits/codegen/java/wizards/HeadlessJavaGeneratorTest.java Diff Switch to side-by-side view
Loading...
/trunk/ch.sahits.codegen.ui/src/ch/sahits/codegen/ui/internal/wizards/GeneratedClassDelegateGenerator.java Diff Switch to side-by-side view
Loading...
/trunk/ch.sahits.codegen.ui/src/ch/sahits/codegen/ui/internal/wizards/JavaClassGenerationDefinitionPage.java Diff Switch to side-by-side view
Loading...
/trunk/ch.sahits.codegen.ui/src/ch/sahits/codegen/ui/internal/wizards/JavaCodegenWizard.java Diff Switch to side-by-side view
Loading...
/trunk/ch.sahits.codegen.ui/src/ch/sahits/codegen/ui/internal/wizards/XMLSerializer.java Diff Switch to side-by-side view
Loading...
/trunk/ch.sahits.codegen.ui/src/ch/sahits/codegen/ui/internal/wizards/XMLSerializer2_0.java Diff Switch to side-by-side view
Loading...
/trunk/ch.sahits.model/src/ch/sahits/model/java/GeneratedJavaClass.java Diff Switch to side-by-side view
Loading...
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.