Example usage for org.hibernate.mapping Map.Entry getKey

List of usage examples for org.hibernate.mapping Map.Entry getKey

Introduction

In this page you can find the example usage for org.hibernate.mapping Map.Entry getKey.

Prototype

public KeyValue getKey() 

Source Link

Usage

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*/
        }
    }
}