@Override
public void popupMenuWillBecomeVisible(PopupMenuEvent arg0) {
// create transfer menus
targetMenu.removeAll();
WsdlTestStep testStep;
WsdlTestCase testCase = null;
WsdlTestSuite testSuite = null;
WsdlProject project = null;
MockService mockService = null;
MockResponse mockResponse = null;
SecurityTest securityTest = null;
if (modelItem instanceof WsdlTestStep) {
testStep = (WsdlTestStep) modelItem;
testCase = testStep.getTestCase();
testSuite = testCase.getTestSuite();
project = testSuite.getProject();
} else if (modelItem instanceof WsdlTestCase) {
testCase = (WsdlTestCase) modelItem;
testSuite = testCase.getTestSuite();
project = testSuite.getProject();
} else if (modelItem instanceof WsdlTestSuite) {
testSuite = (WsdlTestSuite) modelItem;
project = testSuite.getProject();
} else if (modelItem instanceof WsdlMockService) {
project = ((WsdlMockService) modelItem).getProject();
} else if (modelItem instanceof MockResponse) {
mockResponse = (MockResponse) modelItem;
mockService = (mockResponse).getMockOperation().getMockService();
project = mockService.getProject();
} else if (modelItem instanceof WsdlProject) {
project = (WsdlProject) modelItem;
} else if (modelItem instanceof AbstractHttpRequestInterface<?>) {
project = ((AbstractHttpRequest<?>) modelItem).getOperation().getInterface().getProject();
} else if (modelItem instanceof Operation) {
project = (WsdlProject) ((Operation) modelItem).getInterface().getProject();
} else if (modelItem instanceof SecurityTest) {
securityTest = (SecurityTest) modelItem;
testCase = securityTest.getTestCase();
testSuite = testCase.getTestSuite();
project = testSuite.getProject();
}
TestPropertyHolder globalProperties = PropertyExpansionUtils.getGlobalProperties();
if (globalProperties.getProperties().size() > 0) {
targetMenu.add(createPropertyMenu("Global", globalProperties));
}
if (project != null) {
targetMenu.add(createPropertyMenu("Project: [" + project.getName() + "]", project));
}
if (testSuite != null) {
targetMenu.add(createPropertyMenu("TestSuite: [" + testSuite.getName() + "]", testSuite));
}
if (mockService != null) {
targetMenu.add(createPropertyMenu("MockService: [" + mockService.getName() + "]", mockService));
}
if (mockResponse != null) {
targetMenu.add(createPropertyMenu("MockResponse: [" + mockResponse.getName() + "]", mockResponse));
}
if (testCase != null) {
targetMenu.add(createPropertyMenu("TestCase: [" + testCase.getName() + "]", testCase));
for (int c = 0; c < testCase.getTestStepCount(); c++) {
testStep = testCase.getTestStepAt(c);
if (testStep.getPropertyNames().length == 0) {
continue;
}
if (targetMenu.getComponentCount() == 3) {
targetMenu.add(new JSeparator());
}
targetMenu.add(createPropertyMenu("Step " + (c + 1) + ": [" + testStep.getName() + "]", testStep));
}
}
if (securityTest != null) {
targetMenu.add(createPropertyMenu("SecurityTest: [" + securityTest.getName() + "]", securityTest));