Author: DartPeng
Date: 2010-09-09 03:48:43 -0400 (Thu, 09 Sep 2010)
New Revision: 24826
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/wizards/JavaBeanCreationWizardPage.java
Log:
JBIDE-6901
DONE
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/wizards/JavaBeanCreationWizardPage.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/wizards/JavaBeanCreationWizardPage.java 2010-09-09
02:15:46 UTC (rev 24825)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/wizards/JavaBeanCreationWizardPage.java 2010-09-09
07:48:43 UTC (rev 24826)
@@ -12,6 +12,7 @@
import java.lang.reflect.Array;
import java.lang.reflect.Constructor;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
@@ -200,6 +201,7 @@
viewer.addCheckStateListener(new ICheckStateListener() {
public void checkStateChanged(CheckStateChangedEvent event) {
+ modelClassStringList.clear();
Object element = event.getElement();
CheckboxTreeViewer viewer = (CheckboxTreeViewer) event
.getSource();
@@ -234,6 +236,11 @@
for (Iterator<?> iterator = ((JavaBeanModel) model)
.getChildren().iterator(); iterator.hasNext();) {
JavaBeanModel child = (JavaBeanModel) iterator.next();
+ if(containts(child)){
+ continue;
+ }else{
+ record(child);
+ }
viewer.setChecked(child, flag);
checkChildren(child, flag);
}
@@ -245,11 +252,33 @@
ITreeContentProvider provider = (ITreeContentProvider) viewer
.getContentProvider();
Object parent = provider.getParent(element);
+ if(containts(parent)){
+ return;
+ }else{
+ record(parent);
+ }
if (parent != null && !viewer.getChecked(parent)) {
viewer.setChecked(parent, true);
checkParents(parent, viewer);
}
}
+
+ private List<Class> modelClassStringList = new ArrayList<Class>();
+
+ private boolean containts(Object model){
+ if(model instanceof JavaBeanModel){
+ Class clazz = ((JavaBeanModel)model).getBeanClass();
+ return modelClassStringList.contains(clazz);
+ }
+ return false;
+ }
+
+ private void record(Object model){
+ if(model instanceof JavaBeanModel){
+ Class clazz = ((JavaBeanModel)model).getBeanClass();
+ modelClassStringList.add(clazz);
+ }
+ }
});
}
@@ -418,7 +447,7 @@
if(!isCollection) {
viewer.setInput(javaBeanModel.getChildren());
}
- viewer.setCheckedElements(javaBeanModel.getChildren().toArray());
+// viewer.setCheckedElements(javaBeanModel.getChildren().toArray());
} else {
viewer.setInput(""); //$NON-NLS-1$
}
Show replies by date