Author: rmannibucau
Date: Wed Jan 9 21:24:31 2013
New Revision: 1431091
URL: http://svn.apache.org/viewvc?rev=1431091&view=rev
Log:
OPENEJB-1986 encoding uri
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cli/Bootstrap.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentModule.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/OpenEJBDeploymentFactory.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/PersistenceModule.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/VmDeploymentFactory.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/security/jaas/ScriptLoginModule.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/UriResolver.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapter.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/IntrospectionSupport.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/LinkResolver.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/URISupport.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/URLs.java
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cli/Bootstrap.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cli/Bootstrap.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cli/Bootstrap.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cli/Bootstrap.java
Wed Jan 9 21:24:31 2013
@@ -17,6 +17,7 @@
package org.apache.openejb.cli;
import org.apache.openejb.loader.SystemClassPath;
+import org.apache.openejb.util.URLs;
import java.io.File;
import java.net.URI;
@@ -56,7 +57,7 @@ public class Bootstrap {
propsString = propsString.substring(0,
propsString.indexOf("!"));
- final URI uri = new URI(propsString);
+ final URI uri = URLs.uri(propsString);
final File jarFile = new File(uri.getSchemeSpecificPart());
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
Wed Jan 9 21:24:31 2013
@@ -55,7 +55,7 @@ import org.apache.openejb.util.LogCatego
import org.apache.openejb.util.Logger;
import org.apache.openejb.util.SuperProperties;
import org.apache.openejb.util.URISupport;
-import org.apache.openejb.util.UniqueDefaultLinkResolver;
+import org.apache.openejb.util.URLs;
import javax.annotation.ManagedBean;
import javax.ejb.TimerService;
@@ -223,12 +223,12 @@ public class AutoConfig implements Dynam
}
for (ClientModule clientModule : appModule.getClientModules()) {
- URI moduleURI = URI.create(clientModule.getModuleId());
+ URI moduleURI = URLs.uri(clientModule.getModuleId());
processPersistenceRefs(clientModule.getApplicationClient(),
clientModule, persistenceUnits, moduleURI);
}
for (WebModule webModule : appModule.getWebModules()) {
- URI moduleURI = URI.create(webModule.getModuleId());
+ URI moduleURI = URLs.uri(webModule.getModuleId());
processPersistenceRefs(webModule.getWebApp(), webModule,
persistenceUnits, moduleURI);
}
}
@@ -332,7 +332,7 @@ public class AutoConfig implements Dynam
List<String> possibleUnits = new ArrayList<String>();
for (PersistenceUnit persistenceUnit :
persistenceUnits.values()) {
try {
- URI unitURI = URI.create(persistenceUnit.getId());
+ URI unitURI = URLs.uri(persistenceUnit.getId());
unitURI = URISupport.relativize(moduleURI,
unitURI);
possibleUnits.add(unitURI.toString());
} catch (Exception e) {
@@ -579,7 +579,7 @@ public class AutoConfig implements Dynam
}
for (WebModule webModule : appModule.getWebModules()) {
- URI moduleUri = URI.create(webModule.getModuleId());
+ URI moduleUri = URLs.uri(webModule.getModuleId());
for (MessageDestinationRef ref :
webModule.getWebApp().getMessageDestinationRef()) {
String destinationId = resolveDestinationId(ref, moduleUri,
destinationResolver, destinationTypes);
if (destinationId != null) {
@@ -598,7 +598,7 @@ public class AutoConfig implements Dynam
continue;
}
- URI moduleUri = URI.create(ejbModule.getModuleId());
+ URI moduleUri = URLs.uri(ejbModule.getModuleId());
OpenejbJar openejbJar = ejbModule.getOpenejbJar();
for (EnterpriseBean bean :
ejbModule.getEjbJar().getEnterpriseBeans()) {
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
Wed Jan 9 21:24:31 2013
@@ -19,7 +19,34 @@ package org.apache.openejb.config;
import org.apache.openejb.OpenEJBException;
import org.apache.openejb.Vendor;
import org.apache.openejb.api.Proxy;
-import org.apache.openejb.assembler.classic.*;
+import org.apache.openejb.assembler.classic.AppInfo;
+import org.apache.openejb.assembler.classic.Assembler;
+import org.apache.openejb.assembler.classic.BmpEntityContainerInfo;
+import org.apache.openejb.assembler.classic.ClientInfo;
+import org.apache.openejb.assembler.classic.CmpEntityContainerInfo;
+import org.apache.openejb.assembler.classic.ConnectionManagerInfo;
+import org.apache.openejb.assembler.classic.ConnectorInfo;
+import org.apache.openejb.assembler.classic.ContainerInfo;
+import org.apache.openejb.assembler.classic.ContainerSystemInfo;
+import org.apache.openejb.assembler.classic.DeploymentExceptionManager;
+import org.apache.openejb.assembler.classic.EjbJarInfo;
+import org.apache.openejb.assembler.classic.FacilitiesInfo;
+import org.apache.openejb.assembler.classic.HandlerChainInfo;
+import org.apache.openejb.assembler.classic.HandlerInfo;
+import org.apache.openejb.assembler.classic.JndiContextInfo;
+import org.apache.openejb.assembler.classic.ManagedContainerInfo;
+import org.apache.openejb.assembler.classic.MdbContainerInfo;
+import org.apache.openejb.assembler.classic.OpenEjbConfiguration;
+import org.apache.openejb.assembler.classic.OpenEjbConfigurationFactory;
+import org.apache.openejb.assembler.classic.ProxyFactoryInfo;
+import org.apache.openejb.assembler.classic.ResourceInfo;
+import org.apache.openejb.assembler.classic.SecurityServiceInfo;
+import org.apache.openejb.assembler.classic.ServiceInfo;
+import org.apache.openejb.assembler.classic.SingletonSessionContainerInfo;
+import org.apache.openejb.assembler.classic.StatefulSessionContainerInfo;
+import org.apache.openejb.assembler.classic.StatelessSessionContainerInfo;
+import org.apache.openejb.assembler.classic.TransactionServiceInfo;
+import org.apache.openejb.assembler.classic.WebAppInfo;
import org.apache.openejb.component.ClassLoaderEnricher;
import org.apache.openejb.config.sys.AbstractService;
import org.apache.openejb.config.sys.AdditionalDeployments;
@@ -630,7 +657,7 @@ public class ConfigurationFactory implem
// value = value.replaceFirst("(.)#", "$1%23");
value = value.replaceFirst("(provider=[^#=&]+)#", "$1%23");
- final URI uri = new URI(value);
+ final URI uri = URLs.uri(value);
return toConfigDeclaration(name, uri);
}
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentModule.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentModule.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentModule.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentModule.java
Wed Jan 9 21:24:31 2013
@@ -18,6 +18,7 @@ package org.apache.openejb.config;
import org.apache.openejb.jee.NamedModule;
import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.util.URLs;
import java.io.File;
import java.net.URI;
@@ -84,7 +85,7 @@ public interface DeploymentModule {
private URI uri(final URI uri, final File location, final String name)
{
if (uri != null) return uri;
if (location != null) return location.toURI();
- return URI.create(name);
+ return URLs.uri(name);
}
private File location(final File location, final URI uri) {
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
Wed Jan 9 21:24:31 2013
@@ -16,13 +16,6 @@
*/
package org.apache.openejb.config;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
import org.apache.openejb.OpenEJBException;
import org.apache.openejb.assembler.classic.AppInfo;
import org.apache.openejb.assembler.classic.ContextReferenceInfo;
@@ -65,6 +58,14 @@ import org.apache.openejb.loader.SystemI
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
import org.apache.openejb.util.Messages;
+import org.apache.openejb.util.URLs;
+
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
import static org.apache.openejb.assembler.classic.EjbResolver.Scope.EAR;
import static org.apache.openejb.assembler.classic.EjbResolver.Scope.EJBJAR;
@@ -363,7 +364,7 @@ public class JndiEncInfoBuilder {
String name = mappedName.substring(5);
if(name.startsWith("ext://")) {
- final URI uri = URI.create(name);
+ final URI uri = URLs.uri(name);
location.jndiProviderId = uri.getHost();
location.jndiName = uri.getPath();
} else {
@@ -393,11 +394,7 @@ public class JndiEncInfoBuilder {
URI moduleUri = null;
if (moduleId != null) {
- try {
- moduleUri = new URI(moduleId);
- } catch (URISyntaxException e) {
- throw new OpenEJBException("Illegal moduleId " + moduleId, e);
- }
+ moduleUri = URLs.uri(moduleId);
}
EjbResolver ejbResolver = getEjbResolver(moduleId);
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/OpenEJBDeploymentFactory.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/OpenEJBDeploymentFactory.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/OpenEJBDeploymentFactory.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/OpenEJBDeploymentFactory.java
Wed Jan 9 21:24:31 2013
@@ -16,11 +16,12 @@
*/
package org.apache.openejb.config;
+import org.apache.openejb.util.URLs;
+
import javax.enterprise.deploy.spi.DeploymentManager;
import
javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException;
import javax.enterprise.deploy.spi.factories.DeploymentFactory;
import java.net.URI;
-import java.net.URISyntaxException;
/**
* @version $Rev$ $Date$
@@ -58,12 +59,8 @@ public class OpenEJBDeploymentFactory im
}
public boolean handlesURI(String uri) {
- try {
- URI fullUri = new URI(uri);
- return
OpenEJBDeploymentFactory.URI_SCHEME.equals(fullUri.getScheme());
- } catch (URISyntaxException e) {
- return false;
- }
+ final URI fullUri = URLs.uri(uri);
+ return OpenEJBDeploymentFactory.URI_SCHEME.equals(fullUri.getScheme());
}
public DeploymentManager getDisconnectedDeploymentManager(String uri)
throws DeploymentManagerCreationException {
@@ -97,17 +94,12 @@ public class OpenEJBDeploymentFactory im
}
private URI getProtocolUri(String uri) {
- try {
- URI fullUri = new URI(uri);
- if
(!OpenEJBDeploymentFactory.URI_SCHEME.equals(fullUri.getScheme())) {
- return null;
- }
-
- URI protocolUri = new URI(fullUri.getSchemeSpecificPart());
- return protocolUri;
- } catch (URISyntaxException e) {
+ final URI fullUri = URLs.uri(uri);
+ if (!OpenEJBDeploymentFactory.URI_SCHEME.equals(fullUri.getScheme())) {
return null;
}
+
+ return URLs.uri(fullUri.getSchemeSpecificPart());
}
// public static void main(String[] args) {
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/PersistenceModule.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/PersistenceModule.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/PersistenceModule.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/PersistenceModule.java
Wed Jan 9 21:24:31 2013
@@ -17,6 +17,7 @@
package org.apache.openejb.config;
import org.apache.openejb.jee.jpa.unit.Persistence;
+import org.apache.openejb.util.URLs;
import java.io.File;
import java.net.URI;
@@ -48,7 +49,7 @@ public class PersistenceModule implement
public void setRootUrl(String rootUrl) {
this.rootUrl = rootUrl;
- this.uri = URI.create(rootUrl);
+ this.uri = URLs.uri(rootUrl);
}
public Persistence getPersistence() {
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/VmDeploymentFactory.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/VmDeploymentFactory.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/VmDeploymentFactory.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/VmDeploymentFactory.java
Wed Jan 9 21:24:31 2013
@@ -16,11 +16,12 @@
*/
package org.apache.openejb.config;
+import org.apache.openejb.util.URLs;
+
import javax.enterprise.deploy.spi.DeploymentManager;
import
javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException;
import javax.enterprise.deploy.spi.factories.DeploymentFactory;
import java.net.URI;
-import java.net.URISyntaxException;
/**
* @version $Rev$ $Date$
@@ -37,12 +38,8 @@ public class VmDeploymentFactory impleme
}
public boolean handlesURI(String uri) {
- try {
- URI fullUri = new URI(uri);
- return URI_SCHEME.equals(fullUri.getScheme());
- } catch (URISyntaxException e) {
- return false;
- }
+ URI fullUri = URLs.uri(uri);
+ return URI_SCHEME.equals(fullUri.getScheme());
}
public DeploymentManager getDisconnectedDeploymentManager(String uri)
throws DeploymentManagerCreationException {
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java
Wed Jan 9 21:24:31 2013
@@ -19,6 +19,7 @@ package org.apache.openejb.config;
import org.apache.openejb.OpenEJBException;
import org.apache.openejb.core.webservices.JaxWsUtils;
import org.apache.openejb.jee.EnterpriseBean;
+import org.apache.openejb.jee.HandlerChains;
import org.apache.openejb.jee.JndiConsumer;
import org.apache.openejb.jee.PortComponent;
import org.apache.openejb.jee.ServiceImplBean;
@@ -30,20 +31,18 @@ import org.apache.openejb.jee.SessionTyp
import org.apache.openejb.jee.WebApp;
import org.apache.openejb.jee.WebserviceDescription;
import org.apache.openejb.jee.Webservices;
-import org.apache.openejb.jee.HandlerChains;
import org.apache.openejb.jee.oejb3.EjbDeployment;
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
+import org.apache.openejb.util.URLs;
+import javax.jws.HandlerChain;
import javax.wsdl.Definition;
import javax.wsdl.Port;
import javax.wsdl.extensions.http.HTTPAddress;
import javax.wsdl.extensions.soap.SOAPAddress;
import javax.xml.namespace.QName;
-import javax.xml.ws.BindingType;
-import javax.xml.ws.WebServiceProvider;
import javax.xml.ws.soap.SOAPBinding;
-import javax.jws.HandlerChain;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URI;
@@ -415,11 +414,11 @@ public class WsDeployer implements Dynam
for (Object element : port.getExtensibilityElements()) {
if (element instanceof SOAPAddress) {
SOAPAddress soapAddress = (SOAPAddress) element;
- URI uri = new URI(soapAddress.getLocationURI());
+ URI uri = URLs.uri(soapAddress.getLocationURI());
return uri.getPath();
} else if (element instanceof HTTPAddress) {
HTTPAddress httpAddress = (HTTPAddress) element;
- URI uri = new URI(httpAddress.getLocationURI());
+ URI uri = URLs.uri(httpAddress.getLocationURI());
return uri.getPath();
}
}
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/security/jaas/ScriptLoginModule.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/security/jaas/ScriptLoginModule.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/security/jaas/ScriptLoginModule.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/security/jaas/ScriptLoginModule.java
Wed Jan 9 21:24:31 2013
@@ -18,19 +18,33 @@ package org.apache.openejb.core.security
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
+import org.apache.openejb.util.URLs;
-import javax.script.*;
+import javax.script.Bindings;
+import javax.script.ScriptContext;
+import javax.script.ScriptEngine;
+import javax.script.ScriptEngineManager;
+import javax.script.ScriptException;
+import javax.script.SimpleScriptContext;
import javax.security.auth.Subject;
-import javax.security.auth.callback.*;
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.NameCallback;
+import javax.security.auth.callback.PasswordCallback;
+import javax.security.auth.callback.UnsupportedCallbackException;
import javax.security.auth.login.LoginException;
import javax.security.auth.spi.LoginModule;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
-import java.net.MalformedURLException;
import java.net.URI;
import java.security.Principal;
-import java.util.*;
+import java.util.HashSet;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Scanner;
+import java.util.Set;
public class ScriptLoginModule implements LoginModule {
private static Logger log =
Logger.getInstance(LogCategory.OPENEJB_SECURITY,
"org.apache.openejb.util.resources");
@@ -98,7 +112,7 @@ public class ScriptLoginModule implement
}
try {
- final URI uri = URI.create(path);
+ final URI uri = URLs.uri(path);
final File result = new File(uri);
if (result.exists()) {
return result;
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/UriResolver.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/UriResolver.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/UriResolver.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/UriResolver.java
Wed Jan 9 21:24:31 2013
@@ -19,7 +19,7 @@ package org.apache.openejb.core.webservi
import org.apache.openejb.OpenEJBRuntimeException;
import org.apache.openejb.loader.IO;
import org.apache.openejb.util.Base64;
-import org.apache.xbean.finder.archive.FileArchive;
+import org.apache.openejb.util.URLs;
import java.io.File;
import java.io.FileInputStream;
@@ -31,6 +31,7 @@ import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
+import java.net.URLEncoder;
/**
* Resolves a File, classpath resource, or URL according to the follow rules:
@@ -94,78 +95,74 @@ public class UriResolver {
private void tryFileSystem(String baseUriStr, String uriStr) throws
IOException, MalformedURLException {
- try {
- URI relative;
- File uriFile = new File(uriStr);
- uriFile = new File(uriFile.getAbsolutePath());
+ URI relative;
+ File uriFile = new File(uriStr);
+ uriFile = new File(uriFile.getAbsolutePath());
- if (uriFile.exists()) {
- relative = uriFile.toURI();
- } else {
- relative = new URI(uriStr.replace(" ", "%20"));
- }
+ if (uriFile.exists()) {
+ relative = uriFile.toURI();
+ } else {
+ relative = URLs.uri(uriStr.replace(" ", "%20"));
+ }
- if (relative.isAbsolute()) {
- uri = relative;
- url = relative.toURL();
+ if (relative.isAbsolute()) {
+ uri = relative;
+ url = relative.toURL();
- try {
- HttpURLConnection huc =
(HttpURLConnection)url.openConnection();
+ try {
+ HttpURLConnection huc =
(HttpURLConnection)url.openConnection();
- String host = System.getProperty("http.proxyHost");
- if (host != null) {
- //comment out unused port to pass pmd check
- /*String ports = System.getProperty("http.proxyPort");
- int port = 80;
- if (ports != null) {
- port = Integer.parseInt(ports);
- }*/
-
- String username =
System.getProperty("http.proxy.user");
- String password =
System.getProperty("http.proxy.password");
-
- if (username != null && password != null) {
- String encoded = new
String(Base64.encodeBase64((username + ":" + password).getBytes()));
- huc.setRequestProperty("Proxy-Authorization",
"Basic " + encoded);
- }
+ String host = System.getProperty("http.proxyHost");
+ if (host != null) {
+ //comment out unused port to pass pmd check
+ /*String ports = System.getProperty("http.proxyPort");
+ int port = 80;
+ if (ports != null) {
+ port = Integer.parseInt(ports);
+ }*/
+
+ String username = System.getProperty("http.proxy.user");
+ String password =
System.getProperty("http.proxy.password");
+
+ if (username != null && password != null) {
+ String encoded = new
String(Base64.encodeBase64((username + ":" + password).getBytes()));
+ huc.setRequestProperty("Proxy-Authorization", "Basic "
+ encoded);
}
- is = huc.getInputStream();
- } catch (ClassCastException ex) {
- is = IO.read(url);
}
- } else if (baseUriStr != null) {
- URI base;
- File baseFile = new File(baseUriStr);
+ is = huc.getInputStream();
+ } catch (ClassCastException ex) {
+ is = IO.read(url);
+ }
+ } else if (baseUriStr != null) {
+ URI base;
+ File baseFile = new File(baseUriStr);
- if (!baseFile.exists() && baseUriStr.startsWith("file:/")) {
- baseFile = new File(baseUriStr.substring(6));
- }
+ if (!baseFile.exists() && baseUriStr.startsWith("file:/")) {
+ baseFile = new File(baseUriStr.substring(6));
+ }
- if (baseFile.exists()) {
- base = baseFile.toURI();
- } else {
- base = new URI(baseUriStr);
- }
+ if (baseFile.exists()) {
+ base = baseFile.toURI();
+ } else {
+ base = URLs.uri(baseUriStr);
+ }
- base = base.resolve(relative);
- if (base.isAbsolute()) {
- try {
- baseFile = new File(base);
- if (baseFile.exists()) {
- is = IO.read(base.toURL());
- uri = base;
- } else {
- tryClasspath(base.toString().startsWith("file:")
- ? base.toString().substring(5) :
base.toString());
- }
- } catch (Throwable th) {
+ base = base.resolve(relative);
+ if (base.isAbsolute()) {
+ try {
+ baseFile = new File(base);
+ if (baseFile.exists()) {
+ is = IO.read(base.toURL());
+ uri = base;
+ } else {
tryClasspath(base.toString().startsWith("file:")
? base.toString().substring(5) :
base.toString());
}
+ } catch (Throwable th) {
+ tryClasspath(base.toString().startsWith("file:")
+ ? base.toString().substring(5) :
base.toString());
}
}
- } catch (URISyntaxException e) {
- // do nothing
}
if (uri != null && "file".equals(uri.getScheme())) {
@@ -200,19 +197,15 @@ public class UriResolver {
String jarBase = baseStr.substring(0, i + 1);
String jarEntry = baseStr.substring(i + 1);
- try {
- URI u = new URI(jarEntry).resolve(uriStr);
+ URI u = URLs.uri(jarEntry).resolve(uriStr);
- tryJar(jarBase + u.toString());
+ tryJar(jarBase + u.toString());
- if (is != null) {
- if (u.isAbsolute()) {
- url = u.toURL();
- }
- return;
+ if (is != null) {
+ if (u.isAbsolute()) {
+ url = u.toURL();
}
- } catch (URISyntaxException e) {
- // do nothing
+ return;
}
tryFileSystem("", uriStr);
@@ -254,11 +247,7 @@ public class UriResolver {
if (urlStr.startsWith("jar:")) {
int pos = urlStr.indexOf('!');
if (pos != -1) {
- try {
- uri = new URI("classpath:" + urlStr.substring(pos
+ 1));
- } catch (URISyntaxException ue) {
- // ignore
- }
+ uri = URLs.uri("classpath:" + urlStr.substring(pos +
1));
}
}
@@ -269,13 +258,11 @@ public class UriResolver {
private void tryRemote(String uriStr) throws IOException {
try {
- url = new URL(uriStr);
- uri = new URI(url.toString());
+ url = new URL(URLEncoder.encode(uriStr, "UTF-8"));
+ uri = URLs.uri(url.toString());
is = IO.read(url);
} catch (MalformedURLException e) {
// do nothing
- } catch (URISyntaxException e) {
- // do nothing
}
}
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
Wed Jan 9 21:24:31 2013
@@ -17,6 +17,7 @@
package org.apache.openejb.persistence;
+import org.apache.openejb.util.URLs;
import org.apache.openejb.util.classloader.URLClassLoaderFirst;
import javax.persistence.SharedCacheMode;
@@ -220,7 +221,7 @@ public class PersistenceUnitInfoImpl imp
public void setRootUrlAndJarUrls(String persistenceUnitRootUrl,
List<String> jarFiles) throws MalformedURLException {
File root;
try{
- final URI rootUri = URI.create(persistenceUnitRootUrl);
+ final URI rootUri = URLs.uri(persistenceUnitRootUrl);
root = new File(rootUri);
} catch (IllegalArgumentException e) {
root = new File(persistenceUnitRootUrl);
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java
Wed Jan 9 21:24:31 2013
@@ -24,6 +24,7 @@ import org.apache.activemq.store.memory.
import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.spi.ContainerSystem;
import org.apache.openejb.util.LogCategory;
+import org.apache.openejb.util.URLs;
import javax.naming.Context;
import javax.naming.NamingException;
@@ -57,7 +58,7 @@ public class ActiveMQ5Factory implements
if (null == broker || !broker.isStarted()) {
final Properties properties = getLowerCaseProperties();
- final URI uri = new URI(brokerURI.getRawSchemeSpecificPart());
+ final URI uri = URLs.uri(brokerURI.getRawSchemeSpecificPart());
broker = BrokerFactory.createBroker(uri);
brokers.put(brokerURI, broker);
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapter.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapter.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapter.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapter.java
Wed Jan 9 21:24:31 2013
@@ -20,11 +20,11 @@ import org.apache.activemq.broker.Broker
import org.apache.openejb.util.Duration;
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.URISupport;
+import org.apache.openejb.util.URLs;
import javax.resource.spi.BootstrapContext;
import javax.resource.spi.ResourceAdapterInternalException;
import java.lang.reflect.Method;
-import java.net.URI;
import java.net.URISyntaxException;
import java.util.Collection;
import java.util.Iterator;
@@ -96,7 +96,7 @@ public class ActiveMQResourceAdapter ext
if (brokerXmlConfig.startsWith("broker:")) {
- final URISupport.CompositeData compositeData =
URISupport.parseComposite(new URI(brokerXmlConfig));
+ final URISupport.CompositeData compositeData =
URISupport.parseComposite(URLs.uri(brokerXmlConfig));
if
(!compositeData.getParameters().containsKey("persistent")) {
//Override default - Which is 'true'
@@ -123,7 +123,7 @@ public class ActiveMQResourceAdapter ext
try {
//The returned broker should be started, but calling start is
harmless.
//We do not need to track the instance as the factory takes care
of this.
-
ActiveMQFactory.createBroker(URI.create(getBrokerXmlConfig())).start();
+
ActiveMQFactory.createBroker(URLs.uri(getBrokerXmlConfig())).start();
} catch (Exception e) {
org.apache.openejb.util.Logger.getInstance(LogCategory.OPENEJB_STARTUP,
ActiveMQResourceAdapter.class).getChildLogger("service").fatal("Failed to start
ActiveMQ", e);
} finally {
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/IntrospectionSupport.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/IntrospectionSupport.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/IntrospectionSupport.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/IntrospectionSupport.java
Wed Jan 9 21:24:31 2013
@@ -29,8 +29,8 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
-import java.util.Set;
import java.util.Map.Entry;
+import java.util.Set;
public class IntrospectionSupport {
@@ -171,7 +171,7 @@ public class IntrospectionSupport {
return editor.getValue();
}
if (type == URI.class) {
- return new URI(value.toString());
+ return URLs.uri(value.toString());
}
return null;
}
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/LinkResolver.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/LinkResolver.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/LinkResolver.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/LinkResolver.java
Wed Jan 9 21:24:31 2013
@@ -16,8 +16,6 @@
*/
package org.apache.openejb.util;
-import org.apache.xbean.finder.archive.FileArchive;
-
import java.net.URI;
import java.util.ArrayList;
import java.util.Collection;
@@ -31,7 +29,7 @@ public class LinkResolver<E> {
private final Map<String, Collection<E>> byShortName = new TreeMap<String,
Collection<E>>();
public boolean add(String modulePackageName, String name, E value) {
- return add(URI.create(modulePackageName), name, value);
+ return add(URLs.uri(modulePackageName), name, value);
}
public boolean add(URI moduleURI, String name, E value) {
@@ -71,7 +69,7 @@ public class LinkResolver<E> {
}
public E resolveLink(String link, String modulePackageName) {
- URI moduleURI = URI.create(modulePackageName);
+ URI moduleURI = URLs.uri(modulePackageName);
return resolveLink(link, moduleURI);
}
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/URISupport.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/URISupport.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/URISupport.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/URISupport.java
Wed Jan 9 21:24:31 2013
@@ -146,7 +146,7 @@ public class URISupport {
sb.append("#");
sb.append(fragment);
}
- return new URI(sb.toString());
+ return URLs.uri(sb.toString());
}
}
@@ -286,7 +286,7 @@ public class URISupport {
}
public static URI stripScheme(URI uri) throws URISyntaxException {
- return new URI(stripPrefix(uri.getRawSchemeSpecificPart().trim(),
"//"));
+ return URLs.uri(stripPrefix(uri.getRawSchemeSpecificPart().trim(),
"//"));
}
public static String createQueryString(Map options) throws
URISyntaxException {
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/URLs.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/URLs.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/URLs.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/URLs.java
Wed Jan 9 21:24:31 2013
@@ -21,8 +21,11 @@ import static org.apache.openejb.loader.
import java.io.File;
import java.io.IOException;
+import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
+import java.net.URI;
import java.net.URL;
+import java.net.URLEncoder;
import org.apache.xbean.finder.UrlSet;
@@ -104,5 +107,13 @@ public class URLs {
return urls;
}
+ public static URI uri(final String uri) {
+ try {
+ return URI.create(URLEncoder.encode(uri, "UTF-8"));
+ } catch (UnsupportedEncodingException e) {
+ return URI.create(URLEncoder.encode(uri)); // will not occur
normally
+ }
+ }
+
private URLs() { }
}
Modified:
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java?rev=1431091&r1=1431090&r2=1431091&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java
(original)
+++
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java
Wed Jan 9 21:24:31 2013
@@ -54,6 +54,7 @@ import org.apache.openejb.persistence.Jt
import org.apache.openejb.persistence.JtaEntityManagerRegistry;
import org.apache.openejb.spi.ContainerSystem;
import org.apache.openejb.util.Contexts;
+import org.apache.openejb.util.URLs;
import org.apache.tomee.common.EjbFactory;
import org.apache.tomee.common.EnumFactory;
import org.apache.tomee.common.LookupFactory;
@@ -80,7 +81,6 @@ import javax.transaction.TransactionSync
import javax.transaction.UserTransaction;
import java.net.MalformedURLException;
import java.net.URI;
-import java.net.URISyntaxException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
@@ -135,14 +135,8 @@ public class TomcatJndiBuilder {
public void mergeJndi() throws OpenEJBException {
- NamingResources naming = standardContext.getNamingResources();
-
- URI moduleUri;
- try {
- moduleUri = new URI(webAppInfo.moduleId);
- } catch (URISyntaxException e) {
- throw new OpenEJBException(e);
- }
+ final NamingResources naming = standardContext.getNamingResources();
+ final URI moduleUri = URLs.uri(webAppInfo.moduleId);
for (EnvEntryInfo ref : webAppInfo.jndiEnc.envEntries) {
mergeRef(naming, ref);