Java tutorial
/* * Licensed to the soi-toolkit project under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The soi-toolkit project licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.soitoolkit.tools.generator.plugin.createservice; import static org.soitoolkit.tools.generator.plugin.util.SwtUtil.addRadioButtons; import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.Path; import org.eclipse.jdt.core.IJavaElement; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jface.dialogs.IDialogPage; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.dialogs.ContainerSelectionDialog; import org.soitoolkit.tools.generator.model.enums.EnumUtil; import org.soitoolkit.tools.generator.model.enums.MepEnum; import org.soitoolkit.tools.generator.model.enums.TransformerEnum; import org.soitoolkit.tools.generator.model.enums.TransportEnum; import org.soitoolkit.tools.generator.model.impl.ModelUtil; import org.soitoolkit.tools.generator.plugin.util.SwtUtil; import org.soitoolkit.tools.generator.plugin.util.ValueHolder; /** * The "New" wizard page allows setting the container for the new file as well * as the file name. The page will only accept file name without the extension * OR with the extension that matches the expected one (mpe). */ public class CreateServicePage extends WizardPage { public boolean isJavaIdentifier(String str) { int n = str.length(); if (n == 0) return false; if (!Character.isJavaIdentifierStart(str.charAt(0))) return false; for (int i = 1; i < n; i++) if (!Character.isJavaIdentifierPart(str.charAt(i))) return false; return true; } @SuppressWarnings("unused") private String getSelectedValue(Combo combo) { try { return combo.getItem(combo.getSelectionIndex()); } catch (Exception e) { return e + " for index = " + combo.getSelectionIndex(); } } // public enum MepReqRespInbTranspEnum implements LabeledEnum { // MEP_REQUEST_RESPONSE("Request/Response"), MEP_ONE_WAY("One Way"), MEP_PUBLISH_SUBSCRIBE("Publish/Subscribe"); // // public static MepReqRespInbTranspEnum get(int ordinal) { // return values()[ordinal]; // } // // private String label; // private MepReqRespInbTranspEnum(String label) { // this.label = label; // } // public String getLabel() {return label;} // } private Combo mepCombo; private Combo inboundTransportCombo; private Combo outboundTransportCombo; private ValueHolder<Integer> transformerType = new ValueHolder<Integer>(TransformerEnum.JAVA.ordinal()); private int selectedMep; private int selectedInboundTransport; private int selectedOutboundTransport; // private int serviceType; private Text projectText; private Text serviceText; private ISelection selection; /** * Constructor for CreateServicePage. * * @param pageName */ public CreateServicePage(ISelection selection) { super("wizardPage"); setTitle("SOI Toolkit - Create a new service"); setDescription( "This code generator creates files for a new service in the selected integration componentens project."); setImageDescriptor(ImageDescriptor.createFromFile(this.getClass(), "service-large.png")); this.selection = selection; } /** * @see IDialogPage#createControl(Composite) */ public void createControl(Composite parent) { /* * valbar kod * - service def * - component ? * - transformer * * - unit test * - test consumer * - test producer * * - jmeter loadtest * * + instruktion * - lgg till i service conf + unit test conf * - lgg till i properties */ try { Composite container = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); container.setLayout(layout); layout.numColumns = 1; layout.verticalSpacing = 9; addFileds(container); // addTextFields(container); initialize(); dialogChanged(); setControl(container); } catch (RuntimeException e) { e.printStackTrace(); throw e; } } private void addFileds(final Composite parent) { final Composite container = SwtUtil.createGridContainer(parent, 2); // Listener listener = new Listener() { // public void handleEvent (Event e) { // serviceType = (Integer)e.widget.getData(); // System.err.println("### Set selected component type to: " + serviceType); // // Control [] children = container.getChildren (); // for (int i=0; i<children.length; i++) { // Control child = children [i]; // if (e.widget != child && child instanceof Button && (child.getStyle () & SWT.TOGGLE) != 0) { // ((Button) child).setSelection (false); // } // } // ((Button) e.widget).setSelection (true); // } // }; Label label = new Label(container, SWT.NULL); label.setText("Message Exchange Pattern:"); mepCombo = new Combo(container, SWT.READ_ONLY); // patternCategoryCombo.setItems (new String [] {"Request/Response Service", "Fire and Forget Service", "File Transfer"}); mepCombo.setItems(EnumUtil.getLabels(MepEnum.values())); label = new Label(container, SWT.NULL); label.setText("&Inbound Transport:"); inboundTransportCombo = new Combo(container, SWT.READ_ONLY); inboundTransportCombo.setItems(new String[] { "Please select a MEP first!", "" }); label = new Label(container, SWT.NULL); label.setText("&Outbound Transport:"); outboundTransportCombo = new Combo(container, SWT.READ_ONLY); outboundTransportCombo.setItems(new String[] { "Please select inbound transport first!", "" }); /* * Mep-Combo-Listener */ SelectionListener mepComboListener = new SelectionListener() { @Override public void widgetDefaultSelected(SelectionEvent e) { System.err.println("### Set default selected selectedMep"); Combo c = (Combo) e.widget; selectedMep = c.getSelectionIndex(); System.err.println("### Set default selected selectedMep to: " + selectedMep); } @Override public void widgetSelected(SelectionEvent e) { System.err.println("### Set selected selectedMep"); Combo c = (Combo) e.widget; selectedMep = c.getSelectionIndex(); System.err.println("### Set selected selectedMep to: " + selectedMep); switch (MepEnum.get(c.getSelectionIndex())) { case MEP_REQUEST_RESPONSE: inboundTransportCombo .setItems(new String[] { "SOAP/HTTP", "SOAP/HTTPS", "REST/HTTP", "REST/HTTPS" }); // "SOAP/Servlet"}); outboundTransportCombo .setItems(new String[] { "SOAP/HTTP", "SOAP/HTTPS", "REST/HTTP", "REST/HTTPS", "JMS" }); // "JDBC"}); break; case MEP_ONE_WAY: inboundTransportCombo.setItems(new String[] { "VM", "JMS", "JDBC", "File", "FTP", "SFTP", "HTTP (Multipart POST)", "POP3", "IMAP" }); // "Servlet (Multipart POST)", outboundTransportCombo .setItems(new String[] { "VM", "JMS", "JDBC", "File", "FTP", "SFTP", "SMTP" }); break; case MEP_ONE_WAY_ROBUST: inboundTransportCombo.setItems(new String[] { "File", "FTP", "VM" }); outboundTransportCombo.setItems(new String[] { "File", "FTP", "VM" }); break; case MEP_PUBLISH_SUBSCRIBE: inboundTransportCombo.setItems(new String[] { "JMS" }); outboundTransportCombo.setItems(new String[] { "JMS" }); break; } dialogChanged(); } }; mepCombo.addSelectionListener(mepComboListener); /* * Inbound-Transport-Combo-Listener */ SelectionListener inboundTransportComboListener = new SelectionListener() { @Override public void widgetDefaultSelected(SelectionEvent e) { System.err.println("### Set default selected selectedInboundTransport"); Combo c = (Combo) e.widget; selectedInboundTransport = c.getSelectionIndex(); System.err.println( "### Set default selected selectedInboundTransport to: " + selectedInboundTransport); } @Override public void widgetSelected(SelectionEvent e) { System.err.println("### Set selected selectedInboundTransport"); Combo c = (Combo) e.widget; selectedInboundTransport = c.getSelectionIndex(); System.err .println("### Set selected selectedInboundTransport type to: " + selectedInboundTransport); // int inbTransp = c.getSelectionIndex(); // switch (MepEnum.get(mepCombo.getSelectionIndex())) { // case MEP_REQUEST_RESPONSE: // break; // case MEP_ONE_WAY: // outboundTransportCombo.setItems (new String [] {c.getItem(inbTransp)}); // break; // case MEP_PUBLISH_SUBSCRIBE: // break; // } dialogChanged(); } }; inboundTransportCombo.addSelectionListener(inboundTransportComboListener); /* * Outbound-Transport-Combo-Listener */ SelectionListener outboundTransportComboListener = new SelectionListener() { @Override public void widgetDefaultSelected(SelectionEvent e) { System.err.println("### Set default selected selectedOutboundTransport"); Combo c = (Combo) e.widget; selectedOutboundTransport = c.getSelectionIndex(); System.err.println( "### Set default selected selectedOutboundTransport to: " + selectedOutboundTransport); } @Override public void widgetSelected(SelectionEvent e) { System.err.println("### Set selected selectedOutboundTransport"); Combo c = (Combo) e.widget; selectedOutboundTransport = c.getSelectionIndex(); System.err.println( "### Set selected selectedOutboundTransport type to: " + selectedOutboundTransport); dialogChanged(); } }; outboundTransportCombo.addSelectionListener(outboundTransportComboListener); /* * TransformerType */ addRadioButtons(EnumUtil.getLabels(TransformerEnum.values()), "&Type of transformer:", transformerType, container, new Listener() { public void handleEvent(Event e) { dialogChanged(); } }); label = new Label(container, SWT.NULL); // Filler in column 2 // } // // private void addTextFields(Composite parent) { // // Composite container = SwtUtil.createGridContainer(parent, 2); //// Composite container = new Composite(parent, SWT.NULL); //// GridLayout layout = new GridLayout(); //// container.setLayout(layout); //// layout.numColumns = 3; //// layout.verticalSpacing = 9; label = new Label(container, SWT.NULL); label.setText("&Project:"); Composite projectContainer = SwtUtil.createGridContainer(container, 2); projectText = new Text(projectContainer, SWT.BORDER | SWT.SINGLE); projectText.setText(" "); // TODO: Otherwise it is shrinked to mimimum width... GridData gd = new GridData(GridData.FILL_HORIZONTAL); projectText.setLayoutData(gd); projectText.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { dialogChanged(); } }); // Default the IC, if an IC is selected in workspace... // ISelection projSelection = // PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getSelection(); // // if (projSelection instanceof IStructuredSelection) { // Object[] selectedObjects = ((IStructuredSelection)projSelection).toArray(); // IProject project = null; // // if (selectedObjects.length > 0) { // // if (selectedObjects[0] instanceof IJavaProject) { // project = ((IJavaProject)selectedObjects[0]).getProject(); // } else if (selectedObjects[0] instanceof IResource) { // project= ((IResource)selectedObjects[0]).getProject(); // } else if (selectedObjects[0] instanceof PackageFragmentRootContainer) { // IJavaProject jProject = ((PackageFragmentRootContainer)selectedObjects[0]).getJavaProject(); // project = jProject.getProject(); // } else if (selectedObjects[0] instanceof IJavaElement) { // IJavaProject jProject= ((IJavaElement)selectedObjects[0]).getJavaProject(); // project = jProject.getProject(); // } // // if (project != null) { // projectText.setText(project.getName()); // } // } // } Button button = new Button(projectContainer, SWT.PUSH); button.setText("Browse..."); button.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { handleBrowse(); } }); label = new Label(container, SWT.NULL); label.setText("&Service name:"); serviceText = new Text(container, SWT.BORDER | SWT.SINGLE); gd = new GridData(GridData.FILL_HORIZONTAL); serviceText.setLayoutData(gd); serviceText.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { dialogChanged(); } }); } /** * Tests if the current workbench selection is a suitable container to use. */ private void initialize() { if (selection != null && selection.isEmpty() == false && selection instanceof IStructuredSelection) { IStructuredSelection iStructuredSelection = (IStructuredSelection) selection; if (iStructuredSelection.size() > 0) { Object selectedObject = iStructuredSelection.getFirstElement(); IProject project = null; if (selectedObject instanceof IJavaProject) { project = ((IJavaProject) selectedObject).getProject(); } else if (selectedObject instanceof IJavaElement) { IJavaProject jProject = ((IJavaElement) selectedObject).getJavaProject(); project = jProject.getProject(); } else if (selectedObject instanceof IResource) { project = ((IResource) selectedObject).getProject(); } if (project != null) { projectText.setText(project.getName()); } } } serviceText.setText("mySample"); } /** * Uses the standard container selection dialog to choose the new value for * the container field. */ private void handleBrowse() { ContainerSelectionDialog dialog = new ContainerSelectionDialog(getShell(), ResourcesPlugin.getWorkspace().getRoot(), false, "Select new file container"); if (dialog.open() == ContainerSelectionDialog.OK) { Object[] result = dialog.getResult(); if (result.length == 1) { projectText.setText(((Path) result[0]).toString()); } } } /** * Ensures that both text fields are set. */ private void dialogChanged() { // Validate MEP int mepIdx = mepCombo.getSelectionIndex(); if (mepIdx == -1) { updateStatus("Select a message exchange pattern"); return; } // Do not allow pub/sub mep right now... if (mepIdx == 3) { updateStatus("Message exchange pattern Publish/Subscribe not yet supported"); return; } // Validate Inbound Transport int ibtIdx = inboundTransportCombo.getSelectionIndex(); if (ibtIdx == -1) { updateStatus("Select an inbound transport"); return; } // Validate Outbound Transport int obtIdx = outboundTransportCombo.getSelectionIndex(); if (obtIdx == -1) { updateStatus("Select an outbound transport"); return; } // Validate Transformer-type, do no allow smooks for oneway's right now. int ttIdx = transformerType.value; if (mepIdx == 1 && ttIdx == 1) { updateStatus( "Smooks based transformers are currently not supported for oneway message exchange patterns"); return; } String containerName = getContainerName().trim(); IResource container = ResourcesPlugin.getWorkspace().getRoot().findMember(new Path(containerName)); String serviceName = getServiceName(); if (containerName.length() == 0) { updateStatus("Select a project"); return; } if (container == null || (container.getType() & (IResource.PROJECT | IResource.FOLDER)) == 0) { updateStatus("Selected project must exist"); return; } if (!container.isAccessible()) { updateStatus("Selected project must be writable"); return; } if (serviceName.length() == 0) { updateStatus("Name of the service must be specified"); return; } if (!isJavaIdentifier(ModelUtil.makeJavaName(serviceName))) { updateStatus("Service name must be a valid Java identifier"); return; } updateStatus(null); } private void updateStatus(String message) { setErrorMessage(message); setPageComplete(message == null); } public String getContainerName() { return projectText.getText(); } public int getSelectedMep() { return selectedMep; } public TransportEnum getSelectedInboundTransport() { MepEnum mep = MepEnum.get(selectedMep); TransportEnum t = null; if (mep == MepEnum.MEP_ONE_WAY) { t = getSelectedOneWayInboundTransport(); } else if (mep == MepEnum.MEP_ONE_WAY_ROBUST) { t = getSelectedOneWayRobustInboundTransport(); } else if (mep == MepEnum.MEP_REQUEST_RESPONSE) { t = getSelectedRequestResponseInboundTransport(); } else if (mep == MepEnum.MEP_PUBLISH_SUBSCRIBE) { t = getSelectedPublishSubscribeInboundTransport(); } return t; } public TransportEnum getSelectedOneWayInboundTransport() { // Keep in synch with: inboundTransportCombo.setItems (new String [] {"VM", "JMS", "JDBC", "File", "FTP", "SFTP", "HTTP (Multipart POST)", "POP3", "IMAP"}); // "Servlet (Multipart POST)", TransportEnum t = null; switch (selectedInboundTransport) { case 0: t = TransportEnum.VM; break; case 1: t = TransportEnum.JMS; break; case 2: t = TransportEnum.JDBC; break; case 3: t = TransportEnum.FILE; break; case 4: t = TransportEnum.FTP; break; case 5: t = TransportEnum.SFTP; break; case 6: t = TransportEnum.HTTP; break; case 7: t = TransportEnum.POP3; break; case 8: t = TransportEnum.IMAP; break; } return t; } public TransportEnum getSelectedOneWayRobustInboundTransport() { // Keep in synch with: inboundTransportCombo.setItems (new String [] {"File", "FTP", "VM"}); TransportEnum t = null; switch (selectedInboundTransport) { case 0: t = TransportEnum.FILE; break; case 1: t = TransportEnum.FTP; break; case 2: t = TransportEnum.VM; break; } return t; } private TransportEnum getSelectedRequestResponseInboundTransport() { // Keep in synch with: inboundTransportCombo.setItems (new String [] {"SOAP/HTTP", "REST/HTTP"}); // "SOAP/Servlet"}); TransportEnum t = null; switch (selectedInboundTransport) { case 0: t = TransportEnum.SOAPHTTP; break; case 1: t = TransportEnum.SOAPHTTPS; break; case 2: t = TransportEnum.RESTHTTP; break; case 3: t = TransportEnum.RESTHTTPS; break; } return t; } private TransportEnum getSelectedPublishSubscribeInboundTransport() { // Keep in synch with: inboundTransportCombo.setItems (new String [] {"JMS"}); TransportEnum t = null; switch (selectedInboundTransport) { case 0: t = TransportEnum.JMS; break; } return t; } public TransportEnum getSelectedOutboundTransport() { MepEnum mep = MepEnum.get(selectedMep); TransportEnum t = null; if (mep == MepEnum.MEP_ONE_WAY) { t = getSelectedOneWayOutboundTransport(); } else if (mep == MepEnum.MEP_ONE_WAY_ROBUST) { t = getSelectedOneWayRobustOutboundTransport(); } else if (mep == MepEnum.MEP_REQUEST_RESPONSE) { t = getSelectedRequestResponseOutboundTransport(); } else if (mep == MepEnum.MEP_PUBLISH_SUBSCRIBE) { t = getSelectedPublishSubscribeOutboundTransport(); } return t; } private TransportEnum getSelectedOneWayOutboundTransport() { // Keep in synch with: outboundTransportCombo.setItems (new String [] {"VM", "JMS", "JDBC", "File", "FTP", "SFTP", "SMTP"}); TransportEnum t = null; switch (selectedOutboundTransport) { case 0: t = TransportEnum.VM; break; case 1: t = TransportEnum.JMS; break; case 2: t = TransportEnum.JDBC; break; case 3: t = TransportEnum.FILE; break; case 4: t = TransportEnum.FTP; break; case 5: t = TransportEnum.SFTP; break; case 6: t = TransportEnum.SMTP; break; } return t; } private TransportEnum getSelectedOneWayRobustOutboundTransport() { // Keep in synch with: outboundTransportCombo.setItems (new String [] {"File", "FTP", "VM"}); TransportEnum t = null; switch (selectedOutboundTransport) { case 0: t = TransportEnum.FILE; break; case 1: t = TransportEnum.FTP; break; case 2: t = TransportEnum.VM; break; } return t; } private TransportEnum getSelectedRequestResponseOutboundTransport() { // Keep in synch with: outboundTransportCombo.setItems (new String [] {"SOAP/HTTP", "REST/HTTP", "JMS"}); // "JDBC"}); TransportEnum t = null; switch (selectedOutboundTransport) { case 0: t = TransportEnum.SOAPHTTP; break; case 1: t = TransportEnum.SOAPHTTPS; break; case 2: t = TransportEnum.RESTHTTP; break; case 3: t = TransportEnum.RESTHTTPS; break; case 4: t = TransportEnum.JMS; break; } return t; } private TransportEnum getSelectedPublishSubscribeOutboundTransport() { // Keep in synch with: outboundTransportCombo.setItems (new String [] {"JMS"}); TransportEnum t = null; switch (selectedOutboundTransport) { case 0: t = TransportEnum.JMS; break; } return t; } public TransformerEnum getTransformerType() { return TransformerEnum.get(transformerType.value); } public String getServiceName() { return serviceText.getText(); } /* private void addRadioButtons (final Composite parent) { final Composite container = SwtUtil.createGridContainer(parent, 1); // final Composite tabCont = SwtUtil.createGridContainer(container, 1); // final Composite tabCont1 = SwtUtil.createGridContainer(tabCont, 1); // final Composite tabCont2 = SwtUtil.createGridContainer(tabCont, 1); // final Composite tabCont3 = SwtUtil.createGridContainer(tabCont, 1); Listener listener = new Listener() { public void handleEvent (Event e) { serviceType = (Integer)e.widget.getData(); System.err.println("### Set selected component type to: " + serviceType); Control [] children = container.getChildren (); for (int i=0; i<children.length; i++) { Control child = children [i]; if (e.widget != child && child instanceof Button && (child.getStyle () & SWT.TOGGLE) != 0) { ((Button) child).setSelection (false); } } ((Button) e.widget).setSelection (true); } }; Label label = new Label(container, SWT.NULL); label.setText("Pattern &Category:"); System.err.println("### Creates a combo"); Combo patternCategoryCombo = new Combo (container, SWT.READ_ONLY); patternCategoryCombo.setItems (new String [] {"Request/Response Service", "Fire and Forget Service", "File Transfer"}); // patternCombo.setSize (200, 200); label = new Label(container, SWT.NULL); label.setText("&Type of Pattern:"); final Combo patternTypeCombo = new Combo (container, SWT.READ_ONLY); patternTypeCombo.setItems (new String [] {"Please select a pattern category first!", ""}); SelectionListener patternComboListener = new SelectionListener () { @Override public void widgetDefaultSelected(SelectionEvent e) { System.err.println("### Set default selected"); patternType = e.widget.getData(); System.err.println("### Set default selected component type to: " + patternType + " for wideget of type " + e.widget.getClass().getName()); } @Override public void widgetSelected(SelectionEvent e) { System.err.println("### Set selected"); Combo c = (Combo)e.widget; patternType = e.widget.getData(); System.err.println("### Set selected component type to: " + patternType + " for wideget of type " + c.getSelectionIndex()); switch (c.getSelectionIndex()) { case 0: patternTypeCombo.setItems (new String [] {"SOAP/HTTPS(S) with SOAP/HTTP(S) adapter", "SOAP/HTTPS(S) with JMS adapter", "SOAP/HTTPS(S) with REST/HTTP(S) adapter"}); break; case 1: patternTypeCombo.setItems (new String [] {"JMS with JMS adapter", "JMS with JDBC adapter", "JMS with file adapter"}); break; case 2: patternTypeCombo.setItems (new String [] {"SFTP to SFTP", "SFTP to JDBC", "SFTP to JMS"}); break; } switch (c.getSelectionIndex()) { case 0: tabCont1.setVisible(true); tabCont2.setVisible(false); tabCont3.setVisible(false); break; case 1: tabCont1.setVisible(false); tabCont2.setVisible(true); tabCont3.setVisible(false); break; case 2: tabCont1.setVisible(false); tabCont2.setVisible(false); tabCont3.setVisible(true); break; } } }; patternCategoryCombo.addSelectionListener(patternComboListener); Composite tabCont = SwtUtil.createGridContainer(container, 1); // CTabFolder tabFolder = new CTabFolder (container, SWT.BORDER); // tabFolder.setSimple(false); // CTabItem item = new CTabItem (tabFolder, SWT.NULL); // item.setText ("Request/Response"); Composite tabCont1 = SwtUtil.createGridContainer(tabCont, 1); tabCont1.setVisible(false); // item.setControl(tabCont1); int i = 0; SwtUtil.createRadioButton(tabCont1, listener, i++, "SOAP/HTTPS(S) with SOAP/HTTP(S) adapter"); SwtUtil.createRadioButton(tabCont1, listener, i++, "SOAP/HTTPS(S) with JMS adapter"); SwtUtil.createRadioButton(tabCont1, listener, i++, "SOAP/HTTPS(S) with REST/HTTP(S) adapter"); // item = new CTabItem (tabFolder, SWT.NULL); // item.setText ("Fire & Forget"); Composite tabCont2 = SwtUtil.createGridContainer(tabCont, 1); tabCont2.setVisible(false); // item.setControl(tabCont2); SwtUtil.createRadioButton(tabCont2, listener, i++, "JMS with JMS adapter"); SwtUtil.createRadioButton(tabCont2, listener, i++, "JMS with JDBC adapter"); SwtUtil.createRadioButton(tabCont2, listener, i++, "JMS with file adapter"); // item = new CTabItem (tabFolder, SWT.NULL); // item.setText ("File transfer"); Composite tabCont3 = SwtUtil.createGridContainer(tabCont, 1); tabCont3.setVisible(false); // item.setControl(tabCont3); SwtUtil.createRadioButton(tabCont3, listener, i++, "SFTP to SFTP"); SwtUtil.createRadioButton(tabCont3, listener, i++, "SFTP to JDBC"); SwtUtil.createRadioButton(tabCont3, listener, i++, "SFTP to JMS"); // tabCont.setSize (400, 400); } */ }