if (type.equals(BindingDataSetEventType.DATASOURCE_REMOVED)) {
appManager.removeDataSource(bindingData);
} else if (type.equals(BindingDataSetEventType.DATASOURCE_CHANGED)) {
- oldBindingData = appManager.getDataSource(bindingData.getSourceName());
+ oldBindingData = appManager.getDataSource(bindingData.getItemName());
if (oldBindingData != null) {
appManager.removeDataSource(oldBindingData);
}
oldViewModelObject = getViewModelObject(bindingData, itemPath);
setViewModelItem(type);
} else if (type.equals(BindingDataSetEventType.VIEWMODEL_SET_DATASOURCE)) {
- BindingData data = getViewModel(bindingData.getName());
+ BindingData data = getViewModel(bindingData.getItemName());
if (data != null) {
setDataSource(type, data, bindingData);
} else {
setDataSource(type, bindingData, null);
}
} else if (type.equals(BindingDataSetEventType.VIEWMODEL_RENAMED)) {
- oldName = bindingData.getName();
+ oldName = bindingData.getModelName();
renameViewModel(value);
- itemPath.remove(0);
- itemPath.add(0, value);
} else if (type.equals(BindingDataSetEventType.VIEWMODEL_ITEM_RENAMED)) {
oldName = getViewModelObject(bindingData, itemPath).getName();
renameViewModel(value);
setDataSource(BindingDataSetEventType.VIEWMODEL_SET_DATASOURCE, bindingData, oldBindingData);
} else if (type.equals(BindingDataSetEventType.VIEWMODEL_RENAMED)) {
renameViewModel(oldName);
- itemPath.remove(0);
- itemPath.add(0, oldName);
} else if (type.equals(BindingDataSetEventType.VIEWMODEL_ITEM_RENAMED)) {
renameViewModel(oldName);
itemPath.remove(0);
String value;
for (int j = 0; j < values.size(); j++) {
value = values.get(j);
- if ((value != null) && (value.equals(viewModel.getName()))) {
+ if ((value != null) && (value.equals(viewModel.getModelName()))) {
viewModel.setSourceName(value);
}
}
}
for (BindingData dataModel : dataModels) {
- String modelName = dataModel.getName();
+ String modelName = dataModel.getModelName();
handlerModelInfo.add(modelName);
}
Element element = doc.createElement(BuilderConstants.ELEMENT_VIEWMODEL);
- element.setAttribute(BuilderConstants.ATTRIBUTE_NAME, dataModel.getName());
+ element.setAttribute(BuilderConstants.ATTRIBUTE_NAME, dataModel.getModelName());
element.setAttribute(BuilderConstants.ATTRIBUTE_DATASOURCE, dataModel.getSourceName());
List<BindingObject> observableObjects = dataModel.getViewModelObjects();
String addressBookId = element2.getAttribute(BuilderConstants.ATTRIBUTE_ADDRESS_BOOK_ID);
BindingData dataModel = new BindingData();
+ dataModel.setItemName(sourceName);
dataModel.setSourceName(sourceName);
dataModel.setModelType(modelType);
dataModel.setRuntimeApiName(method);
String calendarId = element2.getAttribute(BuilderConstants.ATTRIBUTE_CALENDAR_ID);
BindingData dataModel = new BindingData();
+ dataModel.setItemName(sourceName);
dataModel.setSourceName(sourceName);
dataModel.setModelType(modelType);
dataModel.setCalendarName(method);
String startTimeOrder = element2.getAttribute(BuilderConstants.ATTRIBUTE_START_TIME_ORDER);
BindingData dataModel = new BindingData();
+ dataModel.setItemName(sourceName);
dataModel.setSourceName(sourceName);
dataModel.setModelType(modelType);
dataModel.setCallHistoryType(type);
fileData.addDataSource(dataModel);
} else {
BindingData dataModel = new BindingData();
+ dataModel.setItemName(sourceName);
dataModel.setSourceName(sourceName);
dataModel.setModelType(BuilderConstants.DATABINDING_TYPE_STATIC);
fileData.addDataSource(dataModel);
}
for (BindingData dataModel : dataModels) {
- String modelName = dataModel.getName();
+ String modelName = dataModel.getModelName();
handlerModelInfo.add(modelName);
}
Element element = doc.createElement(BuilderConstants.ELEMENT_VIEWMODEL);
- element.setAttribute(BuilderConstants.ATTRIBUTE_NAME, dataModel.getName());
+ element.setAttribute(BuilderConstants.ATTRIBUTE_NAME, dataModel.getModelName());
if ((dataModel.getSourceName() != null) && (!dataModel.getSourceName().isEmpty())) {
element.setAttribute(BuilderConstants.ATTRIBUTE_DATASOURCE, dataModel.getSourceName());
}
}
}
- /**
- * Update the model and save.
- */
- public void updateModel() {
- if (pageDesigner != null) {
- pageDesigner.getAppManager().clearDataSources();
- pageDesigner.getAppManager().clearViewModel();
-
- updateDataSourceToAppManager(dataSourceTree);
- updateViewModelToAppManager(viewModelTree);
-
- // FIXME
- // pageDesigner.getAppManager().save();
- }
- }
-
- private void updateDataSourceToAppManager(Tree tree) {
- TreeItem[] dataSourceTreeItems = tree.getItems();
-
- for (TreeItem dataSourceTreeItem : dataSourceTreeItems) {
- if (dataSourceTreeItem.getParentItem() == null) {
-
- TreeItemData treeItemData =
- (TreeItemData) dataSourceTreeItem.getData("TREEITEMDATA");
- if (treeItemData == null) {
- treeItemData = new TreeItemData();
- dataSourceTreeItem.setData("TREEITEMDATA", treeItemData);
- }
- BindingData dataModel = treeItemData.getModel();
- if (dataModel == null) {
- dataModel = makeDataModel(dataSourceTreeItem);
- } else {
- dataModel.clearDataSourceObjects();
- }
- dataModel.setSourceName(dataSourceTreeItem.getText());
-
- makeObservableObjectsFromDataSourceTreeItem(dataModel, dataSourceTreeItem);
-
- // pageDesigner.getAppManager().addDataSource(dataModel);
- Command command =
- new SetDataSourceCommand(BindingDataSetEventType.DATASOURCE_ADDED,
- pageDesigner.getAppManager(), dataModel, 0);
- getCommandStackFromPageDesigner().execute(command);
- }
- }
-
- }
/**
* Refresh the databinding view.
viewModel = viewModels.get(i);
TreeItem treeItem = new TreeItem(viewModelTree, 0);
TreeItemData treeItemData = new TreeItemData();
-
+
if ((viewModel.getSourceName() == null) || (viewModel.getSourceName().isEmpty())) {
- treeItem.setText(viewModel.getName());
+ viewModel.setItemName(viewModel.getModelName());
} else {
- treeItem.setText(viewModel.getName() + " (" + viewModel.getSourceName() + ")");
+ viewModel.setItemName(viewModel.getModelName() + " (" + viewModel.getSourceName() + ")");
}
+
+ treeItem.setText(viewModel.getItemName());
treeItemData.setModel(viewModel);
- treeItemData.setOriginModelName(viewModel.getName());
+ treeItemData.setOriginModelName(viewModel.getModelName());
treeItem.setData("TREEITEMDATA", treeItemData);
if (!viewModel.getDataSourceObjects().isEmpty()) {
TreeItem treeItem = new TreeItem(dataSourceTree, 0);
TreeItemData treeItemData = new TreeItemData();
- treeItem.setText(dataSource.getSourceName());
+ if ((dataSource.getItemName() == null) || (!dataSource.getItemName().equals(dataSource.getSourceName()))) {
+ dataSource.setItemName(dataSource.getSourceName());
+ }
+ treeItem.setText(dataSource.getItemName());
+
treeItemData.setModel(dataSource);
treeItem.setData("TREEITEMDATA", treeItemData);
}
}
- private void updateViewModelToAppManager(Tree tree) {
-
- TreeItem[] treeItems = tree.getItems();
- for (TreeItem treeItem : treeItems) {
- if (treeItem.getParentItem() == null) {
-
- TreeItemData treeItemData = (TreeItemData) treeItem.getData("TREEITEMDATA");
- if (treeItemData == null) {
- treeItemData = new TreeItemData();
- treeItem.setData("TREEITEMDATA", treeItemData);
- }
- BindingData dataModel = treeItemData.getModel();
- if (dataModel == null) {
- dataModel = makeDataModel(treeItem);
- } else {
- dataModel.clearViewModelObjects();
- dataModel.setModelName(treeItemData.getOriginModelName());
- }
-
- makeObservableObjectsFromViewModelTreeItem(dataModel, treeItem);
-
- pageDesigner.getAppManager().addViewModel(dataModel);
- }
- }
-
- }
-
- // Using to make a Data Source
- private void makeObservableObjectsFromViewModelTreeItem(BindingData dataModel, TreeItem treeItem) {
- makeObservableObjectsFromTreeItem(dataModel, treeItem, true);
- }
-
- private void makeObservableObjectsFromDataSourceTreeItem(BindingData dataModel,
- TreeItem treeItem) {
- makeObservableObjectsFromTreeItem(dataModel, treeItem, false);
- }
-
- private void makeObservableObjectsFromTreeItem(BindingData dataModel, TreeItem treeItem,
- boolean isViewModel) {
- TreeItem[] subTreeItems = treeItem.getItems();
- for (TreeItem item : subTreeItems) {
- TreeItemData treeItemData = (TreeItemData) item.getData("TREEITEMDATA");
- String type = null;
- if (treeItemData != null) {
- type = treeItemData.getObjectType();
- }
- BindingObject observableObject = makeObservableObject(item, type);
- if (isViewModel) {
- dataModel.addViewModelObjects(observableObject);
- } else {
- dataModel.addDataSourceObjects(observableObject);
- }
-
- TreeItem[] subSubTreeItems = item.getItems();
- for (TreeItem subItem : subSubTreeItems) {
- makeObservableObjectsFromSubTreeItem(observableObject, subItem);
- }
- }
- }
-
- private void makeObservableObjectsFromSubTreeItem(BindingObject parent, TreeItem treeItem) {
- TreeItem[] subTreeItems = treeItem.getItems();
- TreeItemData treeItemData = (TreeItemData) treeItem.getData("TREEITEMDATA");
- String type = null;
- if (treeItemData != null) {
- type = treeItemData.getObjectType();
- }
- BindingObject observableObject = makeObservableObject(treeItem, type);
- parent.add(observableObject);
-
- for (TreeItem item : subTreeItems) {
- makeObservableObjectsFromSubTreeItem(observableObject, item);
- }
- }
-
- private BindingObject makeObservableObject(TreeItem treeItem, String type) {
- Object treeItemObj = treeItem.getData(); // FIXME
- String treeItemValue;
- if (treeItemObj == null) {
- treeItemValue = "";
- } else {
- treeItemValue = treeItem.getData().toString();
- }
- return new BindingObject(treeItem.getText(), treeItemValue, type);
- }
-
- private BindingData makeDataModel(TreeItem treeItem) {
- TreeItemData treeItemData = (TreeItemData) treeItem.getData("TREEITEMDATA");
- return new BindingData(treeItemData.getOriginModelName());
- }
-
/**
* Adds a tree item in the view model panel.
*/
BindingData bindingData = new BindingData();
bindingData.setModelType(BuilderConstants.DATABINDING_TYPE_STATIC);
bindingData.setModelName("model" + idIndex);
+ bindingData.setItemName(bindingData.getModelName());
Command command =
new SetViewModelCommand(BindingDataSetEventType.VIEWMODEL_ADDED,
BindingData bindingData = new BindingData();
bindingData.setModelType(BuilderConstants.DATABINDING_TYPE_STATIC);
bindingData.setSourceName("source" + idIndex);
+ bindingData.setItemName(bindingData.getSourceName());
Command command =
new SetDataSourceCommand(BindingDataSetEventType.DATASOURCE_ADDED,
if (event.keyCode == SWT.F2 && dataSourceTree.getSelectionCount() == 1) {
renameDataSource(null);
} else if (event.keyCode == SWT.DEL) {
- removeViewModel();
+ removeDataSource();
}
}
});
}
});
- dataSourceTree.addKeyListener(new KeyAdapter() {
- public void keyPressed(KeyEvent event) {
- if (event.keyCode == SWT.DEL) {
- removeDataSource();
- }
- }
- });
-
// DataBindingDnDManager.addDragAndDropListenerToTree(dataSourceTree);
DataBindingDnDManager.addDragListenerToDataSourceTree(dataSourceTree);
makeDataSourceContextMenu();
// Create a text field to do the editing
final Text text = new Text(tree, SWT.NONE);
- text.setText(item.getText());
+
+ BindingData data = pageDesigner.getAppManager().getViewModel(item.getText());
+ if (data != null) {
+ text.setText(data.getModelName());
+ } else {
+ data = pageDesigner.getAppManager().getDataSource(item.getText());
+ if (data != null) {
+ text.setText(data.getSourceName());
+ } else {
+ text.setText(item.getText());
+ }
+ }
+
text.selectAll();
text.setFocus();
// and end the editing session
text.addFocusListener(new FocusAdapter() {
public void focusLost(FocusEvent event) {
- if (tree.equals(getDataSourceTree())) {
- renameDataSource(item, text.getText());
- } else {
- renameViewModel(item, text.getText());
- }
+// if (tree.equals(getDataSourceTree())) {
+// renameDataSource(item, text.getText());
+// } else {
+// renameViewModel(item, text.getText());
+// }
text.dispose();
}
});
@Override
public void dataSourceRenamed(BindingDataSetEvent e) {
+ List<BindingData> models = pageDesigner.getAppManager().getViewModels();
+ for (BindingData model : models) {
+ if (model.getSourceName().equals(e.getOldValue())) {
+ model.setSourceName(e.getValue());
+ }
+ }
+
refresh();
}
dataModel.setModelType( dataTypeCombo.getText() );
dataModel.setUpdateOnStartup( updateOnStartUp.getSelection() );
dataModel.setSourceName( dataSourceTreeItem.getText() );
+ dataModel.setItemName( dataModel.getSourceName() );
TreeItemData treeItemData = (TreeItemData) dataSourceTreeItem.getData( "TREEITEMDATA" );
if (treeItemData == null) {
public class BindingData {
+ private String itemName;
private String modelName;
private String sourceName;
private String modelType;
*/
public BindingData( String sourceName, String modelType, String url, String type, String proxy,
String query, String sourceType, String timeout, String jsonData, Map<String, String> headers ) {
+ this.itemName = sourceName;
this.sourceName = sourceName;
this.modelType = modelType;
this.url = url;
* @param runtimeApiName
*/
public BindingData( String sourceName, String modelType, String runtimeApiName ) {
+ this.itemName = sourceName;
this.sourceName = sourceName;
this.modelType = modelType;
this.runtimeApiName = runtimeApiName;
* @param filePath
*/
public BindingData( String sourceName, String modelType, String jsonData, String filePath ) {
+ this.itemName = sourceName;
this.sourceName = sourceName;
this.modelType = modelType;
this.jsonData = jsonData;
* @param modelName
*/
public BindingData( String name ) {
+ this.itemName = name;
this.modelName = name;
}
* @param dataSourceName
*/
public BindingData( String name, String dataSourceName ) {
+ this.itemName = name;
this.modelName = name;
this.sourceName = dataSourceName;
}
public BindingData clone() {
BindingData newBindingData = new BindingData();
- newBindingData.setModelName( modelName );
- newBindingData.setSourceName( sourceName );
- newBindingData.setModelType( modelType );
- newBindingData.setUpdateOnStartup( updateOnStartup );
- newBindingData.addAllHandlerInfos( handlerInfos );
- newBindingData.addAllViewModelObjects( viewModelObjects );
- newBindingData.addAllDataSourceObjects( dataSourceObjects );
- newBindingData.setStaticFilePath( staticFilePath );
- newBindingData.setJsonData( jsonData );
- newBindingData.setURL( url );
- newBindingData.setMethod( method );
- newBindingData.setProxy( proxy );
- newBindingData.setQuery( query );
- newBindingData.setSourceType( sourceType );
- newBindingData.setTimeout( timeout );
- newBindingData.setRuntimeApiName( runtimeApiName );
+ newBindingData.setItemName(itemName);
+ newBindingData.setModelName(modelName);
+ newBindingData.setSourceName(sourceName);
+ newBindingData.setModelType(modelType);
+ newBindingData.setUpdateOnStartup(updateOnStartup);
+ newBindingData.addAllHandlerInfos(handlerInfos);
+ newBindingData.addAllViewModelObjects(viewModelObjects);
+ newBindingData.addAllDataSourceObjects(dataSourceObjects);
+ newBindingData.setStaticFilePath(staticFilePath);
+ newBindingData.setJsonData(jsonData);
+ newBindingData.setURL(url);
+ newBindingData.setMethod(method);
+ newBindingData.setProxy(proxy);
+ newBindingData.setQuery(query);
+ newBindingData.setSourceType(sourceType);
+ newBindingData.setTimeout(timeout);
+ newBindingData.addAllHeaderInfos(headers);
+ newBindingData.setRuntimeApiName(runtimeApiName);
+ newBindingData.setRuntimeApiAddressBookID(runtimeApiAddressBookID);
+ newBindingData.setCallHistoryType(callHistoryType);
+ newBindingData.setCallHistoryDirection(callHistoryDirection);
+ newBindingData.setCallHistoryStartTimeOrder(callHistoryStartTimeOrder);
+ newBindingData.setCalendarName(calendarName);
+ newBindingData.setCalendarType(calendarType);
+ newBindingData.setCalendarID(calendarID);
return newBindingData;
}
*
* @return name
*/
- public String getName() {
+ public String getModelName() {
return modelName;
}
+ public String getItemName() {
+ return itemName;
+ }
+
+ public void setItemName(String itemName) {
+ this.itemName = itemName;
+ }
+
/**
* Sets a source name.
*
public void addAllHandlerInfos( Map<String, List<String>> handlerInfos ) {
clearHandlerInfos();
- handlerInfos.putAll( handlerInfos );
+ this.handlerInfos.putAll( handlerInfos );
}
/**
public void setHeaders( Map<String, String> headers ) {
this.headers = headers;
}
+
+ /**
+ * Clear header informations.
+ */
+ public void clearHeaderInfos() {
+ if (this.headers != null) {
+ this.headers.clear();
+ }
+ }
+
+ public void addAllHeaderInfos( Map<String, String> headers ) {
+ clearHeaderInfos();
+ if (this.headers != null) {
+ this.headers.putAll( headers );
+ }
+ }
}
\ No newline at end of file
public void addViewModel(BindingData bindingData) {
viewModels.add(bindingData);
selectionPath.clear();
- selectionPath.add(bindingData.getName());
+ if (bindingData.getItemName() == null) {
+ selectionPath.add(bindingData.getModelName());
+ } else {
+ selectionPath.add(bindingData.getItemName());
+ }
fireEvent(new BindingDataSetEvent(BindingDataSetEventType.VIEWMODEL_ADDED, bindingData, getNumberOfViewModels() - 1 , null));
}
+// public BindingData getViewModel(String name) {
+// List<BindingData> viewModels = getViewModels();
+// for (BindingData viewModel : viewModels) {
+// if (viewModel.getModelName().equals(name)) {
+// return viewModel;
+// }
+// }
+//
+// return null;
+// }
+
public BindingData getViewModel(String name) {
- List<BindingData> viewModels = getViewModels();
- for (BindingData viewModel : viewModels) {
- if (viewModel.getName().equals(name)) {
- return viewModel;
- }
- }
-
- return null;
+ List<BindingData> viewModels = getViewModels();
+ for (BindingData viewModel : viewModels) {
+ if (viewModel.getItemName().equals(name)) {
+ return viewModel;
+ }
+ }
+
+ return null;
}
public void changeViewModel(BindingDataSetEventType type, BindingData bindingData, List<String> itemPath, String childName, String value) {
if (!viewModels.isEmpty()) {
for (index = 0; index < getNumberOfViewModels(); index++) {
BindingData viewModel = viewModels.get(index);
- if (viewModel.getName().equals(bindingData.getName())) {
+ if (viewModel.getModelName().equals(bindingData.getModelName())) {
break;
}
}
selectionPath.clear();
- selectionPath.add(bindingData.getName());
+ if (bindingData.getItemName() == null) {
+ selectionPath.add(bindingData.getModelName());
+ } else {
+ selectionPath.add(bindingData.getItemName());
+ }
+
viewModels.remove(index);
fireEvent(new BindingDataSetEvent(BindingDataSetEventType.VIEWMODEL_REMOVED, bindingData, index, null));
}
public void addDataSource(BindingData bindingData) {
dataSources.add(bindingData);
selectionPath.clear();
- selectionPath.add(bindingData.getSourceName());
+ if (bindingData.getItemName() == null) {
+ selectionPath.add(bindingData.getSourceName());
+ } else {
+ selectionPath.add(bindingData.getItemName());
+ }
+
fireEvent(new BindingDataSetEvent(BindingDataSetEventType.DATASOURCE_ADDED, bindingData, getNumberOfDataSources() - 1 , null));
}
+// public BindingData getDataSource(String name) {
+// List<BindingData> DataSources = getDataSources();
+// for (BindingData DataSource : DataSources) {
+// if (DataSource.getSourceName().equals(name)) {
+// return DataSource;
+// }
+// }
+//
+// return null;
+// }
+
public BindingData getDataSource(String name) {
- List<BindingData> DataSources = getDataSources();
- for (BindingData DataSource : DataSources) {
- if (DataSource.getSourceName().equals(name)) {
- return DataSource;
- }
- }
-
- return null;
+ List<BindingData> DataSources = getDataSources();
+ for (BindingData DataSource : DataSources) {
+ if (DataSource.getItemName().equals(name)) {
+ return DataSource;
+ }
+ }
+
+ return null;
}
public void removeDataSource(BindingData bindingData) {
}
}
selectionPath.clear();
- selectionPath.add(bindingData.getName());
+ if (bindingData.getItemName() == null) {
+ selectionPath.add(bindingData.getSourceName());
+ } else {
+ selectionPath.add(bindingData.getItemName());
+ }
+
dataSources.remove(index);
fireEvent(new BindingDataSetEvent(BindingDataSetEventType.DATASOURCE_REMOVED, bindingData, index, null));
}
public void renameDataSource(BindingDataSetEventType type,
BindingData bindingData, String newName) {
if (type.equals(BindingDataSetEventType.DATASOURCE_RENAMED)) {
+ String oldName = bindingData.getSourceName();
bindingData.setSourceName(newName);
- fireEvent(new BindingDataSetEvent(BindingDataSetEventType.DATASOURCE_RENAMED, bindingData, null, getNumberOfDataSources() - 1 , null));
+ fireEvent(new BindingDataSetEvent(BindingDataSetEventType.DATASOURCE_RENAMED, bindingData, newName, oldName));
}
}
private int index;
private String value;
private BindingData oldBindingData;
+ private String oldValue;
public BindingDataSetEvent(BindingDataSetEventType type, BindingData page, int index, BindingData oldPage) {
this.type = type;
this.index = index;
this.oldBindingData = oldPage;
}
+
+ public BindingDataSetEvent(BindingDataSetEventType type, BindingData page, String value, String oldValue) {
+ this.type = type;
+ this.bindingData = page;
+ this.value = value;
+ this.oldValue = oldValue;
+ }
public BindingDataSetEventType getType() {
return type;
}
public String getName() {
- return bindingData.getName();
+ return bindingData.getModelName();
+ }
+
+ public String getOldValue() {
+ return oldValue;
}
}