use of org.contextmapper.dsl.refactoring.ExtractPartnershipRefactoring in project context-mapper-dsl by ContextMapper.
the class ExtractPartnershipRefactoringTest method canCheck4MultiplePartnershipRelationships.
@Test
void canCheck4MultiplePartnershipRelationships() throws IOException {
// given
String boundedContext1 = "CustomerManagement";
String boundedContext2 = "AnotherContext";
CMLResource input = getResourceCopyOfTestCML("extract-partnership-precondition-checks-multiple-rels-input.cml");
// when, then
Assertions.assertThrows(RefactoringInputException.class, () -> {
new ExtractPartnershipRefactoring(boundedContext1, boundedContext2).refactor(input);
});
}
use of org.contextmapper.dsl.refactoring.ExtractPartnershipRefactoring in project context-mapper-dsl by ContextMapper.
the class ExtractPartnershipRefactoringTest method canCheck4NullBoundedContext2.
@Test
void canCheck4NullBoundedContext2() throws IOException {
// given
String boundedContext1 = null;
String boundedContext2 = "TestContext";
CMLResource input = getResourceCopyOfTestCML("extract-partnership-precondition-checks-input.cml");
// when, then
Assertions.assertThrows(RefactoringInputException.class, () -> {
new ExtractPartnershipRefactoring(boundedContext1, boundedContext2).refactor(input);
});
}
use of org.contextmapper.dsl.refactoring.ExtractPartnershipRefactoring in project context-mapper-dsl by ContextMapper.
the class ExtractPartnershipRefactoringTest method canCheck4EqualBoundedContexts.
@Test
void canCheck4EqualBoundedContexts() throws IOException {
// given
String boundedContext1 = "TestContext";
String boundedContext2 = "TestContext";
CMLResource input = getResourceCopyOfTestCML("extract-partnership-precondition-checks-input.cml");
// when, then
Assertions.assertThrows(RefactoringInputException.class, () -> {
new ExtractPartnershipRefactoring(boundedContext1, boundedContext2).refactor(input);
});
}
use of org.contextmapper.dsl.refactoring.ExtractPartnershipRefactoring in project context-mapper-dsl by ContextMapper.
the class SuspendPartnershipRefactoringHandler method executeRefactoring.
@Override
protected void executeRefactoring(CMLResource resource, ExecutionEvent event) {
Partnership partnership = (Partnership) getSelectedElement();
SuspendPartnershipContext refactoringContext = new SuspendPartnershipContext(partnership.getParticipant1().getName(), partnership.getParticipant2().getName());
new WizardDialog(HandlerUtil.getActiveShell(event), new SuspendPartnershipRefactoringWizard(refactoringContext, executionContext -> {
if (refactoringContext.getMode() == SuspendPartnershipMode.MERGE_BOUNDED_CONTEXTS) {
// just use the 'Merge Bounded Contexts' AR in this case ...
return finishRefactoring(new MergeBoundedContextsRefactoring(executionContext.getMergeModeSelectedBoundedContext1(), executionContext.getMergeModeSelectedBoundedContext2(), executionContext.isMergeModeTakeAttributesFromSecondBoundedContext()), resource, event);
} else if (refactoringContext.getMode() == SuspendPartnershipMode.EXTRACT_NEW_BOUNDED_CONTEXT) {
return finishRefactoring(new ExtractPartnershipRefactoring(refactoringContext.getBoundedContext1(), refactoringContext.getBoundedContext2()), resource, event);
} else {
String upstream = refactoringContext.getBoundedContext1();
String downstream = refactoringContext.getBoundedContext2();
if (refactoringContext.getReplaceModeUpstreamBoundedContext().equals(refactoringContext.getBoundedContext2())) {
upstream = refactoringContext.getBoundedContext2();
downstream = refactoringContext.getBoundedContext1();
}
return finishRefactoring(new ChangePartnershipToUpstreamDownstreamRefactoring(upstream, downstream), resource, event);
}
})).open();
}
use of org.contextmapper.dsl.refactoring.ExtractPartnershipRefactoring in project context-mapper-dsl by ContextMapper.
the class ExtractPartnershipRefactoringTest method canCreateAggregateInNewBoundedContext.
@Test
public void canCreateAggregateInNewBoundedContext() throws IOException {
// given
CMLResource input = getResourceCopyOfTestCML("extract-partnership-test-1-input.cml");
// when
new ExtractPartnershipRefactoring("CustomerManagement", "AnotherContext").refactor(input);
// then
ContextMap map = input.getContextMappingModel().getMap();
BoundedContext newBC = map.getBoundedContexts().stream().filter(bc -> bc.getName().equals("CustomerManagement_AnotherContext_Partnership")).findFirst().get();
assertEquals(1, newBC.getAggregates().size());
Aggregate aggregate = newBC.getAggregates().get(0);
assertEquals("CommonModelAggregate", aggregate.getName());
assertEquals(1, aggregate.getDomainObjects().size());
assertEquals("CommonModelPartRoot", aggregate.getDomainObjects().get(0).getName());
assertTrue(((Entity) aggregate.getDomainObjects().get(0)).isAggregateRoot());
}
Aggregations