You are viewing a plain text version of this content. The canonical link for it is here.
Posted to muse-commits@ws.apache.org by ae...@apache.org on 2007/02/26 23:16:45 UTC

svn commit: r512037 - /webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/

Author: aeberbac
Date: Mon Feb 26 14:16:44 2007
New Revision: 512037

URL: http://svn.apache.org/viewvc?view=rev&rev=512037
Log:
MUSE-172: Changed the structure of the server-side code synthesizer
to be more like the proxy synthesizer. However, I didn't implement the
abstract structure because after some discussions it doesn't really help
things. 

MUSE-175: Made the imports better so that the generated classes don't
blindly import everything but instead import the smallest set.

Added:
    webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ServerClassSynthesizer.java
    webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ServerInterfaceSynthesizer.java
Modified:
    webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/AbstractSynthesizer.java
    webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ClassInfo.java
    webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ProxyClassSynthesizer.java
    webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ProxyInterfaceSynthesizer.java
    webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ServerSynthesizer.java

Modified: webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/AbstractSynthesizer.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/AbstractSynthesizer.java?view=diff&rev=512037&r1=512036&r2=512037
==============================================================================
--- webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/AbstractSynthesizer.java (original)
+++ webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/AbstractSynthesizer.java Mon Feb 26 14:16:44 2007
@@ -19,9 +19,11 @@
 import java.io.File;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.Iterator;
 
 import javax.xml.namespace.QName;
 
+import org.apache.muse.tools.generator.util.Capability;
 import org.apache.muse.tools.inspector.JavaMethod;
 import org.apache.muse.tools.inspector.JavaProperty;
 import org.apache.muse.util.ReflectUtils;
@@ -30,8 +32,8 @@
 	static final String INDENT = "    ";
 
 	static final String REQUEST_SUFFIX = "Request";
-
-	static final String IMPL_SUFFIX = "Impl";
+	
+	private static final String JAVA_CLASS_NAME = "MyCapability";
 
 	static final String INTERFACE_PREFIX = "I";
 	
@@ -39,30 +41,35 @@
 
 	private HashMap _prefixes = new HashMap();
 
-	protected String makeFileName(ClassInfo classInfo, boolean isInterface) {
-		String name = classInfo.getPackageName() + ".";
-		if (isInterface) {
-			name += getInterfaceName(classInfo.getClassShortName());
-		} else {
-			name += classInfo.getClassShortName();
-		}
-		return name.replaceAll("\\.", "\\" + File.separator) + ".java";
-	}
-	
-
 	protected String createFileName(String interfaceName) {
 		return interfaceName.replaceAll("\\.", "\\" + File.separator) + ".java";
 	}
 
+	protected String generateClassName(Capability capability) {
+		return generateClassName(null, capability);
+	}
 
-	protected String getInterfaceName(String classShortName) {
-		int indexOfImpl = classShortName.indexOf(IMPL_SUFFIX);
-		if (indexOfImpl > 0) {
-			classShortName = classShortName.substring(0, indexOfImpl);
+	protected String generateClassName(String prefix, Capability capability) {
+		String implementingClass = capability.getImplementingClass();
+		
+		String packageName = null;
+		String shortClassName = null;
+		
+		if(implementingClass == null) {
+			packageName = ClassInfo.getPackageName(capability.getURI());
+			shortClassName = JAVA_CLASS_NAME;
+		} else {
+			packageName = ReflectUtils.getPackageName(implementingClass);
+			shortClassName = ReflectUtils.getShortName(implementingClass);
 		}
-		return INTERFACE_PREFIX + classShortName;
+		
+		if(prefix != null) {
+			shortClassName = prefix + shortClassName;
+		}
+		
+		return packageName + "." + shortClassName;
 	}
-
+	
 	protected String getMethodName(JavaMethod method) {
 		String name = method.getJavaName();
 		if (name.endsWith(REQUEST_SUFFIX)) {
@@ -70,6 +77,48 @@
 		}
 		return name;
 	}
+	
+	protected void generateClassDef(String remoteClassName, boolean isInterface, StringBuffer code) {
+		generateClassDef(remoteClassName, null, null, isInterface, code);
+	}
+	
+	protected void generateClassDef(String remoteClassName, String extendsClass, String[] implementsClasses ,boolean isInterface, StringBuffer code) {
+		code.append("public ");
+		code.append(isInterface?"interface":"class");
+		code.append(" ");
+		code.append(ReflectUtils.getShortName(remoteClassName));
+		
+		if(extendsClass != null) {
+			code.append(" extends " + extendsClass);			
+		}
+		
+		if(implementsClasses != null && implementsClasses.length > 0) {
+			code.append(" implements ");
+			code.append(implementsClasses[0]);
+			
+			for(int i=1; i < implementsClasses.length; i++) {				
+				code.append(", " + implementsClasses[i]);				
+			}
+		}
+		
+		newLine(code);
+		generateOpenBlock(code);
+		newLine(code);
+	}
+	
+	protected void generateImports(ClassInfo classInfo, StringBuffer code) {
+		Iterator i = classInfo.getImports().iterator();
+
+		while (i.hasNext()) {
+			String className = needsImport((Class) i.next());
+			if (className != null) {
+				statement("import " + className + ";", code);
+				newLine(code);
+			}
+		}
+
+		newLine(code);
+	}
 
 	protected String needsImport(Class className) {
 		if (className.isPrimitive()) {
@@ -281,5 +330,14 @@
 		}
 
 		return prefix;
+	}
+	
+	protected StringBuffer beginHeaderCode(String className) {
+		StringBuffer code = new StringBuffer();
+		
+		generateHeaderComment(className, code);
+		generatePackage(className, code);
+
+		return code;
 	}
 }

Modified: webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ClassInfo.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ClassInfo.java?view=diff&rev=512037&r1=512036&r2=512037
==============================================================================
--- webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ClassInfo.java (original)
+++ webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ClassInfo.java Mon Feb 26 14:16:44 2007
@@ -37,48 +37,23 @@
  */
 public class ClassInfo {
 
-	private static final String JAVA_CLASS_NAME = "MyCapability";
-
-	String _packageName = null;
-
-	String _classShortName = null;
-
 	Capability _capability = null;
 	
 	Set _imports = new HashSet();
 
 	Map _conflicts = new HashMap();
 
-	private String _classFullName;
-	
 	public ClassInfo(Capability capability) {			
-		_capability = capability;
-		
-		updateClassNameDetails();
-		
+		_capability = capability;		
 		findImports();
 	}
-	
-	public ClassInfo() {}
 
-	private void updateClassNameDetails() {
-		String implementingClass = _capability.getImplementingClass();
-		
-		if(implementingClass == null) {
-			_packageName = getPackageName(_capability.getURI());
-			_classShortName = JAVA_CLASS_NAME;
-			_classFullName = _packageName + "." + _classShortName;
-			_capability.setImplementingClass(_classFullName);
-		} else {
-			_classFullName = implementingClass;
-			_classShortName = ReflectUtils.getShortName(_classFullName);
-			_packageName = ReflectUtils.getPackageName(_classFullName);
-		}
+	public ClassInfo() {
+		// do nothing
 	}
 
 	public void setCapability(Capability capability) {
-		_capability = capability;
-		
+		_capability = capability;		
 		findImports();
 	}
 
@@ -117,18 +92,6 @@
 		_imports.add(theClass);
 	}
 	
-	public String getClassShortName() {
-		return _classShortName;
-	}
-
-	public String getPackageName() {
-		return _packageName;
-	}
-	
-	public String getClassFullName() {
-		return _classFullName;
-	}
-	
 	public Set getImports() {
 		return _imports;
 	}
@@ -180,5 +143,11 @@
 			}
 		}
 		return false;
