public DynamicTypeImpl getType() {
   if (resolver == null) {
     throw new IllegalStateException("Resolver not set on classification  ");
   }
   String parentId = getParentId();
   DynamicTypeImpl type = (DynamicTypeImpl) resolver.tryResolve(parentId, DynamicType.class);
   if (type == null) {
     throw new UnresolvableReferenceExcpetion(DynamicType.class + ":" + parentId + " " + data);
   }
   return type;
 }
 private String getParentId() {
   if (typeId != null) return typeId;
   if (type == null) {
     throw new UnresolvableReferenceExcpetion("type and parentId are both not set");
   }
   DynamicType dynamicType = resolver.getDynamicType(type);
   if (dynamicType == null) {
     throw new UnresolvableReferenceExcpetion(type);
   }
   typeId = dynamicType.getId();
   return typeId;
 }
Beispiel #3
0
 private Object fromString(Attribute attribute, EntityResolver resolver, String value)
     throws EntityNotFoundException, IllegalStateException {
   Class<? extends Entity> refType = attribute.getRefType();
   if (refType != null) {
     Entity resolved = resolver.resolve(value, refType);
     return resolved;
   }
   try {
     Object result = AttributeImpl.parseAttributeValueWithoutRef(attribute, value);
     return result;
   } catch (RaplaException exception) {
     throw new IllegalStateException(exception.getMessage(), exception);
   }
 }