JBoss Tools SVN: r18310 - branches/jbosstools-3.1.0.M4/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal.
by jbosstools-commits@lists.jboss.org
Author: vrubezhny
Date: 2009-10-27 12:27:07 -0400 (Tue, 27 Oct 2009)
New Revision: 18310
Modified:
branches/jbosstools-3.1.0.M4/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/XmlContextImpl.java
Log:
JBIDE-5097: Content assist does not support multiple namespaces with the same uri
Issue is fixed for 3.1.0.M4
Modified: branches/jbosstools-3.1.0.M4/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/XmlContextImpl.java
===================================================================
--- branches/jbosstools-3.1.0.M4/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/XmlContextImpl.java 2009-10-27 16:20:40 UTC (rev 18309)
+++ branches/jbosstools-3.1.0.M4/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/XmlContextImpl.java 2009-10-27 16:27:07 UTC (rev 18310)
@@ -19,6 +19,8 @@
public class XmlContextImpl extends ELContextImpl implements IPageContext {
protected IDocument document;
protected ITagLibrary[] libs;
+
+ // Fix for JBIDE-5097: It must be a map of <IRegion to Map of <NS-Prefix to NS>>
protected Map<IRegion, Map<String, INameSpace>> nameSpaces = new HashMap<IRegion, Map<String, INameSpace>>();
protected IResourceBundle[] bundles;
private IIncludedContextSupport parentContext = null;
@@ -147,7 +149,7 @@
Map<String, INameSpace> nameSpaceMap = new HashMap<String, INameSpace>();
nameSpaces.put(region, nameSpaceMap);
}
- nameSpaces.get(region).put(nameSpace.getURI(), nameSpace);
+ nameSpaces.get(region).put(nameSpace.getPrefix(), nameSpace); // Fix for JBIDE-5097
}
/**
14 years, 7 months
JBoss Tools SVN: r18309 - trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal.
by jbosstools-commits@lists.jboss.org
Author: vrubezhny
Date: 2009-10-27 12:20:40 -0400 (Tue, 27 Oct 2009)
New Revision: 18309
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/XmlContextImpl.java
Log:
JBIDE-5097: Content assist does not support multiple namespaces with the same uri
Issue is fixed for trunk
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/XmlContextImpl.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/XmlContextImpl.java 2009-10-27 15:49:17 UTC (rev 18308)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/XmlContextImpl.java 2009-10-27 16:20:40 UTC (rev 18309)
@@ -19,6 +19,8 @@
public class XmlContextImpl extends ELContextImpl implements IPageContext {
protected IDocument document;
protected ITagLibrary[] libs;
+
+ // Fix for JBIDE-5097: It must be a map of <IRegion to Map of <NS-Prefix to NS>>
protected Map<IRegion, Map<String, INameSpace>> nameSpaces = new HashMap<IRegion, Map<String, INameSpace>>();
protected IResourceBundle[] bundles;
private IIncludedContextSupport parentContext = null;
@@ -147,7 +149,7 @@
Map<String, INameSpace> nameSpaceMap = new HashMap<String, INameSpace>();
nameSpaces.put(region, nameSpaceMap);
}
- nameSpaces.get(region).put(nameSpace.getURI(), nameSpace);
+ nameSpaces.get(region).put(nameSpace.getPrefix(), nameSpace); // Fix for JBIDE-5097
}
public void addIncludedContext(IPageContext includedContext) {
14 years, 7 months
JBoss Tools SVN: r18308 - trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards.
by jbosstools-commits@lists.jboss.org
Author: dgeraskov
Date: 2009-10-27 11:49:17 -0400 (Tue, 27 Oct 2009)
New Revision: 18308
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/NewHibernateMappingElementsSelectionPage2.java
trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/NewHibernateMappingFileWizard.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5095
Modified: trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/NewHibernateMappingElementsSelectionPage2.java
===================================================================
--- trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/NewHibernateMappingElementsSelectionPage2.java 2009-10-27 15:43:23 UTC (rev 18307)
+++ trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/NewHibernateMappingElementsSelectionPage2.java 2009-10-27 15:49:17 UTC (rev 18308)
@@ -15,6 +15,7 @@
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.TableItem;
import org.hibernate.eclipse.jdt.ui.internal.JdtUiMessages;
@@ -27,6 +28,8 @@
AddRemoveTableComposite addRemoveTableComposite;
+ Button createEmpty;
+
private IStructuredSelection selection;
public NewHibernateMappingElementsSelectionPage2(String pageName, IStructuredSelection selection) {
@@ -36,8 +39,16 @@
}
public void createControl(Composite parent) {
+ /*Composite container = new Composite(parent, SWT.NULL);
+ GridLayout layout = new GridLayout();
+
+ container.setLayout(layout);
+ layout.verticalSpacing = 10;*/
+
addRemoveTableComposite = new AddRemoveTableComposite(parent, SWT.NONE);
addRemoveTableComposite.getTableViewer().setInput(selection.toArray());
+ createEmpty = new Button(addRemoveTableComposite, SWT.CHECK);
+ createEmpty.setText(JdtUiMessages.NewHibernateMappingElementsSelectionPage2_createEmpty);
setControl(addRemoveTableComposite);
}
@@ -45,9 +56,13 @@
TableItem[] items = addRemoveTableComposite.getTableViewer().getTable().getItems();
Object[] data = new Object[items.length];
for (int i = 0; i < items.length; i++) {
- data[i] = items[i].getData();
+ data[i] = items[i].getData();
}
return new StructuredSelection(data);
}
+
+ public boolean createEmpty(){
+ return createEmpty.getSelection();
+ }
}
Modified: trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/NewHibernateMappingFileWizard.java
===================================================================
--- trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/NewHibernateMappingFileWizard.java 2009-10-27 15:43:23 UTC (rev 18307)
+++ trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/NewHibernateMappingFileWizard.java 2009-10-27 15:49:17 UTC (rev 18308)
@@ -10,6 +10,11 @@
******************************************************************************/
package org.hibernate.eclipse.jdt.ui.wizards;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.io.UnsupportedEncodingException;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import java.util.Collection;
@@ -20,6 +25,7 @@
import java.util.Set;
import java.util.Map.Entry;
+import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.CoreException;
@@ -42,10 +48,16 @@
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.wizard.IWizardContainer;
+import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+import org.eclipse.ui.ide.IDE;
import org.hibernate.cfg.Configuration;
import org.hibernate.console.ImageConstants;
import org.hibernate.eclipse.console.HibernateConsoleMessages;
@@ -74,10 +86,12 @@
private IStructuredSelection selection;
private NewHibernateMappingElementsSelectionPage2 page0 = null;
+
+ private WizardNewFileCreationPage cPage;
//private NewHibernateMappingElementsSelectionPage page1 = null;
- private NewHibernateMappingFilePage page2 = null;
+ private NewHibernateMappingFilePage page2 = null;
public NewHibernateMappingFileWizard(){
setDefaultPageImageDescriptor(EclipseImages.getImageDescriptor(ImageConstants.NEW_WIZARD) );
@@ -89,6 +103,10 @@
public void addPages() {
super.addPages();
+ if (selection == null) {
+ selection = new StructuredSelection();
+ }
+
page0 = new NewHibernateMappingElementsSelectionPage2(HibernateConsoleMessages.NewHibernateMappingFileWizard_create_hibernate_xml_mapping_file, selection);
addPage(page0);
@@ -96,11 +114,25 @@
//page1.setTitle( HibernateConsoleMessages.NewHibernateMappingFileWizard_create_hibernate_xml_mapping_file );
//page1.setDescription( HibernateConsoleMessages.NewHibernateMappingFileWizard_create_new_xml_mapping_file );
//addPage(page1);
+
+ cPage = new WizardNewFileCreationPage( "Ccfgxml", selection ); //$NON-NLS-1$
+ cPage.setTitle( HibernateConsoleMessages.NewHibernateMappingFileWizard_create_hibernate_xml_mapping_file );
+ cPage.setDescription( HibernateConsoleMessages.NewHibernateMappingFileWizard_create_hibernate_xml_mapping_file );
+ cPage.setFileName("hibernate.hbm.xml"); //$NON-NLS-1$
+ addPage( cPage );
+
page2 = new NewHibernateMappingFilePage();
- addPage(page2);
+ addPage(page2);
}
-
+
@Override
+ public IWizardPage getNextPage(IWizardPage page) {
+ if (page == page0 && !page0.createEmpty()) return page2;
+ if (page == cPage) return null;
+ return super.getNextPage(page);
+ }
+
+ @Override
public void setContainer(IWizardContainer wizardContainer) {
if (getContainer() instanceof WizardDialog) {
((WizardDialog) getContainer()).removePageChangingListener(this);
@@ -174,38 +206,115 @@
@Override
public boolean performFinish() {
- updateCompilationUnits();
- Map<IJavaProject, Configuration> configs = createConfigurations();
- for (Entry<IJavaProject, Configuration> entry : configs.entrySet()) {
- Configuration config = entry.getValue();
- HibernateMappingGlobalSettings hmgs = new HibernateMappingGlobalSettings();
-
- IResource container;
+ if (page0.createEmpty()){
+ final IFile file = cPage.createNewFile();
+ IRunnableWithProgress op = new IRunnableWithProgress() {
+ public void run(IProgressMonitor monitor) throws InvocationTargetException {
+ try {
+ doFinish(file, monitor);
+ } catch (CoreException e) {
+ throw new InvocationTargetException(e);
+ } finally {
+ monitor.done();
+ }
+ }
+ };
try {
- container = entry.getKey().getPackageFragmentRoots().length > 0
- ? entry.getKey().getPackageFragmentRoots()[0].getResource()
- : entry.getKey().getResource();
+ getContainer().run(true, false, op);
+ } catch (InterruptedException e) {
+ return false;
+ } catch (InvocationTargetException e) {
+ Throwable realException = e.getTargetException();
+ HibernateConsolePlugin.getDefault().showError(getShell(), HibernateConsoleMessages.NewReverseEngineeringFileWizard_error, realException);
+ return false;
+ }
+ return true;
+ } else {
+ updateCompilationUnits();
+ Map<IJavaProject, Configuration> configs = createConfigurations();
+ for (Entry<IJavaProject, Configuration> entry : configs.entrySet()) {
+ Configuration config = entry.getValue();
+ HibernateMappingGlobalSettings hmgs = new HibernateMappingGlobalSettings();
- HibernateMappingExporter hce = new HibernateMappingExporter(config,
- container.getLocation().toFile());
+ IResource container;
+ try {
+ container = entry.getKey().getPackageFragmentRoots().length > 0
+ ? entry.getKey().getPackageFragmentRoots()[0].getResource()
+ : entry.getKey().getResource();
- hce.setGlobalSettings(hmgs);
- //hce.setForEach("entity");
- //hce.setFilePattern(file.getName());
+ HibernateMappingExporter hce = new HibernateMappingExporter(config,
+ container.getLocation().toFile());
+
+ hce.setGlobalSettings(hmgs);
+ //hce.setForEach("entity");
+ //hce.setFilePattern(file.getName());
+ try {
+ hce.start();
+ } catch (Exception e){
+ e.getCause().printStackTrace();
+ }
+ container.refreshLocal(IResource.DEPTH_INFINITE, null);
+ } catch (JavaModelException e1) {
+ HibernateConsolePlugin.getDefault().log(e1);
+ } catch (CoreException e) {
+ HibernateConsolePlugin.getDefault().log(e);
+ }
+ }
+ return true;
+ }
+ }
+
+ /**
+ * The worker method. It will find the container, create the
+ * file if missing or just replace its contents, and open
+ * the editor on the newly created file.
+ * @param file
+ * @param props
+ */
+
+ private void doFinish(
+ final IFile file, IProgressMonitor monitor)
+ throws CoreException {
+ // create a sample file
+ monitor.beginTask(HibernateConsoleMessages.NewReverseEngineeringFileWizard_creating + file.getName(), 2);
+ try {
+ InputStream stream = openContentStream();
+ if (file.exists() ) {
+ file.setContents(stream, true, true, monitor);
+ } else {
+ file.create(stream, true, monitor);
+ }
+ stream.close();
+ } catch (IOException e) {
+
+ }
+ monitor.worked(1);
+ monitor.setTaskName(HibernateConsoleMessages.NewConfigurationWizard_open_file_for_editing);
+ getShell().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ IWorkbenchPage page =
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
try {
- hce.start();
- } catch (Exception e){
- e.getCause().printStackTrace();
+ IDE.openEditor(page, file, true);
+ } catch (PartInitException e) {
}
- container.refreshLocal(IResource.DEPTH_INFINITE, null);
- } catch (JavaModelException e1) {
- HibernateConsolePlugin.getDefault().log(e1);
- } catch (CoreException e) {
- HibernateConsolePlugin.getDefault().log(e);
}
- }
- return true;
+ });
+ monitor.worked(1);
}
+
+ private InputStream openContentStream() {
+ StringWriter sw = new StringWriter();
+ sw.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n" + //$NON-NLS-1$
+ "<!DOCTYPE hibernate-mapping PUBLIC \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\" \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\" >\r\n" + //$NON-NLS-1$
+ "<hibernate-mapping>\r\n</hibernate-mapping>"); //$NON-NLS-1$
+ try {
+ return new ByteArrayInputStream(sw.toString().getBytes("UTF-8") ); //$NON-NLS-1$
+ } catch (UnsupportedEncodingException uec) {
+ HibernateConsolePlugin.getDefault().logErrorMessage(HibernateConsoleMessages.NewConfigurationWizard_problems_converting_to_utf8, uec);
+ return new ByteArrayInputStream(sw.toString().getBytes() );
+ }
+ }
protected void initEntitiesInfo(){
if (selectionCU.size() == 0) {
@@ -285,7 +394,6 @@
Map<IJavaProject, Configuration> configs = actor.createConfigurations();
return configs;
}
-
protected void updateCompilationUnits(){
Assert.isNotNull(page0.getSelection(), HibernateConsoleMessages.NewHibernateMappingFileWizard_selection_cant_be_empty);
14 years, 7 months
JBoss Tools SVN: r18307 - in trunk: jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2009-10-27 11:43:23 -0400 (Tue, 27 Oct 2009)
New Revision: 18307
Modified:
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolution.java
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolutionImpl.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFMessageELCompletionEngine.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/JspContentAssistProcessor.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/el/AbstractELCompletionEngine.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4427
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolution.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolution.java 2009-10-27 15:17:23 UTC (rev 18306)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolution.java 2009-10-27 15:43:23 UTC (rev 18307)
@@ -76,4 +76,11 @@
* @return the number of resolved segments
*/
int getNumberOfResolvedSegments();
+
+ /**
+ * @return the resolved value of this EL as String.
+ * In case of message bundle properties it will be an value from properties file.
+ * If the value is not available for this EL then source EL String will be returned.
+ */
+ String getValue();
}
\ No newline at end of file
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolutionImpl.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolutionImpl.java 2009-10-27 15:17:23 UTC (rev 18306)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolutionImpl.java 2009-10-27 15:43:23 UTC (rev 18307)
@@ -31,7 +31,12 @@
protected Set<TextProposal> proposals = new HashSet<TextProposal>();
protected ELInvocationExpression lastResolvedToken;
protected boolean mapOrCollectionOrBundleAmoungTheTokens;
-
+ protected String value;
+
+ public ELResolutionImpl(ELExpression operand) {
+ setSourceOperand(operand);
+ }
+
/* (non-Javadoc)
* @see org.jboss.tools.common.el.core.resolver.ELResolution#findSegmentsByJavaElement(org.eclipse.jdt.core.IJavaElement)
*/
@@ -169,20 +174,6 @@
}
/**
- * @return the operand
- */
- public ELExpression getOperand() {
- return operand;
- }
-
- /**
- * @param operand the operand to set
- */
- public void setOperand(ELExpression operand) {
- this.operand = operand;
- }
-
- /**
* @return the mapOrCollectionOrBundleAmoungTheTokens
*/
public boolean isMapOrCollectionOrBundleAmoungTheTokens() {
@@ -223,4 +214,22 @@
}
return i;
}
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.common.el.core.resolver.ELResolution#getValue()
+ */
+ public String getValue() {
+ if(value==null) {
+ value = operand.toString();
+ }
+ return value;
+ }
+
+ /**
+ * @param value
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
}
\ No newline at end of file
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFMessageELCompletionEngine.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFMessageELCompletionEngine.java 2009-10-27 15:17:23 UTC (rev 18306)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFMessageELCompletionEngine.java 2009-10-27 15:43:23 UTC (rev 18307)
@@ -22,7 +22,6 @@
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;
import org.eclipse.swt.graphics.Image;
-import org.jboss.tools.common.el.core.model.ELArgumentInvocation;
import org.jboss.tools.common.el.core.model.ELExpression;
import org.jboss.tools.common.el.core.model.ELInstance;
import org.jboss.tools.common.el.core.model.ELInvocationExpression;
@@ -156,8 +155,7 @@
&& ((ELPropertyInvocation)expr).getName() == null;
boolean isArgument = expr.getType() == ELObjectType.EL_ARGUMENT_INVOCATION;
- ELResolutionImpl resolution = new ELResolutionImpl();
- resolution.setOperand(expr);
+ ELResolutionImpl resolution = new ELResolutionImpl(expr);
ELInvocationExpression left = expr;
List<Variable> resolvedVariables = new ArrayList<Variable>();
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/JspContentAssistProcessor.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/JspContentAssistProcessor.java 2009-10-27 15:17:23 UTC (rev 18306)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/JspContentAssistProcessor.java 2009-10-27 15:43:23 UTC (rev 18307)
@@ -10,21 +10,12 @@
******************************************************************************/
package org.jboss.tools.jst.jsp.contentassist;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
-import java.util.Set;
-import org.eclipse.core.internal.resources.ICoreConstants;
import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IRegion;
import org.eclipse.jface.text.Region;
@@ -33,14 +24,10 @@
import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager;
import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TaglibTracker;
import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
import org.eclipse.wst.sse.core.StructuredModelManager;
import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
import org.eclipse.wst.xml.core.internal.document.NodeContainer;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest;
@@ -57,15 +44,12 @@
import org.jboss.tools.common.el.core.resolver.ElVarSearcher;
import org.jboss.tools.common.el.core.resolver.Var;
import org.jboss.tools.common.text.TextProposal;
-import org.jboss.tools.common.text.ext.util.Utils;
-import org.jboss.tools.jst.web.kb.IIncludedContextSupport;
import org.jboss.tools.jst.web.kb.IPageContext;
import org.jboss.tools.jst.web.kb.IResourceBundle;
import org.jboss.tools.jst.web.kb.KbQuery;
import org.jboss.tools.jst.web.kb.PageContextFactory;
import org.jboss.tools.jst.web.kb.PageProcessor;
import org.jboss.tools.jst.web.kb.KbQuery.Type;
-import org.jboss.tools.jst.web.kb.include.IncludeContextBuilder;
import org.jboss.tools.jst.web.kb.internal.JspContextImpl;
import org.jboss.tools.jst.web.kb.internal.ResourceBundle;
import org.jboss.tools.jst.web.kb.internal.XmlContextImpl;
@@ -271,9 +255,8 @@
sModel.releaseFromRead();
}
}
-
}
-
+
/**
* Calculates and adds the attribute name proposals to the Content Assist Request object
*
@@ -281,50 +264,46 @@
* @param childPosition the
*/
protected void addAttributeNameProposals(ContentAssistRequest contentAssistRequest) {
- try {
- String matchString = contentAssistRequest.getMatchString();
- String query = matchString;
- if (query == null)
- query = ""; //$NON-NLS-1$
- String stringQuery = matchString;
-
- KbQuery kbQuery = createKbQuery(Type.ATTRIBUTE_NAME, query, stringQuery);
- TextProposal[] proposals = PageProcessor.getInstance().getProposals(kbQuery, getContext());
+ String matchString = contentAssistRequest.getMatchString();
+ String query = matchString;
+ if (query == null)
+ query = ""; //$NON-NLS-1$
+ String stringQuery = matchString;
+
+ KbQuery kbQuery = createKbQuery(Type.ATTRIBUTE_NAME, query, stringQuery);
+ TextProposal[] proposals = PageProcessor.getInstance().getProposals(kbQuery, getContext());
+
+ for (int i = 0; proposals != null && i < proposals.length; i++) {
+ TextProposal textProposal = proposals[i];
- for (int i = 0; proposals != null && i < proposals.length; i++) {
- TextProposal textProposal = proposals[i];
-
- if (isExistingAttribute(textProposal.getLabel()))
- continue;
-
- String replacementString = textProposal.getReplacementString() + "=\"\""; //$NON-NLS-1$
-
- int replacementOffset = contentAssistRequest.getReplacementBeginPosition();
- int replacementLength = contentAssistRequest.getReplacementLength();
- int cursorPosition = getCursorPositionForProposedText(replacementString);
- Image image = textProposal.getImage();
- if (image == null) {
- image = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_ATTRIBUTE);
- }
+ if (isExistingAttribute(textProposal.getLabel()))
+ continue;
- String displayString = textProposal.getLabel() == null ?
- replacementString :
- textProposal.getLabel();
- IContextInformation contextInformation = null;
- String additionalProposalInfo = textProposal.getContextInfo();
- int relevance = textProposal.getRelevance();
-
- AutoContentAssistantProposal proposal = new AutoContentAssistantProposal(true, replacementString,
- replacementOffset, replacementLength, cursorPosition, image, displayString,
- contextInformation, additionalProposalInfo, relevance);
+ String replacementString = textProposal.getReplacementString() + "=\"\""; //$NON-NLS-1$
- contentAssistRequest.addProposal(proposal);
+ int replacementOffset = contentAssistRequest.getReplacementBeginPosition();
+ int replacementLength = contentAssistRequest.getReplacementLength();
+ int cursorPosition = getCursorPositionForProposedText(replacementString);
+ Image image = textProposal.getImage();
+ if (image == null) {
+ image = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_ATTRIBUTE);
}
- } finally {
+
+ String displayString = textProposal.getLabel() == null ?
+ replacementString :
+ textProposal.getLabel();
+ IContextInformation contextInformation = null;
+ String additionalProposalInfo = textProposal.getContextInfo();
+ int relevance = textProposal.getRelevance();
+
+ AutoContentAssistantProposal proposal = new AutoContentAssistantProposal(true, replacementString,
+ replacementOffset, replacementLength, cursorPosition, image, displayString,
+ contextInformation, additionalProposalInfo, relevance);
+
+ contentAssistRequest.addProposal(proposal);
}
}
-
/**
* Calculates and adds the EL proposals to the Content Assist Request object
*/
@@ -339,7 +318,7 @@
ELExpression operand, boolean returnEqualedVariablesOnly,
List<Var> vars, ElVarSearcher varSearcher)
throws BadLocationException, StringIndexOutOfBoundsException {
- return new ELResolutionImpl();
+ return new ELResolutionImpl(operand);
}
public ELParserFactory getParserFactory() {
@@ -351,7 +330,7 @@
}
public ELResolution resolve(ELContext context, ELExpression operand) {
- return new ELResolutionImpl();
+ return new ELResolutionImpl(operand);
}
};
ElVarSearcher varSearcher = new ElVarSearcher(file, fakeEngine);
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/el/AbstractELCompletionEngine.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/el/AbstractELCompletionEngine.java 2009-10-27 15:17:23 UTC (rev 18306)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/el/AbstractELCompletionEngine.java 2009-10-27 15:43:23 UTC (rev 18307)
@@ -346,8 +346,7 @@
return null;
}
- ELResolutionImpl resolution = new ELResolutionImpl();
- resolution.setSourceOperand(operand);
+ ELResolutionImpl resolution = new ELResolutionImpl(operand);
ELInvocationExpression expr = (ELInvocationExpression)operand;
boolean isIncomplete = expr.getType() == ELObjectType.EL_PROPERTY_INVOCATION
14 years, 7 months
JBoss Tools SVN: r18306 - in trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram: editors and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: vyemialyanchyk
Date: 2009-10-27 11:17:23 -0400 (Tue, 27 Oct 2009)
New Revision: 18306
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/actions/LexicalSortingAction.java
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/DiagramViewerMessages.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/DiagramViewerMessages.properties
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/DiagramContentOutlinePage.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/DiagramViewer.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/actions/ToggleShapeExpandStateAction.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/actions/ToggleShapeVisibleStateAction.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/model/OrmDiagram.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5009 - fixed
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/DiagramViewerMessages.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/DiagramViewerMessages.java 2009-10-27 15:11:41 UTC (rev 18305)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/DiagramViewerMessages.java 2009-10-27 15:17:23 UTC (rev 18306)
@@ -40,7 +40,9 @@
public static String OpenSourceAction_canot_open_source_file;
public static String OpenSourceAction_open_source_file;
public static String ToggleShapeExpandStateAction_toggle_expand_state;
+ public static String ToggleShapeExpandStateAction_toggle_expand_state_tooltip;
public static String ToggleShapeVisibleStateAction_toggle_visible_state;
+ public static String ToggleShapeVisibleStateAction_toggle_visible_state_tooltip;
public static String ToggleConnectionsAction_toggle_connections;
public static String ShapeSetConstraintCommand_move;
public static String PartFactory_canot_create_part_for_model_element;
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/DiagramViewerMessages.properties
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/DiagramViewerMessages.properties 2009-10-27 15:11:41 UTC (rev 18305)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/DiagramViewerMessages.properties 2009-10-27 15:17:23 UTC (rev 18306)
@@ -16,7 +16,9 @@
OpenSourceAction_canot_open_source_file=Can't open source file.
OpenSourceAction_open_source_file=Open Source File
ToggleShapeExpandStateAction_toggle_expand_state=Expand|Collapse
+ToggleShapeExpandStateAction_toggle_expand_state_tooltip=Expand|Collapse (Enter)
ToggleShapeVisibleStateAction_toggle_visible_state=Toggle visible state
+ToggleShapeVisibleStateAction_toggle_visible_state_tooltip=Toggle visible state (+)
ToggleConnectionsAction_toggle_connections=Show|Hide connections
ShapeSetConstraintCommand_move=move
PartFactory_canot_create_part_for_model_element=Can't create part for model element:
@@ -27,7 +29,7 @@
DiagramContentOutlinePage_Outline=Outline
DiagramContentOutlinePage_Overview=Overview
DiagramViewer_OutlinePage_Sort_label=Sort
-DiagramViewer_OutlinePage_Sort_tooltip=Sort
+DiagramViewer_OutlinePage_Sort_tooltip=Sort (Space)
DiagramViewer_OutlinePage_Sort_description=Enable Sorting
ToggleClassMappingAction_class_mappings=Class Mappings
TogglePropertyMappingAction_property_mappings=Property Mappings
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/DiagramContentOutlinePage.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/DiagramContentOutlinePage.java 2009-10-27 15:11:41 UTC (rev 18305)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/DiagramContentOutlinePage.java 2009-10-27 15:17:23 UTC (rev 18306)
@@ -35,7 +35,6 @@
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
import org.eclipse.swt.widgets.Canvas;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@@ -45,6 +44,7 @@
import org.eclipse.ui.part.PageBook;
import org.jboss.tools.hibernate.ui.diagram.DiagramViewerMessages;
import org.jboss.tools.hibernate.ui.diagram.editors.actions.AutoLayoutAction;
+import org.jboss.tools.hibernate.ui.diagram.editors.actions.LexicalSortingAction;
import org.jboss.tools.hibernate.ui.diagram.editors.actions.ToggleConnectionsAction;
import org.jboss.tools.hibernate.ui.diagram.editors.actions.ToggleShapeExpandStateAction;
import org.jboss.tools.hibernate.ui.diagram.editors.actions.ToggleShapeVisibleStateAction;
@@ -167,6 +167,8 @@
bars.setGlobalActionHandler(id, registry.getAction(id));
id = ToggleShapeVisibleStateAction.ACTION_ID;
bars.setGlobalActionHandler(id, registry.getAction(id));
+ id = LexicalSortingAction.ACTION_ID;
+ bars.setGlobalActionHandler(id, registry.getAction(id));
bars.updateActionBars();
}
@@ -184,7 +186,7 @@
provider, getSite().getSelectionProvider());
IToolBarManager tbm = getSite().getActionBars().getToolBarManager();
- tbm.add(new LexicalSortingAction());
+ tbm.add(editor.getLexicalSortingAction());
showOutlineAction = new Action() {
public void run() {
@@ -354,7 +356,11 @@
public void setOrmDiagram(OrmDiagram ormDiagram) {
this.ormDiagram = ormDiagram;
}
-
+
+ public Control getOutline() {
+ return outline;
+ }
+
public DiagramViewer getEditor() {
return editor;
}
@@ -366,37 +372,4 @@
protected ActionRegistry getActionRegistry() {
return actionRegistry;
}
-
- class LexicalSortingAction extends Action {
-
- @SuppressWarnings("restriction")
- public LexicalSortingAction() {
- super();
- setText(DiagramViewerMessages.DiagramViewer_OutlinePage_Sort_label);
- org.eclipse.jdt.internal.ui.JavaPluginImages.setLocalImageDescriptors(this, "alphab_sort_co.gif"); //$NON-NLS-1$
- setToolTipText(DiagramViewerMessages.DiagramViewer_OutlinePage_Sort_tooltip);
- setDescription(DiagramViewerMessages.DiagramViewer_OutlinePage_Sort_description);
-
- boolean checked = getOrmDiagram().isDeepIntoSort();
- if (checked) {
- valueChanged(checked);
- }
- }
-
- public void run() {
- valueChanged(isChecked());
- }
-
- private void valueChanged(final boolean on) {
- setChecked(on);
- BusyIndicator.showWhile(outline.getDisplay(), new Runnable() {
- public void run() {
- final OrmDiagram od = getOrmDiagram();
- od.setDeepIntoSort(on);
- od.refresh();
- setContents(od);
- }
- });
- }
- }
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/DiagramViewer.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/DiagramViewer.java 2009-10-27 15:11:41 UTC (rev 18305)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/DiagramViewer.java 2009-10-27 15:17:23 UTC (rev 18306)
@@ -23,6 +23,8 @@
import org.eclipse.draw2d.PositionConstants;
import org.eclipse.gef.DefaultEditDomain;
import org.eclipse.gef.GraphicalViewer;
+import org.eclipse.gef.KeyHandler;
+import org.eclipse.gef.KeyStroke;
import org.eclipse.gef.MouseWheelHandler;
import org.eclipse.gef.MouseWheelZoomHandler;
import org.eclipse.gef.SnapToGeometry;
@@ -44,6 +46,7 @@
import org.eclipse.gef.ui.actions.ZoomInAction;
import org.eclipse.gef.ui.actions.ZoomOutAction;
import org.eclipse.gef.ui.parts.GraphicalEditor;
+import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
import org.eclipse.gef.ui.parts.ScrollingGraphicalViewer;
import org.eclipse.gef.ui.parts.TreeViewer;
import org.eclipse.gef.ui.rulers.RulerComposite;
@@ -65,6 +68,7 @@
import org.jboss.tools.hibernate.ui.diagram.editors.actions.CollapseAllAction;
import org.jboss.tools.hibernate.ui.diagram.editors.actions.ExpandAllAction;
import org.jboss.tools.hibernate.ui.diagram.editors.actions.ExportImageAction;
+import org.jboss.tools.hibernate.ui.diagram.editors.actions.LexicalSortingAction;
import org.jboss.tools.hibernate.ui.diagram.editors.actions.OpenMappingAction;
import org.jboss.tools.hibernate.ui.diagram.editors.actions.OpenSourceAction;
import org.jboss.tools.hibernate.ui.diagram.editors.actions.PrintDiagramViewerAction;
@@ -94,6 +98,7 @@
public class DiagramViewer extends GraphicalEditor {
private GEFRootEditPart gefRootEditPart = new GEFRootEditPart();
+ private KeyHandler sharedKeyHandler;
private RulerComposite rulerComp;
public DiagramViewer() {
@@ -129,6 +134,9 @@
final GraphicalViewer viewer = getGraphicalViewer();
viewer.setEditPartFactory(new OrmEditPartFactory());
//
+ viewer.setKeyHandler(new GraphicalViewerKeyHandler(viewer)
+ .setParent(getCommonKeyHandler()));
+ //
List<String> zoomLevels = new ArrayList<String>(3);
zoomLevels.add(ZoomManager.FIT_ALL);
zoomLevels.add(ZoomManager.FIT_WIDTH);
@@ -258,6 +266,9 @@
action = new ZoomOutAction(gefRootEditPart.getZoomManager());
registry.registerAction(action);
+ action = new LexicalSortingAction(this, null);
+ registry.registerAction(action);
+
Action[] act = new Action[4];
act[0] = (Action)registry.getAction(TogglePropertyMappingAction.ACTION_ID);
act[1] = (Action)registry.getAction(ToggleClassMappingAction.ACTION_ID);
@@ -344,6 +355,9 @@
RefreshAction refreshAction = (RefreshAction)getActionRegistry().getAction(
ActionFactory.REFRESH.getId());
refreshAction.setOutlinePage(outline);
+ LexicalSortingAction lexicalSortAction = (LexicalSortingAction)getActionRegistry().getAction(
+ LexicalSortingAction.ACTION_ID);
+ lexicalSortAction.setOutlinePage(outline);
return outline;
}
if (type == ZoomManager.class) {
@@ -565,4 +579,31 @@
IAction action = registry.getAction(TogglePropertyMappingAction.ACTION_ID);
action.setChecked(connectionsVisibilityPropertyMapping);
}
+
+ /**
+ * Returns the KeyHandler with common bindings for both the Outline and Graphical Views.
+ * For example, delete is a common action.
+ */
+ protected KeyHandler getCommonKeyHandler(){
+ if (sharedKeyHandler == null){
+ sharedKeyHandler = new KeyHandler();
+ sharedKeyHandler.put(
+ KeyStroke.getPressed('\r', Action.findKeyCode("RETURN"), 0), //$NON-NLS-1$
+ getActionRegistry().getAction(ToggleShapeExpandStateAction.ACTION_ID));
+ sharedKeyHandler.put(
+ KeyStroke.getPressed('\r', SWT.KEYPAD_CR, 0),
+ getActionRegistry().getAction(ToggleShapeExpandStateAction.ACTION_ID));
+ sharedKeyHandler.put(
+ KeyStroke.getPressed('+', SWT.KEYPAD_ADD, 0),
+ getActionRegistry().getAction(ToggleShapeVisibleStateAction.ACTION_ID));
+ sharedKeyHandler.put(
+ KeyStroke.getReleased(' ', Action.findKeyCode("SPACE"), 0), //$NON-NLS-1$
+ getActionRegistry().getAction(LexicalSortingAction.ACTION_ID));
+ }
+ return sharedKeyHandler;
+ }
+
+ public IAction getLexicalSortingAction() {
+ return getActionRegistry().getAction(LexicalSortingAction.ACTION_ID);
+ }
}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/actions/LexicalSortingAction.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/actions/LexicalSortingAction.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/actions/LexicalSortingAction.java 2009-10-27 15:17:23 UTC (rev 18306)
@@ -0,0 +1,97 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.ui.diagram.editors.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.swt.custom.BusyIndicator;
+import org.eclipse.swt.widgets.Display;
+import org.jboss.tools.hibernate.ui.diagram.DiagramViewerMessages;
+import org.jboss.tools.hibernate.ui.diagram.editors.DiagramContentOutlinePage;
+import org.jboss.tools.hibernate.ui.diagram.editors.DiagramViewer;
+import org.jboss.tools.hibernate.ui.diagram.editors.model.OrmDiagram;
+
+/**
+ * Lexical sort items.
+ *
+ * @author Vitali Yemialyanchyk
+ */
+public class LexicalSortingAction extends Action {
+
+ public static final String ACTION_ID = "toggleLexicalSortingId"; //$NON-NLS-1$
+
+ private DiagramViewer diagramViewer;
+ private DiagramContentOutlinePage outlinePage;
+
+ @SuppressWarnings("restriction")
+ public LexicalSortingAction(DiagramViewer diagramViewer, DiagramContentOutlinePage outlinePage) {
+ super(DiagramViewerMessages.DiagramViewer_OutlinePage_Sort_label, AS_CHECK_BOX);
+ setId(ACTION_ID);
+ this.diagramViewer = diagramViewer;
+ this.outlinePage = outlinePage;
+ setText(DiagramViewerMessages.DiagramViewer_OutlinePage_Sort_label);
+ org.eclipse.jdt.internal.ui.JavaPluginImages.setLocalImageDescriptors(this, "alphab_sort_co.gif"); //$NON-NLS-1$
+ setToolTipText(DiagramViewerMessages.DiagramViewer_OutlinePage_Sort_tooltip);
+ setDescription(DiagramViewerMessages.DiagramViewer_OutlinePage_Sort_description);
+
+ boolean checked = getOrmDiagram().isDeepIntoSort();
+ setChecked(checked);
+ if (checked) {
+ valueChanged(checked);
+ }
+ }
+
+ public boolean isChecked() {
+ return getOrmDiagram().isDeepIntoSort();
+ }
+
+ public void run() {
+ valueChanged(!getOrmDiagram().isDeepIntoSort());
+ setChecked(getOrmDiagram().isDeepIntoSort());
+ }
+
+ private void valueChanged(final boolean on) {
+ BusyIndicator.showWhile(getDisplay(), new Runnable() {
+ public void run() {
+ final OrmDiagram od = getOrmDiagram();
+ od.setDeepIntoSort(on);
+ od.refresh();
+ if (outlinePage != null) {
+ outlinePage.setContents(od);
+ }
+ }
+ });
+ }
+
+ protected Display getDisplay () {
+ if (diagramViewer != null && diagramViewer.getEditPartViewer() != null &&
+ diagramViewer.getEditPartViewer().getControl() != null) {
+ return diagramViewer.getEditPartViewer().getControl().getDisplay();
+ }
+ if (outlinePage != null && outlinePage.getOutline() != null) {
+ return outlinePage.getOutline().getDisplay();
+ }
+ return null;
+ }
+
+ public void setOutlinePage(DiagramContentOutlinePage outlinePage) {
+ this.outlinePage = outlinePage;
+ }
+
+ protected OrmDiagram getOrmDiagram() {
+ if (diagramViewer != null) {
+ return diagramViewer.getOrmDiagram();
+ }
+ if (outlinePage != null) {
+ return outlinePage.getOrmDiagram();
+ }
+ return null;
+ }
+}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/actions/ToggleShapeExpandStateAction.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/actions/ToggleShapeExpandStateAction.java 2009-10-27 15:11:41 UTC (rev 18305)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/actions/ToggleShapeExpandStateAction.java 2009-10-27 15:17:23 UTC (rev 18306)
@@ -41,7 +41,7 @@
super(editor);
setId(ACTION_ID);
setText(DiagramViewerMessages.ToggleShapeExpandStateAction_toggle_expand_state);
- setToolTipText(DiagramViewerMessages.ToggleShapeExpandStateAction_toggle_expand_state);
+ setToolTipText(DiagramViewerMessages.ToggleShapeExpandStateAction_toggle_expand_state_tooltip);
setImageDescriptor(img);
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/actions/ToggleShapeVisibleStateAction.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/actions/ToggleShapeVisibleStateAction.java 2009-10-27 15:11:41 UTC (rev 18305)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/actions/ToggleShapeVisibleStateAction.java 2009-10-27 15:17:23 UTC (rev 18306)
@@ -43,7 +43,7 @@
super(editor);
setId(ACTION_ID);
setText(DiagramViewerMessages.ToggleShapeVisibleStateAction_toggle_visible_state);
- setToolTipText(DiagramViewerMessages.ToggleShapeVisibleStateAction_toggle_visible_state);
+ setToolTipText(DiagramViewerMessages.ToggleShapeVisibleStateAction_toggle_visible_state_tooltip);
setImageDescriptor(img);
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/model/OrmDiagram.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/model/OrmDiagram.java 2009-10-27 15:11:41 UTC (rev 18305)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/model/OrmDiagram.java 2009-10-27 15:17:23 UTC (rev 18306)
@@ -69,6 +69,7 @@
public static final String HIBERNATE_MAPPING_LAYOUT_FOLDER_NAME = "hibernateMapping"; //$NON-NLS-1$
public static final String DIRTY = "dirty"; //$NON-NLS-1$
public static final String AUTOLAYOUT = "autolayout"; //$NON-NLS-1$
+ public static final String DEEPINTOSORT = "deepIntoSort"; //$NON-NLS-1$
// hibernate console configuration is the source of diagram elements
protected String consoleConfigName;
@@ -857,7 +858,10 @@
}
public void setDeepIntoSort(boolean deepIntoSort) {
- this.deepIntoSort = deepIntoSort;
+ if (this.deepIntoSort != deepIntoSort) {
+ this.deepIntoSort = deepIntoSort;
+ firePropertyChange(DEEPINTOSORT, null, null);
+ }
}
public boolean equals(Object obj) {
14 years, 7 months
JBoss Tools SVN: r18305 - trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-10-27 11:11:41 -0400 (Tue, 27 Oct 2009)
New Revision: 18305
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPPropertySourceAdapter.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5094
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPPropertySourceAdapter.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPPropertySourceAdapter.java 2009-10-27 13:46:50 UTC (rev 18304)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPPropertySourceAdapter.java 2009-10-27 15:11:41 UTC (rev 18305)
@@ -192,6 +192,7 @@
} else {
if (namesLow.contains(attrName.toLowerCase())) continue;
}
+ if(attrName.indexOf('*') >=0) continue;
descriptor = createJSPPropertyDescriptor(d, attrName, false);
if (descriptor != null) {
names.add(attrName);
@@ -241,9 +242,13 @@
}
}
else {
- IAttribute a = as.get(attrName);
+ String an = attrName;
+ if(an.startsWith("xmlns:")) an = "xmlns:*";
+ IAttribute a = as.get(an);
if(a != null) {
descriptor = createJSPPropertyDescriptor(a, attr.getName(), false);
+ } else {
+ descriptor = createDefaultPropertyDescriptor(attr.getName(), false);
}
if (descriptor != null)
names.add(attr.getName());
14 years, 7 months
JBoss Tools SVN: r18304 - trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-10-27 09:46:50 -0400 (Tue, 27 Oct 2009)
New Revision: 18304
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPPropertyDescriptor.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPPropertySourceAdapter.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5094
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPPropertyDescriptor.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPPropertyDescriptor.java 2009-10-27 10:25:31 UTC (rev 18303)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPPropertyDescriptor.java 2009-10-27 13:46:50 UTC (rev 18304)
@@ -12,8 +12,10 @@
import java.util.Properties;
import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.views.properties.PropertyDescriptor;
+import org.jboss.tools.jst.jsp.outline.JSPPropertySourceAdapter.IQueryFactory;
/**
* @author Kabanovich
@@ -30,7 +32,15 @@
}
public CellEditor createPropertyEditor(Composite parent) {
- CellEditor editor = new JSPDialogCellEditor(parent, context);
+ CellEditor editor = null;
+ IQueryFactory queryFactory = (IQueryFactory)context.get("queryFactory"); //$NON-NLS-1$
+ String attributeName = (String)context.get("attributeName"); //$NON-NLS-1$
+ if(queryFactory != null && queryFactory.isAvailable(attributeName)) {
+ editor = new JSPDialogCellEditor(parent, context);
+ } else {
+ editor = new TextCellEditor(parent);
+ }
+
if (getValidator() != null)
editor.setValidator(getValidator());
return editor;
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPPropertySourceAdapter.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPPropertySourceAdapter.java 2009-10-27 10:25:31 UTC (rev 18303)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPPropertySourceAdapter.java 2009-10-27 13:46:50 UTC (rev 18304)
@@ -69,6 +69,23 @@
protected final static String CATEGORY_ATTRIBUTES = XMLUIMessages.XMLPropertySourceAdapter_0;
private static final boolean SET_EXPERT_FILTER = false;
+ public static interface IQueryFactory {
+ public boolean isAvailable(String attributeName);
+ }
+
+ class QueryFactory implements IQueryFactory {
+ public boolean isAvailable(String attributeName) {
+ if(attributeName.equals("style") //$NON-NLS-1$
+ || attributeName.equals("class")) { //$NON-NLS-1$)
+ return true;
+ }
+ KbQuery query = getQuery(attributeName);
+ return valueHelper.isAvailable(pageContext, query);
+ }
+ }
+
+ QueryFactory queryFactory = new QueryFactory();
+
private AttributeSorter sorter = null;
private Node fNode = null;
private boolean fCaseSensitive = true;
@@ -103,7 +120,7 @@
offset = ((IDOMNode)fNode).getStartOffset() + ("" + fNode.getNodeName()).length(); //$NON-NLS-1$
}
processor = valueHelper.isFacetets() ? new FaceletPageContectAssistProcessor() : new JspContentAssistProcessor();
- processor.createContext(getTextViewer(), offset);
+ processor.createContext(getTextViewer(), offset);
pageContext = processor.getContext();
kbQuery = createKbQuery(processor);
kbQueryAttr = createKbQuery(processor);
@@ -146,21 +163,7 @@
return fDescriptors;
}
-// private String getQuery(Attr attr) {
-// return getQuery(attr.getName());
-// }
-
private KbQuery getQuery(String attributeName) {
-// String tagName = fNode.getNodeName();
-// String jsfTagName = null;
-// if(fNode instanceof Element) {
-// jsfTagName = valueHelper.getFaceletJsfTag((Element)fNode);
-// }
-// if(jsfTagName != null) tagName = jsfTagName;
-// if(jsfTagName == null && valueHelper.isFacetets() && tagName.indexOf(':') < 0 && !FaceletsHtmlContentAssistProcessor.JSFCAttributeName.equals(attributeName)) {
-// tagName = FaceletsHtmlContentAssistProcessor.faceletHtmlPrefixStart + tagName;
-// }
-// return "/" + tagName + "@" + attributeName;
kbQueryAttr.setValue(attributeName);
kbQueryAttr.setStringQuery(attributeName);
return kbQueryAttr;
@@ -177,7 +180,7 @@
List<IPropertyDescriptor> descriptorList = new ArrayList<IPropertyDescriptor>();
List<String> names = new ArrayList<String>();
List<String> namesLow = new ArrayList<String>();
- IPropertyDescriptor descriptor;
+ IPropertyDescriptor descriptor = null;
Map<String, IAttribute> as = getAttributes();
@@ -189,47 +192,14 @@
} else {
if (namesLow.contains(attrName.toLowerCase())) continue;
}
- if(valueHelper.isAvailable(pageContext, getQuery(attrName))
- || attrName.equals("style") //$NON-NLS-1$
- || attrName.equals("class")) { //$NON-NLS-1$
- descriptor = createJSPPropertyDescriptor(d, attrName, false);
- } else {
- descriptor = createTextPropertyDescriptor(attrName, CATEGORY_ATTRIBUTES, 0);
- }
+ descriptor = createJSPPropertyDescriptor(d, attrName, false);
if (descriptor != null) {
names.add(attrName);
namesLow.add(attrName.toLowerCase());
descriptorList.add(descriptor);
}
}
-/*
- TagDescriptor td = valueHelper.getTagDescriptor("/" + fNode.getNodeName());
- if(td != null) {
- List list = td.getAttributesDescriptors();
- for (int i = 0; i < list.size(); i++) {
- descriptor = null;
- AttributeDescriptor d = (AttributeDescriptor)list.get(i);
- String attrName = d.getName();
- if (fCaseSensitive) {
- if (names.contains(attrName)) continue;
- } else {
- if (namesLow.contains(attrName.toLowerCase())) continue;
- }
- if(valueHelper.isAvailable(getQuery(attrName))
- || attrName.equals("style")
- || attrName.equals("class")) {
- descriptor = createJSPPropertyDescriptor(d, attrName, false);
- } else {
- descriptor = createTextPropertyDescriptor(attrName, CATEGORY_ATTRIBUTES, 0);
- }
- if (descriptor != null) {
- names.add(attrName);
- namesLow.add(attrName.toLowerCase());
- descriptorList.add(descriptor);
- }
- }
- }
-*/
+
// add descriptors for existing attributes
NamedNodeMap attributes = fNode.getAttributes();
if (attributes != null) {
@@ -261,9 +231,8 @@
descriptor = createPropertyDescriptor(attrDecl);
if(descriptor instanceof TextPropertyDescriptor) {
IAttribute a = as.get(attrName);
- if(valueHelper.isAvailable(pageContext, getQuery(attr.getName())) && a != null) {
+ if(a != null) {
descriptor = createJSPPropertyDescriptor(a, attr.getName(), false);
-// descriptor = createJSPPropertyDescriptor(getQuery(attr), attr.getName(), false);
}
}
if (descriptor != null) {
@@ -273,11 +242,8 @@
}
else {
IAttribute a = as.get(attrName);
- if(valueHelper.isAvailable(pageContext, getQuery(attr.getName())) && a != null) {
+ if(a != null) {
descriptor = createJSPPropertyDescriptor(a, attr.getName(), false);
-// descriptor = createJSPPropertyDescriptor(getQuery(attr), attr.getName(), false);
- } else {
- descriptor = createDefaultPropertyDescriptor(attr.getName(), false);
}
if (descriptor != null)
names.add(attr.getName());
@@ -294,7 +260,6 @@
for (int i = 0; i < attrMap.getLength(); i++) {
CMAttributeDeclaration attrDecl = null;
attrDecl = (CMAttributeDeclaration) attrMap.item(i);
- KbQuery query = getQuery(attrDecl.getAttrName());
if (names.contains(attrDecl.getAttrName())) continue;
if(!fCaseSensitive && namesLow.contains(attrDecl.getAttrName().toLowerCase())) {
continue;
@@ -302,9 +267,8 @@
IPropertyDescriptor holdDescriptor = createPropertyDescriptor(attrDecl);
if(holdDescriptor instanceof TextPropertyDescriptor) {
IAttribute a = as.get(attrDecl.getAttrName());
- if(valueHelper.isAvailable(pageContext, query) && a != null) {
+ if(a != null) {
holdDescriptor = createJSPPropertyDescriptor(a, attrDecl.getAttrName(), false);
-// holdDescriptor = createJSPPropertyDescriptor(query, attrDecl.getAttrName(), false);
}
}
if (holdDescriptor != null) {
@@ -368,29 +332,7 @@
}
return null;
}
-/*
- private IPropertyDescriptor createJSPPropertyDescriptor(String query, String attributeName, boolean hideOnFilter) {
- AttributeDescriptor d = valueHelper.getAttributeDescriptor(query);
- return createJSPPropertyDescriptor(d, attributeName, hideOnFilter);
- }
- private IPropertyDescriptor createJSPPropertyDescriptor(AttributeDescriptor d, String attributeName, boolean hideOnFilter) {
- if(d != null && sorter != null) {
- if(d.isRequired()) sorter.setWeight(attributeName, 2);
- else if(d.isPreferable()) sorter.setWeight(attributeName, 1);
- else sorter.setWeight(attributeName, 0);
- }
- Properties context = new Properties();
- context.put("node", fNode);
- context.setProperty("nodeName", fNode.getNodeName());
- context.setProperty("attributeName", attributeName);
- context.put("valueHelper", valueHelper);
- JSPPropertyDescriptor descriptor = new JSPPropertyDescriptor(context, attributeName, attributeName);
- descriptor.setCategory(getCategory(null));
- descriptor.setDescription(attributeName);
- return descriptor;
- }
-*/
private IPropertyDescriptor createJSPPropertyDescriptor(IAttribute d, String attributeName, boolean hideOnFilter) {
if(d != null && sorter != null) {
if(d.isRequired()) sorter.setWeight(attributeName, 2);
@@ -404,6 +346,7 @@
context.put("valueHelper", valueHelper); //$NON-NLS-1$
context.put("pageContext", pageContext); //$NON-NLS-1$
context.put("processor", processor); //$NON-NLS-1$
+ context.put("queryFactory", queryFactory); //$NON-NLS-1$
JSPPropertyDescriptor descriptor = new JSPPropertyDescriptor(context, attributeName, attributeName);
descriptor.setCategory(getCategory(null));
descriptor.setDescription(attributeName);
@@ -472,7 +415,6 @@
for (int i = 0; i < attrMap.getLength(); i++) {
attrDecl = (CMAttributeDeclaration) attrMap.item(i);
String attrName = attrDecl.getAttrName();
- KbQuery query = getQuery(attrName);
if (!declaredNames.contains(attrName)) {
declaredNames.add(attrName);
}
@@ -491,9 +433,8 @@
fDescriptors[j] = createPropertyDescriptor(attrDecl);
if(fDescriptors[j] instanceof TextPropertyDescriptor) {
IAttribute a = as.get(attrName);
- if(valueHelper.isAvailable(pageContext, query) && a != null) {
+ if(a != null) {
fDescriptors[j] = createJSPPropertyDescriptor(a, attrDecl.getAttrName(), false);
-// fDescriptors[j] = createJSPPropertyDescriptor(query, attrDecl.getAttrName(), false);
}
}
}
@@ -535,15 +476,13 @@
for (int i = 0; i < attrMap.getLength(); i++) {
attrDecl = (CMAttributeDeclaration) attrMap.item(i);
String attrName = attrDecl.getAttrName();
- KbQuery query = getQuery(attrName);
if (fCaseSensitive) {
if (!descriptorNames.contains(attrName)) {
IPropertyDescriptor descriptor = createPropertyDescriptor(attrDecl);
if(descriptor instanceof TextPropertyDescriptor) {
IAttribute a = as.get(attrName);
- if(valueHelper.isAvailable(pageContext, query) && a != null) {
+ if(a != null) {
descriptor = createJSPPropertyDescriptor(a, attrDecl.getAttrName(), false);
-// descriptor = createJSPPropertyDescriptor(query, attrDecl.getAttrName(), false);
}
}
if (descriptor != null) {
@@ -561,9 +500,8 @@
IPropertyDescriptor descriptor = createPropertyDescriptor(attrDecl);
if(descriptor instanceof TextPropertyDescriptor) {
IAttribute a = as.get(attrName);
- if(valueHelper.isAvailable(pageContext, query) && a != null) {
+ if(a != null) {
descriptor = createJSPPropertyDescriptor(a, attrDecl.getAttrName(), false);
-// descriptor = createJSPPropertyDescriptor(query, attrDecl.getAttrName(), false);
}
}
if (descriptor != null) {
@@ -597,48 +535,9 @@
descriptorNames.add(attrName);
descriptorNamesLow.add(attrName.toLowerCase());
IPropertyDescriptor descriptor = null;
- if(valueHelper.isAvailable(pageContext, getQuery(attrName))) {
- descriptor = createJSPPropertyDescriptor(d, attrName, false);
- } else {
- descriptor = createTextPropertyDescriptor(attrName, CATEGORY_ATTRIBUTES, 0);
- }
+ descriptor = createJSPPropertyDescriptor(d, attrName, false);
descriptors.add(descriptor);
}
-/*
- TagDescriptor td = valueHelper.getTagDescriptor("/" + fNode.getNodeName());
- if(td != null) {
- for (int i = 0; i < fDescriptors.length; i++) {
- if (fDescriptors[i] != null) {
- String descriptorName = fDescriptors[i].getId().toString();
- if (td.getAttributeDescriptor(descriptorName) != null && !descriptorNames.contains(descriptorName)) {
- descriptorNames.add(descriptorName);
- descriptorNamesLow.add(descriptorName.toLowerCase());
- descriptors.add(fDescriptors[i]);
- }
- }
- }
- List list = td.getAttributesDescriptors();
- for (int i = 0; i < list.size(); i++) {
- AttributeDescriptor d = (AttributeDescriptor)list.get(i);
- String attrName = d.getName();
- if (fCaseSensitive) {
- if (descriptorNames.contains(attrName)) continue;
- } else {
- boolean exists = descriptorNamesLow.contains(attrName.toLowerCase());
- if (exists) continue;
- }
- descriptorNames.add(attrName);
- descriptorNamesLow.add(attrName.toLowerCase());
- IPropertyDescriptor descriptor = null;
- if(valueHelper.isAvailable(getQuery(attrName))) {
- descriptor = createJSPPropertyDescriptor(d, attrName, false);
- } else {
- descriptor = createTextPropertyDescriptor(attrName, CATEGORY_ATTRIBUTES, 0);
- }
- descriptors.add(descriptor);
- }
- }
-*/
// Add descriptors for existing attributes that don't already have one
if (attributes != null) {
for (int i = 0; i < attributes.getLength(); i++) {
14 years, 7 months
JBoss Tools SVN: r18303 - trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards.
by jbosstools-commits@lists.jboss.org
Author: dgeraskov
Date: 2009-10-27 06:25:31 -0400 (Tue, 27 Oct 2009)
New Revision: 18303
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/ConfigurationActor.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5052
removed warning.
Modified: trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/ConfigurationActor.java
===================================================================
--- trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/ConfigurationActor.java 2009-10-27 10:14:50 UTC (rev 18302)
+++ trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/ConfigurationActor.java 2009-10-27 10:25:31 UTC (rev 18303)
@@ -157,6 +157,7 @@
* @param rootClasses
* @return
*/
+ @SuppressWarnings("unchecked")
private Collection<PersistentClass> createHierarhyStructure(IJavaProject project, Map<String, RootClass> rootClasses){
Map<String, PersistentClass> pcCopy = new HashMap<String, PersistentClass>();
for (Map.Entry<String, RootClass> entry : rootClasses.entrySet()) {
14 years, 7 months
JBoss Tools SVN: r18302 - in trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui: wizards and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: dgeraskov
Date: 2009-10-27 06:14:50 -0400 (Tue, 27 Oct 2009)
New Revision: 18302
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/jpa/common/EntityInfo.java
trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/ConfigurationActor.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5052
Set default id to "id" column if no id candidate found.
Updated hierarchy search.
Modified: trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/jpa/common/EntityInfo.java
===================================================================
--- trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/jpa/common/EntityInfo.java 2009-10-27 05:58:58 UTC (rev 18301)
+++ trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/jpa/common/EntityInfo.java 2009-10-27 10:14:50 UTC (rev 18302)
@@ -263,8 +263,7 @@
while (it.hasNext()) {
String name = it.next();
String check = name.toLowerCase();
- if ("id".equalsIgnoreCase(check) //$NON-NLS-1$
- || "identity".equalsIgnoreCase(check)) { //$NON-NLS-1$
+ if ("id".equalsIgnoreCase(check)) { //$NON-NLS-1$
primaryIdName = name;
break;
}
Modified: trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/ConfigurationActor.java
===================================================================
--- trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/ConfigurationActor.java 2009-10-27 05:58:58 UTC (rev 18301)
+++ trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/ConfigurationActor.java 2009-10-27 10:14:50 UTC (rev 18302)
@@ -51,6 +51,7 @@
import org.hibernate.mapping.Column;
import org.hibernate.mapping.IndexedCollection;
import org.hibernate.mapping.JoinedSubclass;
+import org.hibernate.mapping.KeyValue;
import org.hibernate.mapping.ManyToOne;
import org.hibernate.mapping.OneToMany;
import org.hibernate.mapping.OneToOne;
@@ -180,6 +181,14 @@
subclass.setEntityName(pastClass.getEntityName());
subclass.setDiscriminatorValue(StringHelper.unqualify(pastClass.getClassName()));
subclass.setAbstract(pastClass.isAbstract());
+ if (subclass instanceof JoinedSubclass) {
+ ((JoinedSubclass) subclass).setTable(new Table(pastClass.getClassName().toUpperCase()));
+ ((JoinedSubclass) subclass).setKey((KeyValue) pc.getIdentifierProperty().getValue());
+ }
+ Iterator it = pastClass.getPropertyIterator();
+ while (it.hasNext()) {
+ subclass.addProperty((Property) it.next());
+ }
entry.setValue(subclass);
}
} catch (JavaModelException e) {
@@ -192,9 +201,13 @@
private PersistentClass getMappedSuperclass(IJavaProject project, Map<String, PersistentClass> persistentClasses, RootClass rootClass) throws JavaModelException{
IType type = Utils.findType(project, rootClass.getClassName());
//TODO not direct superclass?
- if (type.getSuperclassName() != null
- && persistentClasses.get(type.getSuperclassName()) != null){
- return persistentClasses.get(type.getSuperclassName());
+ if (type.getSuperclassName() != null){
+ String[][] supertypes = type.resolveType(type.getSuperclassName());
+ if (supertypes != null){
+ String supertype = supertypes[0][0].length() > 0 ? supertypes[0][0] + '.' + supertypes[0][1]
+ : supertypes[0][1];
+ return persistentClasses.get(supertype);
+ }
}
return null;
}
@@ -280,14 +293,19 @@
for (int i = 0; i < fields.length; i++) {
Iterator<VariableDeclarationFragment> itFieldsNames = fields[i].fragments().iterator();
while(itFieldsNames.hasNext()) {
- VariableDeclarationFragment field = itFieldsNames.next();
- if ("id".equals(field.getName().getIdentifier()) //$NON-NLS-1$
- || "identity".equals(field.getName().getIdentifier())){ //$NON-NLS-1$
- entityInfo.setPrimaryIdName(field.getName().getIdentifier());
+ VariableDeclarationFragment variable = itFieldsNames.next();
+ Type type = ((FieldDeclaration)variable.getParent()).getType();
+ if ("id".equals(variable.getName().getIdentifier()) //$NON-NLS-1$
+ && !type.isArrayType()
+ && !Utils.isImplementInterface(new ITypeBinding[]{type.resolveBinding()}, Collection.class.getName())){
+ entityInfo.setPrimaryIdName(variable.getName().getIdentifier());
return true;
- } else if ("".equals(firstFieldName)){ //$NON-NLS-1$
+ } else if ("".equals(firstFieldName)//$NON-NLS-1$
+ && !type.isArrayType()
+ && !Utils.isImplementInterface(
+ new ITypeBinding[]{type.resolveBinding()}, Collection.class.getName())){
//set first field as id
- firstFieldName = field.getName().getIdentifier();
+ firstFieldName = variable.getName().getIdentifier();
}
}
}
@@ -296,6 +314,20 @@
return true;
}
+ @Override
+ public void endVisit(TypeDeclaration node) {
+ if (rootClass.getIdentifierProperty() == null){
+ //root class should always has id
+ SimpleValue sValue = new SimpleValue();
+ sValue.addColumn(new Column("id".toUpperCase()));//$NON-NLS-1$
+ sValue.setTypeName(Long.class.getName());
+ Property prop = new Property();
+ prop.setName("id"); //$NON-NLS-1$
+ prop.setValue(sValue);
+ rootClass.setIdentifierProperty(prop);
+ }
+ }
+
@SuppressWarnings("unchecked")
public boolean visit(FieldDeclaration node) {
Type type = node.getType();
@@ -519,7 +551,7 @@
} else if (value instanceof org.hibernate.mapping.Map){
SimpleValue map_key = new SimpleValue();
//FIXME: how to detect key-type here
- map_key.setTypeName("String"); //$NON-NLS-1$
+ map_key.setTypeName("string"); //$NON-NLS-1$
((IndexedCollection)value).setIndex(map_key);
}
prop.setCascade("none");//$NON-NLS-1$
14 years, 7 months
JBoss Tools SVN: r18301 - in trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks: configuration/editors/edi and 5 other directories.
by jbosstools-commits@lists.jboss.org
Author: DartPeng
Date: 2009-10-27 01:58:58 -0400 (Tue, 27 Oct 2009)
New Revision: 18301
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/ProcessAnalyzer.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectorCreationDialog.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edi/EDIDataParser.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edireader12/EDIReader12UICreator.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/gef/tree/editparts/TreeNodeConnectionEditPart.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorMenuContextProvider.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPart.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksProcessGraphicalEditor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/TaskTypeManager.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/wizards/JavaBeanCreationWizardPage.java
Log:
JBIDE-5088
1. Auto add Input Task
2. Analyze the Smooks config file and find out which task types it related and add the missed task type
3. Fix a nullpointexception problem.
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectorCreationDialog.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectorCreationDialog.java 2009-10-27 00:04:29 UTC (rev 18300)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectorCreationDialog.java 2009-10-27 05:58:58 UTC (rev 18301)
@@ -11,6 +11,7 @@
package org.jboss.tools.smooks.configuration.editors;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -53,6 +54,7 @@
import org.jboss.tools.smooks.configuration.editors.xml.TagList;
import org.jboss.tools.smooks.configuration.editors.xml.XMLObjectAnalyzer;
import org.jboss.tools.smooks.configuration.editors.xml.XSDObjectAnalyzer;
+import org.jboss.tools.smooks.editor.ISmooksModelProvider;
import org.jboss.tools.smooks.model.graphics.ext.InputType;
import org.jboss.tools.smooks.model.graphics.ext.ParamType;
import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtType;
@@ -440,7 +442,19 @@
}
protected List<Object> generateInputData() {
- Object obj = ((SmooksMultiFormEditor) editorPart).getSmooksModel();
+ Object obj = null;
+ if(editorPart instanceof ISmooksModelProvider){
+ obj = ((ISmooksModelProvider)editorPart).getSmooksModel();
+ }else{
+ ISmooksModelProvider provider = (ISmooksModelProvider) editorPart.getAdapter(ISmooksModelProvider.class);
+ if(provider != null){
+ obj = provider.getSmooksModel();
+ }
+ }
+ if(obj == null){
+ List<Object> ll = Collections.emptyList();
+ return ll;
+ }
SmooksResourceListType resourceList = null;
if (obj instanceof DocumentRoot) {
resourceList = ((DocumentRoot) obj).getSmooksResourceList();
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edi/EDIDataParser.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edi/EDIDataParser.java 2009-10-27 00:04:29 UTC (rev 18300)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edi/EDIDataParser.java 2009-10-27 05:58:58 UTC (rev 18301)
@@ -221,12 +221,14 @@
/* this codes are for the plug-in unit tests */
Bundle bundle = Platform.getBundle("org.jboss.tools.smooks.core.test");
- URL ur = bundle.getEntry("/src" + mappingModel);
- if (ur != null) {
- try {
- modelPath = ur.toURI().toString();
- } catch (URISyntaxException e) {
- e.printStackTrace();
+ if (bundle != null) {
+ URL ur = bundle.getEntry("/src" + mappingModel);
+ if (ur != null) {
+ try {
+ modelPath = ur.toURI().toString();
+ } catch (URISyntaxException e) {
+ e.printStackTrace();
+ }
}
}
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edireader12/EDIReader12UICreator.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edireader12/EDIReader12UICreator.java 2009-10-27 00:04:29 UTC (rev 18300)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edireader12/EDIReader12UICreator.java 2009-10-27 05:58:58 UTC (rev 18301)
@@ -18,7 +18,6 @@
import org.jboss.tools.smooks.configuration.editors.AttributeFieldEditPart;
import org.jboss.tools.smooks.configuration.editors.PropertyUICreator;
import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
-import org.jboss.tools.smooks.edimap.editor.EDIMapFormEditor;
import org.jboss.tools.smooks.editor.ISmooksModelProvider;
import org.jboss.tools.smooks.model.edi12.Edi12Package;
@@ -46,7 +45,7 @@
}
if (feature == Edi12Package.eINSTANCE.getEDI12Reader_MappingModel()) {
return SmooksUIUtils.createFileSelectionTextFieldEditor(null, parent, null, toolkit, propertyDescriptor,
- model, SmooksUIUtils.VALUE_TYPE_VALUE, EDIMapFormEditor.EDITOR_ID, null);
+ model, SmooksUIUtils.VALUE_TYPE_VALUE, null, null);
}
return super.createPropertyUI(toolkit, parent, propertyDescriptor, model, feature, formEditor, part);
}
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-10-27 00:04:29 UTC (rev 18300)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2009-10-27 05:58:58 UTC (rev 18301)
@@ -1004,6 +1004,7 @@
"Browse", new IFieldDialog() {
public Object open(Shell shell) {
SelectorCreationDialog dialog = new SelectorCreationDialog(shell, extType, currentEditorPart);
+ try{
if (dialog.open() == Dialog.OK) {
Object currentSelection = dialog.getCurrentSelection();
SelectorAttributes sa = dialog.getSelectorAttributes();
@@ -1012,6 +1013,9 @@
return s;
}
}
+ }catch(Exception e){
+ e.printStackTrace();
+ }
return null;
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeConnectionEditPart.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeConnectionEditPart.java 2009-10-27 00:04:29 UTC (rev 18300)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeConnectionEditPart.java 2009-10-27 05:58:58 UTC (rev 18301)
@@ -3,6 +3,7 @@
*/
package org.jboss.tools.smooks.gef.tree.editparts;
+import org.eclipse.draw2d.BendpointConnectionRouter;
import org.eclipse.draw2d.ColorConstants;
import org.eclipse.draw2d.Connection;
import org.eclipse.draw2d.ConnectionAnchor;
@@ -36,8 +37,8 @@
public void changeLineAlpha(int alpha) {
this.alpha = alpha;
}
-
- protected IFigure createSourceFlagFigure(){
+
+ protected IFigure createSourceFlagFigure() {
Figure sourceFlagFigure = new Figure() {
/*
@@ -87,8 +88,8 @@
};
return sourceFlagFigure;
}
-
- protected IFigure createTargetFlagFigure(){
+
+ protected IFigure createTargetFlagFigure() {
Figure targetFlagFigure = new Figure() {
/*
* (non-Javadoc)
@@ -142,8 +143,8 @@
};
return targetFlagFigure;
}
-
- protected Connection createConnectionFigure(){
+
+ protected Connection createConnectionFigure() {
PolylineConnection connection = new PolylineConnection() {
@Override
@@ -198,7 +199,6 @@
public IFigure createFigure() {
Connection connection = createConnectionFigure();
- connection.setConnectionRouter(new ManhattanConnectionRouter());
IFigure targetFlagFigure = createTargetFlagFigure();
IFigure sourceFlagFigure = createSourceFlagFigure();
targetFlagFigure.setSize(7, 7);
@@ -207,6 +207,7 @@
connection.add(targetFlagFigure, targetLocator);
ConnectionLocator sourceLocator = new ConnectionLocator(connection, ConnectionLocator.SOURCE);
connection.add(sourceFlagFigure, sourceLocator);
+ connection.setConnectionRouter(new BendpointConnectionRouter());
return connection;
}
}
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/ProcessAnalyzer.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/ProcessAnalyzer.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/ProcessAnalyzer.java 2009-10-27 05:58:58 UTC (rev 18301)
@@ -0,0 +1,206 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.graphical.editors;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.jboss.tools.smooks.model.freemarker.Freemarker;
+import org.jboss.tools.smooks.model.graphics.ext.GraphFactory;
+import org.jboss.tools.smooks.model.graphics.ext.ProcessType;
+import org.jboss.tools.smooks.model.graphics.ext.ProcessesType;
+import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtType;
+import org.jboss.tools.smooks.model.graphics.ext.TaskType;
+import org.jboss.tools.smooks.model.javabean.BindingsType;
+import org.jboss.tools.smooks.model.javabean12.BeanType;
+import org.jboss.tools.smooks.model.smooks.AbstractResourceConfig;
+import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
+import org.jboss.tools.smooks.model.xsl.Xsl;
+
+/**
+ * @author Dart
+ *
+ */
+public class ProcessAnalyzer {
+
+ public List<String> analyzeTaskID(SmooksResourceListType resourceList) {
+ List<String> taskIDs = new ArrayList<String>();
+ List<AbstractResourceConfig> resourceConfigList = resourceList.getAbstractResourceConfig();
+ for (Iterator<?> iterator = resourceConfigList.iterator(); iterator.hasNext();) {
+ AbstractResourceConfig abstractResourceConfig = (AbstractResourceConfig) iterator.next();
+
+ // for java-mapping
+ if (abstractResourceConfig instanceof BeanType || abstractResourceConfig instanceof BindingsType) {
+ if (taskIDs.contains(TaskTypeManager.TASK_ID_JAVA_MAPPING)) {
+ continue;
+ }
+ taskIDs.add(TaskTypeManager.TASK_ID_JAVA_MAPPING);
+ }
+ // for freemarker template
+ if (abstractResourceConfig instanceof Freemarker) {
+ if (taskIDs.contains(TaskTypeManager.TASK_ID_FREEMARKER_TEMPLATE)) {
+ continue;
+ }
+ taskIDs.add(TaskTypeManager.TASK_ID_FREEMARKER_TEMPLATE);
+ }
+ // for xsl template
+ if (abstractResourceConfig instanceof Xsl) {
+ // if (taskIDs.contains(TaskTypeManager.TASK_ID_JAVA_MAPPING)) {
+ // continue;
+ // }
+ // taskIDs.add(TaskTypeManager.TASK_ID_JAVA_MAPPING);
+ }
+ }
+ return taskIDs;
+ }
+
+ private SmooksGraphicsExtType getSmooksGraphicsType(SmooksResourceListType resouceList) {
+ List<AbstractResourceConfig> resourceConfigList = resouceList.getAbstractResourceConfig();
+ for (Iterator<?> iterator = resourceConfigList.iterator(); iterator.hasNext();) {
+ AbstractResourceConfig abstractResourceConfig = (AbstractResourceConfig) iterator.next();
+ if (abstractResourceConfig instanceof SmooksGraphicsExtType) {
+ return (SmooksGraphicsExtType) abstractResourceConfig;
+ }
+ }
+ return null;
+ }
+
+ private void fillAllTask(TaskType task, List<TaskType> taskList) {
+ taskList.add(task);
+ List<TaskType> children = task.getTask();
+ for (Iterator<?> iterator = children.iterator(); iterator.hasNext();) {
+ TaskType taskType = (TaskType) iterator.next();
+ fillAllTask(taskType, taskList);
+ }
+ }
+
+ /**
+ *
+ * @param resourceList
+ * @return If the smooks-resource-list was changed in this method return
+ * <code>true</code>
+ */
+ public boolean analyzeSmooksModels(SmooksResourceListType resourceList) {
+ boolean modelWasChanged = false;
+ SmooksGraphicsExtType ext = getSmooksGraphicsType(resourceList);
+ if (ext == null)
+ throw new RuntimeException("Can't find the smooks-graph-ext element");
+
+ ProcessesType processes = ext.getProcesses();
+ if (processes == null) {
+ processes = GraphFactory.eINSTANCE.createProcessesType();
+ ext.setProcesses(processes);
+ modelWasChanged = true;
+ }
+ ProcessType process = null;
+ if (processes != null) {
+ process = processes.getProcess();
+ }
+
+ if (process == null) {
+ process = GraphFactory.eINSTANCE.createProcessType();
+ processes.setProcess(process);
+ modelWasChanged = true;
+ }
+
+ List<TaskType> currentList = process.getTask();
+ List<TaskType> taskList = new ArrayList<TaskType>();
+ for (Iterator<?> iterator = currentList.iterator(); iterator.hasNext();) {
+ TaskType taskType = (TaskType) iterator.next();
+ this.fillAllTask(taskType, taskList);
+ }
+
+ if (taskList.isEmpty()) {
+ TaskType inputTask = GraphFactory.eINSTANCE.createTaskType();
+ inputTask.setId(TaskTypeManager.TASK_ID_INPUT);
+ inputTask.setName(TaskTypeManager.getTaskLabel(TaskTypeManager.TASK_ID_INPUT));
+ process.getTask().add(inputTask);
+ taskList.add(inputTask);
+ modelWasChanged = true;
+ }
+
+ List<String> taskIDs = analyzeTaskID(resourceList);
+
+ for (Iterator<String> iterator = taskIDs.iterator(); iterator.hasNext();) {
+ String taskId = (String) iterator.next();
+ if (!taskIDIsExist(taskId, taskList)) {
+ TaskType task = GraphFactory.eINSTANCE.createTaskType();
+ task.setId(taskId);
+ task.setName(TaskTypeManager.getTaskLabel(taskId));
+ taskList.add(task);
+ }
+ }
+ modelWasChanged = linkTask(taskList);
+ return modelWasChanged;
+ }
+
+ private TaskType getTaskType(String id, List<TaskType> taskList) {
+ for (Iterator<?> iterator = taskList.iterator(); iterator.hasNext();) {
+ TaskType taskType = (TaskType) iterator.next();
+ if (id.equals(taskType.getId())) {
+ return taskType;
+ }
+ }
+ return null;
+ }
+
+ private boolean linkTask(List<TaskType> taskList) {
+ TaskType first = getTaskType(TaskTypeManager.TASK_ID_INPUT, taskList);
+ if (first != null) {
+ return linkTask(first, taskList);
+ }
+ return false;
+ }
+
+ private boolean linkTask(TaskType taskType, List<TaskType> taskList) {
+ String id = taskType.getId();
+ String[] childrenIds = TaskTypeManager.getChildTaskIDs(id);
+ boolean changed = false;
+ if (childrenIds != null) {
+ for (int i = 0; i < childrenIds.length; i++) {
+ String childId = childrenIds[i];
+ TaskType childTask = getTaskType(childId, taskList);
+ if (childTask != null) {
+ if (!taskType.getTask().contains(childTask)
+ && ((childTask.eContainer() == null) || (childTask.eContainer() instanceof ProcessType))) {
+ taskType.getTask().add(childTask);
+ changed = true;
+ }
+ taskList.remove(childTask);
+ boolean cchange = linkTask(childTask, taskList);
+ changed = (changed || cchange);
+ }
+ }
+ }
+ return changed;
+ }
+
+ private boolean taskIDIsExist(String taskId, List<TaskType> taskList) {
+ for (Iterator<?> iterator = taskList.iterator(); iterator.hasNext();) {
+ TaskType task = (TaskType) iterator.next();
+ if (task.getId().equals(taskId)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ // private boolean taskIsExist(TaskType task , List<String> taskIDs){
+ // for (Iterator<?> iterator = taskIDs.iterator(); iterator.hasNext();) {
+ // String id = (String) iterator.next();
+ // if(task.getId().equals(id)){
+ // return true;
+ // }
+ // }
+ // return false;
+ // }
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/ProcessAnalyzer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorMenuContextProvider.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorMenuContextProvider.java 2009-10-27 00:04:29 UTC (rev 18300)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorMenuContextProvider.java 2009-10-27 05:58:58 UTC (rev 18301)
@@ -14,6 +14,8 @@
import org.eclipse.gef.EditPartViewer;
import org.eclipse.gef.ui.actions.ActionRegistry;
+import org.eclipse.gef.ui.actions.GEFActionConstants;
+import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.MenuManager;
@@ -58,6 +60,21 @@
}
}
}
+
+ Action layout = new Action(){
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.action.Action#run()
+ */
+ @Override
+ public void run() {
+ }
+
+ };
+
+ layout.setText("Auto Layout");
+
+// menu.appendToGroup(GEFActionConstants.ADD_EXT, layout);
}
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPart.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPart.java 2009-10-27 00:04:29 UTC (rev 18300)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPart.java 2009-10-27 05:58:58 UTC (rev 18301)
@@ -13,11 +13,17 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.EventObject;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.draw2d.graph.DirectedGraph;
+import org.eclipse.draw2d.graph.DirectedGraphLayout;
+import org.eclipse.draw2d.graph.Edge;
+import org.eclipse.draw2d.graph.Node;
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.common.command.CommandWrapper;
import org.eclipse.emf.ecore.EObject;
@@ -30,6 +36,7 @@
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.gef.DefaultEditDomain;
import org.eclipse.gef.EditPart;
+import org.eclipse.gef.GraphicalEditPart;
import org.eclipse.gef.commands.CommandStack;
import org.eclipse.gef.commands.CommandStackEvent;
import org.eclipse.gef.commands.CommandStackEventListener;
@@ -104,6 +111,10 @@
public static final int UNDO_COMMAND = 2;
+ private static final int SOURCE_CONNECT_TYPE = 1;
+
+ private static final int TARGET_CONNECT_TYPE = 0;
+
private DefaultEditDomain editDomain = null;
protected ISmooksModelProvider smooksModelProvider = null;
@@ -876,8 +887,8 @@
}
protected void applyGraphicalInformation(AbstractSmooksGraphicalModel graphicalModel) {
- GraphType graph = getSmooksGraphicsExtType().getGraph();
- applyGraphicalInformation(graph, graphicalModel);
+ GraphType graph1 = getSmooksGraphicsExtType().getGraph();
+ applyGraphicalInformation(graph1, graphicalModel);
}
protected void applyGraphicalInformation(GraphType graph, AbstractSmooksGraphicalModel graphicalModel) {
@@ -896,6 +907,55 @@
}
protected void initModelGraphicsInformation(SmooksGraphicsExtType ext) {
+ if (false) {
+ DirectedGraph graph = new DirectedGraph();
+ EditPart rootEditorPart = this.getGraphicalViewer().getContents();
+ List<?> children = rootEditorPart.getChildren();
+ HashMap<Object, Node> nodeMap = new HashMap<Object, Node>();
+ // HashMap<Object, Edge> edgeMap = new HashMap<Object, Edge>();
+ for (Iterator<?> iterator = children.iterator(); iterator.hasNext();) {
+ Object object = (Object) iterator.next();
+ if (object instanceof GraphicalEditPart) {
+ IFigure figure = ((GraphicalEditPart) object).getFigure();
+ Node node = new Node();
+ nodeMap.put(object, node);
+ node.height = figure.getPreferredSize().height;
+ node.width = figure.getPreferredSize().width;
+ graph.nodes.add(node);
+ }
+ }
+
+ for (Iterator<?> iterator = children.iterator(); iterator.hasNext();) {
+ GraphicalEditPart object = (GraphicalEditPart) iterator.next();
+ for (Iterator<?> iterator2 = children.iterator(); iterator2.hasNext();) {
+ GraphicalEditPart testEditPart = (GraphicalEditPart) iterator2.next();
+ Node node = nodeMap.get(object);
+ Node testNode = nodeMap.get(testEditPart);
+ if (node != null && testNode != null) {
+ if (hasConnectionAssociation(object, testEditPart, SOURCE_CONNECT_TYPE)) {
+ Edge edge = new Edge(node, testNode);
+ graph.edges.add(edge);
+ }
+ if (hasConnectionAssociation(object, testEditPart, TARGET_CONNECT_TYPE)) {
+ Edge edge = new Edge(testNode, node);
+ graph.edges.add(edge);
+ }
+ }
+ }
+ }
+
+ DirectedGraphLayout layout = new DirectedGraphLayout();
+ layout.visit(graph);
+ Iterator<?> it = nodeMap.keySet().iterator();
+ while (it.hasNext()) {
+ GraphicalEditPart part = (GraphicalEditPart) it.next();
+ Node node = (Node) nodeMap.get(part);
+ IMoveableModel graphicalModel = (IMoveableModel) part.getModel();
+ ((IMoveableModel) graphicalModel).setLocation(new Point(node.x, node.y));
+ }
+ return;
+
+ }
GraphType graph = ext.getGraph();
if (graph == null)
return;
@@ -906,6 +966,58 @@
}
}
+ private boolean hasAssociation(Object model, GraphicalEditPart editPart) {
+ if (model == editPart.getModel()) {
+ return true;
+ }
+ AbstractSmooksGraphicalModel grphicalModel = (AbstractSmooksGraphicalModel) editPart.getModel();
+ if (!grphicalModel.getChildrenWithoutDynamic().isEmpty()) {
+ List<?> children = editPart.getChildren();
+ for (Iterator<?> iterator2 = children.iterator(); iterator2.hasNext();) {
+ GraphicalEditPart gpart = (GraphicalEditPart) iterator2.next();
+ if (hasAssociation(model, gpart)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean hasConnectionAssociation(GraphicalEditPart editPart, GraphicalEditPart testEditPart, int connectType) {
+ List<?> sourceConnections = null;
+ if (connectType == SOURCE_CONNECT_TYPE) {
+ sourceConnections = editPart.getSourceConnections();
+ }
+ if (connectType == TARGET_CONNECT_TYPE) {
+ sourceConnections = editPart.getTargetConnections();
+ }
+ for (Iterator<?> iterator = sourceConnections.iterator(); iterator.hasNext();) {
+ GraphicalEditPart object = (GraphicalEditPart) iterator.next();
+ TreeNodeConnection connection = (TreeNodeConnection) object.getModel();
+ Object testModel = null;
+ if (connectType == SOURCE_CONNECT_TYPE) {
+ testModel = connection.getTargetNode();
+ }
+ if (connectType == TARGET_CONNECT_TYPE) {
+ testModel = connection.getSourceNode();
+ }
+ if (hasAssociation(testModel, testEditPart)) {
+ return true;
+ }
+ }
+ AbstractSmooksGraphicalModel sourceGraphModel = (AbstractSmooksGraphicalModel) editPart.getModel();
+ if (!sourceGraphModel.getChildrenWithoutDynamic().isEmpty()) {
+ List<?> children = editPart.getChildren();
+ for (Iterator<?> iterator = children.iterator(); iterator.hasNext();) {
+ GraphicalEditPart childEditPart = (GraphicalEditPart) iterator.next();
+ if (hasConnectionAssociation(childEditPart, testEditPart, connectType)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
@Override
public Object getAdapter(Class type) {
if (type == ISmooksModelProvider.class) {
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksProcessGraphicalEditor.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksProcessGraphicalEditor.java 2009-10-27 00:04:29 UTC (rev 18300)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksProcessGraphicalEditor.java 2009-10-27 05:58:58 UTC (rev 18301)
@@ -10,8 +10,10 @@
******************************************************************************/
package org.jboss.tools.smooks.graphical.editors;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.EventObject;
import java.util.HashMap;
import java.util.Iterator;
@@ -24,6 +26,8 @@
import org.eclipse.emf.common.command.CommandWrapper;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.gef.dnd.TemplateTransfer;
import org.eclipse.jface.action.IAction;
@@ -94,6 +98,7 @@
import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtType;
import org.jboss.tools.smooks.model.graphics.ext.TaskType;
import org.jboss.tools.smooks.model.smooks.DocumentRoot;
+import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
/**
* @author Dart
@@ -183,23 +188,26 @@
protected void initProcessGraphicalViewer() {
SmooksGraphicsExtType ext = this.smooksModelProvider.getSmooksGraphicsExt();
ProcessesType processes = ext.getProcesses();
- if (processes == null) {
- processes = GraphFactory.eINSTANCE.createProcessesType();
- ext.setProcesses(processes);
- }
- ProcessType process = null;
+ boolean disableProcessViewer = false;
if (processes != null) {
- process = processes.getProcess();
+ ProcessType process = processes.getProcess();
+ if (process != null) {
+ getProcessGraphViewer().getControl().setBackground(
+ getManagedForm().getToolkit().getColors().getBackground());
+ getProcessGraphViewer().getControl().setEnabled(true);
+ getProcessGraphViewer().setInput(process);
+ } else {
+ disableProcessViewer = true;
+ }
+ } else {
+ disableProcessViewer = true;
}
-
- if (process == null) {
- process = GraphFactory.eINSTANCE.createProcessType();
- processes.setProcess(process);
+ if (disableProcessViewer) {
+ getProcessGraphViewer().getControl().setBackground(
+ getManagedForm().getToolkit().getColors().getBorderColor());
+ getProcessGraphViewer().setInput(null);
+ getProcessGraphViewer().getControl().setEnabled(false);
}
-
- if (process != null) {
- getProcessGraphViewer().setInput(process);
- }
}
protected void hookProcessGraphicalViewer() {
@@ -230,8 +238,11 @@
}
if (this.process != null) {
AddNextTaskNodeAction action = new AddInputTaskAction(smooksModelProvider);
-// IStructuredSelection selection = new StructuredSelection(taskType);
-// action.selectionChanged(new SelectionChangedEvent(getProcessGraphViewer(), selection));
+ // IStructuredSelection selection = new
+ // StructuredSelection(taskType);
+ // action.selectionChanged(new
+ // SelectionChangedEvent(getProcessGraphViewer(),
+ // selection));
action.run();
return;
}
@@ -448,7 +459,8 @@
private Object data = null;
- public void dragStart(DragSourceEvent event) {this.data = null;
+ public void dragStart(DragSourceEvent event) {
+ this.data = null;
DragSource source = (DragSource) event.getSource();
ToolBar control = (ToolBar) source.getControl();
ToolItem item = control.getItem(new Point(event.x, event.y));
@@ -635,6 +647,23 @@
SmooksXSLTemplateGraphicalEditor xsltemplatePart = new SmooksXSLTemplateGraphicalEditor(smooksModelProvider);
this.registeTaskDetailsPage(xsltemplatePart, TaskTypeManager.TASK_ID_XSL_TEMPLATE);
+ ProcessAnalyzer processAnalyzer = new ProcessAnalyzer();
+ EObject smooksModel = getSmooksResourceList();
+ if (smooksModel != null && smooksModel instanceof SmooksResourceListType) {
+ boolean needSave = processAnalyzer.analyzeSmooksModels((SmooksResourceListType) smooksModel);
+ if (needSave) {
+ ResourceSet rs = this.smooksModelProvider.getEditingDomain().getResourceSet();
+ List<Resource> resourceLis = rs.getResources();
+ for (Iterator<?> iterator = resourceLis.iterator(); iterator.hasNext();) {
+ Resource resource = (Resource) iterator.next();
+ try {
+ resource.save(Collections.emptyMap());
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+ }
}
@Override
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/TaskTypeManager.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/TaskTypeManager.java 2009-10-27 00:04:29 UTC (rev 18300)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/TaskTypeManager.java 2009-10-27 05:58:58 UTC (rev 18301)
@@ -11,15 +11,20 @@
package org.jboss.tools.smooks.graphical.editors;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import org.jboss.tools.smooks.configuration.editors.GraphicsConstants;
+import org.jboss.tools.smooks.model.graphics.ext.TaskType;
+import org.jboss.tools.smooks.model.smooks.AbstractResourceConfig;
+import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
/**
* @author Dart
*
*/
public class TaskTypeManager {
+
public static final String TASK_ID_INPUT = "input";
public static final String TASK_ID_JAVA_MAPPING = "java_mapping";
@@ -30,6 +35,19 @@
private static List<TaskTypeDescriptor> allTaskList = null;
+ public static String[] getChildTaskIDs(String parentId) {
+ if (parentId == null)
+ return null;
+ if (parentId.equals(TaskTypeManager.TASK_ID_INPUT)) {
+ return new String[] { TaskTypeManager.TASK_ID_JAVA_MAPPING, TaskTypeManager.TASK_ID_XSL_TEMPLATE,
+ TaskTypeManager.TASK_ID_FREEMARKER_TEMPLATE };
+ }
+ if (parentId.equals(TaskTypeManager.TASK_ID_JAVA_MAPPING)) {
+ return new String[] { TaskTypeManager.TASK_ID_XSL_TEMPLATE, TaskTypeManager.TASK_ID_FREEMARKER_TEMPLATE };
+ }
+ return null;
+ }
+
/**
* @return the allTaskList
*/
@@ -47,6 +65,55 @@
return allTaskList;
}
+ public static List<Object> getAssociatedSmooksElementsType(TaskType taskType) {
+ return null;
+ }
+
+ public static List<Object> getAssociatedSmooksElementsType(String taskID) {
+ return null;
+ }
+
+ public static String getTaskLabel(String taskId) {
+ if (taskId != null) {
+ if (taskId.equals(TASK_ID_FREEMARKER_TEMPLATE)) {
+ return "Apply Freemarker Template";
+ }
+ if (taskId.equals(TASK_ID_INPUT)) {
+ return "Input Task";
+ }
+ if (taskId.equals(TASK_ID_JAVA_MAPPING)) {
+ return "Java Mapping";
+ }
+ if (taskId.equals(TASK_ID_XSL_TEMPLATE)) {
+ return "Apply XSL Template";
+ }
+ }
+ return "";
+ }
+
+ /**
+ *
+ * @param taskID
+ * @param smooksResourceList
+ * @return
+ */
+ public static List<Object> getAssociatedSmooksElements(String taskID, SmooksResourceListType smooksResourceList) {
+ List<Object> elementTypes = getAssociatedSmooksElementsType(taskID);
+ List<AbstractResourceConfig> resourceConfigList = smooksResourceList.getAbstractResourceConfig();
+ List<Object> associatedElements = new ArrayList<Object>();
+ for (Iterator<?> iterator = resourceConfigList.iterator(); iterator.hasNext();) {
+ AbstractResourceConfig abstractResourceConfig = (AbstractResourceConfig) iterator.next();
+ if (isSameType(abstractResourceConfig, elementTypes)) {
+ associatedElements.add(abstractResourceConfig);
+ }
+ }
+ return associatedElements;
+ }
+
+ private static boolean isSameType(Object element, List<Object> elementTypes) {
+ return true;
+ }
+
public static final class TaskTypeDescriptor {
private String id;
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 2009-10-27 00:04:29 UTC (rev 18300)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/wizards/JavaBeanCreationWizardPage.java 2009-10-27 05:58:58 UTC (rev 18301)
@@ -12,8 +12,10 @@
import java.lang.reflect.Array;
import java.util.Collection;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaModelException;
@@ -22,6 +24,8 @@
import org.eclipse.jface.viewers.CheckboxTreeViewer;
import org.eclipse.jface.viewers.ICheckStateListener;
import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.ITreeViewerListener;
+import org.eclipse.jface.viewers.TreeExpansionEvent;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
@@ -34,6 +38,7 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.widgets.TreeItem;
import org.jboss.tools.smooks.configuration.editors.javabean.JavaBeanModel;
import org.jboss.tools.smooks.configuration.editors.javabean.JavaBeanModelFactory;
import org.jboss.tools.smooks.configuration.editors.javabean.JavabeanContentProvider;
@@ -154,6 +159,35 @@
});
viewer.setLabelProvider(new JavabeanlabelProvider());
+ viewer.addTreeListener(new ITreeViewerListener() {
+
+ private Map<String, Object> expandRecord = new HashMap<String, Object>();
+
+ public void treeExpanded(TreeExpansionEvent event) {
+ Object element = event.getElement();
+ if (element instanceof TreeItem) {
+ element = ((TreeItem) element).getData();
+ }
+ if (element instanceof JavaBeanModel) {
+ Object key = expandRecord.get(((JavaBeanModel) element).getID().toString());
+ if (key == null) {
+ expandRecord.put(((JavaBeanModel) element).getID().toString(), new Object());
+ if (viewer.getChecked(element)) {
+ for (Iterator<?> iterator = ((JavaBeanModel) element).getChildren().iterator(); iterator
+ .hasNext();) {
+ Object child = (Object) iterator.next();
+ viewer.setChecked(child, true);
+ }
+ }
+ }
+ }
+ }
+
+ public void treeCollapsed(TreeExpansionEvent event) {
+
+ }
+ });
+
viewer.addCheckStateListener(new ICheckStateListener() {
public void checkStateChanged(CheckStateChangedEvent event) {
@@ -162,6 +196,7 @@
boolean checked = event.getChecked();
if (checked) {
checkParents(element, viewer);
+ checkChildren((JavaBeanModel)element, true);
} else {
unCheckChildren(element, viewer);
}
@@ -181,6 +216,16 @@
}
}
+ private void checkChildren(JavaBeanModel model, boolean flag) {
+ if (((JavaBeanModel) model).isExpaned()) {
+ for (Iterator<?> iterator = ((JavaBeanModel) model).getChildren().iterator(); iterator.hasNext();) {
+ JavaBeanModel child = (JavaBeanModel) iterator.next();
+ viewer.setChecked(child, flag);
+ checkChildren(child, flag);
+ }
+ }
+ }
+
private void checkParents(Object element, final CheckboxTreeViewer viewer) {
ITreeContentProvider provider = (ITreeContentProvider) viewer.getContentProvider();
Object parent = provider.getParent(element);
@@ -405,7 +450,7 @@
arrayButton.setEnabled(false);
collectionClassBrowseButton.setEnabled(true);
colllectionClassText.setEnabled(true);
- }else{
+ } else {
collectionClassBrowseButton.setEnabled(false);
colllectionClassText.setEnabled(false);
colllectionClassText.setText("");
14 years, 7 months