You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by ks...@apache.org on 2009/10/06 06:55:01 UTC

svn commit: r822122 - in /webservices/juddi/trunk/uddi-client/src: main/java/org/apache/juddi/v3/annotations/ main/java/org/apache/juddi/v3/client/ main/java/org/apache/juddi/v3/client/config/ test/java/org/apache/juddi/v3/annotations/ test/java/org/ap...

Author: kstam
Date: Tue Oct  6 04:55:00 2009
New Revision: 822122

URL: http://svn.apache.org/viewvc?rev=822122&view=rev
Log:
JUDDI-287 adding auto register/unregister annotations.

Added:
    webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/client/HelloWorldMockup.java
Modified:
    webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/annotations/AnnotationProcessor.java
    webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/UDDIClerkManager.java
    webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/UDDIClerkServlet.java
    webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java
    webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
    webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDINode.java
    webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/annotations/AnnotationTest.java
    webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/annotations/HelloWorldMockup.java
    webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/annotations/HelloWorldMockup2.java
    webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/client/UDDIClerkManagerTest.java
    webservices/juddi/trunk/uddi-client/src/test/resources/META-INF/uddi.xml

Modified: webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/annotations/AnnotationProcessor.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/annotations/AnnotationProcessor.java?rev=822122&r1=822121&r2=822122&view=diff
==============================================================================
--- webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/annotations/AnnotationProcessor.java (original)
+++ webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/annotations/AnnotationProcessor.java Tue Oct  6 04:55:00 2009
@@ -2,11 +2,13 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Properties;
 
 import javax.jws.WebService;
 
 //import org.apache.log4j.Logger;
 import org.apache.juddi.api_v3.AccessPointType;
+import org.apache.juddi.v3.client.config.ClientConfig;
 import org.apache.log4j.Logger;
 import org.apache.log4j.helpers.Loader;
 import org.uddi.api_v3.AccessPoint;
@@ -29,11 +31,11 @@
 	
 	private Logger log = Logger.getLogger(AnnotationProcessor.class);
 	
