diff options
Diffstat (limited to 'branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache')
7 files changed, 0 insertions, 368 deletions
diff --git a/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPResource.java b/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPResource.java deleted file mode 100644 index 7ed660a54f..0000000000 --- a/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPResource.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.tuscany.sca.binding.http; - -import java.net.URL; - -/** - * The service interface of resource implementations. - * - * @version $Rev$ $Date$ - */ -public interface HTTPResource { - - /** - * Returns the resource location URL. - * - * @return - */ - public URL getLocationURL(); - -} diff --git a/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPResourceBinding.java b/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPResourceBinding.java deleted file mode 100644 index be9483b3c0..0000000000 --- a/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPResourceBinding.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.tuscany.sca.binding.http; - -import org.apache.tuscany.sca.assembly.Binding; - - -/** - * HTTP resource binding model. - */ -public interface HTTPResourceBinding extends Binding { -} diff --git a/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPResourceBindingFactory.java b/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPResourceBindingFactory.java deleted file mode 100644 index cf59e07782..0000000000 --- a/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPResourceBindingFactory.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.tuscany.sca.binding.http; - -/** - * Factory for the HTTP resource binding model. - * - * @version $Rev$ $Date$ - */ -public interface HTTPResourceBindingFactory { - - /** - * Creates a new HTTP resource binding. - * @return a new HTTP resource binding - */ - HTTPResourceBinding createHTTPResourceBinding(); - -} diff --git a/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/impl/HTTPResourceBindingFactoryImpl.java b/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/impl/HTTPResourceBindingFactoryImpl.java deleted file mode 100644 index 9620c2bc04..0000000000 --- a/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/impl/HTTPResourceBindingFactoryImpl.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.tuscany.sca.binding.http.impl; - -import org.apache.tuscany.sca.binding.http.HTTPResourceBinding; -import org.apache.tuscany.sca.binding.http.HTTPResourceBindingFactory; - -/** - * Factory for the HTTP resource binding model. - * - * @version $Rev$ $Date$ - */ -public class HTTPResourceBindingFactoryImpl implements HTTPResourceBindingFactory { - - public HTTPResourceBinding createHTTPResourceBinding() { - return new HTTPResourceBindingImpl(); - } - -} diff --git a/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/impl/HTTPResourceBindingImpl.java b/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/impl/HTTPResourceBindingImpl.java deleted file mode 100644 index aab392b2ed..0000000000 --- a/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/impl/HTTPResourceBindingImpl.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.tuscany.sca.binding.http.impl; - -import java.util.Collections; -import java.util.List; - -import org.apache.tuscany.sca.binding.http.HTTPResourceBinding; - - -/** - * Implementation of the HTTP resource binding model. - */ -class HTTPResourceBindingImpl implements HTTPResourceBinding { - - private String name; - private String uri; - - public String getName() { - return name; - } - - public String getURI() { - return uri; - } - - public void setName(String name) { - this.name = name; - } - - public void setURI(String uri) { - this.uri = uri; - } - - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - // The sample binding is always resolved - } - -} diff --git a/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPResourceBindingProviderFactory.java b/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPResourceBindingProviderFactory.java deleted file mode 100644 index 2cb7b1d530..0000000000 --- a/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPResourceBindingProviderFactory.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.tuscany.sca.binding.http.provider; - -import org.apache.tuscany.sca.binding.http.HTTPResourceBinding; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.host.http.ServletHost; -import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.provider.BindingProviderFactory; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - - -/** - * Implementation of the Echo binding model. - */ -public class HTTPResourceBindingProviderFactory implements BindingProviderFactory<HTTPResourceBinding> { - - private MessageFactory messageFactory; - private ServletHost servletHost; - - public HTTPResourceBindingProviderFactory(ExtensionPointRegistry extensionPoints) { - ServletHostExtensionPoint servletHosts = extensionPoints.getExtensionPoint(ServletHostExtensionPoint.class); - this.servletHost = servletHosts.getServletHosts().get(0); - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - messageFactory = modelFactories.getFactory(MessageFactory.class); - } - - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, RuntimeComponentReference reference, HTTPResourceBinding binding) { - return null; - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, RuntimeComponentService service, HTTPResourceBinding binding) { - return new HTTPResourceServiceBindingProvider(component, service, binding, messageFactory, servletHost); - } - - public Class<HTTPResourceBinding> getModelType() { - return HTTPResourceBinding.class; - } -} diff --git a/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPResourceServiceBindingProvider.java b/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPResourceServiceBindingProvider.java deleted file mode 100644 index 32b0c4cc4a..0000000000 --- a/branches/sca-java-0.99/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPResourceServiceBindingProvider.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.tuscany.sca.binding.http.provider; - -import java.net.URL; - -import org.apache.tuscany.sca.binding.http.HTTPResourceBinding; -import org.apache.tuscany.sca.host.http.DefaultResourceServlet; -import org.apache.tuscany.sca.host.http.ServletHost; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.invocation.InvocationChain; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * Implementation of the Echo binding provider. - */ -public class HTTPResourceServiceBindingProvider implements ServiceBindingProvider { - - private RuntimeComponentService service; - private HTTPResourceBinding binding; - private MessageFactory messageFactory; - private ServletHost servletHost; - private String uri; - - public HTTPResourceServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - HTTPResourceBinding binding, - MessageFactory messageFactory, - ServletHost servletHost) { - this.service = service; - this.binding = binding; - this.messageFactory = messageFactory; - this.servletHost = servletHost; - - uri = binding.getURI(); - if (!uri.endsWith("/")) { - uri += "/"; - } - if (!uri.endsWith("*")) { - uri += "*"; - } - } - - public InterfaceContract getBindingInterfaceContract() { - return service.getInterfaceContract(); - } - - public void start() { - - // Get the target component implementation, for now we are assuming - // that it's an implementation.resource - RuntimeComponentService componentService = (RuntimeComponentService) service; - RuntimeWire wire = componentService.getRuntimeWire(binding); - - // Get the getLocationURL invoker - Invoker getLocationInvoker = null; - for (InvocationChain invocationChain : wire.getInvocationChains()) { - String operationName = invocationChain.getSourceOperation().getName(); - if (operationName.equals("getLocationURL")) { - getLocationInvoker = invocationChain.getHeadInvoker(); - } - } - if (getLocationInvoker == null) { - throw new IllegalStateException("No getLocationURL operation found on target component"); - } - - // Get the location URL - Message message = messageFactory.createMessage(); - message = getLocationInvoker.invoke(message); - URL locationURL = message.getBody(); - - // Register the default resource servlet with the servlet host - DefaultResourceServlet resourceServlet = new DefaultResourceServlet(locationURL.toString()); - servletHost.addServletMapping(uri, resourceServlet); - - } - - public void stop() { - - // Unregister from the hosting server - servletHost.removeServletMapping(uri); - } - -} |