From cdc5060abcdf963ad1e1de02e7275f41dbca9707 Mon Sep 17 00:00:00 2001 From: antelder Date: Mon, 23 Mar 2009 08:00:46 +0000 Subject: Delete old m2 branch in the sandbox git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@757344 13f79535-47bb-0310-9956-ffa450edef68 --- .../runtime/WebImplementationProviderFactory.java | 68 ----------- .../web/runtime/jsp/ReferenceTEI.java | 45 ------- .../web/runtime/jsp/ReferenceTag.java | 94 --------------- .../web/runtime/utils/ContextHelper.java | 133 --------------------- .../src/main/resources/META-INF/sca.tld | 49 -------- ...cany.sca.provider.ImplementationProviderFactory | 19 --- 6 files changed, 408 deletions(-) delete mode 100644 sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/WebImplementationProviderFactory.java delete mode 100644 sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/jsp/ReferenceTEI.java delete mode 100644 sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/jsp/ReferenceTag.java delete mode 100644 sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/utils/ContextHelper.java delete mode 100644 sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/resources/META-INF/sca.tld delete mode 100644 sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory (limited to 'sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src') diff --git a/sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/WebImplementationProviderFactory.java b/sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/WebImplementationProviderFactory.java deleted file mode 100644 index 663af52877..0000000000 --- a/sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/WebImplementationProviderFactory.java +++ /dev/null @@ -1,68 +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.implementation.web.runtime; - -import java.util.List; - -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.implementation.web.WebImplementation; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.apache.tuscany.sca.provider.ImplementationProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -public class WebImplementationProviderFactory implements ImplementationProviderFactory { - - private ServletHost servletHost; - - public WebImplementationProviderFactory(ExtensionPointRegistry extensionPoints) { - ServletHostExtensionPoint servletHosts = extensionPoints.getExtensionPoint(ServletHostExtensionPoint.class); - List hosts = servletHosts.getServletHosts(); - if (!hosts.isEmpty()) { - this.servletHost = hosts.get(0); - } - } - - public ImplementationProvider createImplementationProvider(RuntimeComponent component, WebImplementation implementation) { - servletHost.setAttribute("org.apache.tuscany.sca.implementation.web.RuntimeComponent", component); - - return new ImplementationProvider() { - - public Invoker createInvoker(RuntimeComponentService arg0, Operation arg1) { - throw new UnsupportedOperationException("Components using implementation.web have no services"); - } - public void start() { - } - public void stop() { - } - public boolean supportsOneWayInvocation() { - return false; - } - }; - } - - public Class getModelType() { - return WebImplementation.class; - } - -} diff --git a/sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/jsp/ReferenceTEI.java b/sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/jsp/ReferenceTEI.java deleted file mode 100644 index 95d082a3b4..0000000000 --- a/sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/jsp/ReferenceTEI.java +++ /dev/null @@ -1,45 +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.implementation.web.runtime.jsp; - -import javax.servlet.jsp.tagext.TagData; -import javax.servlet.jsp.tagext.TagExtraInfo; -import javax.servlet.jsp.tagext.VariableInfo; - -/** - * TagExtraInfo class for the SCA reference tags - * - * - * @version $Rev: 685532 $ $Date: 2008-08-13 14:03:50 +0100 (Wed, 13 Aug 2008) $ - */ -public class ReferenceTEI extends TagExtraInfo { - - @Override - public VariableInfo[] getVariableInfo(TagData data) { - VariableInfo info1 - = new VariableInfo( - data.getAttributeString("name"), - data.getAttributeString("type"), - true, - VariableInfo.AT_END); - VariableInfo[] info = { info1 } ; - return info; - } -} diff --git a/sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/jsp/ReferenceTag.java b/sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/jsp/ReferenceTag.java deleted file mode 100644 index a82b33fc2d..0000000000 --- a/sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/jsp/ReferenceTag.java +++ /dev/null @@ -1,94 +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.implementation.web.runtime.jsp; - -import javax.servlet.ServletContext; -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.PageContext; -import javax.servlet.jsp.tagext.TagSupport; - -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.oasisopen.sca.ServiceReference; - -/** - * Tag to handle SCA references - * - * - * @version $Rev: 738490 $ $Date: 2009-01-28 14:07:54 +0000 (Wed, 28 Jan 2009) $ - */ -public class ReferenceTag extends TagSupport { - private static final long serialVersionUID = 1L; - - protected String name; - protected String type; - protected Integer scope = PageContext.PAGE_SCOPE; - - @Override - public int doStartTag() throws JspException { - return SKIP_BODY; - } - - @Override - public int doEndTag() throws JspException { - - ServletContext servletContext = pageContext.getServletContext(); - RuntimeComponent component = (RuntimeComponent)servletContext.getAttribute("org.apache.tuscany.sca.implementation.web.RuntimeComponent"); - - Class typeClass; - try { - typeClass = Class.forName(type, true, Thread.currentThread().getContextClassLoader()); - } catch (ClassNotFoundException e) { - throw new JspException("Reference '" + name + "' type class not found: " + type); - } - - ServiceReference sr = component.getComponentContext().getServiceReference(typeClass, name); - if (sr == null) { - throw new JspException("Reference '" + name + "' undefined"); - } - - pageContext.setAttribute(name, sr.getService(), scope); - - return EVAL_PAGE; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Integer getScope() { - return scope; - } - - public void setScope(Integer scope) { - this.scope = scope; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } -} diff --git a/sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/utils/ContextHelper.java b/sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/utils/ContextHelper.java deleted file mode 100644 index a7c03be2ae..0000000000 --- a/sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/utils/ContextHelper.java +++ /dev/null @@ -1,133 +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.implementation.web.runtime.utils; - -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - -import javax.servlet.ServletContext; - -import org.apache.tuscany.sca.assembly.ComponentProperty; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.ServiceRuntimeException; -import org.oasisopen.sca.annotation.ComponentName; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; - -public class ContextHelper { - - public static final String COMPONENT_ATTR = "org.apache.tuscany.sca.implementation.web.RuntimeComponent"; - - public static ComponentContext getComponentContext(ServletContext sc) { - RuntimeComponent rc = (RuntimeComponent)sc.getAttribute(COMPONENT_ATTR); - return rc.getComponentContext(); - } - - public static T getReference(String name, Class type, ServletContext sc) { - ServiceReference sr = getComponentContext(sc).getServiceReference(type, name); - if (sr == null) { - throw new ServiceRuntimeException("Reference '" + name + "' undefined"); - } - return sr.getService(); - } - - public static Object getProperty(String name, ServletContext sc) { - RuntimeComponent rc = (RuntimeComponent)sc.getAttribute(COMPONENT_ATTR); - for (ComponentProperty p : rc.getProperties()) { - if (name.equals(p.getName())) { - return p.getValue(); - } - } - return null; - } - - public static void inject(Object instance, ServletContext sc) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { - - Class clazz = instance.getClass(); - for (Field field : clazz.getDeclaredFields()) { - if (field.isAnnotationPresent(Reference.class)) { - Reference ref = field.getAnnotation(Reference.class); - String name = ref.name() != null && !ref.name().equals("") ? ref.name() : field.getName(); - Object value = getReference(name, field.getType(), sc); - setField(instance, field, value); - } else if (field.isAnnotationPresent(Property.class)) { - Property prop = field.getAnnotation(Property.class); - String name = prop.name() != null && !prop.name().equals("") ? prop.name() : field.getName(); - Object value = getProperty(name, sc); - setField(instance, field, value); - } else if (field.isAnnotationPresent(ComponentName.class)) { - RuntimeComponent rc = (RuntimeComponent)sc.getAttribute(COMPONENT_ATTR); - setField(instance, field, rc.getName()); - } else if (field.isAnnotationPresent(Context.class)) { - setField(instance, field, getComponentContext(sc)); - } - } - - for (Method method : clazz.getDeclaredMethods()) { - if (!method.getName().startsWith("set") || method.getParameterTypes().length != 1) { - continue; - } - String targetName = method.getName().substring(3); - Class type = method.getParameterTypes()[0]; - - if (method.isAnnotationPresent(Reference.class)) { - Reference ref = method.getAnnotation(Reference.class); - String name = ref.name() != null && !ref.name().equals("") ? ref.name() : targetName; - Object value = getReference(name, type, sc); - setMethod(instance, method, value); - } else if (method.isAnnotationPresent(Property.class)) { - Property prop = method.getAnnotation(Property.class); - String name = prop.name() != null && !prop.name().equals("") ? prop.name() : targetName; - Object value = getProperty(name, sc); - setMethod(instance, method, value); - } else if (method.isAnnotationPresent(ComponentName.class)) { - RuntimeComponent rc = (RuntimeComponent)sc.getAttribute(COMPONENT_ATTR); - setMethod(instance, method, rc.getName()); - } else if (method.isAnnotationPresent(Context.class)) { - setMethod(instance, method, getComponentContext(sc)); - } - } - } - - private static void setMethod(Object instance, Method method, Object value) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { - if (method.isAccessible()) { - method.invoke(instance, new Object[] {value}); - } else { - method.setAccessible(true); - method.invoke(instance, new Object[] {value}); - method.setAccessible(false); - } - } - - private static void setField(Object instance, Field field, Object value) throws IllegalArgumentException, IllegalAccessException { - if (field.isAccessible()) { - field.set(instance, value); - } else { - field.setAccessible(true); - field.set(instance, value); - field.setAccessible(false); - } - } - -} diff --git a/sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/resources/META-INF/sca.tld b/sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/resources/META-INF/sca.tld deleted file mode 100644 index 8a9ce93204..0000000000 --- a/sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/resources/META-INF/sca.tld +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - 1.0 - SCA-JSP - http://www.osoa.org/sca/sca_jsp.tld - A tag library for integrating sca components with jsp - - - - reference - - org.apache.tuscany.sca.implementation.web.runtime.jsp.ReferenceTag - org.apache.tuscany.sca.implementation.web.runtime.jsp.ReferenceTEI - - - name - true - false - java.lang.String - - - - type - true - false - java.lang.String - - - - scope - false - false - java.lang.Integer - - - empty - - - - diff --git a/sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory b/sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory deleted file mode 100644 index 9b769c9b10..0000000000 --- a/sandbox/ant/sca/branches/2.0-M2/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory +++ /dev/null @@ -1,19 +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. - -# Implementation class for the implementation extension -org.apache.tuscany.sca.implementation.web.runtime.WebImplementationProviderFactory;model=org.apache.tuscany.sca.implementation.web.WebImplementation -- cgit v1.2.3