You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ff...@apache.org on 2013/07/24 10:30:05 UTC
svn commit: r1506442 - in
/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint:
AuthorizationPolicyHolder.java HTTPClientPolicyHolder.java
HTTPServerPolicyHolder.java HolderUtils.java
ProxyAuthorizationPolicyHolder.java
Author: ffang
Date: Wed Jul 24 08:30:05 2013
New Revision: 1506442
URL: http://svn.apache.org/r1506442
Log:
[CXF-5148]add a util class to remove duplicated code
Added:
cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/HolderUtils.java
Modified:
cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/AuthorizationPolicyHolder.java
cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/HTTPClientPolicyHolder.java
cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/HTTPServerPolicyHolder.java
cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/ProxyAuthorizationPolicyHolder.java
Modified: cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/AuthorizationPolicyHolder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/AuthorizationPolicyHolder.java?rev=1506442&r1=1506441&r2=1506442&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/AuthorizationPolicyHolder.java (original)
+++ cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/AuthorizationPolicyHolder.java Wed Jul 24 08:30:05 2013
@@ -19,26 +19,17 @@
package org.apache.cxf.transport.http.blueprint;
import java.io.ByteArrayInputStream;
-import java.util.HashSet;
import java.util.Set;
-import java.util.logging.Logger;
-
import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Element;
-import org.apache.cxf.common.jaxb.JAXBContextCache;
-import org.apache.cxf.common.logging.LogUtils;
-import org.apache.cxf.common.util.PackageUtils;
+
import org.apache.cxf.configuration.security.AuthorizationPolicy;
public class AuthorizationPolicyHolder extends AuthorizationPolicy {
- private static final Logger LOG = LogUtils.getL7dLogger(AuthorizationPolicyHolder.class);
-
+
private String parsedElement;
private AuthorizationPolicy authorizationPolicy;
@@ -57,7 +48,9 @@ public class AuthorizationPolicyHolder e
Element element = docFactory.newDocumentBuilder()
.parse(new ByteArrayInputStream(parsedElement.getBytes())).getDocumentElement();
- authorizationPolicy = (AuthorizationPolicy)getJaxbObject(element, AuthorizationPolicy.class);
+ authorizationPolicy = (AuthorizationPolicy)HolderUtils.getJaxbObject(
+ element, AuthorizationPolicy.class,
+ jaxbContext, jaxbClasses, getClass().getClassLoader());
this.setAuthorization(authorizationPolicy.getAuthorization());
this.setAuthorizationType(authorizationPolicy.getAuthorizationType());
this.setPassword(authorizationPolicy.getPassword());
@@ -80,48 +73,4 @@ public class AuthorizationPolicyHolder e
this.parsedElement = parsedElement;
}
- protected Object getJaxbObject(Element parent, Class<?> c) {
-
- try {
- Unmarshaller umr = getContext(c).createUnmarshaller();
- JAXBElement<?> ele = (JAXBElement<?>) umr.unmarshal(parent);
-
- return ele.getValue();
- } catch (JAXBException e) {
- LOG.warning("Unable to parse property due to " + e);
- return null;
- }
- }
-
- protected synchronized JAXBContext getContext(Class<?> cls) {
- if (jaxbContext == null || jaxbClasses == null || !jaxbClasses.contains(cls)) {
- try {
- Set<Class<?>> tmp = new HashSet<Class<?>>();
- if (jaxbClasses != null) {
- tmp.addAll(jaxbClasses);
- }
- JAXBContextCache.addPackage(tmp, PackageUtils.getPackageName(cls),
- cls == null ? getClass().getClassLoader() : cls.getClassLoader());
- if (cls != null) {
- boolean hasOf = false;
- for (Class<?> c : tmp) {
- if (c.getPackage() == cls.getPackage() && "ObjectFactory".equals(c.getSimpleName())) {
- hasOf = true;
- }
- }
- if (!hasOf) {
- tmp.add(cls);
- }
- }
- JAXBContextCache.scanPackages(tmp);
- JAXBContextCache.CachedContextAndSchemas ccs
- = JAXBContextCache.getCachedContextAndSchemas(tmp, null, null, null, false);
- jaxbClasses = ccs.getClasses();
- jaxbContext = ccs.getContext();
- } catch (JAXBException e) {
- throw new RuntimeException(e);
- }
- }
- return jaxbContext;
- }
}
Modified: cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/HTTPClientPolicyHolder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/HTTPClientPolicyHolder.java?rev=1506442&r1=1506441&r2=1506442&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/HTTPClientPolicyHolder.java (original)
+++ cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/HTTPClientPolicyHolder.java Wed Jul 24 08:30:05 2013
@@ -19,27 +19,17 @@
package org.apache.cxf.transport.http.blueprint;
import java.io.ByteArrayInputStream;
-import java.util.HashSet;
import java.util.Set;
-import java.util.logging.Logger;
-
import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Element;
-import org.apache.cxf.common.jaxb.JAXBContextCache;
-import org.apache.cxf.common.logging.LogUtils;
-import org.apache.cxf.common.util.PackageUtils;
import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
public class HTTPClientPolicyHolder extends HTTPClientPolicy {
- private static final Logger LOG = LogUtils.getL7dLogger(HTTPClientPolicyHolder.class);
-
+
private String parsedElement;
private HTTPClientPolicy clientPolicy;
@@ -58,7 +48,8 @@ public class HTTPClientPolicyHolder exte
Element element = docFactory.newDocumentBuilder()
.parse(new ByteArrayInputStream(parsedElement.getBytes())).getDocumentElement();
- clientPolicy = (HTTPClientPolicy)getJaxbObject(element, HTTPClientPolicy.class);
+ clientPolicy = (HTTPClientPolicy)HolderUtils.getJaxbObject(element, HTTPClientPolicy.class,
+ jaxbContext, jaxbClasses, getClass().getClassLoader());
this.setAccept(clientPolicy.getAccept());
this.setAcceptEncoding(clientPolicy.getAcceptEncoding());
@@ -101,49 +92,5 @@ public class HTTPClientPolicyHolder exte
this.parsedElement = parsedElement;
}
- protected Object getJaxbObject(Element parent, Class<?> c) {
-
- try {
- Unmarshaller umr = getContext(c).createUnmarshaller();
- JAXBElement<?> ele = (JAXBElement<?>) umr.unmarshal(parent);
-
- return ele.getValue();
- } catch (JAXBException e) {
- LOG.warning("Unable to parse property due to " + e);
- return null;
- }
- }
-
- protected synchronized JAXBContext getContext(Class<?> cls) {
- if (jaxbContext == null || jaxbClasses == null || !jaxbClasses.contains(cls)) {
- try {
- Set<Class<?>> tmp = new HashSet<Class<?>>();
- if (jaxbClasses != null) {
- tmp.addAll(jaxbClasses);
- }
- JAXBContextCache.addPackage(tmp, PackageUtils.getPackageName(cls),
- cls == null ? getClass().getClassLoader() : cls.getClassLoader());
- if (cls != null) {
- boolean hasOf = false;
- for (Class<?> c : tmp) {
- if (c.getPackage() == cls.getPackage() && "ObjectFactory".equals(c.getSimpleName())) {
- hasOf = true;
- }
- }
- if (!hasOf) {
- tmp.add(cls);
- }
- }
- JAXBContextCache.scanPackages(tmp);
- JAXBContextCache.CachedContextAndSchemas ccs
- = JAXBContextCache.getCachedContextAndSchemas(tmp, null, null, null, false);
- jaxbClasses = ccs.getClasses();
- jaxbContext = ccs.getContext();
- } catch (JAXBException e) {
- throw new RuntimeException(e);
- }
- }
- return jaxbContext;
- }
-
+
}
Modified: cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/HTTPServerPolicyHolder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/HTTPServerPolicyHolder.java?rev=1506442&r1=1506441&r2=1506442&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/HTTPServerPolicyHolder.java (original)
+++ cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/HTTPServerPolicyHolder.java Wed Jul 24 08:30:05 2013
@@ -19,27 +19,18 @@
package org.apache.cxf.transport.http.blueprint;
import java.io.ByteArrayInputStream;
-import java.util.HashSet;
import java.util.Set;
-import java.util.logging.Logger;
import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Element;
-import org.apache.cxf.common.jaxb.JAXBContextCache;
-import org.apache.cxf.common.logging.LogUtils;
-import org.apache.cxf.common.util.PackageUtils;
import org.apache.cxf.transports.http.configuration.HTTPServerPolicy;
public class HTTPServerPolicyHolder extends HTTPServerPolicy {
- private static final Logger LOG = LogUtils.getL7dLogger(HTTPServerPolicyHolder.class);
-
+
private String parsedElement;
private HTTPServerPolicy serverPolicy;
@@ -58,7 +49,9 @@ public class HTTPServerPolicyHolder exte
Element element = docFactory.newDocumentBuilder()
.parse(new ByteArrayInputStream(parsedElement.getBytes())).getDocumentElement();
- serverPolicy = (HTTPServerPolicy)getJaxbObject(element, HTTPServerPolicy.class);
+ serverPolicy = (HTTPServerPolicy)HolderUtils.getJaxbObject(
+ element, HTTPServerPolicy.class,
+ jaxbContext, jaxbClasses, getClass().getClassLoader());
this.setCacheControl(serverPolicy.getCacheControl());
this.setContentEncoding(serverPolicy.getContentEncoding());
this.setContentLocation(serverPolicy.getContentLocation());
@@ -88,50 +81,6 @@ public class HTTPServerPolicyHolder exte
this.parsedElement = parsedElement;
}
- protected Object getJaxbObject(Element parent, Class<?> c) {
-
- try {
- Unmarshaller umr = getContext(c).createUnmarshaller();
- JAXBElement<?> ele = (JAXBElement<?>) umr.unmarshal(parent);
-
- return ele.getValue();
- } catch (JAXBException e) {
- LOG.warning("Unable to parse property due to " + e);
- return null;
- }
- }
-
- protected synchronized JAXBContext getContext(Class<?> cls) {
- if (jaxbContext == null || jaxbClasses == null || !jaxbClasses.contains(cls)) {
- try {
- Set<Class<?>> tmp = new HashSet<Class<?>>();
- if (jaxbClasses != null) {
- tmp.addAll(jaxbClasses);
- }
- JAXBContextCache.addPackage(tmp, PackageUtils.getPackageName(cls),
- cls == null ? getClass().getClassLoader() : cls.getClassLoader());
- if (cls != null) {
- boolean hasOf = false;
- for (Class<?> c : tmp) {
- if (c.getPackage() == cls.getPackage() && "ObjectFactory".equals(c.getSimpleName())) {
- hasOf = true;
- }
- }
- if (!hasOf) {
- tmp.add(cls);
- }
- }
- JAXBContextCache.scanPackages(tmp);
- JAXBContextCache.CachedContextAndSchemas ccs
- = JAXBContextCache.getCachedContextAndSchemas(tmp, null, null, null, false);
- jaxbClasses = ccs.getClasses();
- jaxbContext = ccs.getContext();
- } catch (JAXBException e) {
- throw new RuntimeException(e);
- }
- }
- return jaxbContext;
- }
-
+
}
Added: cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/HolderUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/HolderUtils.java?rev=1506442&view=auto
==============================================================================
--- cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/HolderUtils.java (added)
+++ cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/HolderUtils.java Wed Jul 24 08:30:05 2013
@@ -0,0 +1,90 @@
+/**
+ * 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.cxf.transport.http.blueprint;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+
+import org.w3c.dom.Element;
+
+import org.apache.cxf.common.jaxb.JAXBContextCache;
+import org.apache.cxf.common.util.PackageUtils;
+
+public final class HolderUtils {
+
+ private HolderUtils() {
+
+ }
+
+
+ public static Object getJaxbObject(Element parent, Class<?> c,
+ JAXBContext jaxbContext,
+ Set<Class<?>> jaxbClasses,
+ ClassLoader cl) {
+
+ try {
+ Unmarshaller umr = getContext(c, jaxbContext, jaxbClasses, cl).createUnmarshaller();
+ JAXBElement<?> ele = (JAXBElement<?>) umr.unmarshal(parent);
+
+ return ele.getValue();
+ } catch (JAXBException e) {
+ return null;
+ }
+ }
+
+ public static synchronized JAXBContext getContext(Class<?> cls,
+ JAXBContext jaxbContext,
+ Set<Class<?>> jaxbClasses,
+ ClassLoader cl) {
+ if (jaxbContext == null || jaxbClasses == null || !jaxbClasses.contains(cls)) {
+ try {
+ Set<Class<?>> tmp = new HashSet<Class<?>>();
+ if (jaxbClasses != null) {
+ tmp.addAll(jaxbClasses);
+ }
+ JAXBContextCache.addPackage(tmp, PackageUtils.getPackageName(cls),
+ cls == null ? cl : cls.getClassLoader());
+ if (cls != null) {
+ boolean hasOf = false;
+ for (Class<?> c : tmp) {
+ if (c.getPackage() == cls.getPackage() && "ObjectFactory".equals(c.getSimpleName())) {
+ hasOf = true;
+ }
+ }
+ if (!hasOf) {
+ tmp.add(cls);
+ }
+ }
+ JAXBContextCache.scanPackages(tmp);
+ JAXBContextCache.CachedContextAndSchemas ccs
+ = JAXBContextCache.getCachedContextAndSchemas(tmp, null, null, null, false);
+ jaxbClasses = ccs.getClasses();
+ jaxbContext = ccs.getContext();
+ } catch (JAXBException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return jaxbContext;
+ }
+}
Modified: cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/ProxyAuthorizationPolicyHolder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/ProxyAuthorizationPolicyHolder.java?rev=1506442&r1=1506441&r2=1506442&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/ProxyAuthorizationPolicyHolder.java (original)
+++ cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/blueprint/ProxyAuthorizationPolicyHolder.java Wed Jul 24 08:30:05 2013
@@ -19,26 +19,17 @@
package org.apache.cxf.transport.http.blueprint;
import java.io.ByteArrayInputStream;
-import java.util.HashSet;
import java.util.Set;
-import java.util.logging.Logger;
import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Element;
-import org.apache.cxf.common.jaxb.JAXBContextCache;
-import org.apache.cxf.common.logging.LogUtils;
-import org.apache.cxf.common.util.PackageUtils;
import org.apache.cxf.configuration.security.ProxyAuthorizationPolicy;
public class ProxyAuthorizationPolicyHolder extends ProxyAuthorizationPolicy {
- private static final Logger LOG = LogUtils.getL7dLogger(ProxyAuthorizationPolicyHolder.class);
-
+
private String parsedElement;
private ProxyAuthorizationPolicy proxyAuthorizationPolicy;
@@ -57,7 +48,9 @@ public class ProxyAuthorizationPolicyHol
Element element = docFactory.newDocumentBuilder()
.parse(new ByteArrayInputStream(parsedElement.getBytes())).getDocumentElement();
- proxyAuthorizationPolicy = (ProxyAuthorizationPolicy)getJaxbObject(element, ProxyAuthorizationPolicy.class);
+ proxyAuthorizationPolicy = (ProxyAuthorizationPolicy)HolderUtils.getJaxbObject(
+ element, ProxyAuthorizationPolicy.class,
+ jaxbContext, jaxbClasses, getClass().getClassLoader());
this.setAuthorization(proxyAuthorizationPolicy.getAuthorization());
this.setAuthorizationType(proxyAuthorizationPolicy.getAuthorizationType());
this.setPassword(proxyAuthorizationPolicy.getPassword());
@@ -80,48 +73,6 @@ public class ProxyAuthorizationPolicyHol
this.parsedElement = parsedElement;
}
- protected Object getJaxbObject(Element parent, Class<?> c) {
-
- try {
- Unmarshaller umr = getContext(c).createUnmarshaller();
- JAXBElement<?> ele = (JAXBElement<?>) umr.unmarshal(parent);
-
- return ele.getValue();
- } catch (JAXBException e) {
- LOG.warning("Unable to parse property due to " + e);
- return null;
- }
- }
-
- protected synchronized JAXBContext getContext(Class<?> cls) {
- if (jaxbContext == null || jaxbClasses == null || !jaxbClasses.contains(cls)) {
- try {
- Set<Class<?>> tmp = new HashSet<Class<?>>();
- if (jaxbClasses != null) {
- tmp.addAll(jaxbClasses);
- }
- JAXBContextCache.addPackage(tmp, PackageUtils.getPackageName(cls),
- cls == null ? getClass().getClassLoader() : cls.getClassLoader());
- if (cls != null) {
- boolean hasOf = false;
- for (Class<?> c : tmp) {
- if (c.getPackage() == cls.getPackage() && "ObjectFactory".equals(c.getSimpleName())) {
- hasOf = true;
- }
- }
- if (!hasOf) {
- tmp.add(cls);
- }
- }
- JAXBContextCache.scanPackages(tmp);
- JAXBContextCache.CachedContextAndSchemas ccs
- = JAXBContextCache.getCachedContextAndSchemas(tmp, null, null, null, false);
- jaxbClasses = ccs.getClasses();
- jaxbContext = ccs.getContext();
- } catch (JAXBException e) {
- throw new RuntimeException(e);
- }
- }
- return jaxbContext;
- }
+
+
}