data.right = new FormAttachment(100, 5);
laodButton.setLayoutData(data);
-
+ final SourceDialogSubPage subPage = this;
laodButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
JsonObject json;
try {
json = Helper.readJsonFromStream( new FileInputStream( new File( path ) ) );
- Helper.makeTreeItem( json, parentDataTree, null, false);
+ Helper.makeTreeItem( json, parentDataTree, null, false, subPage);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
settingComposite.layout();
JsonObject json = gson.fromJson(dataModel.getJsonData(), JsonObject.class );
- Helper.makeTreeItem(json, parentDataTree, null, false);
+ Helper.makeTreeItem(json, parentDataTree, null, false, this);
}
data.right = new FormAttachment(100, 5);
laodButton.setLayoutData(data);
-
+ final SourceDialogSubPage subPage = this;
laodButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
JsonObject json;
try {
json = Helper.readJsonFromStream( new FileInputStream( new File( path ) ) );
- Helper.makeTreeItem( json, parentDataTree, null, false);
+ Helper.makeTreeItem( json, parentDataTree, null, false, subPage);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
descContents.setText( descText );
JsonObject json = gson.fromJson(dataModel.getJsonData(), JsonObject.class );
- Helper.makeTreeItem(json, parentDataTree, null, false);
+ Helper.makeTreeItem(json, parentDataTree, null, false, this);
}
}
data.right = new FormAttachment(100, 5);
laodButton.setLayoutData(data);
-
+ final SourceDialogSubPage subPage = this;
laodButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
JsonObject json;
try {
json = Helper.readJsonFromStream( new FileInputStream( new File( path ) ) );
- Helper.makeTreeItem( json, parentDataTree, null, false);
+ Helper.makeTreeItem( json, parentDataTree, null, false, subPage);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
descContents.setText( descText );
JsonObject json = gson.fromJson(dataModel.getJsonData(), JsonObject.class );
- Helper.makeTreeItem(json, parentDataTree, null, false);
+ Helper.makeTreeItem(json, parentDataTree, null, false, this);
}
}
dataModel.setJsonData( normalGson.toJson(root) );
dataModel.setStaticFilePath( textPath.getText() );
- dataModel.setSourceType( typeCombo.getText() );
+ dataModel.setSourceType( typeCombo.getText().toLowerCase() );
return dataModel;
}
loadButton.setLayoutData( data );
+ final SourceDialogSubPage subPage = this;
+
loadButton.addSelectionListener( new SelectionAdapter() {
@Override
public void widgetSelected( SelectionEvent e ) {
}
if( json != null ){
- Helper.makeTreeItem( json, parentDataTree, null, false);
+ Helper.makeTreeItem( json, parentDataTree, null, false, subPage);
}else{
parentDataTree.removeAll();
}
public void widgetSelected(SelectionEvent e) {
IFile file = Helper.getProjectfile();
if(file != null ){
- textPath.setText( file.getProjectRelativePath().toPortableString() );
+ textPath.setText( "./" + file.getProjectRelativePath().toPortableString() );
}
}
});
textPath.setText( dataModel.getStaticFilePath() );
- typeCombo.select( Arrays.asList( comboItems ).indexOf( dataModel.getSourceType() ) );
+ typeCombo.select( Arrays.asList( comboItems ).indexOf( dataModel.getSourceType().toUpperCase() ) );
IWorkbenchPage workbenchPage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IFile editorFile = (IFile)workbenchPage.getActiveEditor().getEditorInput().getAdapter(IFile.class);
}
if( json != null ){
- Helper.makeTreeItem( json, parentDataTree, null, false);
+ Helper.makeTreeItem( json, parentDataTree, null, false, this);
}
} catch (CoreException e) {
e.printStackTrace();
return result;
}
- public static void makeTreeItem( JsonElement jsonElement, Tree tree, TreeItem item,
- boolean includeIndex ) {
+ public static void makeTreeItem( JsonElement jsonElement, Tree tree, TreeItem item, boolean includeIndex, SourceDialogSubPage currentSubPage ) {
if ( jsonElement.isJsonArray() ) {
JsonArray array = jsonElement.getAsJsonArray();
if ( includeIndex ) {
TreeItem indexItem = new TreeItem( item, 0 );
careteTreeItem( indexItem, String.valueOf( i ), null, "Index" );
- makeTreeItem( array.get( i ), tree, indexItem, includeIndex );
+ makeTreeItem( array.get( i ), tree, indexItem, includeIndex, currentSubPage );
indexItem.setExpanded( true );
} else {
- makeTreeItem( array.get( i ), tree, item, includeIndex );
+ makeTreeItem( array.get( i ), tree, item, includeIndex, currentSubPage );
item.setExpanded( true );
break;
}
careteTreeItem( treeItem, entry.getKey(), jp.getAsString(), type );
if ( includeIndex )
- Helper.addComboInTreeItem( treeItem, type );
+ Helper.addComboInTreeItem( treeItem, type, currentSubPage );
} else if ( entry.getValue().isJsonObject() ) {
careteTreeItem( treeItem, entry.getKey(), null, "Object" );
if ( includeIndex )
- Helper.addComboInTreeItem( treeItem, "Object" );
+ Helper.addComboInTreeItem( treeItem, "Object", currentSubPage );
- makeTreeItem( entry.getValue(), tree, treeItem, includeIndex );
+ makeTreeItem( entry.getValue(), tree, treeItem, includeIndex, currentSubPage );
} else if ( entry.getValue().isJsonArray() ) {
careteTreeItem( treeItem, entry.getKey(), null, "Array" );
if ( includeIndex )
- Helper.addComboInTreeItem( treeItem, "Array" );
+ Helper.addComboInTreeItem( treeItem, "Array", currentSubPage );
- makeTreeItem( entry.getValue(), tree, treeItem, includeIndex );
+ makeTreeItem( entry.getValue(), tree, treeItem, includeIndex, currentSubPage );
} else if ( entry.getValue().isJsonNull() ) {
careteTreeItem( treeItem, entry.getKey(), null, "Undefined" );
if ( includeIndex )
- Helper.addComboInTreeItem( treeItem, "String" );
+ Helper.addComboInTreeItem( treeItem, "String", currentSubPage );
- makeTreeItem( entry.getValue(), tree, treeItem, includeIndex );
+ makeTreeItem( entry.getValue(), tree, treeItem, includeIndex, currentSubPage );
}
treeItem.setExpanded( true );
Helper.careteTreeItem( primitiveItem, null, jp.getAsString(), type );
if ( includeIndex )
- Helper.addComboInTreeItem( primitiveItem, type );
+ Helper.addComboInTreeItem( primitiveItem, type, currentSubPage );
item.setExpanded( true );
}
return result;
}
- public static CCombo addComboInTreeItem( TreeItem item, String data ) {
+ public static CCombo addComboInTreeItem( TreeItem item, String data, final SourceDialogSubPage currentSubPage ) {
TreeEditor treeEditor = new TreeEditor( item.getParent() );
treeEditor.horizontalAlignment = SWT.CENTER;
}
parentItem.setText( 2, selectedText );
+
+ if( currentSubPage instanceof StaticSubPage ){
+ ((StaticSubPage)currentSubPage).updateJsonFromTree();
+ }
}
} );
return combo;
dataModel.setMethod( methodSettingCombo.getText() );
dataModel.setProxy( proxySettingCombo.getText() );
dataModel.setQuery( Helper.getParamString( requestParam.getItems() ) );
- dataModel.setSourceType( sourceTypeCombo.getText() );
+ dataModel.setSourceType( sourceTypeCombo.getText().toLowerCase() );
dataModel.setTimeout( timeoutText.getText() );
HashMap<String, String> headers = new HashMap<String, String>();
}
if ( json != null ) {
- Helper.makeTreeItem( json, parentDataTree, null, false );
+ Helper.makeTreeItem( json, parentDataTree, null, false, this );
} else {
for ( Control control : parentDataTree.getChildren() ) {
control.dispose();
setParamString( dataModel.getQuery() );
sourceTypeCombo.select( Arrays.asList( sourceTypeCombo.getItems() )
- .indexOf( dataModel.getSourceType() ) );
+ .indexOf( dataModel.getSourceType().toUpperCase() ) );
timeoutText.setText( dataModel.getTimeout() );
- Helper.makeTreeItem( json, parentDataTree, null, false );
+ Helper.makeTreeItem( json, parentDataTree, null, false, this );
}
private void setParamString( String query ) {
item.setData("TREEITEMDATA", treeItemData);
if( !type.equals("Index") )
- Helper.addComboInTreeItem(item, type);
+ Helper.addComboInTreeItem(item, type, currentSubPage);
dialogTree.showItem(item);
BindingData dataModel = new BindingData();
Object obj = null;
-
+ String compactData = "";
+ String text = staticSourceStyledText.getText();
try{
- if ( typeCombo.getSelectionIndex() == 0 )
- obj = normalGson.fromJson( staticSourceStyledText.getText(), JsonObject.class );
- else
- obj = Helper.parseXML( staticSourceStyledText.getText() );
+ if ( typeCombo.getSelectionIndex() == 0 ){
+ obj = normalGson.fromJson( text, JsonObject.class );
+ compactData = normalGson.toJson( obj ) ;
+ }else{
+ obj = Helper.parseXML( text );
+ compactData = text.replaceAll( ">\\s*<", "><" );
+ }
}catch(Exception e){}
if( obj == null ){
Helper.makeJsonFromTree( item, root );
}
- dataModel.setJsonData( staticSourceStyledText.getText() );
+ dataModel.setJsonData( compactData );
dataModel.setStaticFilePath( jsonFile );
- dataModel.setSourceType( typeCombo.getText() );
+ dataModel.setSourceType( typeCombo.getText().toLowerCase() );
return dataModel;
}
if ( json != null ) {
parentDataTree.removeAll();
- Helper.makeTreeItem( json, parentDataTree, null, true );
+ Helper.makeTreeItem( json, parentDataTree, null, true, this );
}
}
} else {
result = Helper.getStringFromDocument( Helper.getXMLFromJson( null, null, jo ), true );
}
- }catch(Exception e){
- e.printStackTrace();
- }
- if( result.length() == 0 ){
+ }catch(Exception e){ }
+ if( result.length() == 0 || parentDataTree.getChildren().length == 0 ){
staticSourceStyledText.setText( result );
}else{
staticSourceStyledText.setData( "editing", true );
staticSourceStyledText.setData( "editing", false );
staticSourceStyledText.setKeyBinding( SWT.DEL, ST.DELETE_NEXT );
-
+ final SourceDialogSubPage subPage = this;
staticSourceStyledText.addModifyListener( new ModifyListener() {
@Override
public void modifyText( ModifyEvent e ) {
}
if ( json != null ) {
- TreeRefreshTask task = new TreeRefreshTask(json);
+ TreeRefreshTask task = new TreeRefreshTask(subPage, json);
parentDataTree.setData( "LAST_TASK", task );
parentDataTree.getDisplay().timerExec( 600, task );
class TreeRefreshTask implements Runnable {
private JsonObject taskJson;
+ private SourceDialogSubPage subPage;
- TreeRefreshTask(JsonObject taskJson){
+ TreeRefreshTask(SourceDialogSubPage currentSubPage, JsonObject taskJson){
+ this.subPage = currentSubPage;
this.taskJson = taskJson;
}
}
parentDataTree.removeAll();
- Helper.makeTreeItem( taskJson, parentDataTree, null, true );
+ Helper.makeTreeItem( taskJson, parentDataTree, null, true, subPage );
}
};
jsonFile = dataModel.getStaticFilePath();
if ( dataModel.getSourceType() != null )
- typeCombo.select( Arrays.asList( comboItems ).indexOf( dataModel.getSourceType() ) );
+ typeCombo.select( Arrays.asList( comboItems ).indexOf( dataModel.getSourceType().toUpperCase() ) );
if ( dataModel.getJsonData() != null )
staticSourceStyledText.setText( dataModel.getJsonData() );