/** * @param model * @param modelDto * @param adminRoleAdded * @return */ private ArrayList<ParticipantDTO> updateTopLevelRoles(Model model) { List<Role> topLevelRoles = null; topLevelRoles = model.getAllTopLevelRoles(); ArrayList<ParticipantDTO> allTopLevelRoles = new ArrayList<ParticipantDTO>(); for (Role role : topLevelRoles) { // We the "Administrator" role that belong to Predefined model if (PredefinedConstants.ADMINISTRATOR_ROLE.equals(role.getId())) { if (PredefinedConstants.PREDEFINED_MODEL_ID.equals(model.getId())) { ParticipantDTO participantDTO = new ParticipantDTO(role); participantDTO.type = ParticipantManagementUtils.getParticipantType(role).name(); allTopLevelRoles.add(participantDTO); } continue; } String modelId = ModelUtils.extractModelId(role.getQualifiedId()); if ((modelId == null) || (modelId.equals(model.getId()))) { ParticipantDTO participantDTO = new ParticipantDTO(role); participantDTO.type = ParticipantManagementUtils.getParticipantType(role).name(); allTopLevelRoles.add(participantDTO); } } return allTopLevelRoles; }
/** @return */ public List<ModelDTO> getModels(Boolean allActive, boolean includePredefinedModel) throws Exception { List<ModelDTO> modelList = CollectionUtils.newArrayList(); try { Collection<DeployedModel> models = CollectionUtils.newArrayList(); if (allActive.equals(true)) { models = ModelCache.findModelCache().getActiveModels(); } else { models = ModelCache.findModelCache().getAllModels(); } for (DeployedModel model : models) { if (includePredefinedModel || !(PredefinedConstants.PREDEFINED_MODEL_ID.equals(model.getId()))) { ModelDTO modelDTO = DTOBuilder.build(model, ModelDTO.class); String modelName = I18nUtils.getModelName(model); List<ProcessDefinitionDTO> processDefitionDTOList = CollectionUtils.newArrayList(); List<Data> modelData = model.getAllData(); List<ProcessDefinition> processDefinitions = model.getAllProcessDefinitions(); List<ActivityDTO> activityDTOList = CollectionUtils.newArrayList(); List<DataDTO> dataDTOList = CollectionUtils.newArrayList(); // Create DataDTO list for (Data data : modelData) { DataDTO dataDTO = DTOBuilder.build(data, DataDTO.class); dataDTOList.add(dataDTO); } // Create ProcessDefinitionDTO list for (ProcessDefinition processDefinition : processDefinitions) { ProcessDefinitionDTO processDefinitionDTO = DTOBuilder.build(processDefinition, ProcessDefinitionDTO.class); processDefinitionDTO.modelName = modelName; processDefinitionDTO.auxillary = isAuxiliaryProcess(processDefinition); processDefinitionDTO.name = I18nUtils.getProcessName(processDefinition); processDefitionDTOList.add(processDefinitionDTO); activityDTOList = CollectionUtils.newArrayList(); List<Activity> activities = processDefinition.getAllActivities(); // Create ActivityDTO list for (Activity activity : activities) { ActivityDTO activityDTO = DTOBuilder.build(activity, ActivityDTO.class); activityDTO.auxillary = isAuxiliaryActivity(activity); activityDTO.name = I18nUtils.getActivityName(activity); activityDTO.runtimeElementOid = activity.getRuntimeElementOID(); activityDTOList.add(activityDTO); } processDefinitionDTO.activities = activityDTOList; } modelDTO.processDefinitions = processDefitionDTOList; modelDTO.data = dataDTOList; modelList.add(modelDTO); // Add all top-level Organizations modelDTO.allTopLevelOrganizations = updateTopLevelOrganizations(model); // Add all top-level Roles modelDTO.allTopLevelRoles = updateTopLevelRoles(model); } } } catch (Exception e) { throw e; } return modelList; }