Oops, I forgot to prefix this commit with ARIES-468. Alasdair
On 26 October 2010 14:01, <[email protected]> wrote: > Author: not > Date: Tue Oct 26 13:01:00 2010 > New Revision: 1027526 > > URL: http://svn.apache.org/viewvc?rev=1027526&view=rev > Log: > Create the initial project structure and initial interface proposal for the > proxy service > that will be used by both the blueprint and JNDI implementations to generate > proxies. > > Added: > incubator/aries/trunk/proxy/ > incubator/aries/trunk/proxy/pom.xml > incubator/aries/trunk/proxy/proxy-api/ > incubator/aries/trunk/proxy/proxy-api/pom.xml > incubator/aries/trunk/proxy/proxy-api/src/ > incubator/aries/trunk/proxy/proxy-api/src/main/ > incubator/aries/trunk/proxy/proxy-api/src/main/java/ > incubator/aries/trunk/proxy/proxy-api/src/main/java/org/ > incubator/aries/trunk/proxy/proxy-api/src/main/java/org/apache/ > incubator/aries/trunk/proxy/proxy-api/src/main/java/org/apache/aries/ > incubator/aries/trunk/proxy/proxy-api/src/main/java/org/apache/aries/proxy/ > > incubator/aries/trunk/proxy/proxy-api/src/main/java/org/apache/aries/proxy/InvocationHandlerWrapper.java > > incubator/aries/trunk/proxy/proxy-api/src/main/java/org/apache/aries/proxy/ProxyFactory.java > > incubator/aries/trunk/proxy/proxy-api/src/main/java/org/apache/aries/proxy/ProxyManager.java > incubator/aries/trunk/proxy/proxy-bundle/ > incubator/aries/trunk/proxy/proxy-bundle/pom.xml > incubator/aries/trunk/proxy/proxy-impl/ > incubator/aries/trunk/proxy/proxy-impl/pom.xml > incubator/aries/trunk/proxy/proxy-impl/src/ > incubator/aries/trunk/proxy/proxy-impl/src/main/ > incubator/aries/trunk/proxy/proxy-impl/src/main/java/ > incubator/aries/trunk/proxy/proxy-impl/src/main/java/org/ > incubator/aries/trunk/proxy/proxy-impl/src/main/java/org/apache/ > incubator/aries/trunk/proxy/proxy-impl/src/main/java/org/apache/aries/ > > incubator/aries/trunk/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/ > > incubator/aries/trunk/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ > > Added: incubator/aries/trunk/proxy/pom.xml > URL: > http://svn.apache.org/viewvc/incubator/aries/trunk/proxy/pom.xml?rev=1027526&view=auto > ============================================================================== > --- incubator/aries/trunk/proxy/pom.xml (added) > +++ incubator/aries/trunk/proxy/pom.xml Tue Oct 26 13:01:00 2010 > @@ -0,0 +1,88 @@ > +<!-- > + 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. > +--> > +<project xmlns="http://maven.apache.org/POM/4.0.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/maven-v4_0_0.xsd"> > + > + <parent> > + <groupId>org.apache.aries</groupId> > + <artifactId>java5-parent</artifactId> > + <version>0.3-incubating-SNAPSHOT</version> > + </parent> > + > + <modelVersion>4.0.0</modelVersion> > + <groupId>org.apache.aries.proxy</groupId> > + <artifactId>proxy</artifactId> > + <name>Apache Aries Class Proxy</name> > + <version>0.3-incubating-SNAPSHOT</version> > + <packaging>pom</packaging> > + > + <description> > + A common proxy class generation service that can be used by blueprint > and jndi and others. > + </description> > + > + <scm> > + > <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/aries/trunk/proxy</connection> > + > <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/aries/trunk/proxy</developerConnection> > + <url>http://svn.apache.org/viewvc/incubator/aries/trunk/proxy</url> > + </scm> > + > + <dependencyManagement> > + <dependencies> > + <!-- internal dependencies --> > + <!-- external dependencies --> > + <dependency> > + <groupId>asm</groupId> > + <artifactId>asm-all</artifactId> > + <version>3.2</version> > + </dependency> > + </dependencies> > + </dependencyManagement> > + > + <dependencies> > + <dependency> > + <groupId>junit</groupId> > + <artifactId>junit</artifactId> > + <scope>test</scope> > + </dependency> > + </dependencies> > + > + <build> > + <pluginManagement> > + <plugins> > + <plugin> > + <groupId>org.apache.maven.plugins</groupId> > + <artifactId>maven-release-plugin</artifactId> > + <version>2.0</version> > + <configuration> > + <useReleaseProfile>false</useReleaseProfile> > + <goals>deploy</goals> > + <arguments>-Papache-release > -DskipTests=true</arguments> > + </configuration> > + </plugin> > + </plugins> > + </pluginManagement> > + </build> > + > + <modules> > + <module>proxy-api</module> > + <module>proxy-impl</module> > + <module>proxy-bundle</module> > + </modules> > + > +</project> > + > > Added: incubator/aries/trunk/proxy/proxy-api/pom.xml > URL: > http://svn.apache.org/viewvc/incubator/aries/trunk/proxy/proxy-api/pom.xml?rev=1027526&view=auto > ============================================================================== > --- incubator/aries/trunk/proxy/proxy-api/pom.xml (added) > +++ incubator/aries/trunk/proxy/proxy-api/pom.xml Tue Oct 26 13:01:00 2010 > @@ -0,0 +1,81 @@ > +<!-- > + 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. > +--> > +<project xmlns="http://maven.apache.org/POM/4.0.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/maven-v4_0_0.xsd"> > + <modelVersion>4.0.0</modelVersion> > + <parent> > + <groupId>org.apache.aries</groupId> > + <artifactId>java5-parent</artifactId> > + <version>0.3-incubating-SNAPSHOT</version> > + </parent> > + > + <artifactId>org.apache.aries.proxy.api</artifactId> > + <packaging>bundle</packaging> > + <version>0.3-incubating-SNAPSHOT</version> > + <name>Apache Aries Proxy</name> > + <description> > + This bundle contains the Apache Aries Proxy service API. > + </description> > + > + <scm> > + > <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/aries/trunk/proxy/proxy-api</connection> > + > <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/aries/trunk/proxy/proxy-api</developerConnection> > + > <url>http://svn.apache.org/viewvc/incubator/aries/trunk/proxy/proxy-api</url> > + </scm> > + > + <properties> > + <aries.osgi.export.pkg> > + org.apache.aries.proxy; > + </aries.osgi.export.pkg> > + <aries.osgi.import.pkg> > + * > + </aries.osgi.import.pkg> > + <aries.osgi.private.pkg> > + </aries.osgi.private.pkg> > + </properties> > + > + <dependencies> > + <dependency> > + <groupId>org.osgi</groupId> > + <artifactId>org.osgi.core</artifactId> > + <scope>provided</scope> > + </dependency> > + <dependency> > + <groupId>org.osgi</groupId> > + <artifactId>org.osgi.compendium</artifactId> > + <scope>provided</scope> > + </dependency> > + <dependency> > + <groupId>org.eclipse</groupId> > + <artifactId>osgi</artifactId> > + <scope>provided</scope> > + </dependency> > + <dependency> > + <groupId>org.apache.aries.testsupport</groupId> > + <artifactId>org.apache.aries.testsupport.unit</artifactId> > + <version>0.3-incubating-SNAPSHOT</version> > + <scope>test</scope> > + </dependency> > + <dependency> > + <groupId>junit</groupId> > + <artifactId>junit</artifactId> > + <scope>test</scope> > + </dependency> > + </dependencies> > + > +</project> > > Added: > incubator/aries/trunk/proxy/proxy-api/src/main/java/org/apache/aries/proxy/InvocationHandlerWrapper.java > URL: > http://svn.apache.org/viewvc/incubator/aries/trunk/proxy/proxy-api/src/main/java/org/apache/aries/proxy/InvocationHandlerWrapper.java?rev=1027526&view=auto > ============================================================================== > --- > incubator/aries/trunk/proxy/proxy-api/src/main/java/org/apache/aries/proxy/InvocationHandlerWrapper.java > (added) > +++ > incubator/aries/trunk/proxy/proxy-api/src/main/java/org/apache/aries/proxy/InvocationHandlerWrapper.java > Tue Oct 26 13:01:00 2010 > @@ -0,0 +1,9 @@ > +package org.apache.aries.proxy; > + > +import java.lang.reflect.InvocationHandler; > +import java.lang.reflect.Method; > + > +public interface InvocationHandlerWrapper > +{ > + public Object invoke(Object proxy, Method m, Object[] args, > InvocationHandler delegate) throws Throwable; > +} > \ No newline at end of file > > Added: > incubator/aries/trunk/proxy/proxy-api/src/main/java/org/apache/aries/proxy/ProxyFactory.java > URL: > http://svn.apache.org/viewvc/incubator/aries/trunk/proxy/proxy-api/src/main/java/org/apache/aries/proxy/ProxyFactory.java?rev=1027526&view=auto > ============================================================================== > --- > incubator/aries/trunk/proxy/proxy-api/src/main/java/org/apache/aries/proxy/ProxyFactory.java > (added) > +++ > incubator/aries/trunk/proxy/proxy-api/src/main/java/org/apache/aries/proxy/ProxyFactory.java > Tue Oct 26 13:01:00 2010 > @@ -0,0 +1,12 @@ > +package org.apache.aries.proxy; > + > +import java.util.concurrent.Callable; > + > +import org.osgi.framework.Bundle; > + > +public interface ProxyFactory > +{ > + public Object createProxy(Bundle clientBundle, Class[] classes, > Callable<Object> dispatcher); > + public Object createProxy(Bundle clientBundle, Class[] classes, > Callable<Object> dispatcher, InvocationHandlerWrapper wrapper); > + public boolean isProxy(Object proxy); > +} > \ No newline at end of file > > Added: > incubator/aries/trunk/proxy/proxy-api/src/main/java/org/apache/aries/proxy/ProxyManager.java > URL: > http://svn.apache.org/viewvc/incubator/aries/trunk/proxy/proxy-api/src/main/java/org/apache/aries/proxy/ProxyManager.java?rev=1027526&view=auto > ============================================================================== > --- > incubator/aries/trunk/proxy/proxy-api/src/main/java/org/apache/aries/proxy/ProxyManager.java > (added) > +++ > incubator/aries/trunk/proxy/proxy-api/src/main/java/org/apache/aries/proxy/ProxyManager.java > Tue Oct 26 13:01:00 2010 > @@ -0,0 +1,8 @@ > +package org.apache.aries.proxy; > + > +public interface ProxyManager > +{ > + public ProxyFactory createProxyFactory(); > + public ProxyFactory createProxyFactory(boolean interfaceProxyingOnly); > + public Object unwrap(Object proxy); > +} > \ No newline at end of file > > Added: incubator/aries/trunk/proxy/proxy-bundle/pom.xml > URL: > http://svn.apache.org/viewvc/incubator/aries/trunk/proxy/proxy-bundle/pom.xml?rev=1027526&view=auto > ============================================================================== > --- incubator/aries/trunk/proxy/proxy-bundle/pom.xml (added) > +++ incubator/aries/trunk/proxy/proxy-bundle/pom.xml Tue Oct 26 13:01:00 2010 > @@ -0,0 +1,82 @@ > +<!-- > + 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. > +--> > +<project xmlns="http://maven.apache.org/POM/4.0.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/maven-v4_0_0.xsd"> > + <modelVersion>4.0.0</modelVersion> > + <parent> > + <groupId>org.apache.aries</groupId> > + <artifactId>java5-parent</artifactId> > + <version>0.3-incubating-SNAPSHOT</version> > + </parent> > + > + <artifactId>org.apache.aries.proxy</artifactId> > + <packaging>bundle</packaging> > + <version>0.3-incubating-SNAPSHOT</version> > + <name>Apache Aries Proxy Bundle</name> > + <description> > + This bundle contains the Apache Aries Proxy Service. > + </description> > + > + <scm> > + > <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/aries/trunk/proxy</connection> > + > <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/aries/trunk/proxy</developerConnection> > + <url>http://svn.apache.org/viewvc/incubator/aries/trunk/proxy</url> > + </scm> > + > + <properties> > + <aries.osgi.export.pkg> > + org.apache.aries.proxy; > + </aries.osgi.export.pkg> > + <aries.osgi.import.pkg> > + * > + </aries.osgi.import.pkg> > + <aries.osgi.private.pkg> > + org.apache.aries.proxy.impl > + </aries.osgi.private.pkg> > + </properties> > + > + <dependencies> > + <dependency> > + <groupId>org.osgi</groupId> > + <artifactId>org.osgi.core</artifactId> > + <scope>provided</scope> > + </dependency> > + <dependency> > + <groupId>org.osgi</groupId> > + <artifactId>org.osgi.compendium</artifactId> > + <scope>provided</scope> > + </dependency> > + <dependency> > + <groupId>org.eclipse</groupId> > + <artifactId>osgi</artifactId> > + <scope>provided</scope> > + </dependency> > + <dependency> > + <groupId>org.apache.aries.testsupport</groupId> > + <artifactId>org.apache.aries.testsupport.unit</artifactId> > + <version>0.3-incubating-SNAPSHOT</version> > + <scope>test</scope> > + </dependency> > + <dependency> > + <groupId>junit</groupId> > + <artifactId>junit</artifactId> > + <scope>test</scope> > + </dependency> > + </dependencies> > + > +</project> > > Added: incubator/aries/trunk/proxy/proxy-impl/pom.xml > URL: > http://svn.apache.org/viewvc/incubator/aries/trunk/proxy/proxy-impl/pom.xml?rev=1027526&view=auto > ============================================================================== > --- incubator/aries/trunk/proxy/proxy-impl/pom.xml (added) > +++ incubator/aries/trunk/proxy/proxy-impl/pom.xml Tue Oct 26 13:01:00 2010 > @@ -0,0 +1,88 @@ > +<!-- > + 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. > +--> > +<project xmlns="http://maven.apache.org/POM/4.0.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/maven-v4_0_0.xsd"> > + <modelVersion>4.0.0</modelVersion> > + <parent> > + <groupId>org.apache.aries</groupId> > + <artifactId>java5-parent</artifactId> > + <version>0.3-incubating-SNAPSHOT</version> > + </parent> > + > + <artifactId>org.apache.aries.proxy.impl</artifactId> > + <packaging>bundle</packaging> > + <version>0.3-incubating-SNAPSHOT</version> > + <name>Apache Aries Proxy Implementation</name> > + <description> > + This bundle contains the proxy service implementation for Apache > Aries > + </description> > + > + <scm> > + > <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/aries/trunk/proxy/proxy-impl</connection> > + > <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/aries/trunk/proxy/proxy-impl</developerConnection> > + > <url>http://svn.apache.org/viewvc/incubator/aries/trunk/proxy/proxy-impl</url> > + </scm> > + > + <properties> > + <aries.osgi.export.pkg> > + </aries.osgi.export.pkg> > + <aries.osgi.import.pkg> > + * > + </aries.osgi.import.pkg> > + <aries.osgi.private.pkg> > + org.apache.aries.proxy.impl > + </aries.osgi.private.pkg> > + </properties> > + > + <dependencies> > + <dependency> > + <groupId>org.osgi</groupId> > + <artifactId>org.osgi.core</artifactId> > + <scope>provided</scope> > + </dependency> > + <dependency> > + <groupId>org.osgi</groupId> > + <artifactId>org.osgi.compendium</artifactId> > + <scope>provided</scope> > + </dependency> > + <dependency> > + <groupId>org.eclipse</groupId> > + <artifactId>osgi</artifactId> > + <scope>provided</scope> > + </dependency> > + <dependency> > + <groupId>org.apache.aries.testsupport</groupId> > + <artifactId>org.apache.aries.testsupport.unit</artifactId> > + <version>0.3-incubating-SNAPSHOT</version> > + <scope>test</scope> > + </dependency> > + <dependency> > + <groupId>junit</groupId> > + <artifactId>junit</artifactId> > + <scope>test</scope> > + </dependency> > + <dependency> > + <groupId>org.apache.aries</groupId> > + <artifactId>org.apache.aries.proxy.api</artifactId> > + <version>0.3-incubating-SNAPSHOT</version> > + <type>bundle</type> > + <scope>compile</scope> > + </dependency> > + </dependencies> > + > +</project> > > > -- Alasdair Nottingham [email protected]
