Author: heiko.braun(a)jboss.com
Date: 2008-03-13 08:47:16 -0400 (Thu, 13 Mar 2008)
New Revision: 5959
Added:
spi/trunk/src/main/java/org/jboss/wsf/spi/deployment/integration/
spi/trunk/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeclaration.java
spi/trunk/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeployment.java
spi/trunk/src/main/java/org/jboss/wsf/spi/invocation/integration/
spi/trunk/src/main/java/org/jboss/wsf/spi/invocation/integration/InvocationContextCallback.java
spi/trunk/src/main/java/org/jboss/wsf/spi/invocation/integration/ServiceEndpointContainer.java
spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentMD.java
spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentSpec.java
Log:
Add EJB integration interfaces
Added:
spi/trunk/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeclaration.java
===================================================================
---
spi/trunk/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeclaration.java
(rev 0)
+++
spi/trunk/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeclaration.java 2008-03-13
12:47:16 UTC (rev 5959)
@@ -0,0 +1,50 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.deployment.integration;
+
+/**
+ * A minimum web service meta data representation that offers a generic
+ * way to access more fine grained meta data through {@link #getAnnotation(Class)}
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public interface WebServiceDeclaration
+{
+ /**
+ * Web service endpoint impl. name
+ * @return a name, that can be used to susequently address the service impl.
+ */
+ String getComponentName();
+
+ /**
+ * Web sevice endpoint impl. class
+ * @return
+ */
+ String getComponentClassName();
+
+ /**
+ * Get a unified meta data view represented by an annotation.
+ *
+ * @param t
+ * @return
+ */
+ <T extends java.lang.annotation.Annotation> T getAnnotation(Class<T> t);
+}
Property changes on:
spi/trunk/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeclaration.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added:
spi/trunk/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeployment.java
===================================================================
---
spi/trunk/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeployment.java
(rev 0)
+++
spi/trunk/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeployment.java 2008-03-13
12:47:16 UTC (rev 5959)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.deployment.integration;
+
+import java.util.List;
+
+/**
+ * A web service deployment contains {@link WebServiceDeclaration} declarations.
+ *
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public interface WebServiceDeployment
+{
+ List<WebServiceDeclaration> getServiceEndpoints();
+}
Property changes on:
spi/trunk/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeployment.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added:
spi/trunk/src/main/java/org/jboss/wsf/spi/invocation/integration/InvocationContextCallback.java
===================================================================
---
spi/trunk/src/main/java/org/jboss/wsf/spi/invocation/integration/InvocationContextCallback.java
(rev 0)
+++
spi/trunk/src/main/java/org/jboss/wsf/spi/invocation/integration/InvocationContextCallback.java 2008-03-13
12:47:16 UTC (rev 5959)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.invocation.integration;
+
+/**
+ * Callback for invocation context properties that may be injected
+ * in the service endpoint prior to actual method invocation.
+ *
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public interface InvocationContextCallback
+{
+ <T> T get(Class<T> propertyType);
+}
Property changes on:
spi/trunk/src/main/java/org/jboss/wsf/spi/invocation/integration/InvocationContextCallback.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added:
spi/trunk/src/main/java/org/jboss/wsf/spi/invocation/integration/ServiceEndpointContainer.java
===================================================================
---
spi/trunk/src/main/java/org/jboss/wsf/spi/invocation/integration/ServiceEndpointContainer.java
(rev 0)
+++
spi/trunk/src/main/java/org/jboss/wsf/spi/invocation/integration/ServiceEndpointContainer.java 2008-03-13
12:47:16 UTC (rev 5959)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.invocation.integration;
+
+import java.lang.reflect.Method;
+
+/**
+ * Host's web service implementation and allows invocations on them.
+ *
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public interface ServiceEndpointContainer
+{
+ /**
+ * The actualk web service implementation hosted by this container.
+ * @return
+ */
+ Class getServiceImplementationClass();
+
+ /**
+ * Invokes a particular endpoint opertation.
+ *
+ * @param method business method
+ * @param args parameters
+ * @param callback gives access to invocation context properties. I.e. for injecting
the WebServiceContext
+ * @return null for operations without return parameter
+ * @throws Exception
+ */
+ Object invokeEndpoint(Method method, Object[] args, InvocationContextCallback
callback) throws Throwable;
+}
Property changes on:
spi/trunk/src/main/java/org/jboss/wsf/spi/invocation/integration/ServiceEndpointContainer.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentMD.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentMD.java
(rev 0)
+++
spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentMD.java 2008-03-13
12:47:16 UTC (rev 5959)
@@ -0,0 +1,106 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.metadata.j2ee;
+
+import java.lang.annotation.Annotation;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class PortComponentMD implements PortComponentSpec
+{
+ private static final long serialVersionUID = 1;
+
+ private String portComponentName;
+ private String portComponentURI;
+ private String authMethod;
+ private String transportGuarantee;
+ private boolean secureWSDLAccess;
+
+ public PortComponentMD()
+ {
+ }
+
+ public String portComponentName()
+ {
+ return portComponentName;
+ }
+
+ public void setPortComponentName(String portComponentName)
+ {
+ this.portComponentName = portComponentName;
+ }
+
+ public String portComponentURI()
+ {
+ return portComponentURI;
+ }
+
+ public void setPortComponentURI(String portComponentURI)
+ {
+ this.portComponentURI = portComponentURI;
+ }
+
+ public String urlPattern()
+ {
+ String pattern = "/*";
+ if (portComponentURI != null)
+ pattern = portComponentURI;
+
+ return pattern;
+ }
+
+ public String authMethod()
+ {
+ return authMethod;
+ }
+
+ public void setAuthMethod(String authMethod)
+ {
+ this.authMethod = authMethod;
+ }
+
+ public String transportGuarantee()
+ {
+ return transportGuarantee;
+ }
+
+ public void setTransportGuarantee(String transportGuarantee)
+ {
+ this.transportGuarantee = transportGuarantee;
+ }
+
+ public boolean secureWSDLAccess()
+ {
+ return secureWSDLAccess;
+ }
+
+ public void setSecureWSDLAccess(boolean secureWSDLAccess)
+ {
+ this.secureWSDLAccess = secureWSDLAccess;
+ }
+
+ public Class<? extends Annotation> annotationType()
+ {
+ return PortComponentSpec.class;
+ }
+}
Property changes on:
spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentMD.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentSpec.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentSpec.java
(rev 0)
+++
spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentSpec.java 2008-03-13
12:47:16 UTC (rev 5959)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.metadata.j2ee;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public @interface PortComponentSpec
+{
+ String portComponentName();
+
+ String portComponentURI();
+
+ String urlPattern();
+
+ String authMethod();
+
+ String transportGuarantee();
+
+ boolean secureWSDLAccess();
+}
Property changes on:
spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentSpec.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF