RedkaleException
This commit is contained in:
@@ -577,19 +577,19 @@ public final class ResourceFactory {
|
|||||||
try {
|
try {
|
||||||
if (rc.name().equals(Resource.SELF_NAME)) {
|
if (rc.name().equals(Resource.SELF_NAME)) {
|
||||||
if (classType != String.class) {
|
if (classType != String.class) {
|
||||||
throw new ResourceInjectException("resource(type=" + c.getSimpleName() + ".class, field=" + field.getName() + ", name='" + rc.name() + "') must be String ");
|
throw new RedkaleException("resource(type=" + c.getSimpleName() + ".class, field=" + field.getName() + ", name='" + rc.name() + "') must be String ");
|
||||||
}
|
}
|
||||||
field.setAccessible(true);
|
field.setAccessible(true);
|
||||||
field.set(val, name);
|
field.set(val, name);
|
||||||
} else if (rc.name().equals(Resource.SELF_TYPE)) {
|
} else if (rc.name().equals(Resource.SELF_TYPE)) {
|
||||||
if (classType != Type.class && classType != Class.class) {
|
if (classType != Type.class && classType != Class.class) {
|
||||||
throw new ResourceInjectException("resource(type=" + c.getSimpleName() + ".class, field=" + field.getName() + ", name='" + rc.name() + "') must be Type or Class ");
|
throw new RedkaleException("resource(type=" + c.getSimpleName() + ".class, field=" + field.getName() + ", name='" + rc.name() + "') must be Type or Class ");
|
||||||
}
|
}
|
||||||
field.setAccessible(true);
|
field.setAccessible(true);
|
||||||
field.set(val, classType == Class.class ? TypeToken.typeToClass(clazz) : clazz);
|
field.set(val, classType == Class.class ? TypeToken.typeToClass(clazz) : clazz);
|
||||||
}
|
}
|
||||||
} catch (IllegalArgumentException | IllegalAccessException e) {
|
} catch (IllegalArgumentException | IllegalAccessException e) {
|
||||||
throw new ResourceInjectException("resource(type=" + c.getSimpleName() + ".class, field=" + field.getName() + ", name='" + rc.name() + "') register error ", e);
|
throw new RedkaleException("resource(type=" + c.getSimpleName() + ".class, field=" + field.getName() + ", name='" + rc.name() + "') register error ", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} while ((c = c.getSuperclass()) != Object.class);
|
} while ((c = c.getSuperclass()) != Object.class);
|
||||||
@@ -914,7 +914,7 @@ public final class ResourceFactory {
|
|||||||
re = findEntry(rcname, String.class);
|
re = findEntry(rcname, String.class);
|
||||||
if (re == null && rcname.startsWith("${")) {
|
if (re == null && rcname.startsWith("${")) {
|
||||||
if (rcname.charAt(rcname.length() - 1) != '}') {
|
if (rcname.charAt(rcname.length() - 1) != '}') {
|
||||||
throw new ResourceInjectException("resource(type=" + field.getType().getSimpleName() + ".class, field=" + field.getName() + ", name='" + rcname + "') not endWith } ");
|
throw new RedkaleException("resource(type=" + field.getType().getSimpleName() + ".class, field=" + field.getName() + ", name='" + rcname + "') not endWith } ");
|
||||||
}
|
}
|
||||||
re = findEntry(rcname.substring(2, rcname.length() - 1), String.class);
|
re = findEntry(rcname.substring(2, rcname.length() - 1), String.class);
|
||||||
} else if (re == null && rcname.startsWith("property.")) { //兼容2.8.0之前版本自动追加property.开头的配置项
|
} else if (re == null && rcname.startsWith("property.")) { //兼容2.8.0之前版本自动追加property.开头的配置项
|
||||||
@@ -922,7 +922,7 @@ public final class ResourceFactory {
|
|||||||
}
|
}
|
||||||
} else if (re == null && rcname.startsWith("${")) {
|
} else if (re == null && rcname.startsWith("${")) {
|
||||||
if (rcname.charAt(rcname.length() - 1) != '}') {
|
if (rcname.charAt(rcname.length() - 1) != '}') {
|
||||||
throw new ResourceInjectException("resource(type=" + field.getType().getSimpleName() + ".class, field=" + field.getName() + ", name='" + rcname + "') not endWith } ");
|
throw new RedkaleException("resource(type=" + field.getType().getSimpleName() + ".class, field=" + field.getName() + ", name='" + rcname + "') not endWith } ");
|
||||||
}
|
}
|
||||||
re = findEntry(rcname.substring(2, rcname.length() - 1), String.class);
|
re = findEntry(rcname.substring(2, rcname.length() - 1), String.class);
|
||||||
} else if (classType == String.class && rcname.startsWith("property.")) {//兼容2.8.0之前版本自动追加property.开头的配置项
|
} else if (classType == String.class && rcname.startsWith("property.")) {//兼容2.8.0之前版本自动追加property.开头的配置项
|
||||||
@@ -1013,12 +1013,12 @@ public final class ResourceFactory {
|
|||||||
if (srcObj.getClass().getSimpleName().startsWith("_Dyn")) {
|
if (srcObj.getClass().getSimpleName().startsWith("_Dyn")) {
|
||||||
t = srcObj.getClass().getSuperclass().getName();
|
t = srcObj.getClass().getSuperclass().getName();
|
||||||
}
|
}
|
||||||
throw new ResourceInjectException("resource(type=" + field.getType().getSimpleName() + ".class, field=" + field.getName() + ", name='" + rcname + "') must exists in " + t);
|
throw new RedkaleException("resource(type=" + field.getType().getSimpleName() + ".class, field=" + field.getName() + ", name='" + rcname + "') must exists in " + t);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} while ((clazz = clazz.getSuperclass()) != Object.class);
|
} while ((clazz = clazz.getSuperclass()) != Object.class);
|
||||||
return true;
|
return true;
|
||||||
} catch (ResourceInjectException e) {
|
} catch (RedkaleException e) {
|
||||||
throw e;
|
throw e;
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
logger.log(Level.SEVERE, "inject " + srcObj + " error", ex);
|
logger.log(Level.SEVERE, "inject " + srcObj + " error", ex);
|
||||||
@@ -1088,25 +1088,6 @@ public final class ResourceFactory {
|
|||||||
return it == null ? findRegxTypeLoader(ft, field) : it;
|
return it == null ? findRegxTypeLoader(ft, field) : it;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class ResourceInjectException extends RedkaleException {
|
|
||||||
|
|
||||||
public ResourceInjectException() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
public ResourceInjectException(String s) {
|
|
||||||
super(s);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ResourceInjectException(String message, Throwable cause) {
|
|
||||||
super(message, cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ResourceInjectException(Throwable cause) {
|
|
||||||
super(cause);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static class ResourceEntry<T> {
|
private static class ResourceEntry<T> {
|
||||||
|
|
||||||
public final String name;
|
public final String name;
|
||||||
|
|||||||
Reference in New Issue
Block a user