X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=server%2Fruntime%2Forg.argeo.server.json%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fserver%2Fjson%2FJsonObjectFactoryImpl.java;h=4ed46c51ce25a7c8fbaa0d1c1f95cdad67d85780;hb=1df1bf64759d35d3d72b9d96b26b71118fdbe031;hp=0f1e91e498040e273f32af07240ec9daf1de9fa3;hpb=b00a7e9898ea2819100290cab22bf614e23a3abf;p=lgpl%2Fargeo-commons.git diff --git a/server/runtime/org.argeo.server.json/src/main/java/org/argeo/server/json/JsonObjectFactoryImpl.java b/server/runtime/org.argeo.server.json/src/main/java/org/argeo/server/json/JsonObjectFactoryImpl.java index 0f1e91e49..4ed46c51c 100644 --- a/server/runtime/org.argeo.server.json/src/main/java/org/argeo/server/json/JsonObjectFactoryImpl.java +++ b/server/runtime/org.argeo.server.json/src/main/java/org/argeo/server/json/JsonObjectFactoryImpl.java @@ -1,3 +1,18 @@ +/* + * Copyright (C) 2007-2012 Argeo GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.argeo.server.json; import java.util.HashMap; @@ -5,7 +20,7 @@ import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.argeo.server.ArgeoServerException; +import org.argeo.ArgeoException; import org.codehaus.jackson.map.ObjectMapper; import org.osgi.framework.BundleContext; import org.springframework.beans.factory.InitializingBean; @@ -21,7 +36,7 @@ public class JsonObjectFactoryImpl implements JsonObjectFactory, private ClassLoader classLoader = getClass().getClassLoader(); private ObjectMapper objectMapper = new ObjectMapper(); - private Map> supportedTypes = new HashMap>(); + private Map> supportedTypes = new HashMap>(); public Boolean supports(String type) { if (supportedTypes.containsKey(type)) @@ -32,52 +47,28 @@ public class JsonObjectFactoryImpl implements JsonObjectFactory, @SuppressWarnings("unchecked") public T readValue(String type, String str) { - final Class clss; + final Class clss; if (supportedTypes.containsKey(type)) clss = supportedTypes.get(type); else { clss = loadClass(type); if (clss == null) - throw new ArgeoServerException("Cannot find type " + type); + throw new ArgeoException("Cannot find type " + type); } try { return (T) objectMapper.readValue(str, clss); } catch (Exception e) { - throw new ArgeoServerException("Cannot deserialize " + str + throw new ArgeoException("Cannot deserialize " + str + " (type=" + type + ")", e); } } - public void setSupportedTypes(Map> supportedTypes) { + public void setSupportedTypes(Map> supportedTypes) { this.supportedTypes = supportedTypes; } - protected Class loadClass(String type) { -// try { -// return Class.forName(type); -// } catch (ClassNotFoundException e) { -// if (log.isDebugEnabled()) -// log.debug("Class.forName failed: " + e); -// } -// -// try { -// return Thread.currentThread().getContextClassLoader().loadClass( -// type); -// } catch (ClassNotFoundException e) { -// if (log.isDebugEnabled()) -// log -// .debug("Thread.currentThread().getContextClassLoader().loadClass failed: " -// + e); -// } -// -// try { -// return getClass().getClassLoader().loadClass(type); -// } catch (ClassNotFoundException e) { -// if (log.isDebugEnabled()) -// log.debug("getClass().getClassLoader().loadClass failed: " + e); -// } -// + protected Class loadClass(String type) { try { return classLoader.loadClass(type); } catch (ClassNotFoundException e) {