+	}
+
+	public void addImports(Set set) {
+		for(Iterator i=set.iterator(); i.hasNext(); ) {
+			addImport((Class) i.next());
+		}
 	}
 }

Modified: webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ProxyClassSynthesizer.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ProxyClassSynthesizer.java?view=diff&rev=512037&r1=512036&r2=512037
==============================================================================
--- webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ProxyClassSynthesizer.java (original)
+++ webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ProxyClassSynthesizer.java Mon Feb 26 14:16:44 2007
@@ -25,7 +25,6 @@
 
 import org.apache.muse.core.proxy.ProxyHandler;
 import org.apache.muse.core.proxy.ReflectionProxyHandler;
-import org.apache.muse.tools.generator.util.Capability;
 import org.apache.muse.tools.generator.util.ConfigurationData;
 import org.apache.muse.tools.generator.util.ConfigurationDataDescriptor;
 import org.apache.muse.tools.inspector.JavaMethod;
@@ -145,12 +144,9 @@
 		return code;
 	}
 	
-	protected void updateCode(Capability capability) {
-		ClassInfo classInfo = new ClassInfo();
-		classInfo.setCapability(capability);
-		
+	protected void updateCode(ClassInfo classInfo) {
 		updateMethods(classInfo, _operationsCode);		
-		updateImports(classInfo);
+		classInfo.addImports(_importSet);
 	}
 	
 	protected void generateMethodQualifier(StringBuffer code) {
@@ -436,7 +432,7 @@
 		generateCloseBlock(code);		
 	}
 	
-	public String generateCombinedCode() {			
+	public String generateCombinedCode(ClassInfo classInfo) {			
 		endDeclarationCode(_operationNamesCode);
 		endDeclarationCode(_returnTypesCode);
 		endDeclarationCode(_actionsCode);
@@ -447,7 +443,8 @@
 		
 		StringBuffer footerCode = generateFooterCode();
 		
-		endHeaderCode();
+		classInfo.addImports(_importSet);
+		endHeaderCode(classInfo);
 		
 		StringBuffer code = new StringBuffer();
 		
@@ -477,18 +474,11 @@
 		return code.toString();
 	}
 	
-	protected void generateClassDef(String remoteClassName, StringBuffer code) {
-		code.append("public class ");
-		code.append(ReflectUtils.getShortName(_className));
-		newLine(code);
-		indent(code);
-		code.append("extends ");
-		code.append(ReflectUtils.getShortName(_baseClientClass));		
-		code.append(' ');
-		code.append("implements ");
-		code.append(ReflectUtils.getShortName(_interfaceName));
-		newLine(code);
-		generateOpenBlock(code);
+	protected void endHeaderCode(ClassInfo classInfo) {
+		generateImports(classInfo, _headerCode);
+		String[] interfaces = { ReflectUtils.getShortName(_interfaceName) };
+		String parentClass = ReflectUtils.getShortName(_baseClientClass);
+		generateClassDef(_className, parentClass, interfaces, false, _headerCode);
 	}
 	
 	private StringBuffer generateFooterCode() {
@@ -545,12 +535,6 @@
 			newLine(2, code);
 		}
 	}
-	
-	private void addImports(Class[] classes) {
-		for(int i=0; i < classes.length; i++) {
-			addImport(classes[i]);
-		}
-	}
 
 	private void generateGetHandler(StringBuffer code) {
 		indent(code);
@@ -636,14 +620,6 @@
 		indent(code);
 		generateCloseBlock(code);
 	}		
-	
-	private void addImport(Class className) {
-		_importSet.add(className);
-	}
-
-	public void updateImports(ClassInfo classInfo) {
-		_importSet.addAll(classInfo.getImports());
-	}
 	
 	private void endDeclarationCode(StringBuffer code) {
     	int length = code.length();

Modified: webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ProxyInterfaceSynthesizer.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ProxyInterfaceSynthesizer.java?view=diff&rev=512037&r1=512036&r2=512037
==============================================================================
--- webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ProxyInterfaceSynthesizer.java (original)
+++ webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ProxyInterfaceSynthesizer.java Mon Feb 26 14:16:44 2007
@@ -144,14 +144,18 @@
 		_baseClientClass = getBaseClientClass(capabilityMap);
 		initializeCode(className);
 		
+		ClassInfo classInfo = new ClassInfo();
+		
 		for (Iterator i = capabilityMap.values().iterator(); i.hasNext();) {
 			Capability capability = (Capability)i.next();
-			if(needsGeneratedCode(_baseClientClass, capability)) {			
-				updateCode(capability);
+								
+			if(needsGeneratedCode(_baseClientClass, capability)) {
+				classInfo.setCapability(capability);
+				updateCode(classInfo);
 			}
 		}
 
-		files.put(createFileName(className), generateCombinedCode());
+		files.put(createFileName(className), generateCombinedCode(classInfo));
 	}
 	
 	private boolean needsGeneratedCode(Class clientClass, Capability capability) {
@@ -205,15 +209,6 @@
 		_hasProperties = false;
 	}
 
-	protected StringBuffer beginHeaderCode(String className) {
-		StringBuffer code = new StringBuffer();
-		
-		generateHeaderComment(className, code);
-		generatePackage(className, code);
-
-		return code;
-	}
-
 	private StringBuffer beginOperationsCode() {
 		return new StringBuffer();
 	}
@@ -227,11 +222,9 @@
 		return code;
 	}
 
-	protected void updateCode(Capability capability) {
-		ClassInfo classInfo = new ClassInfo();
-
-		classInfo.setCapability(capability);
-
+	protected void updateCode(ClassInfo classInfo) {
+		Capability capability = classInfo.getCapability();
+		
 		updateMethods(classInfo, _operationsCode);
 
 		if (!capability.getProperties().isEmpty()) {
@@ -239,7 +232,7 @@
 			updateProperties(classInfo, _propertiesCode);
 		}
 
-		updateImports(classInfo);
+		classInfo.addImports(_importSet);
 	}
 	
 	protected void updateMethods(ClassInfo classInfo, StringBuffer code) {
@@ -289,12 +282,22 @@
 		newLine(code);
 		indent(2, code);
 		code.append("throws SoapFault");
-		classInfo.addImport(SoapFault.class);
+		addImport(SoapFault.class);
 
 		generateMethodBody(method, classInfo, code);
 		
 		newLine(code);
 	}
+		
+	protected void addImports(Class[] classes) {
+		for(int i=0; i < classes.length; i++) {
+			addImport(classes[i]);
+		}
+	}
+		
+	protected void addImport(Class className) {
+		_importSet.add(className);
+	}
 	
 	protected void generateMethodQualifier(StringBuffer code) {
 		//Do nothing 
@@ -350,7 +353,7 @@
 		newLine(code);
 		indent(2, code);
 		code.append("throws SoapFault");
-		classInfo.addImport(SoapFault.class);
+		addImport(SoapFault.class);
 
 		generatePropertyGetBody(property, classInfo, propertyIndex, code);
 		
@@ -392,7 +395,7 @@
 		newLine(code);
 		indent(2, code);
 		code.append("throws SoapFault");
-		classInfo.addImport(SoapFault.class);
+		addImport(SoapFault.class);
 
 		generatePropertySetBody(property, classInfo, propertyIndex, setType, code);
 
@@ -416,7 +419,7 @@
 		newLine(code);
 		indent(2, code);
 		code.append("throws SoapFault");
-		classInfo.addImport(SoapFault.class);
+		addImport(SoapFault.class);
 
 		generatePropertyDeleteBody(property, classInfo, propertyIndex, code);
 
@@ -431,7 +434,7 @@
 		Iterator i = classInfo.getCapability().getProperties().iterator();
 
 		if (i.hasNext()) {
-			classInfo.addImport(QName.class);
+			addImport(QName.class);
 		}
 
 		while (i.hasNext()) {
@@ -447,12 +450,8 @@
 		code.append(",");
 	}
 
-	protected void updateImports(ClassInfo classInfo) {
-		_importSet.addAll(classInfo.getImports());
-	}
-
-	protected String generateCombinedCode() {
-		endHeaderCode();
+	protected String generateCombinedCode(ClassInfo classInfo) {
+		endHeaderCode(classInfo);
 		endOperationsCode();
 		endPropertiesCode();
 
@@ -468,31 +467,9 @@
 		return code.append(generateFooterCode()).toString();
 	}
 
-	protected void endHeaderCode() {
-		generateRemoteImports(_importSet, _headerCode);
-		generateClassDef(_className, _headerCode);
-	}
-	
-	private void generateRemoteImports(Set importSet, StringBuffer code) {
-		Iterator i = importSet.iterator();
-
-		while (i.hasNext()) {
-			String className = needsImport((Class) i.next());
-			if (className != null) {
-				statement("import " + className + ";", code);
-				newLine(code);
-			}
-		}
-
-		newLine(code);
-	}
-	
-	protected void generateClassDef(String remoteClassName, StringBuffer code) {
-		code.append("public interface ");
-		code.append(ReflectUtils.getShortName(remoteClassName));
-
-		newLine(code);
-		generateOpenBlock(code);
+	protected void endHeaderCode(ClassInfo classInfo) {
+		generateImports(classInfo, _headerCode);
+		generateClassDef(_className, true, _headerCode);
 	}
 	
 	private void endOperationsCode() {

Added: webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ServerClassSynthesizer.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ServerClassSynthesizer.java?view=auto&rev=512037
==============================================================================
--- webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ServerClassSynthesizer.java (added)
+++ webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ServerClassSynthesizer.java Mon Feb 26 14:16:44 2007
@@ -0,0 +1,201 @@
+/*=============================================================================*
+ *  Copyright 2006 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+
+package org.apache.muse.tools.generator.synthesizer;
+
+import java.io.File;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+import javax.xml.namespace.QName;
+
+import org.apache.muse.tools.generator.util.Capability;
+import org.apache.muse.tools.inspector.JavaMethod;
+import org.apache.muse.tools.inspector.JavaProperty;
+import org.apache.muse.util.ReflectUtils;
+import org.apache.muse.ws.addressing.soap.SoapFault;
+
+public class ServerClassSynthesizer extends ServerInterfaceSynthesizer {
+
+	protected void generateCapability(Capability capability, Map files, Set ignoreSet) {
+		ClassInfo classInfo = new ClassInfo(capability);
+		String className = generateClassName(capability);
+		initializeCode(className, classInfo);
+		
+		addImport(getBaseClass(capability));
+		
+		if(classInfo.needsInitializer()) {
+			generateInitialize(classInfo, _bodyCode);
+		}
+				
+		generatePropertiesDeclarations(classInfo, _bodyCode);
+		generatePropertyOperations(classInfo, _bodyCode);
+		generateOperations(classInfo, _bodyCode);
+		
+		classInfo.addImports(_importSet);
+		
+		String classFileName = createFileName(className);		
+		files.put(classFileName, generateCombinedCode(classInfo));
+		ignoreSet.add(new File(classFileName));
+	}
+	
+	protected void endHeaderCode(ClassInfo classInfo) {
+		generateImports(classInfo, _headerCode);
+		Capability capability = classInfo.getCapability();	
+		String[] interfaces = { ReflectUtils.getShortName(generateClassName(INTERFACE_PREFIX,capability)) };
+		String parentClass = convertType(getBaseClass(capability), classInfo);
+		generateClassDef(_className, parentClass, interfaces , false, _headerCode);	
+	}
+	
+	private void generatePropertiesDeclarations(ClassInfo classInfo, StringBuffer code) {
+		Capability capability = classInfo.getCapability();
+		
+		if(capability.getProperties().size() == 0) {
+			return;
+		}
+		
+		indent(code);
+		code.append("private static final " 
+			+ convertType(QName.class, classInfo) 
+			+ "[] _PROPERTIES = new " 
+			+ convertType(QName.class, classInfo) 
+			+ "[]");
+		newLine(code);
+		addImport(QName.class);
+		
+		indent(code);
+		generateOpenBlock(code);
+		newLine(code);
+		
+		for(Iterator i=capability.getProperties().iterator(); i.hasNext();) {
+			JavaProperty property = (JavaProperty)i.next();
+			indent(2,code);
+			code.append("new " 
+				+ convertType(QName.class, classInfo) 
+				+ "(NAMESPACE_URI, \"" 
+				+ getPropertyName(property, false) 
+				+ "\", PREFIX)");
+			if(i.hasNext()) {
+				code.append(",");
+			}
+			newLine(code);
+		}
+		
+		indent(code);
+		generateCloseBlock(code);
+		statement(";",code);
+		newLine(2,code);
+		
+		indent(code);
+		code.append("public " 
+			+ convertType(QName.class, classInfo) 
+			+ "[] getPropertyNames()");
+		newLine(code);
+		
+		indent(code);
+		generateOpenBlock(code);
+		newLine(code);
+		
+		indent(2,code);
+		code.append("return _PROPERTIES;");
+		
+		newLine(code);
+		indent(code);
+		generateCloseBlock(code);
+		newLine(2,code);
+		
+		for(Iterator i=capability.getProperties().iterator(); i.hasNext();) {
+			JavaProperty property = (JavaProperty)i.next();
+			indent(code);
+			code.append("private " 
+				+ convertType(property.getJavaType(), classInfo) 
+				+ " _" 
+				+ getPropertyName(property, false) 
+				+ ";");
+			newLine(2, code);
+		}
+	}
+	
+	private void generateInitialize(ClassInfo classInfo, StringBuffer code) {				
+		indent(code);
+		code.append("public void initialize() throws SoapFault ");		
+		generateOpenBlock(code);		
+		addImport(SoapFault.class);
+		newLine(code);
+		
+		indent(2, code);		
+		code.append("//TODO: perform intitialization of non primitive types");
+		newLine(code);
+		
+		indent(2, code);		
+		code.append("throw new RuntimeException(\"User needs to update initialization code\");");
+		newLine(code);
+	
+		indent(code);
+		generateCloseBlock(code);
+		newLine(2, code);
+	}
+
+	protected void generateGetOperationBody(JavaProperty property, StringBuffer code) {
+		newLine(code);
+		indent(code);
+		generateOpenBlock(code);
+		newLine(code);
+		
+		indent(2,code);
+		statement("return _" 
+			+ getPropertyName(property, false) 
+			+  ";",code);
+		newLine(code);
+		
+		indent(code);
+		generateCloseBlock(code);
+	}
+
+	protected void generateOperationBody(JavaMethod method, StringBuffer code) {
+		indent(code);
+		generateOpenBlock(code);
+		newLine(code);
+		
+		indent(2,code);
+		code.append("//TODO implement " + getMethodName(method));
+		newLine(code);
+		
+		indent(2,code);
+		code.append("throw new RuntimeException(\"Unimplemented Method: " + getMethodName(method) + "\");");
+		newLine(code);
+		
+		indent(code);
+		generateCloseBlock(code);
+	}
+
+	protected void generateSetOperationBody(JavaProperty property, StringBuffer code) {
+		newLine(code);
+		indent(code);
+		generateOpenBlock(code);
+		newLine(code);
+		
+		indent(2,code);
+		statement("_" 
+			+ getPropertyName(property, false) 
+			+ " = param0;",code);				
+		newLine(code);
+		
+		indent(code);
+		generateCloseBlock(code);	
+	}
+}

Added: webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ServerInterfaceSynthesizer.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ServerInterfaceSynthesizer.java?view=auto&rev=512037
==============================================================================
--- webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ServerInterfaceSynthesizer.java (added)
+++ webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ServerInterfaceSynthesizer.java Mon Feb 26 14:16:44 2007
@@ -0,0 +1,283 @@
+/*=============================================================================*
+ *  Copyright 2006 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *=============================================================================*/
+
+package org.apache.muse.tools.generator.synthesizer;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+import javax.xml.namespace.QName;
+
+import org.apache.muse.core.AbstractCapability;
+import org.apache.muse.tools.generator.util.Capability;
+import org.apache.muse.tools.generator.util.ConfigurationData;
+import org.apache.muse.tools.generator.util.ConfigurationDataDescriptor;
+import org.apache.muse.tools.generator.util.SubscriptionManagerHelper;
+import org.apache.muse.tools.inspector.JavaMethod;
+import org.apache.muse.tools.inspector.JavaProperty;
+import org.apache.muse.ws.resource.impl.AbstractWsResourceCapability;
+
+public class ServerInterfaceSynthesizer extends AbstractSynthesizer {
+
+	static ConfigurationDataDescriptor[] REQUIRED_PARAMETERS = 
+		new ConfigurationDataDescriptor[] {
+			ConfigurationData.CAPABILITIES_MAP_LIST_CONFIGURATION,
+		};
+
+	protected StringBuffer _headerCode;
+
+	protected StringBuffer _bodyCode;
+
+	protected String _className;
+
+	protected Set _importSet;
+
+	private Map[] _capabilityMaps;
+
+	private Set[] _ignoreSets;
+
+	private Map[] _filesMaps;
+	
+	public ConfigurationData synthesize(ConfigurationData configuration) throws Exception {
+		ConfigurationData.checkConfiguration(this, configuration);
+
+		loadParameters(configuration);		
+		
+		for(int i = 0; i < _capabilityMaps.length; i++) {
+			
+			Map capabilities = _capabilityMaps[i];
+			if(_filesMaps[i] == null) {
+				_filesMaps[i] = new HashMap();
+			}
+			
+			if(_ignoreSets[i] == null) {
+				_ignoreSets[i] = new HashSet();
+			}
+			
+			for (Iterator j = capabilities.values().iterator(); j.hasNext();) {
+				Capability capability = (Capability)j.next();
+				if(!capability.isBuiltIn()) {
+					generateCapability(capability, _filesMaps[i], _ignoreSets[i]);
+				}
+			}
+		}
+		
+		ConfigurationData resultData = (ConfigurationData) configuration.clone();
+		resultData.addParameter(ConfigurationData.FILES_MAP_LIST, _filesMaps);
+		resultData.addParameter(ConfigurationData.IGNORE_SET_LIST, _ignoreSets);
+		
+		resultData = SubscriptionManagerHelper.addSubscriptionManager(resultData); 
+		
+		return resultData;
+	}
+	
+	private void loadParameters(ConfigurationData configuration) {
+		_capabilityMaps = (Map[])configuration.getParameter(ConfigurationData.CAPABILITIES_MAP_LIST);
+		_ignoreSets = (Set[])configuration.getParameter(ConfigurationData.IGNORE_SET_LIST);
+		_filesMaps = (Map[])configuration.getParameter(ConfigurationData.FILES_MAP_LIST);
+		
+		if(_filesMaps == null) {
+			_filesMaps = new HashMap[_capabilityMaps.length];
+		}
+		
+		if(_ignoreSets == null) {
+			_ignoreSets = new HashSet[_capabilityMaps.length];
+		}
+	}
+
+	protected void generateCapability(Capability capability, Map files, Set ignoreSet) {
+		ClassInfo classInfo = new ClassInfo(capability);
+		String className = generateClassName(INTERFACE_PREFIX, capability);
+		initializeCode(className, classInfo);
+		
+		generateNSDeclarations(classInfo, _bodyCode);
+		generatePropertyOperations(classInfo, _bodyCode);
+		generateOperations(classInfo, _bodyCode);
+		
+		classInfo.addImports(_importSet);
+		
+		String classFileName = createFileName(className);		
+		files.put(classFileName, generateCombinedCode(classInfo));
+	}
+	
+	protected String generateCombinedCode(ClassInfo classInfo) {
+		endHeaderCode(classInfo);
+		endBodyCode();
+
+		StringBuffer code = new StringBuffer();
+
+		code.append(_headerCode);
+		code.append(_bodyCode);
+
+		return code.append(generateFooterCode()).toString();
+	}
+
+	protected void endBodyCode() {
+		//do nothing
+	}
+
+	protected void endHeaderCode(ClassInfo classInfo) {
+		generateImports(classInfo, _headerCode);
+		generateClassDef(_className, true, _headerCode);	
+	}
+
+	protected StringBuffer generateFooterCode() {
+		StringBuffer footer = new StringBuffer();
+		generateCloseBlock(footer);
+		return footer;
+	}
+
+	protected void initializeCode(String className, ClassInfo classInfo) {
+		_className = className;
+		_headerCode = beginHeaderCode(_className);
+		_bodyCode = beginBodyCode();
+		_importSet = new HashSet();
+	}
+	
+	protected StringBuffer beginBodyCode() {
+		StringBuffer code = new StringBuffer();
+		return code;
+	}
+	
+	protected void generateOperations(ClassInfo classInfo, StringBuffer code) {
+		Capability capability = classInfo.getCapability();
+		
+		for(Iterator i=capability.getOperations().iterator(); i.hasNext();) {
+			JavaMethod method = (JavaMethod)i.next();		
+			
+			indent(code);
+			code.append("public "
+				+ convertType(method.getReturnType(), classInfo) 
+				+ " " + getMethodName(method));
+			
+			Class[] params = method.getParameterTypes();
+			QName[] paramNames = method.getParameterTypeNames();
+			code.append("(");
+			
+			if (params.length > 0) {
+				int j;
+				
+				for (j = 0; j < params.length - 1; j++) {
+										
+					code.append(convertType(params[j], classInfo)							
+						+ " "
+						+ getParamName(paramNames[j], j)
+						+ ", ");
+				}
+				
+				code.append(convertType(params[j], classInfo) 
+					+ " "
+					+ getParamName(paramNames[j], j));
+			}
+			
+			code.append(") throws Exception");	
+			
+			generateOperationBody(method, code);
+
+			newLine(2,code);
+		}
+	}
+
+	protected void generateOperationBody(JavaMethod method, StringBuffer code) {
+		code.append(";");
+	}
+
+	protected void generatePropertyOperations(ClassInfo classInfo, StringBuffer code) {
+		Capability capability = classInfo.getCapability();
+		
+		if(capability.getProperties().size() == 0) {
+			return;
+		}
+		
+		for(Iterator i=capability.getProperties().iterator(); i.hasNext();) {
+			JavaProperty property = (JavaProperty)i.next();
+			
+			generateGetOperation(property, classInfo, code);
+			genereateSetOperation(property, classInfo, code);
+
+		}
+	}
+
+	protected void genereateSetOperation(JavaProperty property, ClassInfo classInfo, StringBuffer code) {		
+		indent(code);
+		code.append("public void");
+		code.append(" set" 
+			+ getPropertyName(property, true) 
+			+ "(" 
+			+ convertType(property.getJavaType(), classInfo) 
+			+ " param0)");
+		
+		generateSetOperationBody(property, code);
+		
+		newLine(2,code);
+	}
+
+	protected void generateSetOperationBody(JavaProperty property, StringBuffer code) {
+		code.append(";");
+	}
+
+	protected void generateGetOperation(JavaProperty property, ClassInfo classInfo, StringBuffer code) {
+		indent(code);
+		code.append("public "
+			+ convertType(property.getJavaType(), classInfo)
+			+ " get" 
+			+ getPropertyName(property, true) 
+			+ "()");
+		
+		generateGetOperationBody(property, code);
+
+		newLine(2,code);
+	}
+
+	protected void generateGetOperationBody(JavaProperty property, StringBuffer code) {
+		code.append(";");
+	}
+
+	protected void generateNSDeclarations(ClassInfo classInfo, StringBuffer code) {
+		Capability capability = classInfo.getCapability();
+		indent(code);
+		statement("String PREFIX = \"tns\";", code);
+		newLine(2,code);
+		
+		indent(code);
+		statement("String NAMESPACE_URI = \""+ capability.getURI() +"\";", code);
+		newLine(2,code);
+	}
+
+	protected Class getBaseClass(Capability capability) {
+		if(capability.getProperties().size() > 0) {
+			return AbstractWsResourceCapability.class;
+		}
+        return AbstractCapability.class;
+	}
+	
+	protected void addImports(Class[] classes) {
+		for(int i=0; i < classes.length; i++) {
+			addImport(classes[i]);
+		}
+	}
+		
+	protected void addImport(Class className) {
+		_importSet.add(className);
+	}
+
+	public ConfigurationDataDescriptor[] getConfigurationDataDescriptions() {
+		return REQUIRED_PARAMETERS;
+	}
+}

Modified: webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ServerSynthesizer.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ServerSynthesizer.java?view=diff&rev=512037&r1=512036&r2=512037
==============================================================================
--- webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ServerSynthesizer.java (original)
+++ webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/synthesizer/ServerSynthesizer.java Mon Feb 26 14:16:44 2007
@@ -16,25 +16,8 @@
 
 package org.apache.muse.tools.generator.synthesizer;
 
-import java.io.File;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import javax.xml.namespace.QName;
-
-import org.apache.muse.core.AbstractCapability;
-import org.apache.muse.tools.generator.util.Capability;
 import org.apache.muse.tools.generator.util.ConfigurationData;
 import org.apache.muse.tools.generator.util.ConfigurationDataDescriptor;
-import org.apache.muse.tools.generator.util.SubscriptionManagerHelper;
-import org.apache.muse.tools.inspector.JavaMethod;
-import org.apache.muse.tools.inspector.JavaProperty;
-import org.apache.muse.util.ReflectUtils;
-import org.apache.muse.ws.addressing.soap.SoapFault;
-import org.apache.muse.ws.resource.impl.AbstractWsResourceCapability;
 
 /**
  * A <code>Synthesizer</code> implementation that creates
@@ -51,374 +34,23 @@
  * 
  * @see org.apache.muse.tools.generator.synthesizer.Synthesizer
  */
-public class ServerSynthesizer extends AbstractSynthesizer {
+public class ServerSynthesizer implements Synthesizer {
 	
 	static ConfigurationDataDescriptor[] REQUIRED_PARAMETERS = 
 		new ConfigurationDataDescriptor[] {
 			ConfigurationData.CAPABILITIES_MAP_LIST_CONFIGURATION,
 		};
 
-	public ConfigurationData synthesize(ConfigurationData configuration) throws Exception {
-		ConfigurationData.checkConfiguration(this, configuration);
-				
-		Map[] capabilityMaps = (Map[])configuration.getParameter(ConfigurationData.CAPABILITIES_MAP_LIST);
-		Map[] filesMaps = new HashMap[capabilityMaps.length];
-		Set[] ignoreSets = new HashSet[capabilityMaps.length];
-		
-		for(int i = 0; i < capabilityMaps.length; i++) {
-			
-			Map capabilities = capabilityMaps[i];
-			filesMaps[i] = new HashMap();
-			ignoreSets[i] = new HashSet();
-			
-			for (Iterator j = capabilities.values().iterator(); j.hasNext();) {
-				Capability capability = (Capability)j.next();
-				if(!capability.isBuiltIn()) {
-					generateCapability(capability, filesMaps[i], ignoreSets[i]);
-				}
-			}
-		}
-		
-		ConfigurationData resultData = (ConfigurationData) configuration.clone();
-		resultData.addParameter(ConfigurationData.FILES_MAP_LIST, filesMaps);
-		resultData.addParameter(ConfigurationData.IGNORE_SET_LIST, ignoreSets);
-		
-		resultData = SubscriptionManagerHelper.addSubscriptionManager(resultData); 
-		
-		return resultData;
+	public ConfigurationData synthesize(ConfigurationData data) throws Exception {        
+        ServerInterfaceSynthesizer serverInterfaceSynthesizer = new ServerInterfaceSynthesizer();
+        ServerClassSynthesizer serverClassSynthesizer = new ServerClassSynthesizer();
+        
+        data = serverInterfaceSynthesizer.synthesize(data);
+        data = serverClassSynthesizer.synthesize(data);
+        
+        return data;
 	}
 	
-	protected void generateCapability(Capability capability, Map files, Set ignoreSet) {
-		ClassInfo classInfo = new ClassInfo(capability);
-					
-		makeInterface(classInfo, files);
-		makeAbstractClass(classInfo, files, ignoreSet);
-	}
-
-	protected void makeInterface(ClassInfo classInfo, Map files) {
-		StringBuffer code = new StringBuffer();
-		
-		generatePackageHeader(classInfo, code);
-		generateImports(classInfo, false, code);
-		generateInterfaceDeclaration(classInfo, code);
-
-		generateOpenBlock(code);
-		newLine(code);
-
-		generateNSDeclarations(classInfo, code);
-		generatePropertyOperations(classInfo, code, false);
-		generateOperations(classInfo, code, false);
-		
-		generateCloseBlock(code);
-		
-		String classFileName = makeFileName(classInfo, true);
-		
-		files.put(classFileName, code.toString());
-	}
-	
-	private void makeAbstractClass(ClassInfo classInfo, Map files, Set ignoreSet) {		
-		StringBuffer code = new StringBuffer();
-		
-		generatePackageHeader(classInfo, code);
-		generateImports(classInfo, true, code);
-		generateClassDeclaration(classInfo, code);
-		
-		generateOpenBlock(code);
-		newLine(code);
-
-		if(classInfo.needsInitializer()) {
-			generateInitialize(classInfo, code);
-		}
-				
-		generatePropertiesDeclarations(classInfo, code);
-		generatePropertyOperations(classInfo, code, true);
-		generateOperations(classInfo, code, true);
-		
-		generateCloseBlock(code);
-		
-		String classFileName = makeFileName(classInfo, false);
-		
-		files.put(classFileName, code.toString());
-		ignoreSet.add(new File(classFileName));
-	}
-
-	private void generateInitialize(ClassInfo classInfo, StringBuffer code) {				
-		indent(code);
-		code.append("public void initialize() throws SoapFault ");		
-		generateOpenBlock(code);		
-		newLine(code);
-		
-		indent(2, code);		
-		code.append("//TODO: perform intitialization of non primitive types");
-		newLine(code);
-		
-		indent(2, code);		
-		code.append("throw new RuntimeException(\"User needs to update initialization code\");");
-		newLine(code);
-	
-		indent(code);
-		generateCloseBlock(code);
-		newLine(2, code);
-	}
-
-	private void generateInterfaceDeclaration(ClassInfo classInfo, StringBuffer code) {
-		code.append("public interface " 
-			+ getInterfaceName(classInfo.getClassShortName()));
-		newLine(code);
-	}
-
-	protected void generateClassDeclaration(ClassInfo classInfo, StringBuffer code) {
-		Capability capability = classInfo.getCapability();
-		code.append("public class " 
-			+ ReflectUtils.getShortName(capability.getImplementingClass())
-			+ " extends "
-			+ convertType(getBaseClass(capability),classInfo));
-		code.append(" implements " + getInterfaceName(classInfo.getClassShortName()));
-		newLine(code);
-	}
-
-	private void generatePropertiesDeclarations(ClassInfo classInfo, StringBuffer code) {
-		Capability capability = classInfo.getCapability();
-		
-		if(capability.getProperties().size() == 0) {
-			return;
-		}
-		
-		indent(code);
-		code.append("private static final " 
-			+ convertType(QName.class, classInfo) 
-			+ "[] _PROPERTIES = new " 
-			+ convertType(QName.class, classInfo) 
-			+ "[]");
-		newLine(code);
-		
-		indent(code);
-		generateOpenBlock(code);
-		newLine(code);
-		
-		for(Iterator i=capability.getProperties().iterator(); i.hasNext();) {
-			JavaProperty property = (JavaProperty)i.next();
-			indent(2,code);
-			code.append("new " 
-				+ convertType(QName.class, classInfo) 
-				+ "(NAMESPACE_URI, \"" 
-				+ getPropertyName(property, false) 
-				+ "\", PREFIX)");
-			if(i.hasNext()) {
-				code.append(",");
-			}
-			newLine(code);
-		}
-		
-		indent(code);
-		generateCloseBlock(code);
-		statement(";",code);
-		newLine(2,code);
-		
-		indent(code);
-		code.append("public " 
-			+ convertType(QName.class, classInfo) 
-			+ "[] getPropertyNames()");
-		newLine(code);
-		
-		indent(code);
-		generateOpenBlock(code);
-		newLine(code);
-		
-		indent(2,code);
-		code.append("return _PROPERTIES;");
-		
-		newLine(code);
-		indent(code);
-		generateCloseBlock(code);
-		newLine(2,code);
-		
-		for(Iterator i=capability.getProperties().iterator(); i.hasNext();) {
-			JavaProperty property = (JavaProperty)i.next();
-			indent(code);
-			code.append("private " 
-				+ convertType(property.getJavaType(), classInfo) 
-				+ " _" 
-				+ getPropertyName(property, false) 
-				+ ";");
-			newLine(2, code);
-		}
-	}
-
-	protected void generateOperations(ClassInfo classInfo, StringBuffer code, boolean generateBody) {
-		Capability capability = classInfo.getCapability();
-		
-		for(Iterator i=capability.getOperations().iterator(); i.hasNext();) {
-			JavaMethod method = (JavaMethod)i.next();		
-			
-			indent(code);
-			code.append("public "
-				+ convertType(method.getReturnType(), classInfo) 
-				+ " " + getMethodName(method));
-			
-			Class[] params = method.getParameterTypes();
-			QName[] paramNames = method.getParameterTypeNames();
-			code.append("(");
-			
-			if (params.length > 0) {
-				int j;
-				
-				for (j = 0; j < params.length - 1; j++) {
-										
-					code.append(convertType(params[j], classInfo)							
-						+ " "
-						+ getParamName(paramNames[j], j)
-						+ ", ");
-				}
-				
-				code.append(convertType(params[j], classInfo) 
-					+ " "
-					+ getParamName(paramNames[j], j));
-			}
-			
-			code.append(") throws Exception");	
-			
-			if(generateBody) {
-				indent(code);
-				generateOpenBlock(code);
-				newLine(code);
-				
-				indent(2,code);
-				code.append("//TODO implement " + getMethodName(method));
-				newLine(code);
-				
-				indent(2,code);
-				code.append("throw new RuntimeException(\"Unimplemented Method: " + getMethodName(method) + "\");");
-				newLine(code);
-				
-				indent(code);
-				generateCloseBlock(code);
-			} else {
-				code.append(";");
-			}
-			newLine(2,code);
-		}
-	}
-
-	private void generatePropertyOperations(ClassInfo classInfo, StringBuffer code, boolean generateBody) {
-		Capability capability = classInfo.getCapability();
-		
-		if(capability.getProperties().size() == 0) {
-			return;
-		}
-		
-		for(Iterator i=capability.getProperties().iterator(); i.hasNext();) {
-			JavaProperty property = (JavaProperty)i.next();
-			indent(code);
-			code.append("public "
-				+ convertType(property.getJavaType(), classInfo)
-				+ " get" 
-				+ getPropertyName(property, true) 
-				+ "()");
-			
-			if(generateBody) {
-				newLine(code);
-				indent(code);
-				generateOpenBlock(code);
-				newLine(code);
-				
-				indent(2,code);
-				statement("return _" 
-					+ getPropertyName(property, false) 
-					+  ";",code);
-				newLine(code);
-				
-				indent(code);
-				generateCloseBlock(code);
-			} else {
-				code.append(";");
-			}
-			newLine(2,code);
-			
-			indent(code);
-			code.append("public void");
-			code.append(" set" 
-				+ getPropertyName(property, true) 
-				+ "(" 
-				+ convertType(property.getJavaType(), classInfo) 
-				+ " param0)");
-			
-			if(generateBody) {
-				newLine(code);
-				indent(code);
-				generateOpenBlock(code);
-				newLine(code);
-				
-				indent(2,code);
-				statement("_" 
-					+ getPropertyName(property, false) 
-					+ " = param0;",code);				
-				newLine(code);
-				
-				indent(code);
-				generateCloseBlock(code);				
-			} else {
-				code.append(";");
-			}
-			newLine(2,code);
-		}
-	}
-
-	private void generateNSDeclarations(ClassInfo classInfo, StringBuffer code) {
-		Capability capability = classInfo.getCapability();
-		indent(code);
-		statement("String PREFIX = \"tns\";", code);
-		newLine(2,code);
-		
-		indent(code);
-		statement("String NAMESPACE_URI = \""+ capability.getURI() +"\";", code);
-		newLine(2,code);
-	}
-
-	protected void generateImports(ClassInfo classInfo, boolean isImpl, StringBuffer code) {
-		Set imports = classInfo.getImports();
-		
-		Class baseClass = getBaseClass(classInfo.getCapability());
-			
-		if(isImpl && !imports.contains(baseClass)) {
-			generateImport(baseClass, code);
-		}
-		
-		if(classInfo.getCapability().getProperties().size() > 0) {		
-			if(!imports.contains(QName.class)) {
-				generateImport(QName.class, code);
-			}
-		}
-
-		for (Iterator i = imports.iterator(); i.hasNext(); ) {
-			generateImport((Class)i.next(),code);
-		}
-		
-		generateImport(SoapFault.class, code);
-		
-		newLine(code);
-	}
-
-	private void generateImport(Class theClass, StringBuffer code) {
-		String className = needsImport(theClass);
-		if (className != null) {
-			code.append("import " + className + ";");
-			newLine(code);
-		}
-	}
-
-	protected void generatePackageHeader(ClassInfo classInfo, StringBuffer code) {
-		statement("package " + classInfo.getPackageName() + ";",code);
-		newLine(2, code);
-	}
-
-	protected Class getBaseClass(Capability capability) {
-		if(capability.getProperties().size() > 0) {
-			return AbstractWsResourceCapability.class;
-		}
-        return AbstractCapability.class;
-	}		
-
 	public ConfigurationDataDescriptor[] getConfigurationDataDescriptions() {
 		return REQUIRED_PARAMETERS;
 	}



---------------------------------------------------------------------
To unsubscribe, e-mail: muse-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-commits-help@ws.apache.org