in gson/src/java/org/apache/fulcrum/json/gson/GSONBuilderService.java [277:340]
public void initialize() throws Exception {
gson = new GsonBuilder();
getLogger().debug("initialized: gson:" + gson);
if (dateFormat != null) {
getLogger().info("setting date format to: " + dateFormat);
setDateFormat(new SimpleDateFormat(dateFormat));
//setDateFormat(dateFormat);
}
if (adapters != null) {
Enumeration<String> enumKey = adapters.keys();
while (enumKey.hasMoreElements()) {
String forClass = enumKey.nextElement();
String avClass = adapters.get(forClass);
if (avClass != null) {
try {
getLogger().debug(
"initializing: adapters " + avClass
+ " forClass:" + forClass);
Class adapterForClass = Class.forName(forClass);
Class adapterClass = Class.forName(avClass);
addAdapter("Test Adapter", adapterForClass,
adapterClass);
} catch (Exception e) {
throw new InstantiationException(
"JsonMapperService: Error instantiating one of the adapters: "
+ avClass + " for " + forClass);
}
}
}
}
if (useJsonPath) {
// set it before runtime
com.jayway.jsonpath.Configuration.setDefaults(new com.jayway.jsonpath.Configuration.Defaults() {
private Callable<Gson> gsonFuture = new Callable<Gson>() {
@Override
public Gson call() {
return GSONBuilderService.this.gson.create();
}
};
private final JsonProvider jsonProvider = new GsonJsonProvider(GSONBuilderService.this.gson.create());
private final MappingProvider mappingProvider = new GsonMappingProvider(gsonFuture);
@Override
public JsonProvider jsonProvider() {
return jsonProvider;
}
@Override
public MappingProvider mappingProvider() {
return mappingProvider;
}
@Override
public Set<Option> options() {
return EnumSet.noneOf(Option.class);
}
});
}
}