Example usage for org.hibernate.criterion DetachedCriteria add

List of usage examples for org.hibernate.criterion DetachedCriteria add

Introduction

In this page you can find the example usage for org.hibernate.criterion DetachedCriteria add.

Prototype

public DetachedCriteria add(Criterion criterion) 

Source Link

Document

Add a restriction

Usage

From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassDaoImpl.java

License:Open Source License

/**
 * API to the batch class with respect to the given batch class id and the roles provided.
 * /*from   ww w. j a  va2s. c o m*/
 * @param userRoles {@link Set<{@link String}>}
 * @param batchClassID {@link String}
 * @return {@link BatchClass}
 */
@Override
public BatchClass getBatchClassByUserRoles(final Set<String> userRoles, String batchClassID) {
    DetachedCriteria criteria = criteria();
    List<BatchClass> batchClassList = null;
    BatchClass batchClass = null;
    if (userRoles == null) {
        batchClassList = new ArrayList<BatchClass>();
    } else {
        List<String> roleList = new ArrayList<String>();
        for (String userRole : userRoles) {
            if (null == userRole || userRole.isEmpty()) {
                continue;
            }
            roleList.add(userRole);
        }
        criteria.createAlias(ASSIGNED_GROUPS, ASSIGNED_GROUPS);
        criteria.add(Restrictions.in(ASSIGNED_GROUPS_NAME, roleList));
        criteria.add(Restrictions.eq(IDENTIFIER, batchClassID));
        criteria.add(Restrictions.or(Restrictions.isNull(IS_DELETED), Restrictions.eq(IS_DELETED, false)));
        criteria.addOrder(org.hibernate.criterion.Order.asc(BATCH_ID));
        criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
        batchClassList = find(criteria);
        if (batchClassList != null && !batchClassList.isEmpty()) {
            batchClass = batchClassList.get(0);
        }
    }

    return batchClass;
}

From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassDynamicPluginConfigDaoImpl.java

License:Open Source License

/**
 * To get Dynamic Plugin Properties for Batch Class.
 * //from w w  w.j  a va 2  s. c o  m
 * @param batchClassIdentifier String
 * @param pluginName String
 * @param pluginProperty PluginProperty
 * @return List<BatchClassDynamicPluginConfig>
 */
@Override
public List<BatchClassDynamicPluginConfig> getDynamicPluginPropertiesForBatchClass(String batchClassIdentifier,
        String pluginName, PluginProperty pluginProperty) {

    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS_PLUGIN, BATCH_CLASS_PLUGIN, JoinFragment.INNER_JOIN);
    criteria.createAlias(BATCH_CLASS_PLUGIN_BATCH_CLASS_MODULE, BATCH_CLASS_MODULE, JoinFragment.INNER_JOIN);
    criteria.createAlias("batchClassPlugin.batchClassModule.batchClass", BATCH_CLASS, JoinFragment.INNER_JOIN);
    criteria.createAlias("batchClassPlugin.plugin", "plugin", JoinFragment.INNER_JOIN);
    criteria.createAlias("batchClassPlugin.batchClassDynamicPluginConfigs", "batchClassDynamicPluginConfigs",
            JoinFragment.INNER_JOIN);
    if (pluginProperty != null) {
        criteria.add(Restrictions.eq("batchClassDynamicPluginConfigs.name", pluginProperty.getPropertyKey()));
    }
    criteria.add(Restrictions.eq("plugin.pluginName", pluginName));
    criteria.add(Restrictions.eq("batchClass.identifier", batchClassIdentifier));
    return find(criteria);
}

From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassDynamicPluginConfigDaoImpl.java

License:Open Source License

/**
 * To get all Dynamic Plugin Properties for Batch instance.
 * //w ww.  j ava  2s .c o m
 * @param batchClassIdentifier String
 * @return List<BatchClassDynamicPluginConfig>
 */
@Override
public List<BatchClassDynamicPluginConfig> getAllDynamicPluginPropertiesForBatchInstance(
        String batchInstanceIdentifier) {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS_PLUGIN, BATCH_CLASS_PLUGIN);
    criteria.createAlias(BATCH_CLASS_PLUGIN_BATCH_CLASS_MODULE, BATCH_CLASS_MODULE);
    criteria.createAlias("batchClassModule.batchClass", BATCH_CLASS);

    DetachedCriteria subQuery = criteria(BatchInstance.class);
    subQuery.add(Restrictions.eq("identifier", batchInstanceIdentifier));
    subQuery.setProjection(Projections.property("batchClass.id"));

    criteria.add(Subqueries.propertyEq("batchClass.id", subQuery));

    return find(criteria);
}

From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassDynamicPluginConfigDaoImpl.java

License:Open Source License

/**
 * To get all Dynamic Plugin Properties for Batch class.
 * //from   w  ww.j  a va 2  s  . c o m
 * @param batchClassIdentifier String
 * @return List<BatchClassDynamicPluginConfig>
 */
@Override
public List<BatchClassDynamicPluginConfig> getAllDynamicPluginPropertiesForBatchClass(
        String batchClassIdentifier) {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS_PLUGIN, BATCH_CLASS_PLUGIN, JoinFragment.INNER_JOIN);
    criteria.createAlias(BATCH_CLASS_PLUGIN_BATCH_CLASS_MODULE, BATCH_CLASS_MODULE, JoinFragment.INNER_JOIN);
    criteria.createAlias("batchClassPlugin.batchClassModule.batchClass", BATCH_CLASS, JoinFragment.INNER_JOIN);
    criteria.createAlias("batchClassPlugin.plugin", "plugin", JoinFragment.INNER_JOIN);
    criteria.createAlias("batchClassPlugin.batchClassDynamicPluginConfigs", "batchClassDynamicPluginConfigs",
            JoinFragment.INNER_JOIN);
    criteria.add(Restrictions.eq("batchClass.identifier", batchClassIdentifier));
    return find(criteria);
}

