import oic.simulator.serviceprovider.Activator;
import oic.simulator.serviceprovider.manager.ResourceManager;
+import oic.simulator.serviceprovider.model.AttributeElement;
import oic.simulator.serviceprovider.model.AutomationSettingHelper;
import oic.simulator.serviceprovider.model.CollectionResource;
-import oic.simulator.serviceprovider.model.LocalResourceAttribute;
import oic.simulator.serviceprovider.model.Resource;
-import oic.simulator.serviceprovider.model.SRMItem;
+import oic.simulator.serviceprovider.model.ResourceRepresentation;
import oic.simulator.serviceprovider.model.SingleResource;
import oic.simulator.serviceprovider.utils.AttributeValueBuilder;
import oic.simulator.serviceprovider.utils.Utility;
import org.oic.simulator.AttributeValue.ValueType;
import org.oic.simulator.InvalidArgsException;
import org.oic.simulator.SimulatorResourceAttribute;
-import org.oic.simulator.SimulatorResourceModel;
import org.oic.simulator.server.SimulatorResource.AutoUpdateType;
/**
return null;
}
- final SimulatorResourceAttribute att;
- if (element instanceof SimulatorResourceAttribute
- || element instanceof LocalResourceAttribute) {
- if (element instanceof LocalResourceAttribute) {
- LocalResourceAttribute localAtt = (LocalResourceAttribute) element;
- att = localAtt.getResourceAttributeRef();
- } else {
- att = (SimulatorResourceAttribute) element;
- }
- } else {
+ final SimulatorResourceAttribute attribute;
+ if (!(element instanceof AttributeElement)) {
return null;
}
- if (null == att) {
+ AttributeElement attributeElement = ((AttributeElement) element);
+ attribute = attributeElement.getSimulatorResourceAttribute();
+ if (null == attribute) {
return null;
}
- final AttributeValue val = att.value();
- if (null == val) {
+ // CellEditor is not required as the automation is in progress.
+ if (attributeElement.isAutoUpdateInProgress()) {
return null;
}
- final TypeInfo type = val.typeInfo();
- if (type.mType == ValueType.RESOURCEMODEL
- || (type.mType == ValueType.ARRAY && type.mBaseType == ValueType.RESOURCEMODEL)) {
+ final AttributeValue val = attribute.value();
+ if (null == val) {
return null;
}
- AttributeProperty prop = att.property();
- if (null == prop) {
+ final TypeInfo type = val.typeInfo();
+ if (type.mBaseType == ValueType.RESOURCEMODEL) {
return null;
}
- if (!resourceManager.isAttHasRangeOrAllowedValues(att)) {
+ AttributeProperty prop = attribute.property();
+ if (null == prop) {
return null;
}
- // CellEditor is not required as the automation is in progress.
- if (element instanceof LocalResourceAttribute
- && ((LocalResourceAttribute) element)
- .isAutomationInProgress()) {
+ if (!resourceManager.isAttHasRangeOrAllowedValues(attribute)) {
return null;
}
String values[] = null;
List<String> valueSet = resourceManager
- .getAllValuesOfAttribute(att);
+ .getAllValuesOfAttribute(attribute);
values = convertListToStringArray(valueSet);
ComboBoxCellEditor comboEditor;
dialog.setMessage("Given value is invalid");
dialog.open();
} else {
- updateAttributeValue(att, value);
+ updateAttributeValue(attribute, value);
MessageBox dialog = new MessageBox(viewer.getTree()
.getShell(), SWT.ICON_QUESTION | SWT.OK
| SWT.CANCEL);
if (retval != SWT.OK) {
value = AttributeValueBuilder.build(oldValue,
type.mBaseType);
- updateAttributeValue(att, value);
+ updateAttributeValue(attribute, value);
} else {
ResourceManager resourceManager;
resourceManager = Activator.getDefault()
Resource resource = resourceManager
.getCurrentResourceInSelection();
- AttributeValue resultValue = getResultantValue(value);
+ SimulatorResourceAttribute result = getResultantValue(value);
resourceManager.attributeValueUpdated(
- (SingleResource) resource, att.name(),
- resultValue);
+ (SingleResource) resource,
+ result.name(), result.value());
}
}
@Override
protected Object getValue(Object element) {
int indexOfItem = 0;
- SimulatorResourceAttribute att;
+ SimulatorResourceAttribute att = null;
- if (element instanceof LocalResourceAttribute) {
- LocalResourceAttribute localAtt = (LocalResourceAttribute) element;
- att = localAtt.getResourceAttributeRef();
- if (null == att) {
- return 0;
- }
- } else if (element instanceof SimulatorResourceAttribute) {
- att = (SimulatorResourceAttribute) element;
- } else {
+ if (element instanceof AttributeElement) {
+ att = ((AttributeElement) element)
+ .getSimulatorResourceAttribute();
+ }
+
+ if (att == null) {
return 0;
}
@Override
protected void setValue(Object element, Object value) {
- SimulatorResourceAttribute att;
+ SimulatorResourceAttribute att = null;
- if (element instanceof LocalResourceAttribute) {
- LocalResourceAttribute localAtt = (LocalResourceAttribute) element;
- att = localAtt.getResourceAttributeRef();
- if (null == att) {
- return;
- }
- } else if (element instanceof SimulatorResourceAttribute) {
- att = (SimulatorResourceAttribute) element;
- } else {
+ if (element instanceof AttributeElement) {
+ att = ((AttributeElement) element)
+ .getSimulatorResourceAttribute();
+ }
+
+ if (att == null) {
return;
}
Resource resource = resourceManager
.getCurrentResourceInSelection();
- AttributeValue resultValue = getResultantValue(attValue);
+ SimulatorResourceAttribute result = getResultantValue(attValue);
resourceManager.attributeValueUpdated(
- (SingleResource) resource, att.name(),
- resultValue);
+ (SingleResource) resource,
+ result.name(), result.value());
}
}
}
if (null == item) {
return;
}
- TreeItem parent = item.getParentItem();
- // Get the parent model
- if (null == parent) {
- // Top-level attribute
- Resource res = Activator.getDefault().getResourceManager()
- .getCurrentResourceInSelection();
- if (null == res) {
- return;
- }
- SimulatorResourceModel model = res.getResourceModel();
- if (null == model) {
- return;
- }
- try {
- model.setAttributeValue(att.name(), value);
- } catch (InvalidArgsException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- } else {
- SimulatorResourceModel model;
- Object data = parent.getData();
- if (null == data) {
- return;
- }
- if (data instanceof SRMItem) {
- model = ((SRMItem) data).getModel();
- } else {
- SimulatorResourceAttribute parentAtt;
- if (data instanceof LocalResourceAttribute) {
- parentAtt = ((LocalResourceAttribute) data)
- .getResourceAttributeRef();
- } else {
- parentAtt = (SimulatorResourceAttribute) data;
+ if (item.getData() instanceof AttributeElement) {
+ AttributeElement attributeElement = (AttributeElement) item
+ .getData();
+ attributeElement.getSimulatorResourceAttribute()
+ .setValue(value);
+
+ TreeItem parent = item.getParentItem();
+ if (null != parent) {
+ Object data = parent.getData();
+ try {
+ ((AttributeElement) data).deepSetChildValue(att);
+ } catch (InvalidArgsException e) {
+ e.printStackTrace();
}
- model = (SimulatorResourceModel) parentAtt.value().get();
- }
- try {
- model.setAttributeValue(att.name(), value);
- } catch (InvalidArgsException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
}
}
}
- public AttributeValue getResultantValue(AttributeValue newValue) {
+ public SimulatorResourceAttribute getResultantValue(
+ AttributeValue newValue) {
AttributeValue val = null;
IStructuredSelection selection = (IStructuredSelection) viewer
.getSelection();
return null;
}
+ SimulatorResourceAttribute result = null;
TreeItem parent = item.getParentItem();
if (null == parent) {
Object data = item.getData();
- // SimulatorResourceAttribute att =
- // ((LocalResourceAttribute)data).getResourceAttributeRef();
- val = newValue;
+ result = ((AttributeElement) data)
+ .getSimulatorResourceAttribute();
} else {
while (parent.getParentItem() != null) {
parent = parent.getParentItem();
}
+
// Parent will point to the top-level attribute of type
- // LocalResourceAttribute
Object data = parent.getData();
- val = ((LocalResourceAttribute) data).getResourceAttributeRef()
- .value();
+ result = ((AttributeElement) data)
+ .getSimulatorResourceAttribute();
}
- return val;
+ return result;
}
}
}
SimulatorResourceAttribute att = null;
- if (element instanceof LocalResourceAttribute) {
- LocalResourceAttribute localAtt = (LocalResourceAttribute) element;
- att = localAtt.getResourceAttributeRef();
+ if (element instanceof AttributeElement) {
+ att = ((AttributeElement) element)
+ .getSimulatorResourceAttribute();
}
if (null == att) {
return null;
}
+ Object parent = ((AttributeElement) element).getParent();
+ if (null != parent && !(parent instanceof ResourceRepresentation)) {
+ return null;
+ }
+
return new CheckboxCellEditor(null, SWT.CHECK | SWT.READ_ONLY);
}
@Override
protected Object getValue(Object element) {
- LocalResourceAttribute att = (LocalResourceAttribute) element;
- return att.isAutomationInProgress();
+ if (element instanceof AttributeElement) {
+ return ((AttributeElement) element).isAutoUpdateInProgress();
+ }
+
+ return false;
}
@Override
protected void setValue(Object element, Object value) {
+ if (!(element instanceof AttributeElement)) {
+ return;
+ }
+
ResourceManager resourceManager = Activator.getDefault()
.getResourceManager();
// As automation depends on the current resource in selection, its
return;
}
- LocalResourceAttribute att = (LocalResourceAttribute) element;
+ AttributeElement att = (AttributeElement) element;
boolean checked = (Boolean) value;
if (checked) {
// Start the automation
.getActiveShell(), "Automation Status",
"Automation start failed!!");
} else {
- viewer.update(element, null);
+ // viewer.update(element, null);
}
}
} else {
// Stop the automation
resourceManager.stopAutomation((SingleResource) resource, att,
- att.getAutomationId());
+ att.getAutoUpdateId());
MessageDialog.openInformation(Display.getDefault()
.getActiveShell(), "Automation Status",
"Automation stopped.");
- viewer.update(element, null);
+ // viewer.update(element, null);
}
}
}