Author: DartPeng
Date: 2009-07-21 01:49:42 -0400 (Tue, 21 Jul 2009)
New Revision: 16688
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edi/DelimitersUICreator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/actions/DeleteEDIModelCommand.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/editor/EDIFileParser.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/editparts/EDIDataContainerEditPart.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/models/EDIDataContainerModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeContainerEditPart.java
Log:
JBIDE-4626
Fix a label error bug
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edi/DelimitersUICreator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edi/DelimitersUICreator.java 2009-07-20
19:50:14 UTC (rev 16687)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edi/DelimitersUICreator.java 2009-07-21
05:49:42 UTC (rev 16688)
@@ -26,7 +26,35 @@
* @author Dart Peng (dpeng(a)redhat.com) Date Apr 10, 2009
*/
public class DelimitersUICreator extends PropertyUICreator {
+
+ public static final String ENTER_CHAR_STRING = "<Enter>";
+ private class DelimiterChoiceModelProcsser implements IModelProcsser {
+ public Object unwrapValue(Object model) {
+ if (model == null)
+ return null;
+ if (model instanceof String) {
+ if (((String) model).equals("\n")) {
+ return ENTER_CHAR_STRING;
+ }
+ return model.toString();
+ }
+ return null;
+ }
+
+ public Object wrapValue(Object model) {
+ if (model == null)
+ return null;
+ if (model instanceof String) {
+ if (((String) model).equals(ENTER_CHAR_STRING)) {
+ return "\n";
+ }
+ return model.toString();
+ }
+ return null;
+ }
+ }
+
/*
* (non-Javadoc)
*
@@ -42,128 +70,21 @@
if (feature == MEdiPackage.eINSTANCE.getDelimiters_Component()) {
return SmooksUIUtils.createChoiceFieldEditor(parent, toolkit, propertyDescriptor,
model,
- new String[] { ENTER_CHAR_STRING }, new IModelProcsser() {
-
- public Object unwrapValue(Object model) {
- if (model == null)
- return null;
- if (model instanceof String) {
- if (((String) model).equals("\n")) {
- return ENTER_CHAR_STRING;
- }
- return model.toString();
- }
- return null;
- }
-
- public Object wrapValue(Object model) {
- if (model == null)
- return null;
- if (model instanceof String) {
- if (((String) model).equals(ENTER_CHAR_STRING)) {
- return "\n";
- }
- return model.toString();
- }
- return null;
- }
-
- }, false);
+ new String[] { ENTER_CHAR_STRING }, new DelimiterChoiceModelProcsser(), false);
}
if (feature == MEdiPackage.eINSTANCE.getDelimiters_Field()) {
return SmooksUIUtils.createChoiceFieldEditor(parent, toolkit, propertyDescriptor,
model,
- new String[] { ENTER_CHAR_STRING }, new IModelProcsser() {
-
- public Object unwrapValue(Object model) {
- if (model == null)
- return null;
- if (model instanceof String) {
- if (((String) model).equals("\n")) {
- return ENTER_CHAR_STRING;
- }
- return model.toString();
- }
- return null;
- }
-
- public Object wrapValue(Object model) {
- if (model == null)
- return null;
- if (model instanceof String) {
- if (((String) model).equals(ENTER_CHAR_STRING)) {
- return "\n";
- }
- return model.toString();
- }
- return null;
- }
-
- }, false);
+ new String[] { ENTER_CHAR_STRING }, new DelimiterChoiceModelProcsser(), false);
}
if (feature == MEdiPackage.eINSTANCE.getDelimiters_Segment()) {
return SmooksUIUtils.createChoiceFieldEditor(parent, toolkit, propertyDescriptor,
model,
- new String[] { ENTER_CHAR_STRING }, new IModelProcsser() {
-
- public Object unwrapValue(Object model) {
- if (model == null)
- return null;
- if (model instanceof String) {
- if (((String) model).equals("\n")) {
- return ENTER_CHAR_STRING;
- }
- return model.toString();
- }
- return null;
- }
-
- public Object wrapValue(Object model) {
- if (model == null)
- return null;
- if (model instanceof String) {
- if (((String) model).equals(ENTER_CHAR_STRING)) {
- return "\n";
- }
- return model.toString();
- }
- return null;
- }
-
- }, false);
+ new String[] { ENTER_CHAR_STRING }, new DelimiterChoiceModelProcsser(), false);
}
if (feature == MEdiPackage.eINSTANCE.getDelimiters_SubComponent()) {
return SmooksUIUtils.createChoiceFieldEditor(parent, toolkit, propertyDescriptor,
model,
- new String[] { ENTER_CHAR_STRING }, new IModelProcsser() {
-
- public Object unwrapValue(Object model) {
- if (model == null)
- return null;
- if (model instanceof String) {
- if (((String) model).equals("\n")) {
- return ENTER_CHAR_STRING;
- }
- return model.toString();
- }
- return null;
- }
-
- public Object wrapValue(Object model) {
- if (model == null)
- return null;
- if (model instanceof String) {
- if (((String) model).equals(ENTER_CHAR_STRING)) {
- return "\n";
- }
- return model.toString();
- }
- return null;
- }
-
- }, false);
+ new String[] { ENTER_CHAR_STRING }, new DelimiterChoiceModelProcsser(), false);
}
return super.createPropertyUI(toolkit, parent, propertyDescriptor, model, feature,
formEditor, part);
}
-
- public static final String ENTER_CHAR_STRING = "<Enter>";
-
}
\ No newline at end of file
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2009-07-20
19:50:14 UTC (rev 16687)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2009-07-21
05:49:42 UTC (rev 16688)
@@ -2276,6 +2276,7 @@
parentList = null;
continue;
}
+ if(parentList.isEmpty()) continue;
parentList.remove(parentList.size() - 1);
((TreeNodeEditPart) rootEditPart).expandNode();
for (int i = parentList.size() - 1; i >= 0; i--) {
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/actions/DeleteEDIModelCommand.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/actions/DeleteEDIModelCommand.java 2009-07-20
19:50:14 UTC (rev 16687)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/actions/DeleteEDIModelCommand.java 2009-07-21
05:49:42 UTC (rev 16688)
@@ -78,7 +78,11 @@
IEditorPart editorPart = editDomain.getEditorPart();
if (editorPart instanceof EDIMapFormPage) {
List<TreeNodeModel> linkedNodes = ((EDIMapFormPage)
editorPart).createLinkModel();
+ try{
SmooksUIUtils.expandGraphTree(linkedNodes, (TreeNodeEditPart) parentPart);
+ }catch(Throwable t){
+ t.printStackTrace();
+ }
}
}
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/editor/EDIFileParser.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/editor/EDIFileParser.java 2009-07-20
19:50:14 UTC (rev 16687)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/editor/EDIFileParser.java 2009-07-21
05:49:42 UTC (rev 16688)
@@ -35,7 +35,8 @@
throws InvocationTargetException, IOException {
TagList tl = new TagList();
path = SmooksUIUtils.parseFilePath(path);
- if(!new File(path).exists()) return new TagList();
+ if (!new File(path).exists())
+ return new TagList();
InputStream stream = new FileInputStream(path);
InputStreamReader reader = new InputStreamReader(stream);
BufferedReader br = new BufferedReader(reader);
@@ -51,34 +52,50 @@
stringBuffer = new StringBuffer();
}
}
+ if (stringBuffer != null && stringBuffer.toString().length() > 0) {
+ segmentList.add(stringBuffer.toString());
+ stringBuffer = null;
+ }
br.close();
reader.close();
stream.close();
List<String> names = new ArrayList<String>();
- char[] separators = new char[]{field,component,subcomponent};
+ char[] separators = new char[] { field, component, subcomponent };
for (Iterator<?> iterator = segmentList.iterator(); iterator.hasNext();) {
String string = (String) iterator.next();
String[] fields = string.split("\\" + new String(new char[] { field }));
TagObject tag = null;
if (fields.length != 0) {
- tag = new EDIDataContainerModel();
if (names.indexOf(fields[0]) == -1) {
+ tag = new EDIDataContainerModel();
+ ((EDIDataContainerModel) tag).setMultipe(false);
tag.setName(fields[0].trim());
names.add(tag.getName());
tl.addRootTag(tag);
+ } else {
+ List<TagObject> tagList = tl.getRootTagList();
+ for (Iterator<?> iterator2 = tagList.iterator(); iterator2.hasNext();) {
+ TagObject tagObject = (TagObject) iterator2.next();
+ if (tagObject instanceof EDIDataContainerModel) {
+ if (fields[0].equals(((EDIDataContainerModel) tagObject).getSegCode())) {
+ ((EDIDataContainerModel) tagObject).setMultipe(true);
+ break;
+ }
+ }
+ }
}
}
if (tag != null) {
- String ss = string.substring(fields[0].length() , string.length());
+ String ss = string.substring(fields[0].length(), string.length());
generateChildrenTag(tag, ss, separators, 0);
}
}
-
+
return tl;
}
-
- private String getSeparator(String s){
- if(s.equals("*") || s.equals("+") || s.equals("^")){
+
+ private String getSeparator(String s) {
+ if (s.equals("*") || s.equals("+") || s.equals("^")) {
return "\\" + s;
}
return s;
@@ -87,7 +104,8 @@
private void generateChildrenTag(TagObject parent, String content, char[] separators,
int currentSeparator) {
char separator = separators[currentSeparator];
String sss = new String(new char[] { separator });
- if(content.indexOf(sss) == -1) return;
+ if (content.indexOf(sss) == -1)
+ return;
sss = getSeparator(sss);
String[] contentArray = content.split(sss);
if (contentArray == null || contentArray.length == 0) {
@@ -95,11 +113,12 @@
}
for (int i = 0; i < contentArray.length; i++) {
String con = contentArray[i];
- if(con == null || con.length() == 0) continue;
+ if (con == null || con.length() == 0)
+ continue;
TagObject child = new TagObject();
child.setName(con.trim());
parent.addChildTag(child);
- int newIndex = (currentSeparator+1);
+ int newIndex = (currentSeparator + 1);
if (newIndex <= (separators.length - 1)) {
generateChildrenTag(child, con, separators, newIndex);
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/editparts/EDIDataContainerEditPart.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/editparts/EDIDataContainerEditPart.java 2009-07-20
19:50:14 UTC (rev 16687)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/editparts/EDIDataContainerEditPart.java 2009-07-21
05:49:42 UTC (rev 16688)
@@ -10,10 +10,29 @@
******************************************************************************/
package org.jboss.tools.smooks.edimap.editparts;
+import org.jboss.tools.smooks.edimap.models.EDIDataContainerModel;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+
/**
* @author Dart (dpeng(a)redhat.com)
*
*/
public class EDIDataContainerEditPart extends EDITreeContainerEditPart {
+ /* (non-Javadoc)
+ * @see org.jboss.tools.smooks.gef.tree.editparts.TreeContainerEditPart#getLabelText()
+ */
+ @Override
+ protected String getLabelText() {
+ String labelText = super.getLabelText();
+ TreeNodeModel obj = (TreeNodeModel) getModel();
+ if(obj.getData() instanceof EDIDataContainerModel){
+ if(((EDIDataContainerModel)obj.getData()).isMultipe()){
+ labelText += " *";
+ }
+ }
+ return labelText;
+ }
+
+
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/models/EDIDataContainerModel.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/models/EDIDataContainerModel.java 2009-07-20
19:50:14 UTC (rev 16687)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/models/EDIDataContainerModel.java 2009-07-21
05:49:42 UTC (rev 16688)
@@ -17,6 +17,23 @@
*
*/
public class EDIDataContainerModel extends TagObject {
+
+ private boolean multipe = false;
+
+ /**
+ * @return the multipe
+ */
+ public boolean isMultipe() {
+ return multipe;
+ }
+
+ /**
+ * @param multipe the multipe to set
+ */
+ public void setMultipe(boolean multipe) {
+ this.multipe = multipe;
+ }
+
public String getSegCode() {
return getName();
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeContainerEditPart.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeContainerEditPart.java 2009-07-20
19:50:14 UTC (rev 16687)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeContainerEditPart.java 2009-07-21
05:49:42 UTC (rev 16688)
@@ -34,10 +34,16 @@
protected IFigure createFigure() {
return new TreeContainerFigure((TreeContainerModel) getModel());
}
+
+ protected String getLabelText(){
+ TreeContainerModel model = (TreeContainerModel) getModel();
+ String text = model.getText();
+ return text;
+ }
protected void refreshVisuals() {
TreeContainerModel model = (TreeContainerModel) getModel();
- String text = model.getText();
+ String text = getLabelText();
if (text != null && model.isHeaderVisable() && getFigure() instanceof
TreeContainerFigure) {
TreeContainerFigure figure = (TreeContainerFigure) getFigure();
figure.setText(text);