Author: richard.opalka(a)jboss.com
Date: 2008-05-22 11:38:13 -0400 (Thu, 22 May 2008)
New Revision: 7141
Modified:
container/jboss50/branches/jbossws-jboss501/src/main/java/org/jboss/wsf/container/jboss50/transport/EndpointAPIHttpTransportManager.java
container/jboss50/branches/jbossws-jboss501/src/main/java/org/jboss/wsf/container/jboss50/transport/WebAppDeploymentFactory.java
container/jboss50/branches/jbossws-jboss501/src/main/resources/jbossws-jboss50-container.jar/META-INF/jbossws-container-beans.xml
Log:
[JBWS-2188] implement missing bits - deployment factory must be called in endpoint API
transport
Modified:
container/jboss50/branches/jbossws-jboss501/src/main/java/org/jboss/wsf/container/jboss50/transport/EndpointAPIHttpTransportManager.java
===================================================================
---
container/jboss50/branches/jbossws-jboss501/src/main/java/org/jboss/wsf/container/jboss50/transport/EndpointAPIHttpTransportManager.java 2008-05-22
15:27:38 UTC (rev 7140)
+++
container/jboss50/branches/jbossws-jboss501/src/main/java/org/jboss/wsf/container/jboss50/transport/EndpointAPIHttpTransportManager.java 2008-05-22
15:38:13 UTC (rev 7141)
@@ -46,6 +46,7 @@
import javax.xml.ws.WebServiceException;
import java.net.URI;
import java.net.URISyntaxException;
+import java.net.URL;
import java.util.Map;
import java.util.HashMap;
@@ -54,8 +55,8 @@
*/
public class EndpointAPIHttpTransportManager implements TransportManager
{
- private static Logger log = Logger.getLogger(EndpointAPIHttpTransportManager.class);
-
+ private static final String PROCESSED_BY_DEPLOYMENT_FACTORY =
"processed.by.deployment.factory";
+ private WebAppDeploymentFactory deploymentFactory;
private WebAppGenerator generator;
private DeploymentFactory factory = new DeploymentFactory();
@@ -76,7 +77,15 @@
// Create JBossWebMetaData and attach it to the DeploymentUnit
Deployment topLevelDeployment = endpoint.getService().getDeployment();
- JBossWebMetaData jbwMetaData = generator.create(topLevelDeployment);
+
+ // TODO: JBWS-2188
+ Boolean alreadyDeployed =
(Boolean)topLevelDeployment.getProperty(PROCESSED_BY_DEPLOYMENT_FACTORY);
+ if ((alreadyDeployed == null) || (false == alreadyDeployed))
+ {
+ JBossWebMetaData jbwMetaData = generator.create(topLevelDeployment);
+ deploymentFactory.create(topLevelDeployment, jbwMetaData);
+ topLevelDeployment.setProperty(PROCESSED_BY_DEPLOYMENT_FACTORY, Boolean.TRUE);
+ }
// Server config
SPIProvider provider = SPIProviderResolver.getInstance().getProvider();
@@ -92,8 +101,8 @@
String ctx = httpSpec.getWebContext();
String pattern = httpSpec.getUrlPattern();
listenerRef = new HttpListenerRef( ctx, pattern, new
URI("http://"+hostAndPort+ctx+pattern) );
-
- } catch (URISyntaxException e)
+ }
+ catch (URISyntaxException e)
{
throw new RuntimeException("Failed to create ListenerRef", e);
}
@@ -105,17 +114,34 @@
deploymentRegistry.put( listenerRef.getUUID(), topLevelDeployment );
return listenerRef;
-
}
public void destroyListener(ListenerRef ref)
{
Deployment dep = deploymentRegistry.get(ref.getUUID());
- if(null==dep)
- throw new IllegalArgumentException("Unknown ListenerRef " + ref);
+ if (dep != null)
+ {
+ // TODO: JBWS-2188
+ Boolean alreadyDeployed =
(Boolean)dep.getProperty(PROCESSED_BY_DEPLOYMENT_FACTORY);
+ if ((alreadyDeployed != null) && (true == alreadyDeployed))
+ {
+ try
+ {
+ undeploy(dep);
+ deploymentFactory.destroy(dep);
+ }
+ finally
+ {
+ deploymentRegistry.remove(ref.getUUID());
+ }
+ dep.removeProperty(PROCESSED_BY_DEPLOYMENT_FACTORY);
+ }
+ }
+ }
- undeploy(dep);
- deploymentRegistry.remove(ref.getUUID());
+ public void setDeploymentFactory(WebAppDeploymentFactory deploymentFactory)
+ {
+ this.deploymentFactory = deploymentFactory;
}
public void setGenerator(WebAppGenerator generator)
Modified:
container/jboss50/branches/jbossws-jboss501/src/main/java/org/jboss/wsf/container/jboss50/transport/WebAppDeploymentFactory.java
===================================================================
---
container/jboss50/branches/jbossws-jboss501/src/main/java/org/jboss/wsf/container/jboss50/transport/WebAppDeploymentFactory.java 2008-05-22
15:27:38 UTC (rev 7140)
+++
container/jboss50/branches/jbossws-jboss501/src/main/java/org/jboss/wsf/container/jboss50/transport/WebAppDeploymentFactory.java 2008-05-22
15:38:13 UTC (rev 7141)
@@ -42,9 +42,6 @@
*/
public class WebAppDeploymentFactory
{
- // provide logging
- private static Logger log = Logger.getLogger(WebAppDeploymentFactory.class);
-
private WebMetaDataModifier webMetaDataModifier;
public void setWebMetaDataModifier(WebMetaDataModifier webMetaDataModifier)
Modified:
container/jboss50/branches/jbossws-jboss501/src/main/resources/jbossws-jboss50-container.jar/META-INF/jbossws-container-beans.xml
===================================================================
---
container/jboss50/branches/jbossws-jboss501/src/main/resources/jbossws-jboss50-container.jar/META-INF/jbossws-container-beans.xml 2008-05-22
15:27:38 UTC (rev 7140)
+++
container/jboss50/branches/jbossws-jboss501/src/main/resources/jbossws-jboss50-container.jar/META-INF/jbossws-container-beans.xml 2008-05-22
15:38:13 UTC (rev 7141)
@@ -83,6 +83,7 @@
<bean name="EndpointAPIHttpTransport"
class="org.jboss.wsf.container.jboss50.transport.EndpointAPIHttpTransportManager">
<property name="generator"><inject
bean="WSWebAppGenerator"/></property>
+ <property name="deploymentFactory"><inject
bean="WSWebAppDeploymentFactory"/></property>
<property name="mainDeployer"><inject
bean="MainDeployer"/></property>
<property name="webMetaDataModifier"><inject
bean="WSWebMetaDataModifier"/></property>
</bean>
Show replies by date