You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by ra...@apache.org on 2015/06/04 20:06:42 UTC
deltaspike git commit: DELTASPIKE-905 - move the code from
ProxyClassGeneratorLookup to DeltaSpikeProxyFactory (1:1)
Repository: deltaspike
Updated Branches:
refs/heads/master cd0bf79d3 -> 1aa0d1be8
DELTASPIKE-905 - move the code from ProxyClassGeneratorLookup to DeltaSpikeProxyFactory (1:1)
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/1aa0d1be
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/1aa0d1be
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/1aa0d1be
Branch: refs/heads/master
Commit: 1aa0d1be8adae22e723e89b2b94fb438e3ac2b1f
Parents: cd0bf79
Author: Rafael Benevides <ra...@gmail.com>
Authored: Tue Jun 2 15:15:06 2015 -0400
Committer: Rafael Benevides <ra...@gmail.com>
Committed: Thu Jun 4 14:06:06 2015 -0400
----------------------------------------------------------------------
.../proxy/api/DeltaSpikeProxyFactory.java | 41 +++++++++++-
.../proxy/api/ProxyClassGeneratorLookup.java | 68 --------------------
.../OSGI-INF/ProxyClassGeneratorLookup.xml | 8 +--
3 files changed, 44 insertions(+), 73 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/1aa0d1be/deltaspike/modules/proxy/api/src/main/java/org/apache/deltaspike/proxy/api/DeltaSpikeProxyFactory.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/proxy/api/src/main/java/org/apache/deltaspike/proxy/api/DeltaSpikeProxyFactory.java b/deltaspike/modules/proxy/api/src/main/java/org/apache/deltaspike/proxy/api/DeltaSpikeProxyFactory.java
index 6232d9b..d66947e 100644
--- a/deltaspike/modules/proxy/api/src/main/java/org/apache/deltaspike/proxy/api/DeltaSpikeProxyFactory.java
+++ b/deltaspike/modules/proxy/api/src/main/java/org/apache/deltaspike/proxy/api/DeltaSpikeProxyFactory.java
@@ -26,14 +26,53 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
+
import javax.interceptor.InterceptorBinding;
+
import org.apache.deltaspike.core.util.ClassUtils;
+import org.apache.deltaspike.core.util.ServiceUtils;
import org.apache.deltaspike.proxy.spi.ProxyClassGenerator;
public abstract class DeltaSpikeProxyFactory
{
private static final String SUPER_ACCESSOR_METHOD_SUFFIX = "$super";
+ private static ProxyClassGenerator generator;
+
+ /**
+ * Looks up a unique service implementation.
+ *
+ * @return ProxyClassGenerator service
+ */
+ private static ProxyClassGenerator lookupService()
+ {
+ if (generator == null)
+ {
+ List<ProxyClassGenerator> proxyClassGeneratorList = ServiceUtils
+ .loadServiceImplementations(ProxyClassGenerator.class);
+
+ if (proxyClassGeneratorList.size() != 1)
+ {
+ throw new IllegalStateException(proxyClassGeneratorList.size()
+ + " implementations of " + ProxyClassGenerator.class.getName()
+ + " found. Expected exactly one implementation.");
+ }
+ generator = proxyClassGeneratorList.get(0);
+ }
+ return generator;
+ }
+
+ /**
+ * Setter invoked by OSGi Service Component Runtime
+ *
+ * @param generator
+ * generator service
+ */
+ public void setGenerator(ProxyClassGenerator generator)
+ {
+ DeltaSpikeProxyFactory.generator = generator;
+ }
+
public <T> Class<T> getProxyClass(Class<T> targetClass,
Class<? extends InvocationHandler> delegateInvocationHandlerClass)
{
@@ -75,7 +114,7 @@ public abstract class DeltaSpikeProxyFactory
}
}
- ProxyClassGenerator proxyClassGenerator = ProxyClassGeneratorLookup.lookupService();
+ ProxyClassGenerator proxyClassGenerator = lookupService();
proxyClass = proxyClassGenerator.generateProxyClass(classLoader,
targetClass,
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/1aa0d1be/deltaspike/modules/proxy/api/src/main/java/org/apache/deltaspike/proxy/api/ProxyClassGeneratorLookup.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/proxy/api/src/main/java/org/apache/deltaspike/proxy/api/ProxyClassGeneratorLookup.java b/deltaspike/modules/proxy/api/src/main/java/org/apache/deltaspike/proxy/api/ProxyClassGeneratorLookup.java
deleted file mode 100644
index 38d44de..0000000
--- a/deltaspike/modules/proxy/api/src/main/java/org/apache/deltaspike/proxy/api/ProxyClassGeneratorLookup.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.deltaspike.proxy.api;
-
-import java.util.List;
-
-import org.apache.deltaspike.core.util.ServiceUtils;
-import org.apache.deltaspike.proxy.spi.ProxyClassGenerator;
-
-/**
- * Looks up a {@link ProxyClassGenerator} via Java SE ServiceLoader or via Declarative Services
- * injection when running under OSGi.
- */
-public class ProxyClassGeneratorLookup
-{
-
- private static ProxyClassGenerator generator;
-
- /**
- * Looks up a unique service implementation.
- *
- * @return ProxyClassGenerator service
- */
- public static ProxyClassGenerator lookupService()
- {
- if (generator == null)
- {
- List<ProxyClassGenerator> proxyClassGeneratorList = ServiceUtils
- .loadServiceImplementations(ProxyClassGenerator.class);
-
- if (proxyClassGeneratorList.size() != 1)
- {
- throw new IllegalStateException(proxyClassGeneratorList.size()
- + " implementations of " + ProxyClassGenerator.class.getName()
- + " found. Expected exactly one implementation.");
- }
- generator = proxyClassGeneratorList.get(0);
- }
- return generator;
- }
-
- /**
- * Setter invoked by OSGi Service Component Runtime
- *
- * @param generator
- * generator service
- */
- public void setGenerator(ProxyClassGenerator generator)
- {
- ProxyClassGeneratorLookup.generator = generator;
- }
-}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/1aa0d1be/deltaspike/modules/proxy/api/src/main/resources/OSGI-INF/ProxyClassGeneratorLookup.xml
----------------------------------------------------------------------
diff --git a/deltaspike/modules/proxy/api/src/main/resources/OSGI-INF/ProxyClassGeneratorLookup.xml b/deltaspike/modules/proxy/api/src/main/resources/OSGI-INF/ProxyClassGeneratorLookup.xml
index 8437882..ff1e6fe 100644
--- a/deltaspike/modules/proxy/api/src/main/resources/OSGI-INF/ProxyClassGeneratorLookup.xml
+++ b/deltaspike/modules/proxy/api/src/main/resources/OSGI-INF/ProxyClassGeneratorLookup.xml
@@ -17,8 +17,8 @@
specific language governing permissions and limitations
under the License.
-->
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="ProxyClassGeneratorLookup">
- <implementation class="org.apache.deltaspike.proxy.api.ProxyClassGeneratorLookup"/>
- <reference bind="setGenerator" cardinality="1..1" interface="org.apache.deltaspike.proxy.spi.ProxyClassGenerator"
- name="ProxyClassGenerator" policy="static" unbind="setGenerator"/>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="DeltaSpikeProxyFactory">
+ <implementation class="org.apache.deltaspike.proxy.api.DeltaSpikeProxyFactory"/>
+ <reference bind="setGenerator" cardinality="1..1" interface="org.apache.deltaspike.proxy.spi.DeltaSpikeProxyFactory"
+ name="DeltaSpikeProxyFactory" policy="static" unbind="setGenerator"/>
</scr:component>