@Override public String getName() { return application.getApplicationName(); }
/** * Default constructor. * * @param application * {@link ApplicationDefinition} * @param parentList * The parent list containing the {@link ApplicationDefinition} instance represented * by this {@link ApplicationLeaf}. * @param cmrRepositoryDefinition * {@link CmrRepositoryDefinition}. */ public ApplicationLeaf(ApplicationDefinition application, List<? extends IApplicationProvider> parentList, CmrRepositoryDefinition cmrRepositoryDefinition) { Assert.isNotNull(application); Assert.isNotNull(cmrRepositoryDefinition); Assert.isNotNull(parentList); this.setApplication(application); this.cmrRepositoryDefinition = cmrRepositoryDefinition; this.setName(application.getApplicationName()); this.setTooltip(application.getApplicationName()); this.parentList = parentList; }
/** * Adds application definition to the business context. Inserts it to the list before the * element with the passed index. * * @param appDefinition * {@link ApplicationDefinition} instance to add * @param insertBeforeIndex * insert before this index * @return added {@link ApplicationDefinition} instance * @throws BusinessException * if application cannot be added. */ public ApplicationDefinition addApplicationDefinition(ApplicationDefinition appDefinition, int insertBeforeIndex) throws BusinessException { if (appDefinition == null) { throw new BusinessException("Adding application 'null'.", BusinessContextErrorCodeEnum.UNKNOWN_APPLICATION); } else if (applicationDefinitions.contains(appDefinition)) { throw new BusinessException("Adding application " + appDefinition.getApplicationName() + " with id " + appDefinition.getId() + ".", BusinessContextErrorCodeEnum.DUPLICATE_ITEM); } else if ((insertBeforeIndex < 0) || (insertBeforeIndex > applicationDefinitions.size())) { throw new BusinessException("Adding application" + appDefinition.getApplicationName() + " with id " + appDefinition.getId() + " at index " + insertBeforeIndex + ".", BusinessContextErrorCodeEnum.INVALID_MOVE_OPRATION); } else { applicationDefinitions.add(insertBeforeIndex, appDefinition); return appDefinition; } }
/** * {@inheritDoc} */ @Override public ApplicationData registerApplication(ApplicationDefinition applicationDefinition) { int applicationId = deriveInstanceId(applicationDefinition.getApplicationName(), applicationDefinition.getId()); ApplicationData application = getApplicationForId(applicationId); if (null == application) { application = new ApplicationData(applicationId, applicationDefinition.getId(), applicationDefinition.getApplicationName()); ApplicationData existingApplication = applications.putIfAbsent(applicationId, application); if (null != existingApplication) { application = existingApplication; } } return application; }
/** * {@inheritDoc} */ @Override public synchronized void deleteApplicationDefinition(ApplicationDefinition appDefinition) throws BusinessException { try { BusinessContextDefinition businessContextDefinition = ciManager.getBusinessconContextDefinition(); businessContextDefinition.deleteApplicationDefinition(appDefinition); ciManager.updateBusinessContextDefinition(businessContextDefinition); } catch (JAXBException e) { throw new TechnicalException("Delete the application definition '" + appDefinition.getApplicationName() + "'.", ConfigurationInterfaceErrorCodeEnum.JAXB_MARSHALLING_OR_DEMARSHALLING_FAILED, e); } catch (IOException e) { throw new TechnicalException("Delete the application definition '" + appDefinition.getApplicationName() + "'.", ConfigurationInterfaceErrorCodeEnum.INPUT_OUTPUT_OPERATION_FAILED, e); } }
/** * {@inheritDoc} */ @Override public synchronized ApplicationDefinition updateApplicationDefinition(ApplicationDefinition appDefinition) throws BusinessException { try { BusinessContextDefinition businessContextDefinition = ciManager.getBusinessconContextDefinition(); ApplicationDefinition updated = businessContextDefinition.updateApplicationDefinition(appDefinition); ciManager.updateBusinessContextDefinition(businessContextDefinition); return updated; } catch (JAXBException e) { throw new TechnicalException("Update the application definition '" + appDefinition.getApplicationName() + "'.", ConfigurationInterfaceErrorCodeEnum.JAXB_MARSHALLING_OR_DEMARSHALLING_FAILED, e); } catch (IOException e) { throw new TechnicalException("Update the application definition '" + appDefinition.getApplicationName() + "'.", ConfigurationInterfaceErrorCodeEnum.INPUT_OUTPUT_OPERATION_FAILED, e); } }
/** * {@inheritDoc} */ @Override public synchronized ApplicationDefinition moveApplicationDefinition(ApplicationDefinition appDefinition, int index) throws BusinessException { try { BusinessContextDefinition businessContextDefinition = ciManager.getBusinessconContextDefinition(); ApplicationDefinition movedAppDefinition = businessContextDefinition.moveApplicationDefinition(appDefinition, index); ciManager.updateBusinessContextDefinition(businessContextDefinition); return movedAppDefinition; } catch (JAXBException e) { throw new TechnicalException("Move the application definition '" + appDefinition.getApplicationName() + "'.", ConfigurationInterfaceErrorCodeEnum.JAXB_MARSHALLING_OR_DEMARSHALLING_FAILED, e); } catch (IOException e) { throw new TechnicalException("Move the application definition '" + appDefinition.getApplicationName() + "'.", ConfigurationInterfaceErrorCodeEnum.INPUT_OUTPUT_OPERATION_FAILED, e); } }
@Test public void updateApplicationDefition() throws BusinessException { assertThat(businessContextDefinition.getApplicationDefinition(firstApplicationId).getApplicationName(), equalTo("firstAppDefinition")); assertThat(businessContextDefinition.getApplicationDefinition(secondApplicationId).getApplicationName(), equalTo("secondAppDefinition")); firstAppDefinition.setApplicationName("newName"); businessContextDefinition.updateApplicationDefinition(firstAppDefinition); assertThat(businessContextDefinition.getApplicationDefinition(firstApplicationId).getRevision(), is(2)); assertThat(businessContextDefinition.getApplicationDefinition(firstApplicationId).getApplicationName(), equalTo("newName")); assertThat(businessContextDefinition.getApplicationDefinition(secondApplicationId).getApplicationName(), equalTo("secondAppDefinition")); }
/** * Updates the given {@link ApplicationDefinition}. * * @param appDefinition * {@link ApplicationDefinition} to update * * @throws BusinessException * If update fails. * @return the updated {@link ApplicationDefinition} instance. */ public ApplicationDefinition updateApplicationDefinition(ApplicationDefinition appDefinition) throws BusinessException { if (appDefinition == null) { throw new BusinessException("Updating application 'null'.", BusinessContextErrorCodeEnum.UNKNOWN_APPLICATION); } int index = applicationDefinitions.indexOf(appDefinition); if (index < 0) { throw new BusinessException("Updating application " + appDefinition.getApplicationName() + " with id '" + appDefinition.getId() + "'.", BusinessContextErrorCodeEnum.UNKNOWN_APPLICATION); } ApplicationDefinition currentApplicationDefinition = applicationDefinitions.get(index); appDefinition.setRevision(appDefinition.getRevision() + 1); if ((currentApplicationDefinition != appDefinition) && ((currentApplicationDefinition.getRevision() + 1) != appDefinition.getRevision())) { // NOPMD throw new BusinessException("Update of the application definition '" + appDefinition.getApplicationName() + "'.", ConfigurationInterfaceErrorCodeEnum.REVISION_CHECK_FAILED); } applicationDefinitions.set(index, appDefinition); return appDefinition; }
/** * {@inheritDoc} */ @Override public synchronized ApplicationDefinition addApplicationDefinition(ApplicationDefinition appDefinition, int insertBeforeIndex) throws BusinessException { try { BusinessContextDefinition businessContextDefinition = ciManager.getBusinessconContextDefinition(); ApplicationDefinition addedApplicationDefinition; if (insertBeforeIndex < 0) { addedApplicationDefinition = businessContextDefinition.addApplicationDefinition(appDefinition); } else { addedApplicationDefinition = businessContextDefinition.addApplicationDefinition(appDefinition, insertBeforeIndex); } ciManager.updateBusinessContextDefinition(businessContextDefinition); return addedApplicationDefinition; } catch (JAXBException e) { throw new TechnicalException("Add the application definition '" + appDefinition.getApplicationName() + "'.", ConfigurationInterfaceErrorCodeEnum.JAXB_MARSHALLING_OR_DEMARSHALLING_FAILED, e); } catch (IOException e) { throw new TechnicalException("Add the application definition '" + appDefinition.getApplicationName() + "'.", ConfigurationInterfaceErrorCodeEnum.INPUT_OUTPUT_OPERATION_FAILED, e); } }
/** * {@inheritDoc} */ @Override protected StyledString getStyledText(Object element, int index) { if (element instanceof IApplicationProvider) { ApplicationDefinition appDef = ((IApplicationProvider) element).getApplication(); switch (index) { case 0: return new StyledString(appDef.getApplicationName()); case 1: return new StyledString(String.valueOf(appDef.getBusinessTransactionDefinitions().size())); case 2: return new StyledString(TextFormatter.clearLineBreaks(StringUtils.defaultString(appDef.getDescription()))); default: return EMPTY; } } return EMPTY; }
@Test public void updateApplicationDefition() throws BusinessException { ciService.addApplicationDefinition(firstAppDefinition); ciService.addApplicationDefinition(secondAppDefinition); firstAppDefinition.setApplicationName("newName"); ciService.updateApplicationDefinition(firstAppDefinition); assertThat(ciService.getApplicationDefinition(firstApplicationId).getApplicationName(), equalTo("newName")); assertThat(ciService.getApplicationDefinition(secondApplicationId).getApplicationName(), equalTo("secondAppDefinition")); }
ApplicationDefinition definitionToMove = applicationDefinitions.remove(currentIndex); if ((definitionToMove != appDefinition) && (definitionToMove.getRevision() != appDefinition.getRevision())) { // NOPMD throw new BusinessException("Moving the application definition '" + appDefinition.getApplicationName() + "'.", ConfigurationInterfaceErrorCodeEnum.REVISION_CHECK_FAILED);
@Test(expectedExceptions = { BusinessException.class }) public void updateWithWrongRevision() throws BusinessException { assertThat(businessContextDefinition.getApplicationDefinition(firstApplicationId).getApplicationName(), equalTo("firstAppDefinition")); assertThat(businessContextDefinition.getApplicationDefinition(secondApplicationId).getApplicationName(), equalTo("secondAppDefinition")); Kryo kryo = new Kryo(); ApplicationDefinition firstAppDefinitionCopy_1 = kryo.copy(firstAppDefinition); ApplicationDefinition firstAppDefinitionCopy_2 = kryo.copy(firstAppDefinition); firstAppDefinitionCopy_1.setApplicationName("newName_1"); firstAppDefinitionCopy_2.setApplicationName("newName_2"); businessContextDefinition.updateApplicationDefinition(firstAppDefinitionCopy_1); businessContextDefinition.updateApplicationDefinition(firstAppDefinitionCopy_2); } }
/** * {@inheritDoc} */ @Override public void addPages() { if (cmrRepositoryDefinition.getOnlineStatus() != OnlineStatus.OFFLINE) { List<ApplicationDefinition> applications = cmrRepositoryDefinition.getConfigurationInterfaceService().getApplicationDefinitions(); String[] items = new String[applications.size()]; int i = 0; for (ApplicationDefinition app : applications) { items[i] = app.getApplicationName(); i++; } newApplicationWizardPage = new NameDescriptionInsertBeforeWizardPage(TITLE, MESSAGE, items, BusinessContextManagerViewPart.APP_ORDER_INFO_TOOLTIP); addPage(newApplicationWizardPage); } else { InspectIT.getDefault().createErrorDialog("Application can not be created. Selected CMR repository is currently not available.", -1); } }
setExceptionOnSave(true); editorDirtyStateChanged(); InspectIT.getDefault().createErrorDialog("Saving of the application definition '" + applicationDefinition.getApplicationName() + "' failed due to the exception on the CMR.", dialog.getThrownException(), -1); setExceptionOnSave(true); editorDirtyStateChanged(); InspectIT.getDefault().createErrorDialog("Unexpected exception occurred during an attempt to save the application '" + applicationDefinition.getApplicationName() + "'.", t, -1); InspectIT.getDefault().createErrorDialog("Saving of the application '" + applicationDefinition.getApplicationName() + "' failed because CMR is currently not online.", -1);
application = new ApplicationData(idGenerator.getAndIncrement(), applicationDefinition.getId(), applicationDefinition.getApplicationName());
application = new ApplicationData(idGenerator.getAndIncrement(), applicationDefinition.getId(), applicationDefinition.getApplicationName()); application_empty = new ApplicationData(idGenerator.getAndIncrement(), applicationDefinition_empty.getId(), applicationDefinition_empty.getApplicationName());
int i = 0; for (IApplicationProvider appProvider : applicationProvider.getParentList()) { existingApplicationNames[i] = appProvider.getApplication().getApplicationName(); i++; EditNameDescriptionDialog dialog = new EditNameDescriptionDialog(HandlerUtil.getActiveShell(event), applicationDefinition.getApplicationName(), applicationDefinition.getDescription(), "Edit Application", "Enter new application name and/or description", existingApplicationNames); if (Dialog.OK == dialog.open()) {