Skip to content

Commit

Permalink
add function to reflect package, rename reflective initializer
Browse files Browse the repository at this point in the history
  • Loading branch information
abyrd committed Feb 20, 2015
1 parent 9e56530 commit 3b6f663
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 27 deletions.
28 changes: 28 additions & 0 deletions src/main/java/org/opentripplanner/reflect/ReflectionLibrary.java
@@ -0,0 +1,28 @@
package org.opentripplanner.reflect;

import java.lang.reflect.Field;

public class ReflectionLibrary {

/** Concatenate all fields and values of a Java object. */
public static String dumpFields (Object object) {
StringBuilder sb = new StringBuilder();
Class clazz = object.getClass();
sb.append("Summarizing ");
sb.append(clazz.getSimpleName());
sb.append('\n');
for (Field field : clazz.getFields()) {
sb.append(field.getName());
sb.append(" = ");
try {
String value = field.get(object).toString();
sb.append(value);
} catch (IllegalAccessException ex) {
sb.append("(non-public)");
}
sb.append('\n');
}
return sb.toString();
}

}
Expand Up @@ -54,13 +54,13 @@ the License, or (at your option) any later version.
* *
* @author abyrd * @author abyrd
*/ */
public class ReflectiveQueryScraper<T> { public class ReflectiveInitializer<T> {


private static final Logger LOG = LoggerFactory.getLogger(ReflectiveQueryScraper.class); private static final Logger LOG = LoggerFactory.getLogger(ReflectiveInitializer.class);
protected final Class<T> targetClass; protected final Class<T> targetClass;
private final Map<String, Target> targets = Maps.newHashMap(); private final Map<String, Target> targets = Maps.newHashMap();


public ReflectiveQueryScraper (Class<T> targetClass) { public ReflectiveInitializer(Class<T> targetClass) {
this.targetClass = targetClass; this.targetClass = targetClass;
for (Field field : targetClass.getFields()) { for (Field field : targetClass.getFields()) {
Target target = FieldTarget.instanceFor(field); Target target = FieldTarget.instanceFor(field);
Expand Down
28 changes: 4 additions & 24 deletions src/main/java/org/opentripplanner/standalone/OTPConfigurator.java
Expand Up @@ -43,14 +43,15 @@ the License, or (at your option) any later version.
import org.opentripplanner.inspector.TileRendererManager; import org.opentripplanner.inspector.TileRendererManager;
import org.opentripplanner.openstreetmap.impl.AnyFileBasedOpenStreetMapProviderImpl; import org.opentripplanner.openstreetmap.impl.AnyFileBasedOpenStreetMapProviderImpl;
import org.opentripplanner.openstreetmap.services.OpenStreetMapProvider; import org.opentripplanner.openstreetmap.services.OpenStreetMapProvider;
import org.opentripplanner.reflect.ReflectionLibrary;
import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.RoutingRequest;
import org.opentripplanner.routing.graph.Graph; import org.opentripplanner.routing.graph.Graph;
import org.opentripplanner.routing.impl.DefaultFareServiceFactory; import org.opentripplanner.routing.impl.DefaultFareServiceFactory;
import org.opentripplanner.routing.impl.GraphScanner; import org.opentripplanner.routing.impl.GraphScanner;
import org.opentripplanner.routing.impl.InputStreamGraphSource; import org.opentripplanner.routing.impl.InputStreamGraphSource;
import org.opentripplanner.routing.impl.MemoryGraphSource; import org.opentripplanner.routing.impl.MemoryGraphSource;
import org.opentripplanner.routing.services.GraphService; import org.opentripplanner.routing.services.GraphService;
import org.opentripplanner.reflect.ReflectiveQueryScraper; import org.opentripplanner.reflect.ReflectiveInitializer;
import org.opentripplanner.updater.GraphUpdaterConfigurator; import org.opentripplanner.updater.GraphUpdaterConfigurator;
import org.opentripplanner.scripting.impl.BSFOTPScript; import org.opentripplanner.scripting.impl.BSFOTPScript;
import org.opentripplanner.scripting.impl.OTPScript; import org.opentripplanner.scripting.impl.OTPScript;
Expand Down Expand Up @@ -150,7 +151,7 @@ public GraphBuilder builderFromParameters() {
GraphBuilderParameters builderParams = new GraphBuilderParameters(builderConfig); GraphBuilderParameters builderParams = new GraphBuilderParameters(builderConfig);
routerConfig = loadJson(new File(dir, ROUTER_CONFIG_FILENAME)); routerConfig = loadJson(new File(dir, ROUTER_CONFIG_FILENAME));
// We have loaded the router config JSON but will actually apply it only when a router starts up // We have loaded the router config JSON but will actually apply it only when a router starts up
LOG.info(dumpFields(builderParams)); LOG.info(ReflectionLibrary.dumpFields(builderParams));
for (File file : dir.listFiles()) { for (File file : dir.listFiles()) {
switch (InputFileType.forFile(file)) { switch (InputFileType.forFile(file)) {
case GTFS: case GTFS:
Expand Down Expand Up @@ -277,7 +278,7 @@ public void startupRouter(Router router, JsonNode config) {
} }


/* Create the default router parameters from the JSON router config. */ /* Create the default router parameters from the JSON router config. */
ReflectiveQueryScraper<RoutingRequest> scraper = new ReflectiveQueryScraper(RoutingRequest.class); ReflectiveInitializer<RoutingRequest> scraper = new ReflectiveInitializer(RoutingRequest.class);
JsonNode routingDefaultsNode = config.get("routingDefaults"); JsonNode routingDefaultsNode = config.get("routingDefaults");
if (routingDefaultsNode != null) { if (routingDefaultsNode != null) {
LOG.info("Loading default routing parameters from JSON:"); LOG.info("Loading default routing parameters from JSON:");
Expand Down Expand Up @@ -354,25 +355,4 @@ private static JsonNode loadJson (File file) {
} }
} }


/** Concatenate all fields and values of a Java object. */
public static String dumpFields (Object object) {
StringBuilder sb = new StringBuilder();
Class clazz = object.getClass();
sb.append("Summarizing ");
sb.append(clazz.getSimpleName());
sb.append('\n');
for (Field field : clazz.getFields()) {
sb.append(field.getName());
sb.append(" = ");
try {
String value = field.get(object).toString();
sb.append(value);
} catch (IllegalAccessException ex) {
sb.append("(non-public)");
}
sb.append('\n');
}
return sb.toString();
}

} }

0 comments on commit 3b6f663

Please sign in to comment.