/** * Determines the business transaction name for the given {@link InvocationSequenceData} using * the passed {@link BusinessTransactionDefinition}. * * @param invocSequence * {@link InvocationSequenceData} to determine the business transaction name for. * @param cachedDataService * {@link ICachedDataService} instance for retrieving method names, etc. * @return a business transaction name */ public String determineBusinessTransactionName(InvocationSequenceData invocSequence, ICachedDataService cachedDataService) { String businessTxName; if (dynamicNameExtractionActive()) { businessTxName = extractNameDynamically(invocSequence, cachedDataService, 0); if (null == businessTxName) { businessTxName = getBusinessTransactionDefinitionName() + NameExtractionExpression.UNKNOWN_DYNAMIC_BUSINESS_TRANSACTION_POSTFIX; } else if (StringUtils.isEmpty(businessTxName)) { businessTxName = getBusinessTransactionDefinitionName() + NameExtractionExpression.EMPTY_DYNAMIC_BUSINESS_TRANSACTION_POSTFIX; } } else { businessTxName = getBusinessTransactionDefinitionName(); } return businessTxName; }
/** * {@inheritDoc} */ @Override public void addPages() { List<BusinessTransactionDefinition> businessTransactions = application.getBusinessTransactionDefinitions(); String[] items = new String[businessTransactions.size()]; int i = 0; for (BusinessTransactionDefinition businessTx : businessTransactions) { items[i] = businessTx.getBusinessTransactionDefinitionName(); i++; } newItemWizardPage = new NameDescriptionInsertBeforeWizardPage(TITLE, MESSAGE, items, BusinessContextManagerViewPart.B_TX_ORDER_INFO_TOOLTIP); addPage(newItemWizardPage); }
/** * Adds business transaction definition to the application definition. Inserts it to the list * before the element with the passed index. * * @param businessTransactionDefinition * {@link BusinessTransactionDefinition} instance to add * @param insertBeforeIndex * insert before this index * @throws BusinessException * If the application definition already contains a business transaction with same * identifier or the insertBeforeIndex is not valid. */ public void addBusinessTransactionDefinition(BusinessTransactionDefinition businessTransactionDefinition, int insertBeforeIndex) throws BusinessException { if (businessTransactionDefinition == null) { throw new BusinessException("Adding business transaction 'null'.", BusinessContextErrorCodeEnum.UNKNOWN_BUSINESS_TRANSACTION); } else if (businessTransactionDefinitions.contains(businessTransactionDefinition)) { throw new BusinessException( "Adding business transaction " + businessTransactionDefinition.getBusinessTransactionDefinitionName() + " with id " + businessTransactionDefinition.getId() + ".", BusinessContextErrorCodeEnum.DUPLICATE_ITEM); } else if ((insertBeforeIndex < 0) || (insertBeforeIndex > businessTransactionDefinitions.size())) { throw new BusinessException("Adding business transaction " + businessTransactionDefinition.getBusinessTransactionDefinitionName() + " with id " + businessTransactionDefinition.getId() + " at index " + insertBeforeIndex + ".", BusinessContextErrorCodeEnum.INVALID_MOVE_OPRATION); } else { businessTransactionDefinitions.add(insertBeforeIndex, businessTransactionDefinition); } }
/** * {@inheritDoc} */ @Override protected StyledString getStyledText(Object element, int index) { if (element instanceof BusinessTransactionDefinition) { BusinessTransactionDefinition bTxDef = (BusinessTransactionDefinition) element; switch (index) { case 0: return new StyledString(bTxDef.getBusinessTransactionDefinitionName()); case 1: if (bTxDef.dynamicNameExtractionActive()) { StyledString result = new StyledString("Pattern: "); result.append(new StyledString(bTxDef.getNameExtractionExpression().getTargetNamePattern(), StyledString.QUALIFIER_STYLER)); return result; } else { return new StyledString(bTxDef.getBusinessTransactionDefinitionName()); } case 2: return EMPTY; case 3: return new StyledString((bTxDef.getDescription() != null) ? bTxDef.getDescription() : ""); default: return EMPTY; } } return EMPTY; }
} catch (BusinessException e) { InspectIT.getDefault().createErrorDialog( "Moving of the business transaction definition '" + businessTransaction.getBusinessTransactionDefinitionName() + "' failed due to the following exception.", e, -1);
/** * {@inheritDoc} */ @Override public boolean performFinish() { String name = newItemWizardPage.getName(); String description = newItemWizardPage.getDescription(); int insertBeforeIndex = newItemWizardPage.getInsertedBeforeIndex(); AbstractExpression matchingRuleExpression = new BooleanExpression(false); newBusinessTransaction = new BusinessTransactionDefinition(name); if (StringUtils.isNotBlank(description)) { newBusinessTransaction.setDescription(description); } newBusinessTransaction.setMatchingRuleExpression(matchingRuleExpression); try { application.addBusinessTransactionDefinition(newBusinessTransaction, insertBeforeIndex); } catch (BusinessException e) { InspectIT.getDefault().createErrorDialog( "Adding the business transaction definition '" + newBusinessTransaction.getBusinessTransactionDefinitionName() + "' failed due to the following exception.", e, -1); return false; } return true; }
businessTx_1 = new BusinessTransactionData(idGenerator.getAndIncrement(), businessTxDefinition_1.getId(), application, businessTxDefinition_1.getBusinessTransactionDefinitionName()); businessTxDefinition_2 = new BusinessTransactionDefinition(idGenerator.getAndIncrement(), "businessTxDefinition_2", null); businessTx_2 = new BusinessTransactionData(idGenerator.getAndIncrement(), businessTxDefinition_2.getId(), application, businessTxDefinition_2.getBusinessTransactionDefinitionName()); businessTx_unknown = new BusinessTransactionData(idGenerator.getAndIncrement(), BusinessTransactionDefinition.DEFAULT_ID, application, "Unknown Transaction"); applicationDefinition.addBusinessTransactionDefinition(businessTxDefinition_1); when(businessContextManagementService.registerApplication(applicationDefinition)).thenReturn(application); when(businessContextManagementService.registerApplication(ApplicationDefinition.DEFAULT_APPLICATION_DEFINITION)).thenReturn(application_unknown); when(businessContextManagementService.registerBusinessTransaction(application, businessTxDefinition_1, businessTxDefinition_1.getBusinessTransactionDefinitionName())) .thenReturn(businessTx_1); when(businessContextManagementService.registerBusinessTransaction(application, businessTxDefinition_2, businessTxDefinition_2.getBusinessTransactionDefinitionName())) .thenReturn(businessTx_2); when(businessContextManagementService.registerBusinessTransaction(application, applicationDefinition.getBusinessTransactionDefinition(0), applicationDefinition.getBusinessTransactionDefinition(0).getBusinessTransactionDefinitionName())).thenReturn(businessTx_unknown); when(businessContextManagementService.registerBusinessTransaction(application_unknown, ApplicationDefinition.DEFAULT_APPLICATION_DEFINITION.getBusinessTransactionDefinition(0), ApplicationDefinition.DEFAULT_APPLICATION_DEFINITION.getBusinessTransactionDefinition(0).getBusinessTransactionDefinitionName())).thenReturn(businessTx_unknown); when(businessContextManagementService.registerApplication(applicationDefinition_empty)).thenReturn(application_empty); when(businessContextManagementService.registerBusinessTransaction(application_empty, applicationDefinition_empty.getBusinessTransactionDefinition(0), applicationDefinition_empty.getBusinessTransactionDefinition(0).getBusinessTransactionDefinitionName())).thenReturn(businessTx_unknown);
businessTx_1 = new BusinessTransactionData(idGenerator.getAndIncrement(), businessTxDefinition_1.getId(), application, businessTxDefinition_1.getBusinessTransactionDefinitionName()); applicationDefinition.addBusinessTransactionDefinition(businessTxDefinition_1); when(stringValueSource.getStringValues(level_2_1, cachedDataService)).thenReturn(new String[] { "node/level_2_1/", "node/level_2_1/multiple" }); when(businessContextManagementService.registerApplication(applicationDefinition)).thenReturn(application); when(businessContextManagementService.registerBusinessTransaction(application, businessTxDefinition_1, businessTxDefinition_1.getBusinessTransactionDefinitionName())) .thenReturn(businessTx_1); when(invocationDataDao.getInvocationSequenceDetail(0, 0, -1, null, null, null)).thenReturn(Collections.singletonList(root));
/** * Start modification of the (first) selected business transaction definition. */ private void editSelectedBusinessTransaction() { ISelection selection = tableViewer.getSelection(); if (selection instanceof StructuredSelection) { BusinessTransactionDefinition businessTransactionDef = (BusinessTransactionDefinition) ((StructuredSelection) selection).getFirstElement(); if (businessTransactionDef.getId() == BusinessTransactionDefinition.DEFAULT_ID) { return; } ApplicationDefinition appDefinition = getApplication(); String[] existingBusinessTxNames = new String[appDefinition.getBusinessTransactionDefinitions().size()]; int i = 0; for (BusinessTransactionDefinition businessTx : appDefinition.getBusinessTransactionDefinitions()) { existingBusinessTxNames[i] = businessTx.getBusinessTransactionDefinitionName(); i++; } EditNameDescriptionDialog dialog = new EditNameDescriptionDialog(Display.getCurrent().getActiveShell(), businessTransactionDef.getBusinessTransactionDefinitionName(), businessTransactionDef.getDescription(), "Edit Business Transaction", "Enter new business transaction name and/or description", existingBusinessTxNames); if (Dialog.OK == dialog.open()) { businessTransactionDef.setBusinessTransactionDefinitionName(dialog.getName()); if (StringUtils.isNotBlank(dialog.getDescription())) { businessTransactionDef.setDescription(dialog.getDescription()); } updateContent(new StructuredSelection(businessTransactionDef)); markDirty(); } } }