Skip to content

Commit

Permalink
use standard java service loader mechanism via ServiceLocator and rem…
Browse files Browse the repository at this point in the history
…ove pippo.properties files
  • Loading branch information
decebals committed Oct 26, 2015
1 parent eeff290 commit 594ccdc
Show file tree
Hide file tree
Showing 25 changed files with 14 additions and 52 deletions.
42 changes: 2 additions & 40 deletions pippo-core/src/main/java/ro/pippo/core/Application.java
Expand Up @@ -32,20 +32,13 @@
import ro.pippo.core.route.WebjarsResourceHandler;
import ro.pippo.core.util.HttpCacheToolkit;
import ro.pippo.core.util.MimeTypes;
import ro.pippo.core.util.StringUtils;
import ro.pippo.core.util.ServiceLocator;

import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;

/**
* @author Decebal Suiu
Expand Down Expand Up @@ -397,38 +390,7 @@ public static Application get() {
}

private List<Initializer> getInitializers() {
try {
List<Initializer> initializers = new ArrayList<>();

ClassLoader classLoader = getClass().getClassLoader();
Enumeration<URL> resources = classLoader.getResources("pippo.properties");
while (resources.hasMoreElements()) {
URL resource = resources.nextElement();
log.debug("Read '{}'", resource.getFile());
Properties properties = new Properties();
try (Reader reader = new InputStreamReader(resource.openStream(), StandardCharsets.UTF_8)) {
properties.load(reader);
} catch (IOException e) {
log.error("Failed to read '{}'", resource.getFile(), e);
continue;
}

String initializerClassName = properties.getProperty("initializer");
if (StringUtils.isNullOrEmpty(initializerClassName)) {
log.warn("'{}' does not specify an 'initializer' setting!", resource.getFile());
} else {
log.debug("Found initializer '{}'", initializerClassName);
Class<Initializer> initializerClass = (Class<Initializer>) classLoader.loadClass(initializerClassName);

Initializer initializer = initializerClass.newInstance();
initializers.add(initializer);
}
}

return initializers;
} catch (IOException | InstantiationException | IllegalAccessException | ClassNotFoundException e) {
throw new PippoRuntimeException("Failed to locate Initializers", e);
}
return ServiceLocator.locateAll(Initializer.class);
}

@Override
Expand Down
@@ -0,0 +1 @@
ro.pippo.fastjson.FastjsonInitializer
1 change: 0 additions & 1 deletion pippo-fastjson/src/main/resources/pippo.properties

This file was deleted.

@@ -0,0 +1 @@
ro.pippo.freemarker.FreemarkerInitializer
1 change: 0 additions & 1 deletion pippo-freemarker/src/main/resources/pippo.properties

This file was deleted.

@@ -0,0 +1 @@
ro.pippo.groovy.GroovyInitializer
1 change: 0 additions & 1 deletion pippo-groovy/src/main/resources/pippo.properties

This file was deleted.

@@ -0,0 +1 @@
ro.pippo.gson.GsonInitializer
1 change: 0 additions & 1 deletion pippo-gson/src/main/resources/pippo.properties

This file was deleted.

@@ -0,0 +1 @@
ro.pippo.jackson.JacksonInitializer
1 change: 0 additions & 1 deletion pippo-jackson/src/main/resources/pippo.properties

This file was deleted.

@@ -0,0 +1 @@
ro.pippo.jade.JadeInitializer
1 change: 0 additions & 1 deletion pippo-jade/src/main/resources/pippo.properties

This file was deleted.

@@ -0,0 +1 @@
ro.pippo.jaxb.JaxbInitializer
1 change: 0 additions & 1 deletion pippo-jaxb/src/main/resources/pippo.properties

This file was deleted.

@@ -0,0 +1 @@
ro.pippo.pebble.PebbleInitializer
1 change: 0 additions & 1 deletion pippo-pebble/src/main/resources/pippo.properties

This file was deleted.

1 change: 0 additions & 1 deletion pippo-snakeyaml/src/main/resources/pippo.properties

This file was deleted.

@@ -0,0 +1 @@
ro.pippo.snakeyaml.SnakeYamlInitializer
@@ -0,0 +1 @@
ro.pippo.trimou.TrimouInitializer
1 change: 0 additions & 1 deletion pippo-trimou/src/main/resources/pippo.properties

This file was deleted.

@@ -0,0 +1 @@
ro.pippo.velocity.VelocityInitializer
1 change: 0 additions & 1 deletion pippo-velocity/src/main/resources/pippo.properties

This file was deleted.

@@ -0,0 +1 @@
ro.pippo.xstream.XstreamInitializer
1 change: 0 additions & 1 deletion pippo-xstream/src/main/resources/pippo.properties

This file was deleted.

0 comments on commit 594ccdc

Please sign in to comment.