-	public Collection<BusinessService> readServiceAnnotations(String[] classesWithAnnotations) {
+	public Collection<BusinessService> readServiceAnnotations(String[] classesWithAnnotations, Properties properties) {
 		Collection<BusinessService> services = new ArrayList<BusinessService>();
 		for (String className : classesWithAnnotations) {
 			try {		
-				BusinessService service = readServiceAnnotations(className);
+				BusinessService service = readServiceAnnotations(className, properties);
 				services.add(service);
 			} catch (Exception e) {
 				e.printStackTrace();
@@ -42,7 +44,7 @@
 		return services;
 	}
 	
-	public BusinessService readServiceAnnotations(String classWithAnnotations) throws ClassNotFoundException {
+	public BusinessService readServiceAnnotations(String classWithAnnotations, Properties properties) throws ClassNotFoundException {
 		
 		BusinessService service = new BusinessService();
 		Class<?> clazz = Loader.loadClass(classWithAnnotations);
@@ -78,7 +80,8 @@
 		        service.setCategoryBag(categoryBag);
 			}
 			
-			BindingTemplate bindingTemplate = parseServiceBinding(clazz, lang, webServiceAnnotation);
+			//bindingTemplate on service
+			BindingTemplate bindingTemplate = parseServiceBinding(clazz, lang, webServiceAnnotation, properties);
 			if (bindingTemplate!=null) {
 				bindingTemplate.setServiceKey(service.getServiceKey());
 				if (service.getBindingTemplates()==null) {
@@ -96,7 +99,8 @@
 	}
 	
 	@SuppressWarnings("unchecked")
-	protected BindingTemplate parseServiceBinding(Class classWithAnnotations, String lang, WebService webServiceAnnotation) {
+	protected BindingTemplate parseServiceBinding(Class classWithAnnotations, String lang, 
+			WebService webServiceAnnotation, Properties properties) {
 		
 		BindingTemplate bindingTemplate = null;
 		UDDIServiceBinding uddiServiceBinding= (UDDIServiceBinding) classWithAnnotations.getAnnotation(UDDIServiceBinding.class);
@@ -120,7 +124,10 @@
 				accessPoint.setUseType(uddiServiceBinding.accessPointType());
 			}
 			if (!"".equals(uddiServiceBinding.accessPoint())) {
-				accessPoint.setValue(uddiServiceBinding.accessPoint());
+				String endPoint = uddiServiceBinding.accessPoint();
+				endPoint = ClientConfig.replaceTokens(endPoint, properties);
+                log.debug("AccessPoint EndPoint=" + endPoint);
+				accessPoint.setValue(endPoint);
 			} else if (webServiceAnnotation!=null && webServiceAnnotation.wsdlLocation()!=null) {
 				accessPoint.setValue(webServiceAnnotation.wsdlLocation());
 			}

Modified: webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/UDDIClerkManager.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/UDDIClerkManager.java?rev=822122&r1=822121&r2=822122&view=diff
==============================================================================
--- webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/UDDIClerkManager.java (original)
+++ webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/UDDIClerkManager.java Tue Oct  6 04:55:00 2009
@@ -64,7 +64,8 @@
 		if (clerks.size() > 0) {
 			AnnotationProcessor ap = new AnnotationProcessor();
 			for (UDDIClerk clerk : clerks.values()) {
-				Collection<BusinessService> services = ap.readServiceAnnotations(clerk.getClassWithAnnotations());
+				Collection<BusinessService> services = ap.readServiceAnnotations(
+						clerk.getClassWithAnnotations(),clerk.getNode().getProperties());
 				for (BusinessService businessService : services) {
 					clerk.register(businessService);
 				}

Modified: webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/UDDIClerkServlet.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/UDDIClerkServlet.java?rev=822122&r1=822121&r2=822122&view=diff
==============================================================================
--- webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/UDDIClerkServlet.java (original)
+++ webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/UDDIClerkServlet.java Tue Oct  6 04:55:00 2009
@@ -28,7 +28,8 @@
  * @author Kurt Stam (kstam@apache.org)
  */
 public class UDDIClerkServlet extends HttpServlet {
-	private static final long serialVersionUID = 1L;
+	
+	private static final long serialVersionUID = -91998529871296125L;
 	private static Logger logger = Logger.getLogger(UDDIClerkServlet.class);
 
 	/**

Modified: webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java?rev=822122&r1=822121&r2=822122&view=diff
==============================================================================
--- webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java (original)
+++ webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java Tue Oct  6 04:55:00 2009
@@ -19,7 +19,10 @@
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
+import java.util.Properties;
 import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import org.apache.commons.configuration.CompositeConfiguration;
 import org.apache.commons.configuration.Configuration;
@@ -143,21 +146,32 @@
 		log.debug("node names=" + names);
 		for (int i=0; i<names.length; i++) {
 			UDDINode uddiNode = new UDDINode();
-			String name = config.getString("nodes.node(" + i +").name");
+			String nodeName = config.getString("nodes.node(" + i +").name");
+			String[] propertyKeys = config.getStringArray("nodes.node(" + i +").properties.property[@name]");
+			Properties properties = null;
+			if (propertyKeys!=null && propertyKeys.length>0) {
+				properties = new Properties();
+				for (int p=0; p<propertyKeys.length; p++) {
+					String name=config.getString("nodes.node(" + i +").properties.property(" + p + ")[@name]");
+					String value=config.getString("nodes.node(" + i +").properties.property(" + p + ")[@value]");
+					log.debug("Property: name=" + name + " value=" + value);
+					properties.put(name, value);
+				}
+			}
 			uddiNode.setName(                   config.getString("nodes.node(" + i +").name"));
 			uddiNode.setDescription(            config.getString("nodes.node(" + i +").description"));
 			uddiNode.setProxyTransport(         config.getString("nodes.node(" + i +").proxyTransport"));
-			uddiNode.setInquiryUrl(             config.getString("nodes.node(" + i +").inquiryUrl"));
-			uddiNode.setPublishUrl(             config.getString("nodes.node(" + i +").publishUrl"));
-			uddiNode.setCustodyTransferUrl(     config.getString("nodes.node(" + i +").custodyTransferUrl"));
-			uddiNode.setSecurityUrl(            config.getString("nodes.node(" + i +").securityUrl"));
-			uddiNode.setSubscriptionUrl(        config.getString("nodes.node(" + i +").subscriptionUrl"));
-			uddiNode.setSubscriptionListenerUrl(config.getString("nodes.node(" + i +").subscriptionListenerUrl"));
-			uddiNode.setJuddiApiUrl(            config.getString("nodes.node(" + i +").juddiApiUrl"));
+			uddiNode.setInquiryUrl(             replaceTokens(config.getString("nodes.node(" + i +").inquiryUrl"),properties));
+			uddiNode.setPublishUrl(             replaceTokens(config.getString("nodes.node(" + i +").publishUrl"),properties));
+			uddiNode.setCustodyTransferUrl(     replaceTokens(config.getString("nodes.node(" + i +").custodyTransferUrl"),properties));
+			uddiNode.setSecurityUrl(            replaceTokens(config.getString("nodes.node(" + i +").securityUrl"),properties));
+			uddiNode.setSubscriptionUrl(        replaceTokens(config.getString("nodes.node(" + i +").subscriptionUrl"),properties));
+			uddiNode.setSubscriptionListenerUrl(replaceTokens(config.getString("nodes.node(" + i +").subscriptionListenerUrl"),properties));
+			uddiNode.setJuddiApiUrl(            replaceTokens(config.getString("nodes.node(" + i +").juddiApiUrl"),properties));
 			uddiNode.setFactoryInitial(         config.getString("nodes.node(" + i +").javaNamingFactoryInitial"));
 			uddiNode.setFactoryURLPkgs(         config.getString("nodes.node(" + i +").javaNamingFactoryUrlPkgs"));
-			uddiNode.setFactoryNamingProvider(  config.getString("nodes.node(" + i +").javaNamingProviderUrl"));
-			nodes.put(name,uddiNode);
+			uddiNode.setFactoryNamingProvider(  replaceTokens(config.getString("nodes.node(" + i +").javaNamingProviderUrl"),properties));
+			nodes.put(nodeName,uddiNode);
 		}
 		if (!nodes.containsKey("default")) {
 			throw new ConfigurationException("Required node named 'default' is not found.");
@@ -200,4 +214,29 @@
 	public Set<XRegistration> getXRegistrations() {
 		return xRegistrations;
 	}
+	
+    public static String replaceTokens(String string, Properties properties) {
+    	
+    	if (properties==null || string==null) return string;
+    	string = string.replaceAll("\\n"," ").replaceAll("\\r", "");
+		/* pattern that is multi-line (?m), and looks for a pattern of
+		 * ${token}, in a 'reluctant' manner, by using the ? to 
+		 * make sure we find ALL the tokens.
+		 */
+		Pattern pattern = Pattern.compile("(?m)\\$\\{.*?\\}");
+        Matcher matcher = pattern.matcher(string);
+        while (matcher.find()) {
+            String token = matcher.group();
+            token = token.substring(2,token.length()-1);
+            String replacement = properties.getProperty(token);
+            if (replacement!=null) {
+            	log.debug("Found token " + token + " and replacement value " + replacement);
+            	string = string.replaceAll("\\$\\{" + token + "\\}", replacement);
+            } else {
+            	log.error("Found token " + token + " but could not obtain its value. Data: " + string);
+            }
+        }
+        log.debug("Data after token replacement: " + string);
+        return string;
+	}
 }

Modified: webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java?rev=822122&r1=822121&r2=822122&view=diff
==============================================================================
--- webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java (original)
+++ webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java Tue Oct  6 04:55:00 2009
@@ -53,6 +53,9 @@
 		} catch (Exception e) {
 			log.error("Unable to register service " + service.getName().get(0).getValue()
 					+ " ." + e.getMessage(),e);
+		} catch (Throwable t) {
+			log.error("Unable to register service " + service.getName().get(0).getValue()
+					+ " ." + t.getMessage(),t);
 		}
 		return businessService;
 	}

Modified: webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDINode.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDINode.java?rev=822122&r1=822121&r2=822122&view=diff
==============================================================================
--- webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDINode.java (original)
+++ webservices/juddi/trunk/uddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDINode.java Tue Oct  6 04:55:00 2009
@@ -1,5 +1,7 @@
 package org.apache.juddi.v3.client.config;
 
+import java.util.Properties;
+
 import org.apache.juddi.v3.client.transport.Transport;
 import org.apache.juddi.v3.client.transport.TransportException;
 import org.apache.log4j.helpers.Loader;
@@ -21,6 +23,8 @@
 	private String factoryURLPkgs;
 	private String factoryNamingProvider;
 	
+	private Properties properties;
+	
 	private Transport transport;
 	
 	public Transport getTransport() throws TransportException {
@@ -42,6 +46,7 @@
 	public void setName(String name) {
 		this.name = name;
 	}
+	
 	public String getDescription() {
 		return description;
 	}
@@ -114,6 +119,14 @@
 	public void setFactoryNamingProvider(String factoryNamingProvider) {
 		this.factoryNamingProvider = factoryNamingProvider;
 	}
+
+	public Properties getProperties() {
+		return properties;
+	}
+
+	public void setProperties(Properties properties) {
+		this.properties = properties;
+	}
 	
 	
 }

Modified: webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/annotations/AnnotationTest.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/annotations/AnnotationTest.java?rev=822122&r1=822121&r2=822122&view=diff
==============================================================================
--- webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/annotations/AnnotationTest.java (original)
+++ webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/annotations/AnnotationTest.java Tue Oct  6 04:55:00 2009
@@ -14,6 +14,8 @@
  */
 package org.apache.juddi.v3.annotations;
 
+import java.util.Properties;
+
 import org.apache.log4j.helpers.Loader;
 import org.junit.Assert;
 import static org.junit.Assert.assertEquals;
@@ -53,7 +55,7 @@
 	     try {
 	    	Class classWithAnnotations = Loader.loadClass(HelloWorldMockup.class.getName());
 	    	AnnotationProcessor ap = new AnnotationProcessor();
-	    	BindingTemplate bindingTemplate = ap.parseServiceBinding(classWithAnnotations, "en", null);
+	    	BindingTemplate bindingTemplate = ap.parseServiceBinding(classWithAnnotations, "en", null, null);
 	    	assertNotNull(bindingTemplate);
 	    	//expecting references to two keys
 	    	assertEquals(2, bindingTemplate.getTModelInstanceDetails().getTModelInstanceInfo().size());
@@ -75,7 +77,7 @@
      public void testReadingServiceAnnotation() {
     	 try {
 	    	 AnnotationProcessor ap = new AnnotationProcessor();
-	    	 BusinessService service = ap.readServiceAnnotations(HelloWorldMockup.class.getName());
+	    	 BusinessService service = ap.readServiceAnnotations(HelloWorldMockup.class.getName(),null);
 	    	 assertNotNull(service);
 	    	 assertEquals("HelloWorld",service.getName().get(0).getValue());
 	    	 assertEquals(1,service.getBindingTemplates().getBindingTemplate().size());
@@ -91,10 +93,18 @@
      public void testReadingServiceAnnotation2() {
     	 try {
 	    	 AnnotationProcessor ap = new AnnotationProcessor();
-	    	 BusinessService service = ap.readServiceAnnotations(HelloWorldMockup2.class.getName());
+	    	 Properties properties = new Properties();
+	    	 properties.put("serverName", "localhost");
+	    	 properties.put("serverPort", "8080");
+	    	 BusinessService service = ap.readServiceAnnotations(HelloWorldMockup2.class.getName(),properties);
 	    	 assertNotNull(service);
 	    	 assertEquals("HelloWorldMockup2",service.getName().get(0).getValue());
 	    	 assertEquals(1,service.getBindingTemplates().getBindingTemplate().size());
+	    	 BindingTemplate binding = service.getBindingTemplates().getBindingTemplate().get(0);
+	    	 String endPoint = binding.getAccessPoint().getValue();
+	    	 assertEquals("http://localhost:8080/subscription-listener/helloworld",endPoint);
+	    	 String serviceKey = binding.getServiceKey();
+	    	 assertEquals(service.getServiceKey(),serviceKey);
 	    	 assertNull(service.getCategoryBag());
     	 } catch (Exception e) {
 	    	 //we should not have any issues reading the annotations

Modified: webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/annotations/HelloWorldMockup.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/annotations/HelloWorldMockup.java?rev=822122&r1=822121&r2=822122&view=diff
==============================================================================
--- webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/annotations/HelloWorldMockup.java (original)
+++ webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/annotations/HelloWorldMockup.java Tue Oct  6 04:55:00 2009
@@ -16,7 +16,9 @@
 				  + "testing the jUDDI annotation functionality",
 		tModelKeys="tModelKey1,tModelKey2",
 	    categoryBag="keyedReference=keyName=uddi-org:types:wsdl;keyValue=wsdlDeployment;tModelKey=uddi:uddi.org:categorization:types," +
-	    		    "keyedReference=keyName=uddi-org:types:wsdl2;keyValue=wsdlDeployment2;tModelKey=uddi:uddi.org:categorization:types2")
+	    		    "keyedReference=keyName=uddi-org:types:wsdl2;keyValue=wsdlDeployment2;tModelKey=uddi:uddi.org:categorization:types2",
+	    accessPointType="wsdlDeployment",
+	    accessPoint="http://${serverName}:${serverPort}/subscription-listener/helloworld")
 @WebService(
 		endpointInterface = "org.apache.juddi.test.HelloWorld",
         serviceName = "HelloWorld")

Modified: webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/annotations/HelloWorldMockup2.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/annotations/HelloWorldMockup2.java?rev=822122&r1=822121&r2=822122&view=diff
==============================================================================
--- webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/annotations/HelloWorldMockup2.java (original)
+++ webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/annotations/HelloWorldMockup2.java Tue Oct  6 04:55:00 2009
@@ -11,7 +11,9 @@
 @UDDIServiceBinding(
 		bindingKey="uddi:juddi.apache.org:bindings-helloworld-wsdl",
 	    description="WSDL endpoint for the HelloWorld Service. This service is used for "
-				  + "testing the jUDDI annotation functionality")
+				  + "testing the jUDDI annotation functionality",
+	    accessPointType="wsdlDeployment",
+		accessPoint="http://${serverName}:${serverPort}/subscription-listener/helloworld")
 
 public class HelloWorldMockup2 {
     

Added: webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/client/HelloWorldMockup.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/client/HelloWorldMockup.java?rev=822122&view=auto
==============================================================================
--- webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/client/HelloWorldMockup.java (added)
+++ webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/client/HelloWorldMockup.java Tue Oct  6 04:55:00 2009
@@ -0,0 +1,33 @@
+package org.apache.juddi.v3.client;
+
+import javax.jws.WebService;
+
+import org.apache.juddi.v3.annotations.UDDIService;
+import org.apache.juddi.v3.annotations.UDDIServiceBinding;
+
+
+@UDDIService(
+		businessKey="uddi:juddi.apache.org:businesses-asf",
+		serviceKey="uddi:juddi.apache.org:services-helloworld", 
+		description = "Hello World test service")
+@UDDIServiceBinding(
+		bindingKey="uddi:juddi.apache.org:bindings-helloworld-wsdl",
+	    description="WSDL endpoint for the HelloWorld Service. This service is used for "
+				  + "testing the jUDDI annotation functionality",
+		tModelKeys="tModelKey1,tModelKey2",
+	    categoryBag="keyedReference=keyName=uddi-org:types:wsdl;keyValue=wsdlDeployment;tModelKey=uddi:uddi.org:categorization:types," +
+	    		    "keyedReference=keyName=uddi-org:types:wsdl2;keyValue=wsdlDeployment2;tModelKey=uddi:uddi.org:categorization:types2",
+	    accessPointType="wsdlDeployment",
+	    accessPoint="http://${serverName}:${serverPort}/subscription-listener/helloworld")
+@WebService(
+		endpointInterface = "org.apache.juddi.test.HelloWorld",
+        serviceName = "HelloWorld")
+
+public class HelloWorldMockup {
+    
+    public String sayHi(String text) {
+        System.out.println("sayHi called");
+        return "Hello " + text;
+    }
+	
+}

Modified: webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/client/UDDIClerkManagerTest.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/client/UDDIClerkManagerTest.java?rev=822122&r1=822121&r2=822122&view=diff
==============================================================================
--- webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/client/UDDIClerkManagerTest.java (original)
+++ webservices/juddi/trunk/uddi-client/src/test/java/org/apache/juddi/v3/client/UDDIClerkManagerTest.java Tue Oct  6 04:55:00 2009
@@ -14,8 +14,16 @@
  */
 package org.apache.juddi.v3.client;
 
+import static org.junit.Assert.assertEquals;
+
+import java.util.Map;
+
+import org.apache.juddi.v3.annotations.AnnotationProcessor;
+import org.apache.juddi.v3.client.config.ClientConfig;
+import org.apache.juddi.v3.client.config.UDDIClerk;
 import org.junit.Assert;
 import org.junit.Test;
+import org.uddi.api_v3.BusinessService;
 
 /**
  * @author <a href="mailto:kstam@apache.org">Kurt T Stam</a>
@@ -26,6 +34,7 @@
      public void testReadingTheConfig() {
 	     try {
 	    	UDDIClerkManager.start();
+	    	
 	     } catch (Exception e) {
 	    	 //we should not have any issues reading the config
 	         e.printStackTrace();
@@ -33,6 +42,24 @@
 	     } 
      }
      
+     @Test
+     public void testAnnotation() {
+    	 try {
+	    	 Map<String,UDDIClerk> clerks = ClientConfig.getInstance().getClerks();
+	 		 AnnotationProcessor ap = new AnnotationProcessor();
+	 		 UDDIClerk clerk = clerks.get("default");
+	 		 BusinessService service = ap.readServiceAnnotations(
+	 				 HelloWorldMockup.class.getName(), clerk.getNode().getProperties());
+	 		 BusinessService serviceOut = clerk.register(service);
+	 		 assertEquals(service.getServiceKey(),serviceOut.getServiceKey());
+    	 } catch (Exception e) {
+	    	 //we should not have any issues reading the config
+	         e.printStackTrace();
+	         Assert.fail();
+	     } 
+    	 
+     }
+     
    
 	
 }

Modified: webservices/juddi/trunk/uddi-client/src/test/resources/META-INF/uddi.xml
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/uddi-client/src/test/resources/META-INF/uddi.xml?rev=822122&r1=822121&r2=822122&view=diff
==============================================================================
--- webservices/juddi/trunk/uddi-client/src/test/resources/META-INF/uddi.xml (original)
+++ webservices/juddi/trunk/uddi-client/src/test/resources/META-INF/uddi.xml Tue Oct  6 04:55:00 2009
@@ -7,15 +7,19 @@
 		    <!-- required 'default' node -->
 			<name>default</name> 
 			<description>Main jUDDI node</description>
+			<properties>
+				<property name="serverName" value="localhost" />
+				<property name="serverPort" value="8880" />
+			</properties>
 			<!-- JAX-WS Transport -->
 			<proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
-			<custodyTransferUrl>http://localhost:8880/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl>
-			<inquiryUrl>http://localhost:8880/juddiv3/services/inquiry?wsdl</inquiryUrl>
-	        <publishUrl>http://localhost:8880/juddiv3/services/publish?wsdl</publishUrl>
-	        <securityUrl>http://localhost:8880/juddiv3/services/security?wsdl</securityUrl>
-			<subscriptionUrl>http://localhost:8880/juddiv3/services/subscription?wsdl</subscriptionUrl>
-			<subscriptionListenerUrl>http://localhost:8880/juddiv3/services/subscription-listener?wsdl</subscriptionListenerUrl>
-			<juddiApiUrl>http://localhost:8880/juddiv3/services/juddi-api?wsdl</juddiApiUrl>
+			<custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl>
+			<inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry?wsdl</inquiryUrl>
+	        <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish?wsdl</publishUrl>
+	        <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security?wsdl</securityUrl>
+			<subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription?wsdl</subscriptionUrl>
+			<subscriptionListenerUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription-listener?wsdl</subscriptionListenerUrl>
+			<juddiApiUrl>http://${serverName}:${serverPort}/juddiv3/services/juddi-api?wsdl</juddiApiUrl>
 			<!-- In VM Transport Settings 
 			<proxyTransport>org.apache.juddi.v3.client.transport.InVMTransport</proxyTransport>
 			<custodyTransferUrl>org.apache.juddi.api.impl.UDDICustodyTransferImpl</custodyTransferUrl>



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