List of usage examples for org.hibernate.mapping Map.Entry getKey
public KeyValue getKey()
From source file:org.beangle.commons.orm.hibernate.internal.OverrideConfiguration.java
License:Open Source License
/** * Update persistentclass and collection's schema. * // ww w . j av a 2 s .co m * @see addClass */ @Override protected void secondPassCompile() throws MappingException { super.secondPassCompile(); configSchema(); // remove duplicated persistentClass register in classes map. // see addClass Set<String> hackedEntityNames = CollectUtils.newHashSet(); for (Map.Entry<String, PersistentClass> entry : classes.entrySet()) { if (!entry.getKey().equals(entry.getValue().getEntityName())) hackedEntityNames.add(entry.getKey()); } for (String entityName : hackedEntityNames) { classes.remove(entityName); } }
From source file:org.beangle.orm.hibernate.internal.OverrideConfiguration.java
License:Open Source License
/** * Update persistentclass and collection's schema. * // ww w . ja va 2 s. c om * @see #addClass(Class) */ @Override protected void secondPassCompile() throws MappingException { super.secondPassCompile(); configSchema(); // remove duplicated persistentClass register in classes map. Set<String> hackedEntityNames = CollectUtils.newHashSet(); for (Map.Entry<String, PersistentClass> entry : classes.entrySet()) { if (!entry.getKey().equals(entry.getValue().getEntityName())) hackedEntityNames.add(entry.getKey()); } for (String entityName : hackedEntityNames) { classes.remove(entityName); } }
From source file:org.bonitasoft.engine.persistence.AbstractHibernatePersistenceService.java
License:Open Source License
@Override public void update(final UpdateDescriptor updateDescriptor) throws SPersistenceException { // FIXME: deal with disconnected objects: final Class<? extends PersistentObject> entityClass = updateDescriptor.getEntity().getClass(); checkClassMapping(entityClass);/*w w w .jav a 2 s. c o m*/ final PersistentObject entity = updateDescriptor.getEntity(); final Session session = getSession(false); if (!session.contains(entity)) { throw new SPersistenceException("The object cannot be updated because it's deconnected " + entity); } for (final Map.Entry<String, Object> field : updateDescriptor.getFields().entrySet()) { setField(entity, field.getKey(), field.getValue()); } }
From source file:org.bonitasoft.engine.persistence.AbstractHibernatePersistenceService.java
License:Open Source License
protected void setParameters(final Query query, final Map<String, Object> inputParameters) { for (final Map.Entry<String, Object> entry : inputParameters.entrySet()) { final Object value = entry.getValue(); if (value instanceof Collection<?>) { query.setParameterList(entry.getKey(), (Collection<?>) value); } else {//w w w . j a va 2s . c om query.setParameter(entry.getKey(), value); } } }
From source file:org.bonitasoft.engine.persistence.HibernateConfigurationProviderImpl.java
License:Open Source License
public HibernateConfigurationProviderImpl(final Properties properties, final HibernateResourcesConfigurationProvider hibernateResourcesConfigurationProvider, final Map<String, String> interfaceToClassMapping, final List<String> mappingExclusions) throws SPersistenceException { this.properties = properties; this.hibernateResourcesConfigurationProvider = hibernateResourcesConfigurationProvider; configuration = buildConfiguration(properties, hibernateResourcesConfigurationProvider); final Iterator<PersistentClass> it = configuration.getClassMappings(); final StringBuilder sb = new StringBuilder(); sb.append("\n\nFOUND MAPPING FOR CLASS: \n"); while (it.hasNext()) { sb.append(it.next().getEntityName()); sb.append("\n"); }//from w w w .j a v a 2 s . co m sb.append("\n"); this.interfaceToClassMapping = new HashMap<String, Class<? extends PersistentObject>>(); for (final Map.Entry<String, String> entry : interfaceToClassMapping.entrySet()) { final String interfaceClassName = entry.getKey(); final String mappedClassName = entry.getValue(); PersistentClass persistentClass = configuration.getClassMapping(mappedClassName); if (persistentClass == null) { // try to keep only the simpleName if the class which is sometimes used as "entity-name" in the mapping file final String classSimpleName = mappedClassName.substring(mappedClassName.lastIndexOf('.') + 1); persistentClass = configuration.getClassMapping(classSimpleName); if (persistentClass == null) { throw new SPersistenceException("Unable to locate an hibernate mapping file for class: " + mappedClassName + ", found mappings are: " + sb.toString()); } } final Class<? extends PersistentObject> mappedClass = persistentClass.getMappedClass(); this.interfaceToClassMapping.put(interfaceClassName, mappedClass); } this.mappingExclusions = mappingExclusions; }
From source file:org.broadleafcommerce.openadmin.server.dao.DynamicEntityDaoImpl.java
License:Apache License
protected void buildPropertiesFromPolymorphicEntities(Class<?>[] entities, ForeignKey foreignField, String[] additionalNonPersistentProperties, ForeignKey[] additionalForeignFields, MergedPropertyType mergedPropertyType, Boolean populateManyToOneFields, String[] includeFields, String[] excludeFields, String configurationKey, String ceilingEntityFullyQualifiedClassname, Map<String, FieldMetadata> mergedProperties, List<Class<?>> parentClasses, String prefix, Boolean isParentExcluded) throws ClassNotFoundException, SecurityException, IllegalArgumentException, NoSuchMethodException, IllegalAccessException, InvocationTargetException { for (Class<?> clazz : entities) { String cacheKey = getCacheKey(foreignField, additionalNonPersistentProperties, additionalForeignFields, mergedPropertyType, populateManyToOneFields, clazz, configurationKey, isParentExcluded); Map<String, FieldMetadata> cacheData; synchronized (LOCK_OBJECT) { cacheData = (Map<String, FieldMetadata>) METADATA_CACHE.get(cacheKey); if (cacheData == null) { Map<String, FieldMetadata> props = getPropertiesForEntityClass(clazz, foreignField, additionalNonPersistentProperties, additionalForeignFields, mergedPropertyType, populateManyToOneFields, includeFields, excludeFields, configurationKey, ceilingEntityFullyQualifiedClassname, parentClasses, prefix, isParentExcluded); //first check all the properties currently in there to see if my entity inherits from them for (Class<?> clazz2 : entities) { if (!clazz2.getName().equals(clazz.getName())) { for (Map.Entry<String, FieldMetadata> entry : props.entrySet()) { FieldMetadata metadata = entry.getValue(); if (Class.forName(metadata.getInheritedFromType()).isAssignableFrom(clazz2)) { String[] both = (String[]) ArrayUtils.addAll(metadata.getAvailableToTypes(), new String[] { clazz2.getName() }); metadata.setAvailableToTypes(both); }//from w w w. j a v a 2s. c om } } } METADATA_CACHE.put(cacheKey, props); cacheData = props; } } //clone the metadata before passing to the system Map<String, FieldMetadata> clonedCache = new HashMap<String, FieldMetadata>(cacheData.size()); for (Map.Entry<String, FieldMetadata> entry : cacheData.entrySet()) { clonedCache.put(entry.getKey(), entry.getValue().cloneFieldMetadata()); } mergedProperties.putAll(clonedCache); } }
From source file:org.broadleafcommerce.openadmin.server.dao.DynamicEntityDaoImpl.java
License:Apache License
protected void buildEntityProperties(Map<String, FieldMetadata> fields, ForeignKey foreignField, ForeignKey[] additionalForeignFields, String[] additionalNonPersistentProperties, Boolean populateManyToOneFields, String[] includeFields, String[] excludeFields, String configurationKey, String ceilingEntityFullyQualifiedClassname, String propertyName, Class<?> returnedClass, Class<?> targetClass, List<Class<?>> parentClasses, String prefix, Boolean isParentExcluded) throws ClassNotFoundException, SecurityException, IllegalArgumentException, NoSuchMethodException, IllegalAccessException, InvocationTargetException { Class<?>[] polymorphicEntities = getAllPolymorphicEntitiesFromCeiling(returnedClass); List<Class<?>> clonedParentClasses = new ArrayList<Class<?>>(); for (Class<?> parentClass : parentClasses) { clonedParentClasses.add(parentClass); }//from w w w . java 2 s . co m clonedParentClasses.add(targetClass); Map<String, FieldMetadata> newFields = getMergedPropertiesRecursively(ceilingEntityFullyQualifiedClassname, polymorphicEntities, foreignField, additionalNonPersistentProperties, additionalForeignFields, MergedPropertyType.PRIMARY, populateManyToOneFields, includeFields, excludeFields, configurationKey, clonedParentClasses, prefix + propertyName + '.', isParentExcluded); for (FieldMetadata newMetadata : newFields.values()) { newMetadata.setInheritedFromType(targetClass.getName()); newMetadata.setAvailableToTypes(new String[] { targetClass.getName() }); } Map<String, FieldMetadata> convertedFields = new HashMap<String, FieldMetadata>(newFields.size()); for (Map.Entry<String, FieldMetadata> key : newFields.entrySet()) { convertedFields.put(propertyName + '.' + key.getKey(), key.getValue()); } fields.putAll(convertedFields); }
From source file:org.broadleafcommerce.openadmin.server.service.persistence.PersistenceManagerImpl.java
License:Apache License
@Override public PersistenceResponse add(PersistencePackage persistencePackage) throws ServiceException { for (PersistenceManagerEventHandler handler : persistenceManagerEventHandlers) { PersistenceManagerEventHandlerResponse response = handler.preAdd(this, persistencePackage); if (PersistenceManagerEventHandlerResponse.PersistenceManagerEventHandlerResponseStatus.HANDLED_BREAK == response .getStatus()) {//ww w .j a va 2 s . com break; } } //check to see if there is a custom handler registered //execute the root PersistencePackage Entity response; try { checkRoot: { //if there is a validation exception in the root check, let it bubble, as we need a valid, persisted //entity to execute the subPackage code later for (CustomPersistenceHandler handler : getCustomPersistenceHandlers()) { if (handler.canHandleAdd(persistencePackage)) { if (!handler.willHandleSecurity(persistencePackage)) { adminRemoteSecurityService.securityCheck(persistencePackage, EntityOperationType.ADD); } response = handler.add(persistencePackage, dynamicEntityDao, (RecordHelper) getCompatibleModule(OperationType.BASIC)); break checkRoot; } } adminRemoteSecurityService.securityCheck(persistencePackage, EntityOperationType.ADD); PersistenceModule myModule = getCompatibleModule( persistencePackage.getPersistencePerspective().getOperationTypes().getAddType()); response = myModule.add(persistencePackage); } } catch (ServiceException e) { if (e.getCause() instanceof ValidationException) { response = ((ValidationException) e.getCause()).getEntity(); } else { throw e; } } if (!MapUtils.isEmpty(persistencePackage.getSubPackages())) { // Once the entity has been saved, we can utilize its id for the subsequent dynamic forms Class<?> entityClass; try { entityClass = Class.forName(response.getType()[0]); } catch (ClassNotFoundException e) { throw new ServiceException(e); } Map<String, Object> idMetadata = getDynamicEntityDao().getIdMetadata(entityClass); String idProperty = (String) idMetadata.get("name"); String idVal = response.findProperty(idProperty).getValue(); Map<String, List<String>> subPackageValidationErrors = new HashMap<String, List<String>>(); for (Map.Entry<String, PersistencePackage> subPackage : persistencePackage.getSubPackages() .entrySet()) { Entity subResponse; try { subPackage.getValue().getCustomCriteria()[1] = idVal; //Run through any subPackages -- add up any validation errors checkHandler: { for (CustomPersistenceHandler handler : getCustomPersistenceHandlers()) { if (handler.canHandleAdd(subPackage.getValue())) { subResponse = handler.add(subPackage.getValue(), dynamicEntityDao, (RecordHelper) getCompatibleModule(OperationType.BASIC)); subPackage.getValue().setEntity(subResponse); break checkHandler; } } PersistenceModule subModule = getCompatibleModule( subPackage.getValue().getPersistencePerspective().getOperationTypes().getAddType()); subResponse = subModule.add(persistencePackage); subPackage.getValue().setEntity(subResponse); } } catch (ValidationException e) { subPackage.getValue().setEntity(e.getEntity()); } catch (ServiceException e) { if (e.getCause() instanceof ValidationException) { response = ((ValidationException) e.getCause()).getEntity(); } else { throw e; } } } //Build up validation errors in all of the subpackages, even those that might not have thrown ValidationExceptions for (Map.Entry<String, PersistencePackage> subPackage : persistencePackage.getSubPackages() .entrySet()) { for (Map.Entry<String, List<String>> error : subPackage.getValue().getEntity() .getPropertyValidationErrors().entrySet()) { subPackageValidationErrors.put( subPackage.getKey() + DynamicEntityFormInfo.FIELD_SEPARATOR + error.getKey(), error.getValue()); } } response.getPropertyValidationErrors().putAll(subPackageValidationErrors); } if (response.isValidationFailure()) { PersistenceResponse validationResponse = executeValidationProcessors(persistencePackage, new PersistenceResponse().withEntity(response)); throw new ValidationException(validationResponse.getEntity(), "The entity has failed validation"); } return executePostAddHandlers(persistencePackage, new PersistenceResponse().withEntity(response)); }
From source file:org.broadleafcommerce.openadmin.server.service.persistence.PersistenceManagerImpl.java
License:Apache License
@Override public PersistenceResponse update(PersistencePackage persistencePackage) throws ServiceException { for (PersistenceManagerEventHandler handler : persistenceManagerEventHandlers) { PersistenceManagerEventHandlerResponse response = handler.preUpdate(this, persistencePackage); if (PersistenceManagerEventHandlerResponse.PersistenceManagerEventHandlerResponseStatus.HANDLED_BREAK == response .getStatus()) {/*from w w w .j a va2 s.c o m*/ break; } } //check to see if there is a custom handler registered //execute the root PersistencePackage Entity response; try { checkRoot: { for (CustomPersistenceHandler handler : getCustomPersistenceHandlers()) { if (handler.canHandleUpdate(persistencePackage)) { if (!handler.willHandleSecurity(persistencePackage)) { adminRemoteSecurityService.securityCheck(persistencePackage, EntityOperationType.UPDATE); } response = handler.update(persistencePackage, dynamicEntityDao, (RecordHelper) getCompatibleModule(OperationType.BASIC)); break checkRoot; } } adminRemoteSecurityService.securityCheck(persistencePackage, EntityOperationType.UPDATE); PersistenceModule myModule = getCompatibleModule( persistencePackage.getPersistencePerspective().getOperationTypes().getUpdateType()); response = myModule.update(persistencePackage); } } catch (ValidationException e) { response = e.getEntity(); } catch (ServiceException e) { if (e.getCause() instanceof ValidationException) { response = ((ValidationException) e.getCause()).getEntity(); } else { throw e; } } Map<String, List<String>> subPackageValidationErrors = new HashMap<String, List<String>>(); for (Map.Entry<String, PersistencePackage> subPackage : persistencePackage.getSubPackages().entrySet()) { try { //Run through any subPackages -- add up any validation errors checkHandler: { for (CustomPersistenceHandler handler : getCustomPersistenceHandlers()) { if (handler.canHandleUpdate(subPackage.getValue())) { Entity subResponse = handler.update(subPackage.getValue(), dynamicEntityDao, (RecordHelper) getCompatibleModule(OperationType.BASIC)); subPackage.getValue().setEntity(subResponse); break checkHandler; } } PersistenceModule subModule = getCompatibleModule( subPackage.getValue().getPersistencePerspective().getOperationTypes().getUpdateType()); Entity subResponse = subModule.update(persistencePackage); subPackage.getValue().setEntity(subResponse); } } catch (ValidationException e) { subPackage.getValue().setEntity(e.getEntity()); } catch (ServiceException e) { if (e.getCause() instanceof ValidationException) { response = ((ValidationException) e.getCause()).getEntity(); } else { throw e; } } } //Build up validation errors in all of the subpackages, even those that might not have thrown ValidationExceptions for (Map.Entry<String, PersistencePackage> subPackage : persistencePackage.getSubPackages().entrySet()) { for (Map.Entry<String, List<String>> error : subPackage.getValue().getEntity() .getPropertyValidationErrors().entrySet()) { subPackageValidationErrors.put( subPackage.getKey() + DynamicEntityFormInfo.FIELD_SEPARATOR + error.getKey(), error.getValue()); } } response.getPropertyValidationErrors().putAll(subPackageValidationErrors); if (response.isValidationFailure()) { PersistenceResponse validationResponse = executeValidationProcessors(persistencePackage, new PersistenceResponse().withEntity(response)); throw new ValidationException(validationResponse.getEntity(), "The entity has failed validation"); } return executePostUpdateHandlers(persistencePackage, new PersistenceResponse().withEntity(response)); }
From source file:org.codehaus.groovy.grails.orm.hibernate.cfg.AbstractGrailsDomainBinder.java
License:Apache License
public void clearMappingCache(Class<?> theClass) { String className = theClass.getName(); for (Iterator<Map.Entry<Class<?>, Mapping>> it = MAPPING_CACHE.entrySet().iterator(); it.hasNext();) { Map.Entry<Class<?>, Mapping> entry = it.next(); if (className.equals(entry.getKey().getName())) { it.remove();/* w w w .j av a 2 s. c o m*/ } } }