@Test public void definitionName() { businessTxDefinition.setNameExtractionExpression(null); String businessTransactionName = businessTxDefinition.determineBusinessTransactionName(isd1, cachedDataService); assertThat(businessTransactionName, equalTo(BUSINESS_TX_DEF_NAME)); }
@Test public void dynamicNameOnFirstLevel() { when(extractionExpression.isSearchNodeInTrace()).thenReturn(false); when(extractionExpression.extractName(any(InvocationSequenceData.class), any(CachedDataService.class))).thenReturn(DYNAMIC_NAME); String businessTransactionName = businessTxDefinition.determineBusinessTransactionName(isd1, cachedDataService); assertThat(businessTransactionName, equalTo(DYNAMIC_NAME)); }
@Test public void dynamicNameOnSecondLevel() { when(extractionExpression.isSearchNodeInTrace()).thenReturn(true); when(extractionExpression.getMaxSearchDepth()).thenReturn(1); when(extractionExpression.extractName(isd1, cachedDataService)).thenReturn(null); when(extractionExpression.extractName(isd2, cachedDataService)).thenReturn(DYNAMIC_NAME); String businessTransactionName = businessTxDefinition.determineBusinessTransactionName(isd1, cachedDataService); assertThat(businessTransactionName, equalTo(DYNAMIC_NAME)); }
@Test public void dynamicNameNotMapped() { when(extractionExpression.isSearchNodeInTrace()).thenReturn(true); when(extractionExpression.getMaxSearchDepth()).thenReturn(1); when(extractionExpression.extractName(isd1, cachedDataService)).thenReturn(null); when(extractionExpression.extractName(isd2, cachedDataService)).thenReturn(null); String businessTransactionName = businessTxDefinition.determineBusinessTransactionName(isd1, cachedDataService); assertThat(businessTransactionName, equalTo(BUSINESS_TX_DEF_NAME + NameExtractionExpression.UNKNOWN_DYNAMIC_BUSINESS_TRANSACTION_POSTFIX)); }
@Test public void dynamicNameNotMappedWithUnlimitedSearchDepth() { when(extractionExpression.isSearchNodeInTrace()).thenReturn(true); when(extractionExpression.getMaxSearchDepth()).thenReturn(-1); when(extractionExpression.extractName(isd1, cachedDataService)).thenReturn(null); when(extractionExpression.extractName(isd2, cachedDataService)).thenReturn(null); String businessTransactionName = businessTxDefinition.determineBusinessTransactionName(isd1, cachedDataService); assertThat(businessTransactionName, equalTo(BUSINESS_TX_DEF_NAME + NameExtractionExpression.UNKNOWN_DYNAMIC_BUSINESS_TRANSACTION_POSTFIX)); } }
/** * Assigns the business context to the passed {@link InvocationSequenceData} instance. * * @param invocSequence * {@link InvocationSequenceData} instance to assign the business context for. */ private void assignBusinessContext(InvocationSequenceData invocSequence) { List<ApplicationDefinition> applicationDefinitions = configurationInterfaceService.getApplicationDefinitions(); ApplicationDefinition appDefinition = identify(invocSequence, applicationDefinitions); if (null == appDefinition) { appDefinition = ApplicationDefinition.DEFAULT_APPLICATION_DEFINITION; } ApplicationData application = businessContextRegistryService.registerApplication(appDefinition); invocSequence.setApplicationId(application.getId()); BusinessTransactionDefinition businessTxDefinition = identify(invocSequence, appDefinition.getBusinessTransactionDefinitions()); String businessTxName = businessTxDefinition.determineBusinessTransactionName(invocSequence, cachedDataService); BusinessTransactionData businessTransaction = businessContextRegistryService.registerBusinessTransaction(application, businessTxDefinition, businessTxName); invocSequence.setBusinessTransactionId(businessTransaction.getId()); }