/** * Create a new GrailsDataBinder instance. * * @param target target object to bind onto * @param objectName objectName of the target object */ @SuppressWarnings("unchecked") public GrailsDataBinder(Object target, String objectName) { super(target, objectName); setAutoGrowNestedPaths(false); bean = (BeanWrapper) ((BeanPropertyBindingResult) super.getBindingResult()).getPropertyAccessor(); Object tmpTransients = GrailsClassUtils.getStaticPropertyValue( bean.getWrappedClass(), GrailsDomainClassProperty.TRANSIENT); if (tmpTransients instanceof List) { transients = (List) tmpTransients; } String[] disallowed = new String[0]; GrailsApplication grailsApplication = ApplicationHolder.getApplication(); if (grailsApplication != null && grailsApplication.isArtefactOfType(DomainClassArtefactHandler.TYPE, target.getClass())) { if (target instanceof GroovyObject) { disallowed = GROOVY_DOMAINCLASS_DISALLOWED; } else { disallowed = DOMAINCLASS_DISALLOWED; } domainClass = (GrailsDomainClass) grailsApplication.getArtefact( DomainClassArtefactHandler.TYPE, target.getClass().getName()); } else if (target instanceof GroovyObject) { disallowed = GROOVY_DISALLOWED; } setDisallowedFields(disallowed); setAllowedFields(ALL_OTHER_FIELDS_ALLOWED_BY_DEFAULT); setIgnoreInvalidFields(true); }
protected DataRepositoryService getRepoService() { if (dataRepositoryService == null) { ApplicationContext ac = ApplicationHolder.getApplication().getMainContext(); dataRepositoryService = ac.getBean(DataRepositoryService.class); } return dataRepositoryService; }
@SuppressWarnings("unchecked") private Map resolveConstrainedProperties(Object object) { GrailsApplication grailsApplication = ApplicationHolder.getApplication(); return resolveConstrainedProperties( object, (grailsApplication != null) ? ((GrailsDomainClass) grailsApplication.getArtefact( DomainClassArtefactHandler.TYPE, object.getClass().getName())) : null); }
private Class<?> getReferencedTypeForCollection(String name, Object target) { final GrailsApplication grailsApplication = ApplicationHolder.getApplication(); if (grailsApplication != null) { GrailsDomainClass dc = (GrailsDomainClass) grailsApplication.getArtefact( DomainClassArtefactHandler.TYPE, target.getClass().getName()); if (dc != null) { GrailsDomainClassProperty domainProperty = dc.getPropertyByName(name); if (domainProperty != null) { return domainProperty.getReferencedPropertyType(); } } } return null; }
public DomainBuilder() { setChildPropertySetter(new DefaultGrailsChildPropertySetter()); setClassLoader(ApplicationHolder.getApplication().getClassLoader()); }