From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassDynamicPluginConfigDaoImpl.java

License:Open Source License

/**
 * To get Dynamic Plugin Properties for Batch class.
 * //from w w  w  .j  ava2  s . com
 * @param batchClassIdentifier String
 * @param pluginName String
 * @return List<BatchClassDynamicPluginConfig>
 */
@Override
public List<BatchClassDynamicPluginConfig> getDynamicPluginPropertiesForBatchClass(String batchClassIdentifier,
        String pluginName) {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS_PLUGIN, BATCH_CLASS_PLUGIN, JoinFragment.INNER_JOIN);
    criteria.createAlias(BATCH_CLASS_PLUGIN_BATCH_CLASS_MODULE, BATCH_CLASS_MODULE, JoinFragment.INNER_JOIN);
    criteria.createAlias("batchClassPlugin.batchClassModule.batchClass", BATCH_CLASS, JoinFragment.INNER_JOIN);
    criteria.createAlias("batchClassPlugin.plugin", "plugin", JoinFragment.INNER_JOIN);
    criteria.createAlias("batchClassPlugin.batchClassDynamicPluginConfigs", "batchClassDynamicPluginConfigs",
            JoinFragment.INNER_JOIN);
    criteria.add(Restrictions.eq("plugin.pluginName", pluginName));
    criteria.add(Restrictions.eq("batchClass.identifier", batchClassIdentifier));
    return find(criteria);
}

From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassGroupsDaoImpl.java

License:Open Source License

/**
 * API for getting the batch class identifiers having the user roles.
 * @param userRoles Set<String>//  www  . j a  va 2  s  . c o  m
 * @param includeDeleted boolean
 * @return Set<String>
 */
@Override
public Set<String> getBatchClassIdentifierForUserRoles(Set<String> userRoles, boolean includeDeleted) {
    boolean isValid = true;
    if (userRoles == null || userRoles.size() == 0) {
        isValid = false;
    }
    Set<String> batchClassIdentifiers = null;

    // New version of fetching.
    if (isValid) {
        batchClassIdentifiers = new LinkedHashSet<String>();
        DetachedCriteria criteria = criteria();
        Disjunction disjunction = Restrictions.disjunction();
        for (String userRole : userRoles) {
            disjunction.add(Restrictions.eq(GROUP_NAME, userRole));
        }
        criteria.add(disjunction);
        criteria.addOrder(Order.asc(BATCH_CLASS));
        List<BatchClassGroups> batchClassGroups = find(criteria);
        for (BatchClassGroups batchClassGroup : batchClassGroups) {
            if (includeDeleted) {
                batchClassIdentifiers.add(batchClassGroup.getBatchClass().getIdentifier());
            } else {
                if (!batchClassGroup.getBatchClass().isDeleted()) {
                    batchClassIdentifiers.add(batchClassGroup.getBatchClass().getIdentifier());
                }
            }
        }
    }
    return batchClassIdentifiers;
}

From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassGroupsDaoImpl.java

License:Open Source License

/**
 * API for getting the user roles for a batch class.
 * @param userRoles Set<String>/*from w ww  . ja va  2  s.c om*/
 * @param batchClassIdentifier
 * @return Set<String>
 */
@Override
public Set<String> getRolesForBatchClass(String batchClassIdentifier) {
    Set<String> userGroups = new HashSet<String>();
    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS, BATCH_CLASS);
    criteria.add(Restrictions.eq(BATCH_CLASS_IDENTIFIER, batchClassIdentifier));
    List<BatchClassGroups> batchClassGroups = find(criteria);
    for (BatchClassGroups batchClassGroup : batchClassGroups) {
        userGroups.add(batchClassGroup.getGroupName());
    }
    return userGroups;
}

From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassModuleConfigDaoImpl.java

License:Open Source License

/**
 * API for getting the module config using batch class module id.
 * //from   w  w w .  j  a  v a2 s .c o m
 * @param batchClassModuleId String
 * @return List<ModuleConfig>
 */
@Override
public List<ModuleConfig> getModuleConfigForBatchClassModule(String batchClassModuleId) {
    DetachedCriteria criteria = criteria();
    criteria.add(Restrictions.eq("batch_class_module_id", batchClassModuleId));
    return this.findSingle(criteria);
}

From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassModuleDaoImpl.java

License:Open Source License

/**
 * API to get the count of modules related to a batch class.
 * //from  w w w  .  j ava2  s .c  o m
 * @param batchClassId
 * @return Integer (count of modules)
 */
@Override
public Integer countModules(String batchClassIdentifier) {
    LOG.info("batchClassIdentifier : " + batchClassIdentifier);
    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS, BATCH_CLASS);
    criteria.add(Restrictions.eq(BATCH_CLASS_IDENTIFIER, batchClassIdentifier));
    return count(criteria);
}

From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassModuleDaoImpl.java

License:Open Source License

/**
 * API to fetch List of modules corresponding to a batch class.
 * /*from   w w  w  . j  a  va2s.c om*/
 * @param batchClassId
 * @return List<Module>
 */
@Override
public List<Module> getBatchClassModule(String batchClassIdentifier) {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS, BATCH_CLASS);
    criteria.add(Restrictions.eq(BATCH_CLASS_IDENTIFIER, batchClassIdentifier));
    criteria.setProjection(Projections.property(MODULE));
    return find(criteria);
}