You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrf-dev@ws.apache.org by ip...@apache.org on 2005/01/06 23:54:34 UTC
svn commit: r124460 - in incubator/apollo/trunk/src/java/org/apache/ws/resource: i18n lifetime tool
Author: ips
Date: Thu Jan 6 14:54:32 2005
New Revision: 124460
URL: http://svn.apache.org/viewcvs?view=rev&rev=124460
Log:
classpath option is now mandatory and we validate that it contains both xbean.jar and wsrf-xbeans.jar
Modified:
incubator/apollo/trunk/src/java/org/apache/ws/resource/i18n/Keys.java
incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ResourceNotDestroyedException.java
incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java
incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2JavaTask.java
Modified: incubator/apollo/trunk/src/java/org/apache/ws/resource/i18n/Keys.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/i18n/Keys.java?view=diff&rev=124460&p1=incubator/apollo/trunk/src/java/org/apache/ws/resource/i18n/Keys.java&r1=124459&p2=incubator/apollo/trunk/src/java/org/apache/ws/resource/i18n/Keys.java&r2=124460
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/resource/i18n/Keys.java (original)
+++ incubator/apollo/trunk/src/java/org/apache/ws/resource/i18n/Keys.java Thu Jan 6 14:54:32 2005
@@ -65,7 +65,7 @@
String OPT_CLASSPATH_SENT_TO_XMLBEANS = "OPT_CLASSPATH_SENT_TO_XMLBEANS";
/**
- * @msg WARN: Passed-in array of WSDL files is empty.
+ * @msg No WSDL files were specified. Nothing to do.
*/
String WARN_EMPTY_WSDLS = "WARN_EMPTY_WSDLS";
Modified: incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ResourceNotDestroyedException.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ResourceNotDestroyedException.java?view=diff&rev=124460&p1=incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ResourceNotDestroyedException.java&r1=124459&p2=incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ResourceNotDestroyedException.java&r2=124460
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ResourceNotDestroyedException.java (original)
+++ incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ResourceNotDestroyedException.java Thu Jan 6 14:54:32 2005
@@ -15,64 +15,47 @@
*=============================================================================*/
package org.apache.ws.resource.lifetime;
-
-/*=============================================================================*
- * Copyright 2004 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.
- *=============================================================================*/
-
/**
- * LOG-DONE
- * TODO
+ * LOG-DONE TODO
*
* @author Ian P. Springer (Hewlett-Packard Company)
*/
public class ResourceNotDestroyedException
- extends Exception
+ extends Exception
{
- private Object m_resourceId;
- private String m_serviceName;
+ private Object m_resourceId;
+ private String m_serviceName;
+
+ /**
+ * @param resourceId
+ * @param serviceName
+ */
+ public ResourceNotDestroyedException( Object resourceId,
+ String serviceName )
+ {
+ super( serviceName + " resource with Id " + resourceId + " could not be destroyed." );
+ m_resourceId = resourceId;
+ m_serviceName = serviceName;
+ }
- /**
- * @param resourceId
- * @param serviceName
- */
- public ResourceNotDestroyedException( Object resourceId,
- String serviceName )
- {
- super( serviceName + " resource with Id " + resourceId + " could not be destroyed." );
- m_resourceId = resourceId;
- m_serviceName = serviceName;
- }
+ /**
+ * DOCUMENT_ME
+ *
+ * @return DOCUMENT_ME
+ */
+ public Object getResourceId()
+ {
+ return m_resourceId;
+ }
- /**
- * DOCUMENT_ME
- *
- * @return DOCUMENT_ME
- */
- public Object getResourceId( )
- {
- return m_resourceId;
- }
+ /**
+ * DOCUMENT_ME
+ *
+ * @return DOCUMENT_ME
+ */
+ public String getServiceName()
+ {
+ return m_serviceName;
+ }
- /**
- * DOCUMENT_ME
- *
- * @return DOCUMENT_ME
- */
- public String getServiceName( )
- {
- return m_serviceName;
- }
}
Modified: incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java?view=diff&rev=124460&p1=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java&r1=124459&p2=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java&r2=124460
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java (original)
+++ incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java Thu Jan 6 14:54:32 2005
@@ -41,6 +41,8 @@
import org.apache.ws.util.i18n.Messages;
import org.apache.xmlbeans.impl.common.XmlErrorPrinter;
import org.apache.xmlbeans.impl.tool.SchemaCompiler;
+import org.apache.xmlbeans.XmlObject;
+import org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.GetResourcePropertyDocument;
import javax.wsdl.Definition;
import javax.wsdl.Service;
@@ -57,6 +59,9 @@
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;
+import java.net.URLClassLoader;
+import java.net.URL;
+import java.net.MalformedURLException;
/**
* Generates Java Web service types and skeletons from a WSRF WSDL.
@@ -86,16 +91,19 @@
private File m_xBeanSrcOutputDir;
private File m_classesOutputDir;
private File m_libOutputDir;
+ private File[] m_classpath;
/**
* Creates a new {@link Wsdl2Java} object.
*
* @param wsdlFiles DOCUMENT_ME
* @param outputDir DOCUMENT_ME
+ * @param classpathFiles
* @param options DOCUMENT_ME
*/
public Wsdl2Java( File[] wsdlFiles,
File outputDir,
+ File[] classpathFiles,
Wsdl2JavaOptions options ) throws Exception
{
m_wsdlFiles = wsdlFiles;
@@ -108,12 +116,46 @@
m_xBeanSrcOutputDir = new File( outputDir, "src/xmlbeans" );
m_classesOutputDir = new File( outputDir, "classes" );
m_libOutputDir = new File( outputDir, "lib" );
+ m_classpath = classpathFiles;
+ validateClasspath();
m_options = ( options != null ) ? options : new Wsdl2JavaOptions();
m_wsdlReader = WSDLFactory.newInstance().newWSDLReader();
initVelocity();
initPortTypeInfoMap();
}
+ private void validateClasspath()
+ throws MalformedURLException
+ {
+ URLClassLoader cpClassLoader = new URLClassLoader( toURLs( m_classpath ), null );
+ try
+ {
+ cpClassLoader.loadClass( XmlObject.class.getName() );
+ }
+ catch ( ClassNotFoundException cnfe )
+ {
+ throw new IllegalStateException( "Specified classpath must contain the XMLBeans runtime jar (e.g. xbean-v1HEAD-SNAPSHOT-20041129.jar)" );
+ }
+ try
+ {
+ cpClassLoader.loadClass( GetResourcePropertyDocument.class.getName() );
+ }
+ catch ( ClassNotFoundException cnfe )
+ {
+ throw new IllegalStateException( "Specified classpath must contain the WSRF generated XMLBeans jar (e.g. wsrf-xbeans-SNAPSHOT.jar)" );
+ }
+ }
+
+ private URL[] toURLs( File[] files ) throws MalformedURLException
+ {
+ URL[] urls = new URL[files.length];
+ for ( int i = 0; i < files.length; i++ )
+ {
+ urls[i] = files[i].toURL();
+ }
+ return urls;
+ }
+
/**
* DOCUMENT_ME
*
@@ -186,15 +228,12 @@
{
CommandLine cmdLine = new PosixParser().parse( CMD_LINE_OPTIONS, args, true );
checkForRequiredOption( cmdLine, Opts.OUTPUT_DIR );
+ checkForRequiredOption( cmdLine, Opts.CLASSPATH );
File outputDir = new File( cmdLine.getOptionValue( Opts.OUTPUT_DIR ) );
+ File[] classpathFiles = toFileArray( cmdLine.getOptionValue( Opts.CLASSPATH ) );
Wsdl2JavaOptions options = new Wsdl2Java.Wsdl2JavaOptions();
- if ( cmdLine.hasOption( Opts.CLASSPATH ) )
- {
- options.setClasspath( cmdLine.getOptionValue( Opts.CLASSPATH ) );
- }
-
if ( cmdLine.hasOption( Opts.VERBOSE ) )
{
options.setVerbose( Boolean.valueOf( cmdLine.getOptionValue( Opts.VERBOSE ) ).booleanValue() );
@@ -216,7 +255,7 @@
System.out.println( MSG.getMessage( Keys.WSDL4J_PASSED_ARGUMENTS,
Integer.toString( wsdlFiles.length ),
outputDir ) );
- new Wsdl2Java( wsdlFiles, outputDir, options ).generate();
+ new Wsdl2Java( wsdlFiles, outputDir, classpathFiles, options ).generate();
}
catch ( Exception e )
{
@@ -309,7 +348,8 @@
String targetNamespace = resourceDef.getDefinition().getTargetNamespace();
props.setPackageName( GenerationUtils.getJavaPackageName( targetNamespace ) );
String serviceName = resourceDef.getName();
- String upperCaseServiceName = getUpperCaseServiceName( serviceName );
+ String capitalizedServiceName = StringUtils.capitalize( serviceName );
+ String upperCaseServiceName = capitalizedServiceName;
props.setServiceName( upperCaseServiceName );
props.setJarDir( m_libOutputDir.getAbsolutePath() );
props.setSrcDir( m_javaSrcOutputDir.getAbsolutePath() );
@@ -357,7 +397,6 @@
{
props.addResourceIncludeFile( ptInfo.getResourceTemplateFileName() );
}
-
if ( ptInfo.getServiceTemplateFileName() != null )
{
props.addServiceIncludeFile( ptInfo.getServiceTemplateFileName() );
@@ -380,7 +419,7 @@
wsdlFile
} );
scompParams.setDownload( true );
- scompParams.setClasspath( m_options.getClasspath() );
+ scompParams.setClasspath( m_classpath );
scompParams.setVerbose( m_options.isVerbose() );
scompParams.setDebug( m_options.isDebug() );
final boolean beNoisy = true;
@@ -477,7 +516,7 @@
File wsdlFile )
throws Exception
{
- String serviceName = getUpperCaseServiceName( resourceDef.getName() );
+ String capitalizedServiceName = StringUtils.capitalize( resourceDef.getName() );
try
{
VelocityContext context = new VelocityContext();
@@ -491,10 +530,10 @@
//generate files
File packageDir = getPackageDir( resourceDef.getDefinition().getTargetNamespace() );
packageDir.mkdirs();
- File outputFile = new File( packageDir, "Abstract" + serviceName + "Service.java" );
+ File outputFile = new File( packageDir, "Abstract" + capitalizedServiceName + "Service.java" );
processTemplate( context, "templates/AbstractService.vm", outputFile );
- outputFile = new File( packageDir, serviceName + "Service.java" );
+ outputFile = new File( packageDir, capitalizedServiceName + "Service.java" );
//only generate if it doesn't exist
if ( !outputFile.exists() )
@@ -502,10 +541,10 @@
processTemplate( context, "templates/Service.vm", outputFile );
}
- outputFile = new File( packageDir, "Abstract" + serviceName + "Resource.java" );
+ outputFile = new File( packageDir, "Abstract" + capitalizedServiceName + "Resource.java" );
processTemplate( context, "templates/AbstractResource.vm", outputFile );
- outputFile = new File( packageDir, serviceName + "Resource.java" );
+ outputFile = new File( packageDir, capitalizedServiceName + "Resource.java" );
//only generate if it doesn't exist
if ( !outputFile.exists() )
@@ -513,7 +552,7 @@
processTemplate( context, "templates/Resource.vm", outputFile );
}
- outputFile = new File( packageDir, serviceName + "Home.java" );
+ outputFile = new File( packageDir, capitalizedServiceName + "Home.java" );
//only generate if it doesn't exist
if ( !outputFile.exists() )
@@ -524,17 +563,17 @@
//only if they implemented properties does this make sense.
if ( resourceDef.hasProperties() )
{
- outputFile = new File( packageDir, serviceName + "PropertyQNames.java" );
+ outputFile = new File( packageDir, capitalizedServiceName + "PropertyQNames.java" );
processTemplate( context, "templates/PropertyQNames.vm", outputFile );
}
- outputFile = new File( packageDir, serviceName + "_deploy.wsdd" );
+ outputFile = new File( packageDir, capitalizedServiceName + "_deploy.wsdd" );
processTemplate( context, "templates/deploy.vm", outputFile );
- outputFile = new File( packageDir, serviceName + "_jndi-config.xml" );
+ outputFile = new File( packageDir, capitalizedServiceName + "_jndi-config.xml" );
processTemplate( context, "templates/jndi.vm", outputFile );
- outputFile = new File( packageDir, serviceName + "CustomOperationsPortType.java" );
+ outputFile = new File( packageDir, capitalizedServiceName + "CustomOperationsPortType.java" );
processTemplate( context, "templates/CustomOperationsPortType.vm", outputFile );
outputFile = new File( m_javaSrcOutputDir.getParentFile().getParentFile(), "build.xml" );
@@ -549,12 +588,6 @@
}
}
- private String getUpperCaseServiceName( String name )
- {
- String serviceName = StringUtils.capitalize( name );
- return serviceName;
- }
-
/**
* DOCUMENT_ME
*
@@ -623,44 +656,6 @@
{
private boolean m_verbose;
private boolean m_debug;
- private File[] m_classpath;
-
- /**
- * DOCUMENT_ME
- *
- * @param classpath DOCUMENT_ME
- */
- public void setClasspath( File[] classpath )
- {
- m_classpath = classpath;
- }
-
- /**
- * DOCUMENT_ME
- *
- * @param classpath DOCUMENT_ME
- */
- public void setClasspath( String classpath )
- {
- List classpathItems = new ArrayList();
- for ( StringTokenizer tokenizer = new StringTokenizer( classpath, File.pathSeparator );
- tokenizer.hasMoreTokens(); )
- {
- classpathItems.add( new File( tokenizer.nextToken() ) );
- }
-
- m_classpath = (File[]) classpathItems.toArray( new File[0] );
- }
-
- /**
- * DOCUMENT_ME
- *
- * @return DOCUMENT_ME
- */
- public File[] getClasspath()
- {
- return m_classpath;
- }
/**
* DOCUMENT_ME
@@ -702,4 +697,16 @@
return m_verbose;
}
}
+
+ static File[] toFileArray( String classpath )
+ {
+ List classpathItems = new ArrayList();
+ for ( StringTokenizer tokenizer = new StringTokenizer( classpath, File.pathSeparator );
+ tokenizer.hasMoreTokens(); )
+ {
+ classpathItems.add( new File( tokenizer.nextToken() ) );
+ }
+ return (File[]) classpathItems.toArray( new File[0] );
+ }
+
}
Modified: incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2JavaTask.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2JavaTask.java?view=diff&rev=124460&p1=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2JavaTask.java&r1=124459&p2=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2JavaTask.java&r2=124460
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2JavaTask.java (original)
+++ incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2JavaTask.java Thu Jan 6 14:54:32 2005
@@ -211,11 +211,6 @@
throws BuildException
{
Wsdl2Java.Wsdl2JavaOptions options = new Wsdl2Java.Wsdl2JavaOptions();
- if ( m_classpath != null )
- {
- options.setClasspath( m_classpath.toString() );
- }
-
if ( m_verbose != null )
{
options.setVerbose( m_verbose.booleanValue() );
@@ -224,10 +219,10 @@
{
options.setDebug( m_debug.booleanValue() );
}
-
+ File[] classpathFiles = Wsdl2Java.toFileArray( m_classpath.toString() );
try
{
- Wsdl2Java wsdl2Java = new Wsdl2Java( (File[]) m_wsdls.toArray( new File[0] ), m_outputDir, options );
+ Wsdl2Java wsdl2Java = new Wsdl2Java( (File[]) m_wsdls.toArray( new File[0] ), m_outputDir, classpathFiles, options );
wsdl2Java.generate();
}
catch ( Exception e )
---------------------------------------------------------------------
To unsubscribe, e-mail: apollo-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: apollo-dev-help@ws.apache.org