import oic.simulator.clientcontroller.remoteresource.RemoteResource;
import oic.simulator.clientcontroller.remoteresource.RemoteResourceAttribute;
import oic.simulator.clientcontroller.utils.Constants;
-import oic.simulator.clientcontroller.view.dialogs.VerificationDialog;
import oic.simulator.clientcontroller.view.dialogs.PostRequestDialog;
import oic.simulator.clientcontroller.view.dialogs.PutRequestDialog;
+import oic.simulator.clientcontroller.view.dialogs.VerificationDialog;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.ViewerCell;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabFolder2Adapter;
-import org.eclipse.swt.custom.CTabFolderEvent;
-import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.part.ViewPart;
private Button automateButton;
private Button observeResButton;
- private CTabFolder payloadFolder;
- private CTabItem requestPayloadTab;
- private CTabItem responsePayloadTab;
- private Text requestPayloadTxt;
- private Text responsePayloadTxt;
-
private final String[] attTblHeaders = {
"Attribute Name", "Attribute Value" };
private final Integer[] attTblColWidth = { 200, 200 };
@Override
public void run() {
- changeReqBtnVisibility(autoType, false);
+ // changeReqBtnVisibility(autoType, false);
}
});
}
@Override
public void run() {
- changeReqBtnVisibility(autoType, true);
+ // changeReqBtnVisibility(autoType, true);
}
});
}
@Override
public void run() {
- changeReqBtnVisibility(autoType, true);
+ // changeReqBtnVisibility(autoType, true);
}
});
}
}
private void updateObserve(RemoteResource resource) {
- if (null == resource) {
+ if (null == resource || observeResButton.isDisposed()) {
return;
}
boolean observed = resource.isObserved();
- if (!observeResButton.isDisposed()) {
- observeResButton.setSelection(observed);
+ if (observed) {
+ observeResButton.setText(Constants.STOP_OBSERVE);
+ } else {
+ observeResButton.setText(Constants.OBSERVE);
}
}
public void createPartControl(Composite parent) {
Color color = Display.getDefault().getSystemColor(SWT.COLOR_WHITE);
- parent.setLayout(new GridLayout(2, false));
+ parent.setLayout(new GridLayout());
GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
parent.setLayoutData(gd);
gd = new GridData();
gd.grabExcessHorizontalSpace = true;
gd.horizontalAlignment = SWT.FILL;
+ gd.grabExcessVerticalSpace = true;
+ gd.verticalAlignment = SWT.FILL;
gd.horizontalSpan = 2;
- gd.heightHint = 175;
+ // gd.heightHint = 175;
attGroup.setLayoutData(gd);
attGroup.setText("Attributes");
attGroup.setBackground(color);
setupAttributeTable(attGroup);
- setupMessageArea(parent);
-
- setupResourceLevelOpsArea(parent);
-
- setupTabArea(parent);
+ setupRequestControls(parent);
setUIListeners();
}
}
- private void setupMessageArea(Composite parent) {
+ private void setupRequestControls(Composite parent) {
GridData gd;
Color color = Display.getDefault().getSystemColor(SWT.COLOR_WHITE);
- Group msgTypesGrp = new Group(parent, SWT.NONE);
+ Composite opsComp = new Composite(parent, SWT.NONE);
gd = new GridData();
gd.grabExcessHorizontalSpace = true;
gd.horizontalAlignment = SWT.FILL;
- msgTypesGrp.setLayoutData(gd);
- GridLayout grid = new GridLayout(3, false);
- msgTypesGrp.setLayout(grid);
- msgTypesGrp.setText("Request Types");
- msgTypesGrp.setBackground(color);
+ opsComp.setLayoutData(gd);
+ GridLayout grid = new GridLayout(5, false);
+ opsComp.setLayout(grid);
+ opsComp.setBackground(color);
- getButton = new Button(msgTypesGrp, SWT.PUSH);
+ getButton = new Button(opsComp, SWT.PUSH);
getButton.setText("GET");
gd = new GridData();
gd.grabExcessHorizontalSpace = true;
gd.widthHint = 50;
getButton.setLayoutData(gd);
- putButton = new Button(msgTypesGrp, SWT.PUSH);
+ putButton = new Button(opsComp, SWT.PUSH);
putButton.setText("PUT");
gd = new GridData();
gd.grabExcessHorizontalSpace = true;
gd.widthHint = 50;
putButton.setLayoutData(gd);
- postButton = new Button(msgTypesGrp, SWT.PUSH);
+ postButton = new Button(opsComp, SWT.PUSH);
postButton.setText("POST");
gd = new GridData();
gd.grabExcessHorizontalSpace = true;
gd.horizontalAlignment = SWT.FILL;
gd.widthHint = 50;
postButton.setLayoutData(gd);
- }
- private void setupResourceLevelOpsArea(Composite parent) {
- GridData gd;
- Color color = Display.getDefault().getSystemColor(SWT.COLOR_WHITE);
- Group resOpsGrp = new Group(parent, SWT.NONE);
+ observeResButton = new Button(opsComp, SWT.PUSH);
+ observeResButton.setText(Constants.OBSERVE);
gd = new GridData();
gd.grabExcessHorizontalSpace = true;
gd.horizontalAlignment = SWT.FILL;
- resOpsGrp.setLayoutData(gd);
- GridLayout grid = new GridLayout(2, false);
- resOpsGrp.setLayout(grid);
- resOpsGrp.setText("Resource-Level Operations");
- resOpsGrp.setBackground(color);
+ observeResButton.setLayoutData(gd);
- automateButton = new Button(resOpsGrp, SWT.PUSH);
+ automateButton = new Button(opsComp, SWT.PUSH);
automateButton.setText("Automation");
gd = new GridData();
gd.grabExcessHorizontalSpace = true;
gd.horizontalAlignment = SWT.FILL;
automateButton.setLayoutData(gd);
-
- observeResButton = new Button(resOpsGrp, SWT.CHECK);
- observeResButton.setText("Observe");
- gd = new GridData();
- gd.grabExcessHorizontalSpace = true;
- gd.horizontalAlignment = SWT.FILL;
- observeResButton.setLayoutData(gd);
- }
-
- private void setupTabArea(final Composite parent) {
- GridData gd;
- payloadFolder = new CTabFolder(parent, SWT.BORDER);
- gd = new GridData(SWT.FILL, SWT.FILL, true, true);
- gd.horizontalSpan = 2;
- payloadFolder.setLayoutData(gd);
- payloadFolder.setSimple(false);
- payloadFolder.setUnselectedCloseVisible(false);
- payloadFolder.setUnselectedImageVisible(false);
- // payloadFolder.setMaximizeVisible(true);
- // payloadFolder.setMinimizeVisible(true);
-
- requestPayloadTab = new CTabItem(payloadFolder, SWT.NULL);
- requestPayloadTab.setText("Request Payload");
-
- requestPayloadTxt = new Text(payloadFolder, SWT.MULTI | SWT.V_SCROLL
- | SWT.H_SCROLL | SWT.READ_ONLY | SWT.WRAP);
- requestPayloadTab.setControl(requestPayloadTxt);
-
- responsePayloadTab = new CTabItem(payloadFolder, SWT.NULL);
- responsePayloadTab.setText("Response Payload");
-
- responsePayloadTxt = new Text(payloadFolder, SWT.MULTI | SWT.V_SCROLL
- | SWT.H_SCROLL | SWT.READ_ONLY | SWT.WRAP);
- responsePayloadTab.setControl(responsePayloadTxt);
-
- // Add Listeners
-
- payloadFolder.addCTabFolder2Listener(new CTabFolder2Adapter() {
- @Override
- public void minimize(CTabFolderEvent event) {
- payloadFolder.setMinimized(true);
- GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);
- gd.horizontalSpan = 2;
- payloadFolder.setLayoutData(gd);
- parent.layout(true);
- }
-
- @Override
- public void maximize(CTabFolderEvent event) {
- payloadFolder.setMaximized(true);
- GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
- gd.horizontalSpan = 2;
- payloadFolder.setLayoutData(gd);
- parent.layout(true);
- }
-
- @Override
- public void restore(CTabFolderEvent event) {
- payloadFolder.setMaximized(false);
- payloadFolder.setMinimized(false);
- GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);
- gd.horizontalSpan = 2;
- payloadFolder.setLayoutData(gd);
- parent.layout(true);
- }
- });
}
private void setupAttributeTable(Group attGroup) {
observeResButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
- boolean checked = observeResButton.getSelection();
- if (checked) {
+ if (observeResButton.getText().equals(Constants.OBSERVE)) {
resourceManager.sendObserveRequest(resourceInSelection);
+ observeResButton.setText(Constants.STOP_OBSERVE);
} else {
resourceManager
.sendCancelObserveRequest(resourceInSelection);
+ observeResButton.setText(Constants.OBSERVE);
}
}
});