Author: alessio.soldano(a)jboss.com
Date: 2012-06-17 18:59:09 -0400 (Sun, 17 Jun 2012)
New Revision: 431
Added:
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/SecurityActions.java
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/client/SpiLoader.java
core/trunk/core/src/main/java/org/jboss/wise/core/client/WSEndpoint.java
core/trunk/core/src/main/java/org/jboss/wise/core/client/WSService.java
core/trunk/core/src/main/java/org/jboss/wise/core/client/WebParameter.java
core/trunk/core/src/main/java/org/jboss/wise/core/client/factories/WSDynamicClientFactory.java
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/EndpointMethodCaller.java
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/InvocationResultImpl.java
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/WSDynamicClientImpl.java
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/WSEndpointImpl.java
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/WSMethodImpl.java
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/WSServiceImpl.java
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/builder/ReflectionBasedWSDynamicClientBuilder.java
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/wsdlResolver/Connection.java
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/wsdlResolver/WSDLResolver.java
core/trunk/core/src/main/java/org/jboss/wise/core/consumer/WSConsumer.java
core/trunk/core/src/main/java/org/jboss/wise/core/consumer/impl/jbossws/DefaultWSImportImpl.java
core/trunk/core/src/main/java/org/jboss/wise/core/consumer/impl/metro/LocalFirstClassLoader.java
core/trunk/core/src/main/java/org/jboss/wise/core/consumer/impl/metro/MetroWSConsumer.java
core/trunk/core/src/main/java/org/jboss/wise/core/exception/InvocationException.java
core/trunk/core/src/main/java/org/jboss/wise/core/exception/MappingException.java
core/trunk/core/src/main/java/org/jboss/wise/core/handlers/LoggingHandler.java
core/trunk/core/src/main/java/org/jboss/wise/core/handlers/SmooksHandler.java
core/trunk/core/src/main/java/org/jboss/wise/core/mapper/SmooksMapper.java
core/trunk/core/src/main/java/org/jboss/wise/core/test/WiseTest.java
core/trunk/core/src/main/java/org/jboss/wise/core/utils/DefaultConfig.java
core/trunk/core/src/main/java/org/jboss/wise/core/utils/IDGenerator.java
core/trunk/core/src/main/java/org/jboss/wise/core/utils/IOUtils.java
core/trunk/core/src/main/java/org/jboss/wise/core/utils/JavaUtils.java
core/trunk/core/src/main/java/org/jboss/wise/core/utils/ReflectionUtils.java
core/trunk/core/src/main/java/org/jboss/wise/core/wsextensions/impl/MTOMEnabler.java
core/trunk/core/src/main/java/org/jboss/wise/core/wsextensions/impl/WSAddressingEnabler.java
core/trunk/core/src/main/java/org/jboss/wise/core/wsextensions/impl/WSRMEnabler.java
core/trunk/core/src/main/java/org/jboss/wise/smooks/decoders/DurationDecoder.java
core/trunk/core/src/test/java/org/jboss/wise/core/client/impl/reflection/InvocationResultImplTest.java
core/trunk/core/src/test/java/org/jboss/wise/core/client/impl/reflection/WSDynamicClientImplTest.java
core/trunk/core/src/test/java/org/jboss/wise/core/client/impl/wsdlResolver/ConnectionTest.java
core/trunk/core/src/test/java/org/jboss/wise/core/client/impl/wsdlResolver/WSDLResolverTest.java
core/trunk/core/src/test/java/org/jboss/wise/core/mapper/SmooksMapperTest.java
core/trunk/core/src/test/java/org/jboss/wise/smooks/decoders/JAXBElementDecoderTest.java
core/trunk/pom.xml
Log:
[WISE-177] Cleanup of core module
Modified: core/trunk/core/src/main/java/org/jboss/wise/core/client/SpiLoader.java
===================================================================
--- core/trunk/core/src/main/java/org/jboss/wise/core/client/SpiLoader.java 2012-06-17
20:39:13 UTC (rev 430)
+++ core/trunk/core/src/main/java/org/jboss/wise/core/client/SpiLoader.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -22,14 +22,10 @@
package org.jboss.wise.core.client;
import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.security.AccessController;
import java.security.PrivilegedAction;
-import java.util.Properties;
/**
* @author stefano.maestri(a)javalinux.it
@@ -83,7 +79,7 @@
public static Object loadFromServices(String propertyName) {
Object factory = null;
String factoryName = null;
- ClassLoader loader = Thread.currentThread().getContextClassLoader();
+ ClassLoader loader = getContextClassLoader();
// Use the Services API (as detailed in the JAR specification), if
// available, to determine the classname.
@@ -95,7 +91,7 @@
factoryName = br.readLine();
br.close();
if (factoryName != null) {
- Class factoryClass = loader.loadClass(factoryName);
+ Class<?> factoryClass = loader.loadClass(factoryName);
factory = factoryClass.newInstance();
}
} catch (Throwable t) {
@@ -114,15 +110,12 @@
*/
public static Object loadFromSystemProperty(String propertyName) {
Object factory = null;
- ClassLoader loader = Thread.currentThread().getContextClassLoader();
+ ClassLoader loader = getContextClassLoader();
- PrivilegedAction action = new PropertyAccessAction(propertyName);
- String factoryName = (String) AccessController.doPrivileged(action);
+ String factoryName = AccessController.doPrivileged(new
PropertyAccessAction(propertyName));
if (factoryName != null) {
try {
- // if(log.isDebugEnabled())
- // log.debug("Load from system property: " + factoryName);
- Class factoryClass = loader.loadClass(factoryName);
+ Class<?> factoryClass = loader.loadClass(factoryName);
factory = factoryClass.newInstance();
} catch (Throwable t) {
throw new IllegalStateException("Failed to load " + propertyName + ":
" + factoryName, t);
@@ -134,14 +127,12 @@
private static Object loadDefault(String defaultFactory) {
Object factory = null;
- ClassLoader loader = Thread.currentThread().getContextClassLoader();
+ ClassLoader loader = getContextClassLoader();
// Use the default factory implementation class.
if (defaultFactory != null) {
try {
- // if(log.isDebugEnabled()) log.debug("Load from default: " +
- // factoryName);
- Class factoryClass = loader.loadClass(defaultFactory);
+ Class<?> factoryClass = loader.loadClass(defaultFactory);
factory = factoryClass.newInstance();
} catch (Throwable t) {
throw new IllegalStateException("Failed to load: " + defaultFactory, t);
@@ -151,7 +142,7 @@
return factory;
}
- private static class PropertyAccessAction implements PrivilegedAction {
+ private static class PropertyAccessAction implements PrivilegedAction<String>
{
private final String name;
@@ -159,29 +150,26 @@
this.name = name;
}
- public Object run() {
+ public String run() {
return System.getProperty(name);
}
}
-
- private static class PropertyFileAccessAction implements PrivilegedAction {
-
- private final String filename;
-
- PropertyFileAccessAction(String filename) {
- this.filename = filename;
- }
-
- public Object run() {
- try {
- InputStream inStream = new FileInputStream(filename);
- Properties props = new Properties();
- props.load(inStream);
- return props;
- } catch (IOException ex) {
- throw new SecurityException("Cannot load properties: " + filename, ex);
- }
- }
+
+ private static ClassLoader getContextClassLoader()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm == null)
+ {
+ return Thread.currentThread().getContextClassLoader();
+ }
+ else
+ {
+ return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
{
+ public ClassLoader run()
+ {
+ return Thread.currentThread().getContextClassLoader();
+ }
+ });
+ }
}
-
}
Modified: core/trunk/core/src/main/java/org/jboss/wise/core/client/WSEndpoint.java
===================================================================
--- core/trunk/core/src/main/java/org/jboss/wise/core/client/WSEndpoint.java 2012-06-17
20:39:13 UTC (rev 430)
+++ core/trunk/core/src/main/java/org/jboss/wise/core/client/WSEndpoint.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -64,7 +64,7 @@
public void setPassword(String password);
@GuardedBy("this")
- public Class getUnderlyingObjectClass();
+ public Class<?> getUnderlyingObjectClass();
/**
*
@@ -81,7 +81,7 @@
* @param handler
*/
@GuardedBy("this")
- public void addHandler(Handler handler);
+ public void addHandler(Handler<?> handler);
/**
* Create the webmethods' map and it back. This maps would be used by
Modified: core/trunk/core/src/main/java/org/jboss/wise/core/client/WSService.java
===================================================================
--- core/trunk/core/src/main/java/org/jboss/wise/core/client/WSService.java 2012-06-17
20:39:13 UTC (rev 430)
+++ core/trunk/core/src/main/java/org/jboss/wise/core/client/WSService.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -27,7 +27,7 @@
import net.jcip.annotations.ThreadSafe;
/**
- * It represents a sigle service. I can be used to retrieve endpoints (Ports) of this
services.
+ * It represents a single service. I can be used to retrieve endpoints (Ports) of this
services.
*
* @author Stefano Maestri, stefano.maestri(a)javalinux.it
*/
Modified: core/trunk/core/src/main/java/org/jboss/wise/core/client/WebParameter.java
===================================================================
--- core/trunk/core/src/main/java/org/jboss/wise/core/client/WebParameter.java 2012-06-17
20:39:13 UTC (rev 430)
+++ core/trunk/core/src/main/java/org/jboss/wise/core/client/WebParameter.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -40,13 +40,13 @@
/**
*
* @return The name defined in the wsdl and {@link WebParam} annotation of
- * generated classses
+ * generated classes
*/
public String getName();
/**
*
- * @return The {@link Type} defined in generated classses
+ * @return The {@link Type} defined in generated classes
*/
public Type getType();
@@ -60,7 +60,7 @@
/**
*
* @return The {@link Mode} defined in the wsdl and {@link WebParam}
- * annotation of generated classses
+ * annotation of generated classes
*/
public Enum<WebParam.Mode> getMode();
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/client/factories/WSDynamicClientFactory.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/client/factories/WSDynamicClientFactory.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/client/factories/WSDynamicClientFactory.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -48,7 +48,7 @@
synchronized (WSDynamicClientFactory.class) {
// If the logger has not been configured
if (Logger.getRootLogger().getAllAppenders() instanceof NullEnumeration) {
- // Use default log configuraiton to startup jbossmc
+ // Use default log configuration to startup jbossmc
ClassLoader cl = Thread.currentThread().getContextClassLoader();
URL url = cl.getResource("META-INF/" + WISE_LOG_CONFIG);
if (url != null) {
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/EndpointMethodCaller.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/EndpointMethodCaller.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/EndpointMethodCaller.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -22,11 +22,12 @@
package org.jboss.wise.core.client.impl.reflection;
import java.lang.reflect.Method;
-import java.util.Arrays;
import java.util.List;
import java.util.concurrent.Callable;
+
import javax.xml.ws.BindingProvider;
import javax.xml.ws.handler.Handler;
+
import org.jboss.wise.core.client.WSEndpoint;
import org.jboss.wise.core.wsextensions.WSExtensionEnabler;
@@ -83,7 +84,8 @@
if (epInstance.getHandlers() != null) {
for (Handler<?> handler : epInstance.getHandlers()) {
- List<Handler> handlerChain =
((BindingProvider)epUnderlyingObjectInstance.get()).getBinding().getHandlerChain();
+ @SuppressWarnings("rawtypes")
+ List<Handler> handlerChain =
((BindingProvider)epUnderlyingObjectInstance.get()).getBinding().getHandlerChain();
handlerChain.add(handler);
((BindingProvider)epUnderlyingObjectInstance.get()).getBinding().setHandlerChain(handlerChain);
}
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/InvocationResultImpl.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/InvocationResultImpl.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/InvocationResultImpl.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -53,7 +53,7 @@
this.originalObjects = new HashMap<String, Object>();
if (results == null) {
- results = Collections.EMPTY_MAP;
+ results = Collections.emptyMap();
}
this.originalObjects.putAll(results);
if (name != null && name.trim().length() != 0) {
Added:
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/SecurityActions.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/SecurityActions.java
(rev 0)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/SecurityActions.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -0,0 +1,84 @@
+package org.jboss.wise.core.client.impl.reflection;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
+
+public class SecurityActions {
+
+ /**
+ * Get context classloader.
+ *
+ * @return the current context classloader
+ */
+ static ClassLoader getContextClassLoader()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm == null)
+ {
+ return Thread.currentThread().getContextClassLoader();
+ }
+ else
+ {
+ return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
{
+ public ClassLoader run()
+ {
+ return Thread.currentThread().getContextClassLoader();
+ }
+ });
+ }
+ }
+
+ /**
+ * Set context classloader.
+ *
+ * @param cl the classloader
+ * @return previous context classloader
+ * @throws Throwable for any error
+ */
+ static ClassLoader setContextClassLoader(final ClassLoader cl)
+ {
+ if (System.getSecurityManager() == null)
+ {
+ ClassLoader result = Thread.currentThread().getContextClassLoader();
+ if (cl != null)
+ Thread.currentThread().setContextClassLoader(cl);
+ return result;
+ }
+ else
+ {
+ try
+ {
+ return AccessController.doPrivileged(new
PrivilegedExceptionAction<ClassLoader>() {
+ public ClassLoader run() throws Exception
+ {
+ try
+ {
+ ClassLoader result =
Thread.currentThread().getContextClassLoader();
+ if (cl != null)
+ Thread.currentThread().setContextClassLoader(cl);
+ return result;
+ }
+ catch (Exception e)
+ {
+ throw e;
+ }
+ catch (Error e)
+ {
+ throw e;
+ }
+ catch (Throwable e)
+ {
+ throw new
RuntimeException("ERROR_SETTING_CONTEXT_CLASSLOADER", e);
+ }
+ }
+ });
+ }
+ catch (PrivilegedActionException e)
+ {
+ throw new RuntimeException("ERROR_RUNNING_PRIVILEGED_ACTION",
e.getCause());
+ }
+ }
+ }
+}
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/WSDynamicClientImpl.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/WSDynamicClientImpl.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/WSDynamicClientImpl.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -113,8 +113,8 @@
wsExtensionEnablerDelegate =
EnablerDelegateProvider.newEnablerDelegate(builder.getSecurityConfigFileURL(), builder
.getSecurityConfigName());
this.tmpDir = builder.getClientSpecificTmpDir();
- File outputDir = new File(tmpDir + "/classes/");
- File sourceDir = new File(tmpDir + "/src/");
+ final File outputDir = new File(new
StringBuilder(tmpDir).append(File.separator).append("classes").append(File.separator).toString());
+ final File sourceDir = new File(new
StringBuilder(tmpDir).append(File.separator).append("src").append(File.separator).toString());
try {
classNames.addAll(consumer.importObjectFromWsdl(builder.getNormalizedWsdlUrl(),
outputDir, sourceDir, builder
@@ -135,19 +135,18 @@
private synchronized void initClassLoader(File outputDir) throws WiseRuntimeException
{
try {
+ final ClassLoader oldLoader = SecurityActions.getContextClassLoader();
// we need a custom classloader pointing the temp dir
// in order to load the generated classes on the fly
- this.setClassLoader(new URLClassLoader(new URL[] { outputDir.toURI().toURL(), },
Thread.currentThread()
- .getContextClassLoader()));
- ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
+ this.setClassLoader(new URLClassLoader(new URL[] { outputDir.toURI().toURL(), },
oldLoader));
try {
- Thread.currentThread().setContextClassLoader(this.getClassLoader());
+ SecurityActions.setContextClassLoader(this.getClassLoader());
Class<?> clazz = JavaUtils.loadJavaType("javax.xml.ws.spi.Provider",
this.getClassLoader());
clazz.getMethod("provider", new Class[]{}).invoke(null, new Object[]{});
} finally {
// restore the original classloader
- Thread.currentThread().setContextClassLoader(oldLoader);
+ SecurityActions.setContextClassLoader(oldLoader);
}
} catch (Exception e) {
throw new WiseRuntimeException(
@@ -161,10 +160,10 @@
* @see org.jboss.wise.core.client.WSDynamicClient#processServices()
*/
public synchronized Map<String, WSService> processServices() throws
IllegalStateException {
- ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
+ ClassLoader oldLoader = SecurityActions.getContextClassLoader();
try {
- Thread.currentThread().setContextClassLoader(this.getClassLoader());
+ SecurityActions.setContextClassLoader(this.getClassLoader());
for (String className : classNames) {
try {
Class<?> clazz = JavaUtils.loadJavaType(className, this.getClassLoader());
@@ -183,7 +182,7 @@
}
} finally {
// restore the original classloader
- Thread.currentThread().setContextClassLoader(oldLoader);
+ SecurityActions.setContextClassLoader(oldLoader);
}
return servicesMap;
}
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/WSEndpointImpl.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/WSEndpointImpl.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/WSEndpointImpl.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -22,6 +22,8 @@
package org.jboss.wise.core.client.impl.reflection;
+import static org.jboss.wise.core.utils.DefaultConfig.MAX_THREAD_POOL_SIZE;
+
import java.lang.reflect.Method;
import java.util.Collections;
import java.util.LinkedList;
@@ -30,14 +32,16 @@
import java.util.TreeMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
+
import javax.jws.WebMethod;
import javax.xml.ws.handler.Handler;
+
import net.jcip.annotations.GuardedBy;
import net.jcip.annotations.ThreadSafe;
+
import org.jboss.wise.core.client.WSEndpoint;
import org.jboss.wise.core.client.WSMethod;
import org.jboss.wise.core.client.impl.reflection.WSServiceImpl.WSEndPointbuilder;
-import static org.jboss.wise.core.utils.DefaultConfig.MAX_THRED_POOL_SIZE;
import org.jboss.wise.core.wsextensions.WSExtensionEnabler;
/**
@@ -54,7 +58,7 @@
private String name;
@GuardedBy("this")
- private Class underlyingObjectClass;
+ private Class<?> underlyingObjectClass;
private final ExecutorService service;
@@ -84,7 +88,7 @@
if (maxThreadPoolSize >= 1) {
this.service = Executors.newFixedThreadPool(maxThreadPoolSize);
} else {
- this.service = Executors.newFixedThreadPool(MAX_THRED_POOL_SIZE.getIntValue());
+ this.service = Executors.newFixedThreadPool(MAX_THREAD_POOL_SIZE.getIntValue());
}
}
@@ -144,11 +148,11 @@
this.password = password;
}
- public synchronized Class getUnderlyingObjectClass() {
+ public synchronized Class<?> getUnderlyingObjectClass() {
return underlyingObjectClass;
}
- public synchronized void setUnderlyingObjectClass(Class clazz) {
+ public synchronized void setUnderlyingObjectClass(Class<?> clazz) {
this.underlyingObjectClass = clazz;
}
@@ -159,7 +163,7 @@
* @see #getWSMethods()
* @param handler
*/
- public void addHandler(Handler handler) {
+ public void addHandler(Handler<?> handler) {
handlers.add(handler);
}
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/WSMethodImpl.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/WSMethodImpl.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/WSMethodImpl.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -23,7 +23,6 @@
package org.jboss.wise.core.client.impl.reflection;
import java.lang.annotation.Annotation;
-import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
import java.util.Arrays;
@@ -33,7 +32,6 @@
import java.util.concurrent.Future;
import javax.jws.Oneway;
import javax.jws.WebParam;
-import net.jcip.annotations.GuardedBy;
import net.jcip.annotations.Immutable;
import net.jcip.annotations.ThreadSafe;
import org.jboss.wise.core.client.InvocationResult;
@@ -71,7 +69,7 @@
/*
* Invokes this method with the provided arguments
*
- * @param args @return @throws WiseException If an unknowtn exception is
+ * @param args @return @throws WiseException If an unknown exception is
* received
*/
InvocationResultImpl invoke(Map<String, Object> args) throws
InvocationException, IllegalArgumentException {
@@ -123,18 +121,18 @@
* @throws IllegalArgumentException
* @throws MappingException
*/
+ @SuppressWarnings("unchecked")
public InvocationResultImpl invoke(Object args, WiseMapper mapper) throws
InvocationException, IllegalArgumentException, MappingException {
if (mapper == null) {
return this.invoke((Map<String, Object>) args);
}
- ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
+ ClassLoader oldLoader = SecurityActions.getContextClassLoader();
Map<String, Object> mappingResults;
try {
- Thread.currentThread().setContextClassLoader(this.getEndpoint().getClassLoader());
+ SecurityActions.setContextClassLoader(this.getEndpoint().getClassLoader());
mappingResults = mapper.applyMapping(args);
} finally {
- // restore the original classloader
- Thread.currentThread().setContextClassLoader(oldLoader);
+ SecurityActions.setContextClassLoader(oldLoader);
}
return this.invoke(mappingResults);
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/WSServiceImpl.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/WSServiceImpl.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/WSServiceImpl.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -41,7 +41,7 @@
@Immutable
public class WSServiceImpl implements WSService {
- private final Class serviceClass;
+ private final Class<?> serviceClass;
private final URLClassLoader classLoader;
private final Object service;
private final String userName;
@@ -57,7 +57,7 @@
* @param password
* @param maxThreadPoolSize the max pool size for method execution of service
attached endpoint.
*/
- public WSServiceImpl( Class serviceClass,
+ public WSServiceImpl( Class<?> serviceClass,
URLClassLoader classLoader,
Object service,
String userName,
@@ -110,10 +110,10 @@
private WSEndpoint getWiseEndpoint( Method method,
String name ) throws WiseRuntimeException {
- ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
+ ClassLoader oldLoader = SecurityActions.getContextClassLoader();
WSEndpointImpl ep = new WSEndpointImpl(this.maxThreadPoolSize);
try {
- Thread.currentThread().setContextClassLoader(this.getClassLoader());
+ SecurityActions.setContextClassLoader(this.getClassLoader());
ep.setClassLoader(this.getClassLoader());
//
ep.setUnderlyingObjectInstance(this.getServiceClass().getMethod(method.getName(),
// method.getParameterTypes()).invoke(this.getService(),
@@ -129,13 +129,12 @@
} catch (Exception e) {
throw new WiseRuntimeException("Error while reading an endpoint!",
e);
} finally {
- Thread.currentThread().setContextClassLoader(oldLoader);
+ SecurityActions.setContextClassLoader(oldLoader);
}
return ep;
}
- @SuppressWarnings( "unchecked" )
- private synchronized final Class getServiceClass() {
+ private synchronized final Class<?> getServiceClass() {
return serviceClass;
}
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/builder/ReflectionBasedWSDynamicClientBuilder.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/builder/ReflectionBasedWSDynamicClientBuilder.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/reflection/builder/ReflectionBasedWSDynamicClientBuilder.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -22,12 +22,14 @@
package org.jboss.wise.core.client.impl.reflection.builder;
-import static org.jboss.wise.core.utils.DefaultConfig.MAX_THRED_POOL_SIZE;
+import static org.jboss.wise.core.utils.DefaultConfig.MAX_THREAD_POOL_SIZE;
import java.io.File;
import java.io.IOException;
import java.io.PrintStream;
import java.net.URL;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
import java.util.List;
import net.jcip.annotations.GuardedBy;
@@ -63,7 +65,7 @@
private String password;
@GuardedBy("this")
- private String tmpDir = System.getProperty("java.io.tmpdir");
+ private String tmpDir = AccessController.doPrivileged(new
PropertyAccessAction("java.io.tmpdir"));
@GuardedBy("this")
private String targetPackage;
@@ -96,7 +98,7 @@
private PrintStream messageStream = System.out;
@GuardedBy("this")
- private int maxThreadPoolSize = MAX_THRED_POOL_SIZE.getIntValue();
+ private int maxThreadPoolSize = MAX_THREAD_POOL_SIZE.getIntValue();
public ReflectionBasedWSDynamicClientBuilder() {
super();
@@ -110,8 +112,7 @@
public synchronized WSDynamicClient build() throws IllegalStateException,
WiseRuntimeException {
clientSpecificTmpDir = tmpDir;
if (clientSpecificTmpDir != null) {
- String id = IDGenerator.nextVal();
- clientSpecificTmpDir = tmpDir + "/Wise" + id;
+ clientSpecificTmpDir = new
StringBuilder().append(tmpDir).append(File.separator).append("Wise").append(IDGenerator.nextVal()).toString();
File tmpDirFile = new File(clientSpecificTmpDir);
try {
FileUtils.forceMkdir(tmpDirFile);
@@ -413,5 +414,18 @@
this.maxThreadPoolSize = maxThreadPoolSize;
return this;
}
+
+ private static class PropertyAccessAction implements PrivilegedAction<String>
{
+ private final String name;
+
+ PropertyAccessAction(String name) {
+ this.name = name;
+ }
+
+ public String run() {
+ return System.getProperty(name);
+ }
+ }
+
}
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/wsdlResolver/Connection.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/wsdlResolver/Connection.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/wsdlResolver/Connection.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -27,12 +27,11 @@
import java.net.HttpURLConnection;
import java.net.URL;
+import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang.StringUtils;
import org.jboss.wise.core.exception.WiseRuntimeException;
import org.jboss.ws.common.utils.JarUrlConnection;
-import sun.misc.BASE64Encoder;
-
/**
*
* @author alessio.soldano(a)jboss.com
@@ -99,7 +98,7 @@
// BASIC AUTH
String usernamePassword = getUserNameAndPasswordForBasicAuthentication();
if (usernamePassword != null && usernamePassword.length() != 0) {
- conn.setRequestProperty("Authorization", "Basic " + (new
BASE64Encoder()).encode(usernamePassword.getBytes()));
+ conn.setRequestProperty("Authorization", "Basic " + new
String(Base64.encodeBase64(usernamePassword.getBytes())));
}
return conn;
} catch (Exception e) {
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/wsdlResolver/WSDLResolver.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/wsdlResolver/WSDLResolver.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/client/impl/wsdlResolver/WSDLResolver.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -89,7 +89,7 @@
Definition def = getWsdlDefinition(wsdlURL);
- URL savedWsdlURL = wsdlFile.toURL();
+ URL savedWsdlURL = wsdlFile.toURI().toURL();
log.info("WSDL saved to: " + savedWsdlURL);
// Process the wsdl imports
@@ -98,7 +98,7 @@
// Publish XMLSchema imports
for (Element documentElement : getSchemaElements(def)) {
- saveSchemaImports(wsdlFile.toURL(), documentElement, saved, wsdlURL);
+ saveSchemaImports(wsdlFile.toURI().toURL(), documentElement, saved, wsdlURL);
}
// save modified file
@@ -141,7 +141,7 @@
Types types = definition.getTypes();
List<Element> result = new LinkedList<Element>();
if (types != null && types.getExtensibilityElements().size() > 0) {
- List extElements = types.getExtensibilityElements();
+ List<?> extElements = types.getExtensibilityElements();
int len = extElements.size();
for (int i = 0; i < len; i++) {
ExtensibilityElement extElement = (ExtensibilityElement) extElements.get(i);
@@ -172,7 +172,7 @@
private void saveWsdlImports(URL parentURL, Definition parentDefinition,
Map<String, String> saved, URL wsdlURL) throws Exception {
String baseURI = parentURL.toExternalForm();
- Iterator it = parentDefinition.getImports().values().iterator();
+ Iterator<?> it = parentDefinition.getImports().values().iterator();
while (it.hasNext()) {
for (Import wsdlImport : (List<Import>) it.next()) {
String locationURI = wsdlImport.getLocationURI();
Modified: core/trunk/core/src/main/java/org/jboss/wise/core/consumer/WSConsumer.java
===================================================================
--- core/trunk/core/src/main/java/org/jboss/wise/core/consumer/WSConsumer.java 2012-06-17
20:39:13 UTC (rev 430)
+++ core/trunk/core/src/main/java/org/jboss/wise/core/consumer/WSConsumer.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -93,13 +93,16 @@
return name.endsWith(".class");
}
};
- File scanDir = new File(outputDir.getAbsolutePath() + "/" +
targetPackage.replaceAll("\\.", "/") + "/");
+ File scanDir = new File(new
StringBuilder(outputDir.getAbsolutePath()).append(File.separator)
+ .append(targetPackage.replaceAll("\\.",
File.separator)).append(File.separator).toString());
String[] children = scanDir.list(filter);
- for (int i = 0; children != null && i < children.length; i++) {
- classNames.add(targetPackage + "." + children[i].substring(0,
children[i].length() - 6));
+ if (children != null) {
+ for (int i = 0; i < children.length; i++) {
+ classNames.add(targetPackage + "." + children[i].substring(0,
children[i].length() - 6));
+ }
}
if (classNames.size() == 0) {
- throw new WiseRuntimeException("No classs foung in dir " +
outputDir + "for targetPackage " + targetPackage);
+ throw new WiseRuntimeException("No classs found in dir " +
outputDir + " for targetPackage " + targetPackage);
}
return classNames;
@@ -108,7 +111,7 @@
public List<String> getClassNames( File outputDir ) throws WiseRuntimeException
{
List<String> classNames = this.getClassNames(outputDir, outputDir);
if (classNames.size() == 0) {
- throw new WiseRuntimeException("No classs foung in dir " +
outputDir + "for targetPackage unspecified");
+ throw new WiseRuntimeException("No classs found in dir " +
outputDir + " for unspecified targetPackage");
}
return classNames;
}
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/consumer/impl/jbossws/DefaultWSImportImpl.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/consumer/impl/jbossws/DefaultWSImportImpl.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/consumer/impl/jbossws/DefaultWSImportImpl.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -24,6 +24,8 @@
import java.io.File;
import java.io.PrintStream;
import java.net.MalformedURLException;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
import java.util.LinkedList;
import java.util.List;
@@ -59,7 +61,7 @@
@Override
public synchronized List<String> importObjectFromWsdl(String wsdlURL, File
outputDir, File sourceDir, String targetPackage, List<File> bindingFiles,
PrintStream messageStream, File catelog) throws MalformedURLException,
WiseRuntimeException {
- WSContractConsumer wsImporter =
WSContractConsumer.newInstance(Thread.currentThread().getContextClassLoader());
+ WSContractConsumer wsImporter =
WSContractConsumer.newInstance(getContextClassLoader());
if (targetPackage != null && targetPackage.trim().length() > 0) {
wsImporter.setTargetPackage(targetPackage);
@@ -102,12 +104,30 @@
List<String> cp = new LinkedList<String>();
for (String jar : neededClasses) {
try {
- cp.add(Thread.currentThread().getContextClassLoader().getResource(jar).getPath().split("!")[0]);
+ cp.add(getContextClassLoader().getResource(jar).getPath().split("!")[0]);
} catch (NullPointerException npe) {
- Logger.getLogger(this.getClass()).debug("Didnt't find jar needed by wsImport
API:" + jar);
+ Logger.getLogger(this.getClass()).debug("Did not find jar needed by wsImport
API:" + jar);
}
}
return cp;
}
+
+ private static ClassLoader getContextClassLoader()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm == null)
+ {
+ return Thread.currentThread().getContextClassLoader();
+ }
+ else
+ {
+ return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
{
+ public ClassLoader run()
+ {
+ return Thread.currentThread().getContextClassLoader();
+ }
+ });
+ }
+ }
}
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/consumer/impl/metro/LocalFirstClassLoader.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/consumer/impl/metro/LocalFirstClassLoader.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/consumer/impl/metro/LocalFirstClassLoader.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -34,7 +34,7 @@
@Override
public synchronized Class<?> loadClass( String name,
boolean resolve ) throws
ClassNotFoundException {
- Class claz = findLoadedClass(name);
+ Class<?> claz = findLoadedClass(name);
if (claz == null) {
try {
claz = findClass(name);
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/consumer/impl/metro/MetroWSConsumer.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/consumer/impl/metro/MetroWSConsumer.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/consumer/impl/metro/MetroWSConsumer.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -28,6 +28,8 @@
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
import java.util.List;
import org.apache.log4j.Logger;
import org.jboss.wise.core.consumer.WSConsumer;
@@ -45,11 +47,11 @@
List<File> bindingFiles,
PrintStream messageStream,
File catelog) throws MalformedURLException,
WiseRuntimeException {
- ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
+ ClassLoader oldClassLoader = getContextClassLoader();
LocalFirstClassLoader metroClassLoader = new
LocalFirstClassLoader(getMertroJars(), oldClassLoader);
try {
- Class wsImportClaz =
metroClassLoader.loadClass("com.sun.tools.ws.WsImport");
+ Class<?> wsImportClaz =
metroClassLoader.loadClass("com.sun.tools.ws.WsImport");
Method mainMethod = wsImportClaz.getDeclaredMethod("doMain", new
Class[] {String[].class});
List<String> args = new java.util.ArrayList<String>();
args.add("-keep");
@@ -118,7 +120,7 @@
for (String jar : jars) {
File jarFile = new File(metroLibPath + "/" + jar);
try {
- urls.add(jarFile.toURL());
+ urls.add(jarFile.toURI().toURL());
} catch (MalformedURLException e) {
log.error("Failed to getURL from the metro jar file ", e);
}
@@ -130,5 +132,22 @@
}
+ private static ClassLoader getContextClassLoader()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm == null)
+ {
+ return Thread.currentThread().getContextClassLoader();
+ }
+ else
+ {
+ return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
{
+ public ClassLoader run()
+ {
+ return Thread.currentThread().getContextClassLoader();
+ }
+ });
+ }
+ }
}
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/exception/InvocationException.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/exception/InvocationException.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/exception/InvocationException.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -29,6 +29,8 @@
*/
public class InvocationException extends Exception {
+ private static final long serialVersionUID = 5648725651299619979L;
+
public InvocationException(String message, Throwable cause) {
super(message, cause);
}
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/exception/MappingException.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/exception/MappingException.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/exception/MappingException.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -29,6 +29,8 @@
*/
public class MappingException extends Exception {
+ private static final long serialVersionUID = 5830827412437161462L;
+
public MappingException( String message,
Throwable cause ) {
super(message, cause);
Modified: core/trunk/core/src/main/java/org/jboss/wise/core/handlers/LoggingHandler.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/handlers/LoggingHandler.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/handlers/LoggingHandler.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -24,7 +24,6 @@
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
-import java.io.StringWriter;
import java.util.HashSet;
import java.util.Set;
import javax.xml.namespace.QName;
@@ -35,7 +34,6 @@
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
-import org.apache.log4j.Priority;
import net.jcip.annotations.Immutable;
import net.jcip.annotations.ThreadSafe;
Modified: core/trunk/core/src/main/java/org/jboss/wise/core/handlers/SmooksHandler.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/handlers/SmooksHandler.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/handlers/SmooksHandler.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -29,6 +29,7 @@
import java.util.Map;
import java.util.Set;
+import javax.xml.namespace.QName;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPMessage;
import javax.xml.transform.stream.StreamResult;
@@ -51,9 +52,7 @@
import org.milyn.cdr.XMLConfigDigester;
import org.milyn.container.ExecutionContext;
import org.milyn.event.report.HtmlReportGenerator;
-import org.milyn.javabean.BeanAccessor;
import org.milyn.javabean.repository.BeanRepository;
-import org.milyn.javabean.repository.BeanRepositoryManager;
import org.milyn.profile.DefaultProfileSet;
import org.milyn.profile.ProfileStore;
import org.milyn.profile.UnknownProfileMemberException;
@@ -73,7 +72,7 @@
@ThreadSafe
public class SmooksHandler implements SOAPHandler<SOAPMessageContext> {
- private final Map beansMap;
+ private final Map<String, Object> beansMap;
private final Smooks smooks;
@@ -95,7 +94,7 @@
* @param client
* @param smooksReport
*/
- public SmooksHandler(String smooksResource, Map beans, WSDynamicClient client, String
smooksReport) {
+ public SmooksHandler(String smooksResource, Map<String, Object> beans,
WSDynamicClient client, String smooksReport) {
assert smooksResource != null;
@@ -126,7 +125,7 @@
this.beansMap = beans;
}
- public Set getHeaders() {
+ public Set<QName> getHeaders() {
return null;
}
@@ -182,14 +181,14 @@
StringWriter transResult = new StringWriter();
BeanRepository.getInstance(executionContext).getBeanMap().putAll(this.beansMap);
- StringWriter buffer;
outStream = new ByteArrayOutputStream();
message.writeTo(outStream);
outStream.flush();
inStream = new ByteArrayInputStream(outStream.toByteArray());
- smooks.filter(new StreamSource(inStream), new StreamResult(transResult),
executionContext);
+ smooks.filterSource(executionContext, new StreamSource(inStream), new
StreamResult(transResult));
inStream.close();
inStream = new ByteArrayInputStream(transResult.toString().getBytes());
+ //TODO evaluate avoiding buinding up a new factory each time + check for soap 1.2
SOAPMessage message2 =
MessageFactory.newInstance().createMessage(message.getMimeHeaders(), inStream);
return message2;
} finally {
Modified: core/trunk/core/src/main/java/org/jboss/wise/core/mapper/SmooksMapper.java
===================================================================
--- core/trunk/core/src/main/java/org/jboss/wise/core/mapper/SmooksMapper.java 2012-06-17
20:39:13 UTC (rev 430)
+++ core/trunk/core/src/main/java/org/jboss/wise/core/mapper/SmooksMapper.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -23,7 +23,10 @@
package org.jboss.wise.core.mapper;
import java.io.IOException;
-import java.util.Arrays;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
import java.util.Map;
import javax.xml.transform.Source;
@@ -41,7 +44,6 @@
import org.milyn.cdr.SmooksResourceConfigurationList;
import org.milyn.cdr.XMLConfigDigester;
import org.milyn.container.ExecutionContext;
-import org.milyn.container.plugin.PayloadProcessor;
import org.milyn.event.report.HtmlReportGenerator;
import org.milyn.payload.JavaResult;
import org.milyn.payload.JavaSource;
@@ -70,10 +72,10 @@
}
public SmooksMapper(String smooksResource, String smooksReport, WSDynamicClient
client) {
- ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
+ ClassLoader oldLoader = getContextClassLoader();
try {
- Thread.currentThread().setContextClassLoader(client.getClassLoader());
+ setContextClassLoader(client.getClassLoader());
smooks = client.getSmooksInstance();
try {
@@ -102,7 +104,7 @@
throw new WiseRuntimeException("failde to create SmooksMapper", e);
} finally {
// restore the original classloader
- Thread.currentThread().setContextClassLoader(oldLoader);
+ setContextClassLoader(oldLoader);
}
}
@@ -136,12 +138,13 @@
* wsdl/wsconsume generated classes
* @throws MappingException
*/
+ @SuppressWarnings("unchecked")
public Map<String, Object> applyMapping(Object originalObjects) throws
MappingException {
ExecutionContext executionContext = initExecutionContext(smooksReport);
Source source = new JavaSource(originalObjects);
JavaResult result = new JavaResult();
- smooks.filter(source, result, executionContext);
+ smooks.filterSource(executionContext, source, result);
Map<String, Object> returnMap = result.getResultMap();
@@ -154,5 +157,68 @@
return returnMap;
}
+
+ private static ClassLoader getContextClassLoader()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm == null)
+ {
+ return Thread.currentThread().getContextClassLoader();
+ }
+ else
+ {
+ return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
{
+ public ClassLoader run()
+ {
+ return Thread.currentThread().getContextClassLoader();
+ }
+ });
+ }
+ }
+
+ private static ClassLoader setContextClassLoader(final ClassLoader cl)
+ {
+ if (System.getSecurityManager() == null)
+ {
+ ClassLoader result = Thread.currentThread().getContextClassLoader();
+ if (cl != null)
+ Thread.currentThread().setContextClassLoader(cl);
+ return result;
+ }
+ else
+ {
+ try
+ {
+ return AccessController.doPrivileged(new
PrivilegedExceptionAction<ClassLoader>() {
+ public ClassLoader run() throws Exception
+ {
+ try
+ {
+ ClassLoader result =
Thread.currentThread().getContextClassLoader();
+ if (cl != null)
+ Thread.currentThread().setContextClassLoader(cl);
+ return result;
+ }
+ catch (Exception e)
+ {
+ throw e;
+ }
+ catch (Error e)
+ {
+ throw e;
+ }
+ catch (Throwable e)
+ {
+ throw new
RuntimeException("ERROR_SETTING_CONTEXT_CLASSLOADER", e);
+ }
+ }
+ });
+ }
+ catch (PrivilegedActionException e)
+ {
+ throw new RuntimeException("ERROR_RUNNING_PRIVILEGED_ACTION",
e.getCause());
+ }
+ }
+ }
}
Modified: core/trunk/core/src/main/java/org/jboss/wise/core/test/WiseTest.java
===================================================================
--- core/trunk/core/src/main/java/org/jboss/wise/core/test/WiseTest.java 2012-06-17
20:39:13 UTC (rev 430)
+++ core/trunk/core/src/main/java/org/jboss/wise/core/test/WiseTest.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -90,8 +90,9 @@
*/
public URL getArchiveUrl( String archiveName ) {
URL warUrl = null;
- URL dirURL = this.getClass().getClassLoader().getResource(".");
- File file = new File(dirURL.getFile(), ".." + File.separator +
TEST_WS_ARCHIVE_DIR + File.separator + archiveName);
+ final URL dirURL = this.getClass().getClassLoader().getResource(".");
+ final File parent = new File(dirURL.getFile()).getParentFile();
+ final File file = new File(parent, TEST_WS_ARCHIVE_DIR + File.separator +
archiveName);
if (file.exists()) {
try {
warUrl = file.getAbsoluteFile().toURI().toURL();
Modified: core/trunk/core/src/main/java/org/jboss/wise/core/utils/DefaultConfig.java
===================================================================
--- core/trunk/core/src/main/java/org/jboss/wise/core/utils/DefaultConfig.java 2012-06-17
20:39:13 UTC (rev 430)
+++ core/trunk/core/src/main/java/org/jboss/wise/core/utils/DefaultConfig.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -29,7 +29,7 @@
* @author Stefano Maestri stefano.maestri(a)javalinux.it
*/
public enum DefaultConfig {
- MAX_THRED_POOL_SIZE("100");
+ MAX_THREAD_POOL_SIZE("100");
Object value;
Modified: core/trunk/core/src/main/java/org/jboss/wise/core/utils/IDGenerator.java
===================================================================
--- core/trunk/core/src/main/java/org/jboss/wise/core/utils/IDGenerator.java 2012-06-17
20:39:13 UTC (rev 430)
+++ core/trunk/core/src/main/java/org/jboss/wise/core/utils/IDGenerator.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -22,11 +22,8 @@
package org.jboss.wise.core.utils;
-import java.util.Random;
import java.util.UUID;
-import org.apache.commons.lang.math.RandomUtils;
-
/**
* Generates unique ID numbers, almost like a database sequence.
*
Modified: core/trunk/core/src/main/java/org/jboss/wise/core/utils/IOUtils.java
===================================================================
--- core/trunk/core/src/main/java/org/jboss/wise/core/utils/IOUtils.java 2012-06-17
20:39:13 UTC (rev 430)
+++ core/trunk/core/src/main/java/org/jboss/wise/core/utils/IOUtils.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -30,7 +30,7 @@
import org.jboss.wise.core.exception.WiseRuntimeException;
/**
- * IO utilites
+ * IO utilities
*
* @author stefano.maestri(a)javalinux.it class imported from JBossWS. Kept methods useful
for Wise
*/
Modified: core/trunk/core/src/main/java/org/jboss/wise/core/utils/JavaUtils.java
===================================================================
--- core/trunk/core/src/main/java/org/jboss/wise/core/utils/JavaUtils.java 2012-06-17
20:39:13 UTC (rev 430)
+++ core/trunk/core/src/main/java/org/jboss/wise/core/utils/JavaUtils.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -23,32 +23,17 @@
package org.jboss.wise.core.utils;
import java.lang.reflect.Array;
-import java.lang.reflect.GenericArrayType;
-import java.lang.reflect.Method;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.lang.reflect.TypeVariable;
-import java.lang.reflect.WildcardType;
import java.util.HashMap;
-import java.util.HashSet;
-import org.jboss.logging.Logger;
/**
* Java utilities
*
* @author stefano.maestri(a)javalinux.it class imported from JBossWS.
*/
-// TODO: remove unused method
public class JavaUtils {
- // provide logging
- private static final Logger log = Logger.getLogger(JavaUtils.class);
- private static HashMap<String, Class> primitiveNames = new HashMap<String,
Class>(8);
+ private static HashMap<String, Class<?>> primitiveNames = new
HashMap<String, Class<?>>(8);
- private static HashMap<String, String> primitiveNameDescriptors = new
HashMap<String, String>(8);
-
- private static HashSet<String> reservedKeywords = new
HashSet<String>(50);
-
static {
primitiveNames.put("int", int.class);
primitiveNames.put("short", short.class);
@@ -58,94 +43,21 @@
primitiveNames.put("double", double.class);
primitiveNames.put("float", float.class);
primitiveNames.put("char", char.class);
-
- primitiveNameDescriptors.put("int", "I");
- primitiveNameDescriptors.put("short", "S");
- primitiveNameDescriptors.put("boolean", "Z");
- primitiveNameDescriptors.put("byte", "B");
- primitiveNameDescriptors.put("long", "J");
- primitiveNameDescriptors.put("double", "D");
- primitiveNameDescriptors.put("float", "F");
- primitiveNameDescriptors.put("char", "C");
-
- reservedKeywords.add("abstract");
- reservedKeywords.add("continue");
- reservedKeywords.add("for");
- reservedKeywords.add("new");
- reservedKeywords.add("switch");
- reservedKeywords.add("assert");
- reservedKeywords.add("default");
- reservedKeywords.add("if");
- reservedKeywords.add("package");
- reservedKeywords.add("synchronized");
- reservedKeywords.add("boolean");
- reservedKeywords.add("do");
- reservedKeywords.add("goto");
- reservedKeywords.add("private");
- reservedKeywords.add("this");
- reservedKeywords.add("break");
- reservedKeywords.add("double");
- reservedKeywords.add("implements");
- reservedKeywords.add("protected");
- reservedKeywords.add("throw");
- reservedKeywords.add("byte");
- reservedKeywords.add("else");
- reservedKeywords.add("import");
- reservedKeywords.add("public");
- reservedKeywords.add("throws");
- reservedKeywords.add("case");
- reservedKeywords.add("enum");
- reservedKeywords.add("instanceof");
- reservedKeywords.add("return");
- reservedKeywords.add("transient");
- reservedKeywords.add("catch");
- reservedKeywords.add("extends");
- reservedKeywords.add("int");
- reservedKeywords.add("short");
- reservedKeywords.add("try");
- reservedKeywords.add("char");
- reservedKeywords.add("final");
- reservedKeywords.add("interface");
- reservedKeywords.add("static");
- reservedKeywords.add("void");
- reservedKeywords.add("class");
- reservedKeywords.add("finally");
- reservedKeywords.add("long");
- reservedKeywords.add("strictfp");
- reservedKeywords.add("volatile");
- reservedKeywords.add("const");
- reservedKeywords.add("float");
- reservedKeywords.add("native");
- reservedKeywords.add("super");
- reservedKeywords.add("while");
}
/**
* Load a Java type from a given class loader.
*
* @param typeName
- * maybe the source notation of a primitve, class name, array of
- * both
- * @return Class
- * @throws ClassNotFoundException
- */
- public static Class loadJavaType(String typeName) throws ClassNotFoundException {
- return loadJavaType(typeName, null);
- }
-
- /**
- * Load a Java type from a given class loader.
- *
- * @param typeName
* @param classLoader
* @return Class
* @throws ClassNotFoundException
*/
- public static Class loadJavaType(String typeName, ClassLoader classLoader) throws
ClassNotFoundException {
+ public static Class<?> loadJavaType(String typeName, ClassLoader classLoader)
throws ClassNotFoundException {
if (classLoader == null)
classLoader = Thread.currentThread().getContextClassLoader();
- Class javaType = primitiveNames.get(typeName);
+ Class<?> javaType = primitiveNames.get(typeName);
if (javaType == null)
javaType = getArray(typeName, classLoader);
@@ -156,43 +68,17 @@
}
/**
- * True if the given type name is the source notation of a primitive or
- * array of which.
- *
- * @param javaType
- * @return boolean
- */
- public static boolean isPrimitive(String javaType) {
- return getPrimitiveType(javaType) != null;
- }
-
- /**
* True if the given class is a primitive or array of which.
*
* @param javaType
* boolean
* @return boolean
*/
- public static boolean isPrimitive(Class javaType) {
+ public static boolean isPrimitive(Class<?> javaType) {
return javaType.isPrimitive() || (javaType.isArray() &&
isPrimitive(javaType.getComponentType()));
}
- public static Class getPrimitiveType(String javaType) {
- Class type = primitiveNames.get(javaType);
- if (type != null)
- return type;
-
- try {
- // null loader = primitive only
- type = getArray(javaType, null);
- } catch (ClassNotFoundException e) {
- // This will actually never be thrown since is null
- }
-
- return type;
- }
-
- private static Class getArray(String javaType, ClassLoader loader) throws
ClassNotFoundException {
+ private static Class<?> getArray(String javaType, ClassLoader loader) throws
ClassNotFoundException {
if (javaType.charAt(0) == '[')
return getArrayFromJVMName(javaType, loader);
@@ -202,8 +88,8 @@
return null;
}
- private static Class getArrayFromJVMName(String javaType, ClassLoader loader) throws
ClassNotFoundException {
- Class componentType;
+ private static Class<?> getArrayFromJVMName(String javaType, ClassLoader
loader) throws ClassNotFoundException {
+ Class<?> componentType;
int componentStart = javaType.lastIndexOf('[') + 1;
switch (javaType.charAt(componentStart)) {
case 'I':
@@ -245,11 +131,11 @@
return Array.newInstance(componentType, new int[componentStart]).getClass();
}
- private static Class getArrayFromSourceName(String javaType, ClassLoader loader)
throws ClassNotFoundException {
+ private static Class<?> getArrayFromSourceName(String javaType, ClassLoader
loader) throws ClassNotFoundException {
int arrayStart = javaType.indexOf('[');
String componentName = javaType.substring(0, arrayStart);
- Class componentType = primitiveNames.get(componentName);
+ Class<?> componentType = primitiveNames.get(componentName);
if (componentType == null) {
if (loader == null)
return null;
@@ -264,87 +150,13 @@
}
/**
- * Get the corresponding primitive for a give wrapper type. Also handles
- * arrays of which.
- *
- * @param javaType
- * @return Class
- */
- public static Class getPrimitiveType(Class javaType) {
- if (javaType == Integer.class)
- return int.class;
- if (javaType == Short.class)
- return short.class;
- if (javaType == Boolean.class)
- return boolean.class;
- if (javaType == Byte.class)
- return byte.class;
- if (javaType == Long.class)
- return long.class;
- if (javaType == Double.class)
- return double.class;
- if (javaType == Float.class)
- return float.class;
- if (javaType == Character.class)
- return char.class;
-
- if (javaType == Integer[].class)
- return int[].class;
- if (javaType == Short[].class)
- return short[].class;
- if (javaType == Boolean[].class)
- return boolean[].class;
- if (javaType == Byte[].class)
- return byte[].class;
- if (javaType == Long[].class)
- return long[].class;
- if (javaType == Double[].class)
- return double[].class;
- if (javaType == Float[].class)
- return float[].class;
- if (javaType == Character[].class)
- return char[].class;
-
- if (javaType.isArray() && javaType.getComponentType().isArray()) {
- Class compType = getPrimitiveType(javaType.getComponentType());
- return Array.newInstance(compType, 0).getClass();
- }
-
- return javaType;
- }
-
- /**
- * Converts an n-dimensional array of wrapper types to primitive types
- *
- * @param value
- * @return Object
- */
- public static Object getPrimitiveValueArray(Object value) {
- if (value == null)
- return null;
-
- Class javaType = value.getClass();
- if (javaType.isArray()) {
- int length = Array.getLength(value);
- Object destArr = Array.newInstance(getPrimitiveType(javaType.getComponentType()),
length);
- for (int i = 0; i < length; i++) {
- Object srcObj = Array.get(value, i);
- Array.set(destArr, i, getPrimitiveValueArray(srcObj));
- }
- return destArr;
- }
-
- return value;
- }
-
- /**
* Get the corresponding wrapper type for a give primitive. Also handles
* arrays of which.
*
* @param javaType
* @return Class
*/
- public static Class getWrapperType(Class javaType) {
+ public static Class<?> getWrapperType(Class<?> javaType) {
if (javaType == int.class)
return Integer.class;
if (javaType == short.class)
@@ -380,142 +192,13 @@
return Character[].class;
if (javaType.isArray() && javaType.getComponentType().isArray()) {
- Class compType = getWrapperType(javaType.getComponentType());
+ Class<?> compType = getWrapperType(javaType.getComponentType());
return Array.newInstance(compType, 0).getClass();
}
return javaType;
}
- /**
- * Converts an n-dimensional array of primitive types to wrapper types
- *
- * @param value
- * @return Object
- */
- public static Object getWrapperValueArray(Object value) {
- if (value == null)
- return null;
-
- Class javaType = value.getClass();
- if (javaType.isArray()) {
- int length = Array.getLength(value);
- Object destArr = Array.newInstance(getWrapperType(javaType.getComponentType()),
length);
- for (int i = 0; i < length; i++) {
- Object srcObj = Array.get(value, i);
- Array.set(destArr, i, getWrapperValueArray(srcObj));
- }
- return destArr;
- }
-
- return value;
- }
-
- public static Object syncArray(Object array, Class target) {
- return (JavaUtils.isPrimitive(target)) ? JavaUtils.getPrimitiveValueArray(array) :
JavaUtils.getWrapperValueArray(array);
- }
-
- /**
- * Return true if the dest class is assignable from the src. Also handles
- * arrays and primitives.
- *
- * @param dest
- * @param src
- * @return boolean
- */
- public static boolean isAssignableFrom(Class dest, Class src) {
- if (dest == null)
- throw new IllegalArgumentException("Destination class cannot be null");
- if (src == null)
- throw new IllegalArgumentException("Source class cannot be null");
-
- boolean isAssignable = dest.isAssignableFrom(src);
- if (isAssignable == false && dest.getName().equals(src.getName())) {
- ClassLoader destLoader = dest.getClassLoader();
- ClassLoader srcLoader = src.getClassLoader();
- if (log.isDebugEnabled())
- log
- .debug("Not assignable because of conflicting class loaders:\ndstLoader=" +
destLoader + "\nsrcLoader=" + srcLoader);
- }
-
- if (isAssignable == false && isPrimitive(dest)) {
- dest = getWrapperType(dest);
- isAssignable = dest.isAssignableFrom(src);
- }
- if (isAssignable == false && isPrimitive(src)) {
- src = getWrapperType(src);
- isAssignable = dest.isAssignableFrom(src);
- }
- return isAssignable;
- }
-
- public static String convertJVMNameToSourceName(String typeName, ClassLoader loader)
{
- // TODO Don't use a ClassLoader for this, we need to just convert it
- try {
- Class javaType = loadJavaType(typeName, loader);
- typeName = getSourceName(javaType);
- } catch (Exception e) {
- }
-
- return typeName;
- }
-
- /**
- * Converts a JVM external name to a JVM signature name. An external name is
- * that which is returned from {@link Class#getName()} A signature name is
- * the name in class file format.
- * <p>
- * For example:
- * <p>
- * [java.lang.Object
- * <p>
- * becomes:
- * <p>
- * [Ljava/lang/Object;
- *
- * @param externalName
- * @return Strimg
- */
- public static String toSignature(String externalName) {
- if (externalName == null)
- return null;
-
- String ret = primitiveNameDescriptors.get(externalName);
- if (ret != null)
- return ret;
-
- ret = externalName.replace('.', '/');
- return (ret.charAt(0) == '[') ? ret : "L" + ret + ";";
- }
-
- public static String printArray(Object[] val) {
- if (val == null)
- return "null";
-
- StringBuilder out = new StringBuilder("[");
- for (int i = 0; i < val.length; i++) {
- if (i > 0) {
- out.append(",");
- }
- out.append(val[i].getClass().isArray() ? printArray((Object[]) val[i]) : val[i]);
- }
- return out.append("]").toString();
- }
-
- public static String getSourceName(Class type) {
- if (!type.isArray())
- return type.getName();
-
- String arrayNotation = "";
- Class component = type;
- while (component.isArray()) {
- component = component.getComponentType();
- arrayNotation += "[]";
- }
-
- return component.getName() + arrayNotation;
- }
-
public static String capitalize(String source) {
if (source == null)
return null;
@@ -531,114 +214,4 @@
return c + source.substring(1);
}
- public static boolean isLoaded(String className, ClassLoader loader) {
- try {
- loadJavaType(className, loader);
- } catch (ClassNotFoundException e) {
- return false;
- }
-
- return true;
- }
-
- public static String getPackageName(Class<?> clazz) {
- String fullName = clazz.getName();
- return fullName.substring(0, fullName.lastIndexOf("."));
- }
-
- public static boolean isReservedKeyword(String keyword) {
- return reservedKeywords.contains(keyword);
- }
-
- /**
- * Erases a type according to the JLS type erasure rules
- *
- * @param type
- * @return erased type
- */
- public static Class erasure(Type type) {
- if (type instanceof ParameterizedType) {
- return erasure(((ParameterizedType) type).getRawType());
- }
- if (type instanceof TypeVariable) {
- return erasure(((TypeVariable) type).getBounds()[0]);
- }
- if (type instanceof WildcardType) {
- return erasure(((WildcardType) type).getUpperBounds()[0]);
- }
- if (type instanceof GenericArrayType) {
- return Array.newInstance(erasure(((GenericArrayType)
type).getGenericComponentType()), 0).getClass();
- }
-
- // Only type left is class
- return (Class) type;
- }
-
- public static String[] getRawParameterTypeArguments(ParameterizedType type) {
- Type[] arguments = type.getActualTypeArguments();
- String[] ret = new String[arguments.length];
- for (int i = 0; i < arguments.length; i++) {
- Class raw = erasure(arguments[i]);
- ret[i] = raw.getName();
- }
-
- return ret;
- }
-
- /**
- * This method tests for retro translation by searching for a known problem
- * where Class does not implement Type. If this is true, then code must
- * never cast a Class to a Type.
- *
- * @return true if we are in retro
- */
- public static boolean isRetro14() {
- return !(String.class instanceof java.lang.reflect.Type);
- }
-
- /**
- * Tests if this class loader is a JBoss RepositoryClassLoader
- *
- * @param loader
- * @return boolean
- */
- public static boolean isJBossRepositoryClassLoader(ClassLoader loader) {
- Class clazz = loader.getClass();
- while (!clazz.getName().startsWith("java")) {
- if ("org.jboss.mx.loading.RepositoryClassLoader".equals(clazz.getName()))
- return true;
- clazz = clazz.getSuperclass();
- }
-
- return false;
- }
-
- /**
- * Clears black lists on a JBoss RepositoryClassLoader. This is somewhat of
- * a hack, and could be replaced with an integration module. This is needed
- * when the following order of events occur.
- * <ol>
- * <li>loadClass() returns not found</li>
- * <li>Some call to defineClass()</li>
- * <ol>
- * The CNFE triggers a black list addition, which cause the class never
- * again to be found.
- *
- * @param loader
- * the loader to clear black lists for
- */
- public static void clearBlacklists(ClassLoader loader) {
- if (isJBossRepositoryClassLoader(loader)) {
- for (Method m : loader.getClass().getMethods()) {
- if ("clearBlackLists".equalsIgnoreCase(m.getName())) {
- try {
- m.invoke(loader);
- } catch (Exception e) {
- if (log.isDebugEnabled())
- log.debug("Could not clear blacklists on " + loader);
- }
- }
- }
- }
- }
}
Modified: core/trunk/core/src/main/java/org/jboss/wise/core/utils/ReflectionUtils.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/utils/ReflectionUtils.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/utils/ReflectionUtils.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -42,8 +42,7 @@
* @param cl the class to reflect to.
* @return all fields of the provided class
*/
- @SuppressWarnings( "unchecked" )
- public static List<Field> getAllFields( Class cl ) {
+ public static List<Field> getAllFields( Class<?> cl ) {
List<Field> list = new LinkedList<Field>();
for (Field field : cl.getDeclaredFields()) {
if (!"serialVersionUID".equals(field.getName())) {
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/wsextensions/impl/MTOMEnabler.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/wsextensions/impl/MTOMEnabler.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/wsextensions/impl/MTOMEnabler.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -24,7 +24,6 @@
import net.jcip.annotations.Immutable;
import net.jcip.annotations.ThreadSafe;
import org.jboss.wise.core.client.WSDynamicClient;
-import org.jboss.wise.core.client.WSEndpoint;
import org.jboss.wise.core.wsextensions.EnablerDelegate;
import org.jboss.wise.core.wsextensions.WSExtensionEnabler;
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/wsextensions/impl/WSAddressingEnabler.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/wsextensions/impl/WSAddressingEnabler.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/wsextensions/impl/WSAddressingEnabler.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -24,7 +24,6 @@
import net.jcip.annotations.Immutable;
import net.jcip.annotations.ThreadSafe;
import org.jboss.wise.core.client.WSDynamicClient;
-import org.jboss.wise.core.client.WSEndpoint;
import org.jboss.wise.core.wsextensions.EnablerDelegate;
import org.jboss.wise.core.wsextensions.WSExtensionEnabler;
Modified:
core/trunk/core/src/main/java/org/jboss/wise/core/wsextensions/impl/WSRMEnabler.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/core/wsextensions/impl/WSRMEnabler.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/core/wsextensions/impl/WSRMEnabler.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -23,8 +23,8 @@
import net.jcip.annotations.Immutable;
import net.jcip.annotations.ThreadSafe;
+
import org.jboss.wise.core.client.WSDynamicClient;
-import org.jboss.wise.core.client.WSEndpoint;
import org.jboss.wise.core.wsextensions.EnablerDelegate;
import org.jboss.wise.core.wsextensions.WSExtensionEnabler;
Modified:
core/trunk/core/src/main/java/org/jboss/wise/smooks/decoders/DurationDecoder.java
===================================================================
---
core/trunk/core/src/main/java/org/jboss/wise/smooks/decoders/DurationDecoder.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/main/java/org/jboss/wise/smooks/decoders/DurationDecoder.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -32,8 +32,8 @@
/**
* {@link javax.xml.datatype.Duration} data decoder.
* <p/>
- * Decodes the supplied string into a {@link javax.xml.datatype.Duration} String value is
supposed to be millisecs representing
- * this Duaration
+ * Decodes the supplied string into a {@link javax.xml.datatype.Duration} String value is
supposed to be milliseconds representing
+ * this Duration
*/
@DecodeType( Duration.class )
public class DurationDecoder extends DateDecoder implements DataDecoder {
Modified:
core/trunk/core/src/test/java/org/jboss/wise/core/client/impl/reflection/InvocationResultImplTest.java
===================================================================
---
core/trunk/core/src/test/java/org/jboss/wise/core/client/impl/reflection/InvocationResultImplTest.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/test/java/org/jboss/wise/core/client/impl/reflection/InvocationResultImplTest.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -44,21 +44,21 @@
public void shoudReturnAnOriginaObjectsEmptyMapIfNameIsNull() throws Exception {
results = new InvocationResultImpl(null, new Long(1), null);
Map<String, Object> mappedResult = results.getMapRequestAndResult(null,
null);
- assertThat(((Map)mappedResult.get("results")).isEmpty(), is(true));
+ assertThat(((Map<?,?>)mappedResult.get("results")).isEmpty(),
is(true));
}
@Test
public void shoudReturnAnOriginaObjectsEmptyMapIfNameIsEmptyString() throws Exception
{
results = new InvocationResultImpl(" ", new Long(1), null);
Map<String, Object> mappedResult = results.getMapRequestAndResult(null,
null);
- assertThat(((Map)mappedResult.get("results")).isEmpty(), is(true));
+ assertThat(((Map<?,?>)mappedResult.get("results")).isEmpty(),
is(true));
}
@Test
public void shouldReturnOriginalObjectIfMapperIsNull() throws Exception {
results = new InvocationResultImpl("result", new Long(1), null);
Map<String, Object> mappedResult = results.getMapRequestAndResult(null,
null);
-
assertThat((Long)((Map)mappedResult.get("results")).get("result"),
equalTo(new Long(1)));
+
assertThat((Long)((Map<?,?>)mappedResult.get("results")).get("result"),
equalTo(new Long(1)));
}
@@ -70,7 +70,7 @@
map.put("result", new Long(2));
when(mapper.applyMapping(anyObject())).thenReturn(map);
Map<String, Object> mappedResult = results.getMapRequestAndResult(mapper,
null);
- assertThat((Long)((Map)mappedResult).get("result"), equalTo(new
Long(2)));
+ assertThat((Long)((Map<?,?>)mappedResult).get("result"),
equalTo(new Long(2)));
}
@@ -80,7 +80,7 @@
Map<String, Object> inputMap = new HashMap<String, Object>();
inputMap.put("origKey", "origValue");
Map<String, Object> mappedResult = results.getMapRequestAndResult(null,
inputMap);
-
assertThat((Long)((Map)mappedResult.get("results")).get("result"),
equalTo(new Long(1)));
+
assertThat((Long)((Map<?,?>)mappedResult.get("results")).get("result"),
equalTo(new Long(1)));
assertThat((String)mappedResult.get("origKey"),
equalTo("origValue"));
}
@@ -95,7 +95,7 @@
Map<String, Object> inputMap = new HashMap<String, Object>();
inputMap.put("origKey", "origValue");
Map<String, Object> mappedResult = results.getMapRequestAndResult(null,
inputMap);
-
assertThat((Long)((Map)mappedResult.get("results")).get("result"),
equalTo(new Long(1)));
+
assertThat((Long)((Map<?,?>)mappedResult.get("results")).get("result"),
equalTo(new Long(1)));
assertThat((String)mappedResult.get("origKey"),
equalTo("origValue"));
}
Modified:
core/trunk/core/src/test/java/org/jboss/wise/core/client/impl/reflection/WSDynamicClientImplTest.java
===================================================================
---
core/trunk/core/src/test/java/org/jboss/wise/core/client/impl/reflection/WSDynamicClientImplTest.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/test/java/org/jboss/wise/core/client/impl/reflection/WSDynamicClientImplTest.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -69,6 +69,7 @@
when(builder.getClientSpecificTmpDir()).thenReturn("target/temp/foo");
}
+ @SuppressWarnings("unchecked")
@Test
public void shouldInitClassLoader() throws Exception {
WSConsumer consumerMock = mock(WSConsumer.class);
@@ -77,15 +78,16 @@
(File)anyObject(),
(File)anyObject(),
anyString(),
- (List)anyObject(),
+ (List<File>)anyObject(),
(PrintStream)anyObject(),
(File)anyObject())).thenReturn(new
LinkedList<String>());
WSDynamicClientImpl client = new WSDynamicClientImpl(builder, consumerMock);
File expectedOutPutDir = new File("target/temp/foo/classes");
assertThat(client.getClassLoader().getURLs().length, is(1));
- assertThat(client.getClassLoader().getURLs()[0],
equalTo(expectedOutPutDir.toURL()));
+ assertThat(client.getClassLoader().getURLs()[0],
equalTo(expectedOutPutDir.toURI().toURL()));
}
+ @SuppressWarnings("unchecked")
@Test
public void shouldProcessServices() throws Exception {
WSConsumer consumerMock = mock(WSConsumer.class);
@@ -95,7 +97,7 @@
(File)anyObject(),
(File)anyObject(),
anyString(),
- (List)anyObject(),
+ (List<File>)anyObject(),
(PrintStream)anyObject(),
(File)anyObject())).thenReturn(Arrays.asList(classes));
WSDynamicClientImpl client = new WSDynamicClientImpl(builder, consumerMock);
@@ -106,6 +108,7 @@
assertThat(services.keySet(), hasItem("ServiceName2"));
}
+ @SuppressWarnings("unchecked")
@Test
public void testGetMethod() throws Exception {
WSConsumer consumerMock = mock(WSConsumer.class);
@@ -115,7 +118,7 @@
(File)anyObject(),
(File)anyObject(),
anyString(),
- (List)anyObject(),
+ (List<File>)anyObject(),
(PrintStream)anyObject(),
(File)anyObject())).thenReturn(Arrays.asList(classes));
WSDynamicClientImpl client = new WSDynamicClientImpl(builder, consumerMock);
@@ -124,6 +127,7 @@
assertNotNull("Should get WsMethod through getWSMethod api",
wsMethod);
}
+ @SuppressWarnings("unchecked")
@Test( expected = ResourceNotAvailableException.class )
public void missingOperationShouldCaseExceptionThrownOnGetWSMethod() throws Exception
{
WSConsumer consumerMock = mock(WSConsumer.class);
@@ -133,13 +137,14 @@
(File)anyObject(),
(File)anyObject(),
anyString(),
- (List)anyObject(),
+ (List<File>)anyObject(),
(PrintStream)anyObject(),
(File)anyObject())).thenReturn(Arrays.asList(classes));
WSDynamicClientImpl client = new WSDynamicClientImpl(builder, consumerMock);
client.getWSMethod("ServiceName1", "Port1",
"testWrongMethod");
}
+ @SuppressWarnings("unchecked")
@Test( expected = ResourceNotAvailableException.class )
public void missingPortShouldCaseExceptionThrownOnGetWSMethod() throws Exception {
WSConsumer consumerMock = mock(WSConsumer.class);
@@ -149,13 +154,14 @@
(File)anyObject(),
(File)anyObject(),
anyString(),
- (List)anyObject(),
+ (List<File>)anyObject(),
(PrintStream)anyObject(),
(File)anyObject())).thenReturn(Arrays.asList(classes));
WSDynamicClientImpl client = new WSDynamicClientImpl(builder, consumerMock);
client.getWSMethod("ServiceName1", "Port2",
"testMethod");
}
+ @SuppressWarnings("unchecked")
@Test( expected = ResourceNotAvailableException.class )
public void missingServiceShouldCaseExceptionThrownOnGetWSMethod() throws Exception
{
WSConsumer consumerMock = mock(WSConsumer.class);
@@ -165,7 +171,7 @@
(File)anyObject(),
(File)anyObject(),
anyString(),
- (List)anyObject(),
+ (List<File>)anyObject(),
(PrintStream)anyObject(),
(File)anyObject())).thenReturn(Arrays.asList(classes));
WSDynamicClientImpl client = new WSDynamicClientImpl(builder, consumerMock);
Modified:
core/trunk/core/src/test/java/org/jboss/wise/core/client/impl/wsdlResolver/ConnectionTest.java
===================================================================
---
core/trunk/core/src/test/java/org/jboss/wise/core/client/impl/wsdlResolver/ConnectionTest.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/test/java/org/jboss/wise/core/client/impl/wsdlResolver/ConnectionTest.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -33,8 +33,7 @@
import java.net.HttpURLConnection;
import java.net.ProtocolException;
-import sun.misc.BASE64Encoder;
-import
org.jboss.wise.core.client.impl.reflection.builder.ReflectionBasedWSDynamicClientBuilder;
+import org.apache.commons.codec.binary.Base64;
import org.jboss.wise.core.exception.WiseRuntimeException;
import org.junit.Test;
@@ -94,7 +93,7 @@
verify(conn).setRequestProperty("Accept",
"text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5");
verify(conn).setRequestProperty("Connection", "close");
- verify(conn).setRequestProperty("Authorization", "Basic " +
(new BASE64Encoder()).encode("username:password".getBytes()));
+ verify(conn).setRequestProperty("Authorization", "Basic " +
new String(Base64.encodeBase64("username:password".getBytes())));
}
@Test
Modified:
core/trunk/core/src/test/java/org/jboss/wise/core/client/impl/wsdlResolver/WSDLResolverTest.java
===================================================================
---
core/trunk/core/src/test/java/org/jboss/wise/core/client/impl/wsdlResolver/WSDLResolverTest.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/test/java/org/jboss/wise/core/client/impl/wsdlResolver/WSDLResolverTest.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -42,22 +42,22 @@
@Test
public void shouldSaveSimpleWsdl() throws Exception {
- performTest(tmpDir.getAbsolutePath() + File.separator + "SimpleWsdl",
new File("./src/test/resources/testWsdls/Simple/SimpleWsdl.wsdl").toURL());
+ performTest(tmpDir.getAbsolutePath() + File.separator + "SimpleWsdl",
new
File("./src/test/resources/testWsdls/Simple/SimpleWsdl.wsdl").toURI().toURL());
}
@Test
public void shouldSaveWsdlWithWsdlImport() throws Exception {
- performTest(tmpDir.getAbsolutePath() + File.separator + "WsdlWsdl", new
File("./src/test/resources/testWsdls/WsdlImport/WsdlWithWsdlImport.wsdl").toURL());
+ performTest(tmpDir.getAbsolutePath() + File.separator + "WsdlWsdl", new
File("./src/test/resources/testWsdls/WsdlImport/WsdlWithWsdlImport.wsdl").toURI().toURL());
}
@Test
public void shouldSaveWsdlWithSchemaImport() throws Exception {
- performTest(tmpDir.getAbsolutePath() + File.separator + "SchemaWsdl", new
File("./src/test/resources/testWsdls/SchemaImport/WsdlWithSchemaImport.wsdl").toURL());
+ performTest(tmpDir.getAbsolutePath() + File.separator + "SchemaWsdl", new
File("./src/test/resources/testWsdls/SchemaImport/WsdlWithSchemaImport.wsdl").toURI().toURL());
}
@Test
public void shouldSaveWsdlWithSchemaAndWsdlImports() throws Exception {
- performTest(tmpDir.getAbsolutePath() + File.separator + "SchemaAndWsdlWsdl",
new
File("./src/test/resources/testWsdls/SchemaAndWsdlImport/WsdlWithSchemaAndWsdlImport.wsdl").toURL());
+ performTest(tmpDir.getAbsolutePath() + File.separator + "SchemaAndWsdlWsdl",
new
File("./src/test/resources/testWsdls/SchemaAndWsdlImport/WsdlWithSchemaAndWsdlImport.wsdl").toURI().toURL());
}
private void performTest(String testTempDir, URL wsdlURL) throws Exception {
@@ -70,7 +70,6 @@
@Before
public void createTmpDir() throws IOException
{
- System.out.println("Creating tmp dir: " + tmpDir.getPath());
if (tmpDir.exists()) {
tmpDir.delete();
}
Modified: core/trunk/core/src/test/java/org/jboss/wise/core/mapper/SmooksMapperTest.java
===================================================================
---
core/trunk/core/src/test/java/org/jboss/wise/core/mapper/SmooksMapperTest.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/test/java/org/jboss/wise/core/mapper/SmooksMapperTest.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -46,8 +46,6 @@
import org.milyn.Smooks;
import org.milyn.container.ExecutionContext;
-import com.sun.tools.corba.se.idl.constExpr.And;
-
/**
* @author stefano.maestri(a)javalinux.it
*/
@@ -71,10 +69,10 @@
originalObjects.put("external", external);
Map<String, Object> results;
results = mapper.applyMapping(originalObjects);
- Integer integerResult = (Integer)
results.get("complexObject").getClass().getMethod("getNumberField",
null)
- .invoke(results.get("complexObject"), null);
- String stringResult = (String)
results.get("complexObject").getClass().getMethod("getTextField",
null).invoke(results
- .get("complexObject"), null);
+ Integer integerResult = (Integer)
results.get("complexObject").getClass().getMethod("getNumberField")
+ .invoke(results.get("complexObject"));
+ String stringResult = (String)
results.get("complexObject").getClass().getMethod("getTextField").invoke(results
+ .get("complexObject"));
assertThat(integerResult, equalTo(internal.getNumber()));
assertThat(stringResult, equalTo("fooText"));
@@ -95,8 +93,8 @@
originalObjects.put("external", external);
Map<String, Object> results;
results = mapper.applyMapping(originalObjects);
- long returnedTime = ((XMLGregorianCalendar)
results.get("complexObject").getClass().getMethod("getDateField",
null)
- .invoke(results.get("complexObject"),
null)).toGregorianCalendar().getTimeInMillis();
+ long returnedTime = ((XMLGregorianCalendar)
results.get("complexObject").getClass().getMethod("getDateField")
+ .invoke(results.get("complexObject"))).toGregorianCalendar().getTimeInMillis();
assertThat(returnedTime, is(date.getTime()));
Modified:
core/trunk/core/src/test/java/org/jboss/wise/smooks/decoders/JAXBElementDecoderTest.java
===================================================================
---
core/trunk/core/src/test/java/org/jboss/wise/smooks/decoders/JAXBElementDecoderTest.java 2012-06-17
20:39:13 UTC (rev 430)
+++
core/trunk/core/src/test/java/org/jboss/wise/smooks/decoders/JAXBElementDecoderTest.java 2012-06-17
22:59:09 UTC (rev 431)
@@ -28,6 +28,7 @@
decorator.setConfiguration(config);
}
+ @SuppressWarnings("unchecked")
@Test
public void shouldReturnJAXBElementAccordingConfig() {
JAXBElementDecoder decorator = new JAXBElementDecoder();
Modified: core/trunk/pom.xml
===================================================================
--- core/trunk/pom.xml 2012-06-17 20:39:13 UTC (rev 430)
+++ core/trunk/pom.xml 2012-06-17 22:59:09 UTC (rev 431)
@@ -42,13 +42,14 @@
</issueManagement>
<properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<surefire.fork.mode>once</surefire.fork.mode>
<surefire.format>brief</surefire.format>
<surefire.usefile>false</surefire.usefile>
<compile.flags>-Xlint:unchecked,deprecation,fallthrough,finally</compile.flags>
<checkstyle.extension />
<cxf.version>2.4.6</cxf.version> <!-- This should stay in synch
with the one used within the jbossws-cxf being pulled in wise-core-cxf -->
- <compiler.fork>false</compiler.fork>
+ <compiler.fork>false</compiler.fork>
</properties>
<!-- DistributionManagement -->
@@ -348,11 +349,12 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>2.4</version>
<configuration>
- <source>1.5</source>
- <target>1.5</target>
+ <source>1.6</source>
+ <target>1.6</target>
<maxmem>256M</maxmem>
<fork>${compiler.fork}</fork>
<debug>true</debug>
+ <showWarnings>true</showWarnings>
</configuration>
</plugin>
<plugin>