Skip to content

Commit

Permalink
Merge pull request #110 from dmlloyd/modules-256
Browse files Browse the repository at this point in the history
[MODULES-256] Deprecate ModuleIdentifier
  • Loading branch information
dmlloyd committed Oct 20, 2016
2 parents 69929c7 + 238116d commit b747892
Show file tree
Hide file tree
Showing 52 changed files with 1,080 additions and 518 deletions.
5 changes: 5 additions & 0 deletions src/main/java/__redirected/__DatatypeFactory.java
Expand Up @@ -72,7 +72,12 @@ public final class __DatatypeFactory extends DatatypeFactory {
}
}

@Deprecated
public static void changeDefaultFactory(ModuleIdentifier id, ModuleLoader loader) {
changeDefaultFactory(id.toString(), loader);
}

public static void changeDefaultFactory(String id, ModuleLoader loader) {
Class<? extends DatatypeFactory> clazz = __RedirectedUtils.loadProvider(id, DatatypeFactory.class, loader);
if (clazz != null) {
try {
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/__redirected/__DocumentBuilderFactory.java
Expand Up @@ -72,7 +72,12 @@ public final class __DocumentBuilderFactory extends DocumentBuilderFactory {
*/
public static void init() {}

@Deprecated
public static void changeDefaultFactory(ModuleIdentifier id, ModuleLoader loader) {
changeDefaultFactory(id.toString(), loader);
}

public static void changeDefaultFactory(String id, ModuleLoader loader) {
Class<? extends DocumentBuilderFactory> clazz = __RedirectedUtils.loadProvider(id, DocumentBuilderFactory.class, loader);
if (clazz != null) {
try {
Expand Down
34 changes: 24 additions & 10 deletions src/main/java/__redirected/__JAXPRedirected.java
Expand Up @@ -34,18 +34,32 @@ public class __JAXPRedirected {
*
* @param id the id for the jaxp module
* @param loader the loader containing the jaxp module
* @deprecated Use {@link #changeAll(String, ModuleLoader)} instead.
*/
@Deprecated
public static void changeAll(ModuleIdentifier id, ModuleLoader loader) {
__DocumentBuilderFactory.changeDefaultFactory(id, loader);
__SAXParserFactory.changeDefaultFactory(id, loader);
__TransformerFactory.changeDefaultFactory(id, loader);
__XPathFactory.changeDefaultFactory(id, loader);
__XMLEventFactory.changeDefaultFactory(id, loader);
__XMLInputFactory.changeDefaultFactory(id, loader);
__XMLOutputFactory.changeDefaultFactory(id, loader);
__DatatypeFactory.changeDefaultFactory(id, loader);
__SchemaFactory.changeDefaultFactory(id, loader);
__XMLReaderFactory.changeDefaultFactory(id, loader);
changeAll(id.toString(), loader);
}

/**
* Change all provided factories to the ones contained in the
* specified module using the standard META-INF/services lookup
* pattern.
*
* @param name the name for the jaxp module
* @param loader the loader containing the jaxp module
*/
public static void changeAll(String name, ModuleLoader loader) {
__DocumentBuilderFactory.changeDefaultFactory(name, loader);
__SAXParserFactory.changeDefaultFactory(name, loader);
__TransformerFactory.changeDefaultFactory(name, loader);
__XPathFactory.changeDefaultFactory(name, loader);
__XMLEventFactory.changeDefaultFactory(name, loader);
__XMLInputFactory.changeDefaultFactory(name, loader);
__XMLOutputFactory.changeDefaultFactory(name, loader);
__DatatypeFactory.changeDefaultFactory(name, loader);
__SchemaFactory.changeDefaultFactory(name, loader);
__XMLReaderFactory.changeDefaultFactory(name, loader);
}

/**
Expand Down
5 changes: 2 additions & 3 deletions src/main/java/__redirected/__RedirectedUtils.java
Expand Up @@ -31,7 +31,6 @@

import org.jboss.modules.Module;
import org.jboss.modules.ModuleClassLoader;
import org.jboss.modules.ModuleIdentifier;
import org.jboss.modules.ModuleLoadException;
import org.jboss.modules.ModuleLoader;
import org.jboss.modules.log.ModuleLogger;
Expand Down Expand Up @@ -78,11 +77,11 @@ static <E extends Throwable> E wrapped(E e, Throwable orig) {
return e;
}

static <T> Class<? extends T> loadProvider(ModuleIdentifier id, Class<T> intf, ModuleLoader moduleLoader) {
static <T> Class<? extends T> loadProvider(String id, Class<T> intf, ModuleLoader moduleLoader) {
return loadProvider(id, intf, moduleLoader, null);
}

static <T> Class<? extends T> loadProvider(ModuleIdentifier id, Class<T> intf, ModuleLoader moduleLoader, String name) {
static <T> Class<? extends T> loadProvider(String id, Class<T> intf, ModuleLoader moduleLoader, String name) {
Module module;
try {
module = moduleLoader.loadModule(id);
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/__redirected/__SAXParserFactory.java
Expand Up @@ -70,7 +70,12 @@ public final class __SAXParserFactory extends SAXParserFactory {
}
}

@Deprecated
public static void changeDefaultFactory(ModuleIdentifier id, ModuleLoader loader) {
changeDefaultFactory(id.toString(), loader);
}

public static void changeDefaultFactory(String id, ModuleLoader loader) {
Class<? extends SAXParserFactory> clazz = __RedirectedUtils.loadProvider(id, SAXParserFactory.class, loader);
if (clazz != null) {
try {
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/__redirected/__SchemaFactory.java
Expand Up @@ -74,7 +74,12 @@ public final class __SchemaFactory extends SchemaFactory {
}
}

@Deprecated
public static void changeDefaultFactory(ModuleIdentifier id, ModuleLoader loader) {
changeDefaultFactory(id.toString(), loader);
}

public static void changeDefaultFactory(String id, ModuleLoader loader) {
Class<? extends SchemaFactory> clazz = __RedirectedUtils.loadProvider(id, SchemaFactory.class, loader);
if (clazz != null) {
try {
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/__redirected/__TransformerFactory.java
Expand Up @@ -74,7 +74,12 @@ public final class __TransformerFactory extends SAXTransformerFactory {
}
}

@Deprecated
public static void changeDefaultFactory(ModuleIdentifier id, ModuleLoader loader) {
changeDefaultFactory(id.toString(), loader);
}

public static void changeDefaultFactory(String id, ModuleLoader loader) {
Class<? extends TransformerFactory> clazz = __RedirectedUtils.loadProvider(id, TransformerFactory.class, loader);
if (clazz != null) {
try {
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/__redirected/__XMLEventFactory.java
Expand Up @@ -81,7 +81,12 @@ public final class __XMLEventFactory extends XMLEventFactory {
}
}

@Deprecated
public static void changeDefaultFactory(ModuleIdentifier id, ModuleLoader loader) {
changeDefaultFactory(id.toString(), loader);
}

public static void changeDefaultFactory(String id, ModuleLoader loader) {
Class<? extends XMLEventFactory> clazz = __RedirectedUtils.loadProvider(id, XMLEventFactory.class, loader);
if (clazz != null) {
try {
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/__redirected/__XMLInputFactory.java
Expand Up @@ -75,7 +75,12 @@ public final class __XMLInputFactory extends XMLInputFactory {
}
}

@Deprecated
public static void changeDefaultFactory(ModuleIdentifier id, ModuleLoader loader) {
changeDefaultFactory(id.toString(), loader);
}

public static void changeDefaultFactory(String id, ModuleLoader loader) {
Class<? extends XMLInputFactory> clazz = __RedirectedUtils.loadProvider(id, XMLInputFactory.class, loader);
if (clazz != null) {
try {
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/__redirected/__XMLOutputFactory.java
Expand Up @@ -70,7 +70,12 @@ public final class __XMLOutputFactory extends XMLOutputFactory {
}
}

@Deprecated
public static void changeDefaultFactory(ModuleIdentifier id, ModuleLoader loader) {
changeDefaultFactory(id.toString(), loader);
}

public static void changeDefaultFactory(String id, ModuleLoader loader) {
Class<? extends XMLOutputFactory> clazz = __RedirectedUtils.loadProvider(id, XMLOutputFactory.class, loader);
if (clazz != null) {
try {
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/__redirected/__XMLReaderFactory.java
Expand Up @@ -82,7 +82,12 @@ public final class __XMLReaderFactory implements XMLReader {
}
}

@Deprecated
public static void changeDefaultFactory(ModuleIdentifier id, ModuleLoader loader) {
changeDefaultFactory(id.toString(), loader);
}

public static void changeDefaultFactory(String id, ModuleLoader loader) {
Class<? extends XMLReader> clazz = __RedirectedUtils.loadProvider(id, XMLReader.class, loader, SAX_DRIVER);
if (clazz != null) {
try {
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/__redirected/__XPathFactory.java
Expand Up @@ -68,6 +68,10 @@ public final class __XPathFactory extends XPathFactory {
}

public static void changeDefaultFactory(ModuleIdentifier id, ModuleLoader loader) {
changeDefaultFactory(id.toString(), loader);
}

public static void changeDefaultFactory(String id, ModuleLoader loader) {
Class<? extends XPathFactory> clazz = __RedirectedUtils.loadProvider(id, XPathFactory.class, loader);
if (clazz != null) {
try {
Expand Down
26 changes: 21 additions & 5 deletions src/main/java/org/jboss/modules/AliasModuleSpec.java
Expand Up @@ -25,14 +25,30 @@
*/
public final class AliasModuleSpec extends ModuleSpec {

private final ModuleIdentifier aliasTarget;
private final String aliasName;

AliasModuleSpec(final ModuleIdentifier moduleIdentifier, final ModuleIdentifier aliasTarget) {
super(moduleIdentifier);
this.aliasTarget = aliasTarget;
AliasModuleSpec(final String name, final String aliasName) {
super(name);
this.aliasName = aliasName;
}

/**
* Get the module alias target.
*
* @return the module alias target
* @deprecated Use {@link #getAliasName()} instead.
*/
@Deprecated
public ModuleIdentifier getAliasTarget() {
return aliasTarget;
return ModuleIdentifier.fromString(aliasName);
}

/**
* Get the module alias name.
*
* @return the module alias name
*/
public String getAliasName() {
return aliasName;
}
}
16 changes: 8 additions & 8 deletions src/main/java/org/jboss/modules/ClassPathModuleLoader.java
Expand Up @@ -32,6 +32,7 @@
final class ClassPathModuleLoader extends ModuleLoader {

static final String[] NO_STRINGS = new String[0];
static final String CLASSPATH_STRING = "Classpath";
private final ModuleLoader delegateLoader;
private final String classPath;
private final String dependencies;
Expand All @@ -53,19 +54,19 @@ private static boolean isEmpty(final String classPath) {
}

@Override
protected Module preloadModule(final ModuleIdentifier identifier) throws ModuleLoadException {
if (identifier.equals(ModuleIdentifier.CLASSPATH)) {
return loadModuleLocal(identifier);
protected Module preloadModule(final String name) throws ModuleLoadException {
if (name.equals(CLASSPATH_STRING)) {
return loadModuleLocal(name);
} else if (delegateLoader != null) {
return preloadModule(identifier, delegateLoader);
return preloadModule(name, delegateLoader);
} else {
return null;
}
}

@Override
protected ModuleSpec findModule(final ModuleIdentifier moduleIdentifier) throws ModuleLoadException {
ModuleSpec.Builder builder = ModuleSpec.build(moduleIdentifier);
protected ModuleSpec findModule(final String name) throws ModuleLoadException {
ModuleSpec.Builder builder = ModuleSpec.build(name);
builder.setMainClass(mainClass);
// Process the classpath
addClassPath(builder, classPath);
Expand All @@ -74,12 +75,11 @@ protected ModuleSpec findModule(final ModuleIdentifier moduleIdentifier) throws
for (String dependencyEntry : dependencyEntries) {
dependencyEntry = dependencyEntry.trim();
if (! dependencyEntry.isEmpty()) {
final ModuleIdentifier depModId = ModuleIdentifier.fromString(dependencyEntry);
final DependencySpec spec = DependencySpec.createModuleDependencySpec(
PathFilters.getMetaInfSubdirectoriesWithoutMetaInfFilter(),
PathFilters.rejectAll(),
delegateLoader,
depModId,
dependencyEntry,
false);
builder.addDependency(spec);
}
Expand Down
12 changes: 6 additions & 6 deletions src/main/java/org/jboss/modules/ClassifyingModuleLoader.java
Expand Up @@ -45,26 +45,26 @@ public ClassifyingModuleLoader(final String name, final Map<String, ModuleLoader
this.name = name;
}

/** {@inheritDoc} */
protected Module preloadModule(final ModuleIdentifier moduleIdentifier) throws ModuleLoadException {
String name = moduleIdentifier.getName();
/** {@inheritDoc}
* @param moduleIdentifier*/
protected Module preloadModule(String name) throws ModuleLoadException {
int idx;
final Map<String, ModuleLoader> delegates = this.delegates;
for (;;) {
final ModuleLoader loader = delegates.get(name);
if (loader != null) {
return preloadModule(moduleIdentifier, loader);
return preloadModule(name, loader);
}
idx = name.lastIndexOf('.');
if (idx == -1) {
return preloadModule(moduleIdentifier, defaultLoader);
return preloadModule(name, defaultLoader);
}
name = name.substring(0, idx);
}
}

/** {@inheritDoc} */
protected ModuleSpec findModule(final ModuleIdentifier moduleIdentifier) throws ModuleLoadException {
protected ModuleSpec findModule(final String name) throws ModuleLoadException {
// We have no modules of our own!
return null;
}
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/org/jboss/modules/ConcreteModuleSpec.java
Expand Up @@ -43,8 +43,8 @@ public final class ConcreteModuleSpec extends ModuleSpec {
private final PermissionCollection permissionCollection;
private final Version version;

ConcreteModuleSpec(final ModuleIdentifier moduleIdentifier, final String mainClass, final AssertionSetting assertionSetting, final ResourceLoaderSpec[] resourceLoaders, final DependencySpec[] dependencies, final LocalLoader fallbackLoader, final ModuleClassLoaderFactory moduleClassLoaderFactory, final ClassFileTransformer classFileTransformer, final Map<String, String> properties, final PermissionCollection permissionCollection, final Version version) {
super(moduleIdentifier);
ConcreteModuleSpec(final String name, final String mainClass, final AssertionSetting assertionSetting, final ResourceLoaderSpec[] resourceLoaders, final DependencySpec[] dependencies, final LocalLoader fallbackLoader, final ModuleClassLoaderFactory moduleClassLoaderFactory, final ClassFileTransformer classFileTransformer, final Map<String, String> properties, final PermissionCollection permissionCollection, final Version version) {
super(name);
this.mainClass = mainClass;
this.assertionSetting = assertionSetting;
this.resourceLoaders = resourceLoaders;
Expand Down

0 comments on commit b747892

Please sign in to comment.