JBoss Tools SVN: r16970 - in trunk/esb/plugins/org.jboss.tools.esb.project.ui: icons/obj16 and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2009-08-05 18:31:56 -0400 (Wed, 05 Aug 2009)
New Revision: 16970
Added:
trunk/esb/plugins/org.jboss.tools.esb.project.ui/icons/obj16/EclipseCreateNewProject.png
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/ESBSharedImages.java
Modified:
trunk/esb/plugins/org.jboss.tools.esb.project.ui/META-INF/MANIFEST.MF
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/wizards/ESBProjectWizard.java
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/wizards/export/ESBComponentExportPage.java
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/wizards/export/ESBComponentExportWizard.java
Log:
JBIDE-4718 - removing a dependency
Modified: trunk/esb/plugins/org.jboss.tools.esb.project.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/esb/plugins/org.jboss.tools.esb.project.ui/META-INF/MANIFEST.MF 2009-08-05 20:24:16 UTC (rev 16969)
+++ trunk/esb/plugins/org.jboss.tools.esb.project.ui/META-INF/MANIFEST.MF 2009-08-05 22:31:56 UTC (rev 16970)
@@ -31,7 +31,6 @@
org.eclipse.jst.j2ee.ui;bundle-version="1.1.200",
org.eclipse.jdt.core;bundle-version="3.4.0",
org.jboss.tools.esb.project.core;bundle-version="1.0.0",
- org.jboss.tools.common.model.ui;bundle-version="2.0.0",
org.eclipse.jdt.ui;bundle-version="3.4.1",
org.jboss.ide.eclipse.as.ui;bundle-version="1.0.0"
Eclipse-LazyStart: true
Added: trunk/esb/plugins/org.jboss.tools.esb.project.ui/icons/obj16/EclipseCreateNewProject.png
===================================================================
(Binary files differ)
Property changes on: trunk/esb/plugins/org.jboss.tools.esb.project.ui/icons/obj16/EclipseCreateNewProject.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/ESBSharedImages.java
===================================================================
--- trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/ESBSharedImages.java (rev 0)
+++ trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/ESBSharedImages.java 2009-08-05 22:31:56 UTC (rev 16970)
@@ -0,0 +1,76 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and 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:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.esb.project.ui;
+
+import java.util.Hashtable;
+import java.util.Iterator;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+import org.osgi.framework.Bundle;
+
+public class ESBSharedImages {
+ public static String WIZARD_NEW_PROJECT = "WIZARD_NEW_PROJECT";
+
+ private static ESBSharedImages instance() {
+ if (instance == null)
+ return new ESBSharedImages();
+ return instance;
+ }
+
+ public static Image getImage(String key) {
+ return instance().image(key);
+ }
+
+ public static ImageDescriptor getImageDescriptor(String key) {
+ return instance().descriptor(key);
+ }
+
+
+ private static ESBSharedImages instance;
+ private Hashtable<String, Object> images, descriptors;
+ private ESBSharedImages() {
+ instance = this;
+ images = new Hashtable<String, Object>();
+ descriptors = new Hashtable<String, Object>();
+ Bundle pluginBundle = ESBProjectPlugin.getDefault().getBundle();
+
+ descriptors.put(WIZARD_NEW_PROJECT, createImageDescriptor(pluginBundle, "/icons/obj16/EclipseCreateNewProject.png")); //$NON-NLS-1$
+ Iterator<String> iter = descriptors.keySet().iterator();
+ while (iter.hasNext()) {
+ String key = iter.next();
+ ImageDescriptor descriptor = descriptor(key);
+ images.put(key, descriptor.createImage());
+ }
+ }
+
+ public ImageDescriptor descriptor(String key) {
+ return (ImageDescriptor) descriptors.get(key);
+ }
+
+ private ImageDescriptor createImageDescriptor (Bundle pluginBundle, String relativePath) {
+ return ImageDescriptor.createFromURL(pluginBundle.getEntry(relativePath));
+ }
+
+ public Image image(String key) {
+ return (Image) images.get(key);
+ }
+
+ protected void finalize() throws Throwable {
+ Iterator<String> iter = images.keySet().iterator();
+ while (iter.hasNext()) {
+ Image image = (Image) images.get(iter.next());
+ image.dispose();
+ }
+ super.finalize();
+ }
+}
+
Modified: trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/wizards/ESBProjectWizard.java
===================================================================
--- trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/wizards/ESBProjectWizard.java 2009-08-05 20:24:16 UTC (rev 16969)
+++ trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/wizards/ESBProjectWizard.java 2009-08-05 22:31:56 UTC (rev 16970)
@@ -29,10 +29,10 @@
import org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate;
import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
import org.eclipse.wst.web.ui.internal.wizards.NewProjectDataModelFacetWizard;
-import org.jboss.tools.common.model.ui.ModelUIImages;
import org.jboss.tools.esb.core.ESBProjectConstant;
import org.jboss.tools.esb.core.ESBProjectCorePlugin;
import org.jboss.tools.esb.core.facet.IJBossESBFacetDataModelProperties;
+import org.jboss.tools.esb.project.ui.ESBSharedImages;
import org.jboss.tools.esb.project.ui.messages.JBossESBUIMessages;
import org.jboss.tools.esb.project.ui.wizards.pages.ESBProjectFirstPage;
@@ -41,13 +41,13 @@
public ESBProjectWizard() {
setWindowTitle(JBossESBUIMessages.ESBProjectWizard_Title);
- setDefaultPageImageDescriptor(ModelUIImages.getImageDescriptor(ModelUIImages.WIZARD_NEW_PROJECT));
+ setDefaultPageImageDescriptor(ESBSharedImages.getImageDescriptor(ESBSharedImages.WIZARD_NEW_PROJECT));
}
public ESBProjectWizard(IDataModel model) {
super(model);
setWindowTitle(JBossESBUIMessages.ESBProjectWizard_Title);
- setDefaultPageImageDescriptor(ModelUIImages.getImageDescriptor(ModelUIImages.WIZARD_NEW_PROJECT));
+ setDefaultPageImageDescriptor(ESBSharedImages.getImageDescriptor(ESBSharedImages.WIZARD_NEW_PROJECT));
}
@@ -63,7 +63,7 @@
@Override
protected ImageDescriptor getDefaultPageImageDescriptor() {
- return ModelUIImages.getImageDescriptor(ModelUIImages.WIZARD_NEW_PROJECT);
+ return ESBSharedImages.getImageDescriptor(ESBSharedImages.WIZARD_NEW_PROJECT);
}
@Override
Modified: trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/wizards/export/ESBComponentExportPage.java
===================================================================
--- trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/wizards/export/ESBComponentExportPage.java 2009-08-05 20:24:16 UTC (rev 16969)
+++ trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/wizards/export/ESBComponentExportPage.java 2009-08-05 22:31:56 UTC (rev 16970)
@@ -13,7 +13,7 @@
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jst.j2ee.internal.wizard.J2EEModuleExportPage;
import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.jboss.tools.common.model.ui.ModelUIImages;
+import org.jboss.tools.esb.project.ui.ESBSharedImages;
import org.jboss.tools.esb.project.ui.messages.JBossESBUIMessages;
public class ESBComponentExportPage extends J2EEModuleExportPage {
@@ -21,7 +21,7 @@
super(model, pageName, selection);
setTitle(JBossESBUIMessages.ESBExportWizard_Title);
setDescription(JBossESBUIMessages.ESBExportWizard_Description);
- setImageDescriptor(ModelUIImages.getImageDescriptor(ModelUIImages.WIZARD_NEW_PROJECT));
+ setImageDescriptor(ESBSharedImages.getImageDescriptor(ESBSharedImages.WIZARD_NEW_PROJECT));
}
/*
Modified: trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/wizards/export/ESBComponentExportWizard.java
===================================================================
--- trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/wizards/export/ESBComponentExportWizard.java 2009-08-05 20:24:16 UTC (rev 16969)
+++ trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/wizards/export/ESBComponentExportWizard.java 2009-08-05 22:31:56 UTC (rev 16970)
@@ -14,7 +14,7 @@
import org.eclipse.ui.IExportWizard;
import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
-import org.jboss.tools.common.model.ui.ModelUIImages;
+import org.jboss.tools.esb.project.ui.ESBSharedImages;
public class ESBComponentExportWizard extends J2EEArtifactExportWizard
implements IExportWizard {
@@ -36,6 +36,6 @@
}
protected void doInit() {
- setDefaultPageImageDescriptor(ModelUIImages.getImageDescriptor(ModelUIImages.WIZARD_NEW_PROJECT));
+ setDefaultPageImageDescriptor(ESBSharedImages.getImageDescriptor(ESBSharedImages.WIZARD_NEW_PROJECT));
}
}
16 years, 4 months
JBoss Tools SVN: r16969 - trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2009-08-05 16:24:16 -0400 (Wed, 05 Aug 2009)
New Revision: 16969
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/JBTProjectModuleFactory.java
Log:
Working on superclasses for JBIDE-4320
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/JBTProjectModuleFactory.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/JBTProjectModuleFactory.java 2009-08-05 17:21:47 UTC (rev 16968)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/JBTProjectModuleFactory.java 2009-08-05 20:24:16 UTC (rev 16969)
@@ -1,10 +1,15 @@
package org.jboss.ide.eclipse.as.wtp.override.core.modules;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.wst.common.componentcore.ComponentCore;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
import org.eclipse.wst.common.project.facet.core.IFacetedProject;
import org.eclipse.wst.common.project.facet.core.IProjectFacet;
import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
@@ -69,8 +74,10 @@
moduleType,
version.getVersionString(),
project);
- moduleToDelegate.put(module, createDelegate(project));
+ JBTProjectModuleDelegate delegate = createDelegate(project);
+ moduleToDelegate.put(module, delegate);
+ createBinaryModules(ComponentCore.createComponent(project), delegate);
// TODO - create children!!! see JEEDeployableFactory
return new IModule[] { module };
}
@@ -80,6 +87,21 @@
return null;
}
+ protected void createBinaryModules(IVirtualComponent component, JBTProjectModuleDelegate delegate) {
+ List projectModules = new ArrayList();
+ IVirtualReference[] references = component.getReferences();
+ for (int i = 0; i < references.length; i++) {
+ IVirtualComponent moduleComponent = references[i].getReferencedComponent();
+ if (moduleComponent.isBinary()) {
+ if( !delegate.shouldIncludeUtilityComponent(moduleComponent, references, null)) {
+ // if we shouldn't include it there, we should do it here
+ // TODO do this
+ }
+ }
+ }
+ }
+
+
protected abstract JBTProjectModuleDelegate createDelegate(IProject project);
}
16 years, 4 months
JBoss Tools SVN: r16968 - in trunk/smooks/plugins/org.jboss.tools.smooks.ui: src/org/jboss/tools/smooks/configuration/editors and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: DartPeng
Date: 2009-08-05 13:21:47 -0400 (Wed, 05 Aug 2009)
New Revision: 16968
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/NewOrModifySmooksElementDialog.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationOverviewPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISourceSynchronizeListener.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/.settings/org.eclipse.jdt.core.prefs
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/FieldMarkerComposite.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationFormPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMasterDetailBlock.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.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/editor/AbstractSmooksFormEditor.java
Log:
JBIDE-4712
add new tab
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/.settings/org.eclipse.jdt.core.prefs 2009-08-05 10:51:10 UTC (rev 16967)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/.settings/org.eclipse.jdt.core.prefs 2009-08-05 17:21:47 UTC (rev 16968)
@@ -1,7 +1,8 @@
-#Tue Jul 15 15:08:51 CST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
+#Wed Aug 05 22:55:22 CST 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/FieldMarkerComposite.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/FieldMarkerComposite.java 2009-08-05 10:51:10 UTC (rev 16967)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/FieldMarkerComposite.java 2009-08-05 17:21:47 UTC (rev 16968)
@@ -44,6 +44,7 @@
public FieldMarkerComposite(Composite parent, int style) {
super(parent, style);
+ this.setBackground(new Color(null,255,255,255));
errorImage = SmooksConfigurationActivator.getDefault().getImageRegistry()
.get(GraphicsConstants.IMAGE_OVR_ERROR);
waringImage = SmooksConfigurationActivator.getDefault().getImageRegistry().get(
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/NewOrModifySmooksElementDialog.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/NewOrModifySmooksElementDialog.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/NewOrModifySmooksElementDialog.java 2009-08-05 17:21:47 UTC (rev 16968)
@@ -0,0 +1,131 @@
+/*******************************************************************************
+ * 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.configuration.editors;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.command.AddCommand;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.window.IShellProvider;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.jboss.tools.smooks.editor.ISmooksModelProvider;
+
+/**
+ * @author Dart
+ *
+ */
+public class NewOrModifySmooksElementDialog extends Dialog {
+
+ private EObject model;
+
+ private FormToolkit toolkit;
+
+ private ISmooksModelProvider modelProvider = null;
+
+ private boolean modify = false;
+
+ private EObject parentModel;
+
+ private EStructuralFeature feature;
+
+ private IEditorPart editorPart;
+
+ public NewOrModifySmooksElementDialog(IShellProvider parentShell, EStructuralFeature feature, EObject model,
+ EObject parentModel, FormToolkit toolkit, ISmooksModelProvider modelProvider, IEditorPart editorPart,
+ boolean modify) {
+ super(parentShell);
+ this.feature = feature;
+ this.model = model;
+ this.toolkit = toolkit;
+ this.modelProvider = modelProvider;
+ this.modify = modify;
+ this.editorPart = editorPart;
+ this.parentModel = parentModel;
+ }
+
+ public NewOrModifySmooksElementDialog(Shell parentShell, EStructuralFeature feature, EObject model,
+ EObject parentModel, FormToolkit toolkit, ISmooksModelProvider modelProvider, IEditorPart editorPart,
+ boolean modify) {
+ super(parentShell);
+ this.feature = feature;
+ this.model = model;
+ this.toolkit = toolkit;
+ this.modelProvider = modelProvider;
+ this.modify = modify;
+ this.editorPart = editorPart;
+ this.parentModel = parentModel;
+ }
+
+ protected void createButtonsForButtonBar(Composite parent) {
+ // create OK and Cancel buttons by default
+ String okLabel = IDialogConstants.OK_LABEL;
+ if(modify){
+ okLabel = "Close";
+ }
+ createButton(parent, IDialogConstants.OK_ID, okLabel, true);
+ if (!modify) {
+ createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
+ }
+ }
+
+ @Override
+ protected Control createDialogArea(Composite parent) {
+ Composite mainComposite = (Composite) super.createDialogArea(parent);
+ // parent.setBackground(toolkit.getColors().getBackground());
+ mainComposite.setBackground(toolkit.getColors().getBackground());
+ Composite mc = new Composite(mainComposite, SWT.NONE);
+ mc.setBackground(toolkit.getColors().getBackground());
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ gd.heightHint = 500;
+ gd.widthHint = 400;
+ mc.setLayoutData(gd);
+ GridLayout gl = new GridLayout();
+ gl.numColumns = 2;
+ gl.verticalSpacing = 1;
+ mc.setLayout(gl);
+
+ ModelPanelCreator creator = new ModelPanelCreator();
+
+ if (modelProvider != null && model instanceof EObject) {
+ AdapterFactoryEditingDomain editDomain = (AdapterFactoryEditingDomain) modelProvider.getEditingDomain();
+ IItemPropertySource propertySource = (IItemPropertySource) editDomain.getAdapterFactory().adapt(model,
+ IItemPropertySource.class);
+ creator.createModelPanel((EObject) model, toolkit, mc, propertySource, modelProvider, editorPart);
+ }
+ return mainComposite;
+ }
+
+ @Override
+ protected void okPressed() {
+ try {
+ if (!modify && parentModel != null && modelProvider != null && feature != null) {
+ EditingDomain editingDomain = modelProvider.getEditingDomain();
+ Command command = AddCommand.create(editingDomain, parentModel, feature, model);
+ editingDomain.getCommandStack().execute(command);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ super.okPressed();
+ }
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/NewOrModifySmooksElementDialog.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationFormPage.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationFormPage.java 2009-08-05 10:51:10 UTC (rev 16967)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationFormPage.java 2009-08-05 17:21:47 UTC (rev 16968)
@@ -41,6 +41,7 @@
import org.jboss.tools.smooks.configuration.editors.wizard.StructuredDataSelectionWizard;
import org.jboss.tools.smooks.configuration.validate.ISmooksModelValidateListener;
import org.jboss.tools.smooks.editor.ISmooksModelProvider;
+import org.jboss.tools.smooks.editor.ISourceSynchronizeListener;
import org.jboss.tools.smooks.model.graphics.ext.ISmooksGraphChangeListener;
import org.jboss.tools.smooks.model.graphics.ext.InputType;
import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtType;
@@ -49,7 +50,7 @@
/**
* @author Dart Peng (dpeng(a)redhat.com) Date Apr 1, 2009
*/
-public class SmooksConfigurationFormPage extends FormPage implements ISmooksModelValidateListener , ISmooksGraphChangeListener {
+public class SmooksConfigurationFormPage extends FormPage implements ISmooksModelValidateListener , ISmooksGraphChangeListener , ISourceSynchronizeListener{
private SmooksMasterDetailBlock masterDetailBlock = null;
@@ -258,4 +259,8 @@
inputDataViewer.refresh();
}
+ public void sourceChange(Object model) {
+ this.setSmooksModel(model);
+ }
+
}
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationOverviewPage.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationOverviewPage.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationOverviewPage.java 2009-08-05 17:21:47 UTC (rev 16968)
@@ -0,0 +1,877 @@
+/*******************************************************************************
+ * 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.configuration.editors;
+
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CompoundCommand;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.edit.command.MoveCommand;
+import org.eclipse.emf.edit.command.RemoveCommand;
+import org.eclipse.emf.edit.command.SetCommand;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.viewers.DecoratingLabelProvider;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.editor.FormEditor;
+import org.eclipse.ui.forms.editor.FormPage;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+import org.eclipse.ui.forms.widgets.ScrolledForm;
+import org.eclipse.ui.forms.widgets.Section;
+import org.jboss.tools.smooks.configuration.SmooksConfigurationActivator;
+import org.jboss.tools.smooks.configuration.SmooksConstants;
+import org.jboss.tools.smooks.configuration.validate.ISmooksModelValidateListener;
+import org.jboss.tools.smooks.editor.ISmooksModelProvider;
+import org.jboss.tools.smooks.editor.ISourceSynchronizeListener;
+import org.jboss.tools.smooks.model.common.AbstractAnyType;
+import org.jboss.tools.smooks.model.graphics.ext.ISmooksGraphChangeListener;
+import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtType;
+import org.jboss.tools.smooks.model.smooks.ConditionType;
+import org.jboss.tools.smooks.model.smooks.ConditionsType;
+import org.jboss.tools.smooks.model.smooks.DocumentRoot;
+import org.jboss.tools.smooks.model.smooks.ParamType;
+import org.jboss.tools.smooks.model.smooks.ParamsType;
+import org.jboss.tools.smooks.model.smooks.SmooksFactory;
+import org.jboss.tools.smooks.model.smooks.SmooksPackage;
+import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
+
+/**
+ * @author Dart
+ *
+ */
+public class SmooksConfigurationOverviewPage extends FormPage implements ISmooksModelValidateListener,
+ ISmooksGraphChangeListener, ISourceSynchronizeListener {
+
+ private ISmooksModelProvider smooksModelProvider;
+ private Button newParamButton;
+ private Button removeParamButton;
+ private Button upParamButton;
+ private Button downParamButton;
+ private Button paramPropertiesButton;
+ private TableViewer paramViewer;
+ private TableViewer conditionViewer;
+ private Button newConditionButton;
+ private Button removeConditionButton;
+ private Button upConditionButton;
+ private Button downConditionButton;
+ private Button conditionPropertiesButton;
+ private Composite defaultSettingComposite;
+
+ public SmooksConfigurationOverviewPage(FormEditor editor, String id, String title, ISmooksModelProvider provider) {
+ super(editor, id, title);
+ this.smooksModelProvider = provider;
+ ((SmooksMultiFormEditor) editor).getSmooksGraphicsExt().addSmooksGraphChangeListener(this);
+
+ }
+
+ public SmooksConfigurationOverviewPage(String id, String title, ISmooksModelProvider provider) {
+ super(id, title);
+ this.smooksModelProvider = provider;
+ }
+
+ protected void createFormContent(IManagedForm managedForm) {
+ final ScrolledForm form = managedForm.getForm();
+ FormToolkit toolkit = managedForm.getToolkit();
+ toolkit.decorateFormHeading(form.getForm());
+ String title = getTitle();
+ form.setText(title);
+ GridLayout gl = new GridLayout();
+ gl.marginHeight = 0;
+ gl.marginWidth = 0;
+ form.getBody().setLayout(gl);
+ Composite mainComposite = toolkit.createComposite(form.getBody());
+
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ mainComposite.setLayoutData(gd);
+
+ GridLayout mgl = new GridLayout();
+ mgl.numColumns = 2;
+ mgl.marginHeight = 13;
+ mainComposite.setLayout(mgl);
+
+ Section generalSettingSection = toolkit.createSection(mainComposite, Section.DESCRIPTION | Section.TITLE_BAR);
+ generalSettingSection.setLayout(new FillLayout());
+ generalSettingSection.setText("Default Setting");
+ defaultSettingComposite = toolkit.createComposite(generalSettingSection);
+ generalSettingSection.setClient(defaultSettingComposite);
+ gd = new GridData();
+ gd.widthHint = 500;
+ generalSettingSection.setLayoutData(gd);
+
+ GridLayout ggl = new GridLayout();
+ defaultSettingComposite.setLayout(ggl);
+ ggl.numColumns = 2;
+ ggl.verticalSpacing = 0;
+
+ createDefaultSection(defaultSettingComposite, toolkit);
+
+ createSmooksEditorNavigator(mainComposite, toolkit);
+
+ Section globalParamSection = toolkit.createSection(mainComposite, Section.DESCRIPTION | Section.TITLE_BAR);
+ globalParamSection.setText("Global Paramters");
+ globalParamSection.setLayout(new FillLayout());
+ Composite globalParamComposite = toolkit.createComposite(globalParamSection);
+ globalParamSection.setClient(globalParamComposite);
+ gd = new GridData();
+ gd.verticalAlignment = GridData.BEGINNING;
+ gd.widthHint = 500;
+ globalParamSection.setLayoutData(gd);
+
+ GridLayout gpgl = new GridLayout();
+ globalParamComposite.setLayout(gpgl);
+ gpgl.numColumns = 2;
+
+ createGlobalParamterSection(globalParamComposite, toolkit);
+
+ Section conditionSection = toolkit.createSection(mainComposite, Section.DESCRIPTION | Section.TITLE_BAR
+ | Section.TWISTIE);
+ conditionSection.setText("Conditions");
+ conditionSection.setLayout(new FillLayout());
+ Composite conditionComposite = toolkit.createComposite(conditionSection);
+ conditionSection.setClient(conditionComposite);
+ gd = new GridData();
+ gd.verticalAlignment = GridData.BEGINNING;
+ gd.widthHint = 500;
+ conditionSection.setLayoutData(gd);
+
+ GridLayout cgl = new GridLayout();
+ conditionComposite.setLayout(cgl);
+ cgl.numColumns = 2;
+
+ createConditionsSection(conditionComposite, toolkit);
+
+ }
+
+ private ConditionsType getConditionsType() {
+ if (smooksModelProvider != null) {
+ EObject smooksModel = smooksModelProvider.getSmooksModel();
+ if (smooksModel instanceof DocumentRoot) {
+ EObject m = ((DocumentRoot) smooksModel).getSmooksResourceList().getConditions();
+ return (ConditionsType) m;
+ }
+ }
+ return null;
+ }
+
+ private void createConditionsSection(Composite conditionComposite, FormToolkit toolkit) {
+ if (smooksModelProvider != null) {
+ AdapterFactoryEditingDomain editingDomain = (AdapterFactoryEditingDomain) smooksModelProvider
+ .getEditingDomain();
+ ConditionsType conditions = getConditionsType();
+ // if (m == null)
+ // return;
+
+ conditionViewer = new TableViewer(conditionComposite);
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ conditionViewer.getControl().setLayoutData(gd);
+ toolkit.paintBordersFor(conditionComposite);
+ Composite buttonArea = toolkit.createComposite(conditionComposite);
+ gd = new GridData(GridData.FILL_VERTICAL);
+ gd.widthHint = 30;
+ GridLayout bgl = new GridLayout();
+ buttonArea.setLayout(bgl);
+
+ newConditionButton = toolkit.createButton(buttonArea, "New", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ newConditionButton.setLayoutData(gd);
+
+ removeConditionButton = toolkit.createButton(buttonArea, "Remove", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ removeConditionButton.setLayoutData(gd);
+
+ upConditionButton = toolkit.createButton(buttonArea, "Up", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ upConditionButton.setLayoutData(gd);
+
+ downConditionButton = toolkit.createButton(buttonArea, "Down", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ downConditionButton.setLayoutData(gd);
+
+ conditionPropertiesButton = toolkit.createButton(buttonArea, "Properties..", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ conditionPropertiesButton.setLayoutData(gd);
+
+ conditionViewer.setContentProvider(new AdapterFactoryContentProvider(editingDomain.getAdapterFactory()) {
+
+ @Override
+ public boolean hasChildren(Object object) {
+ return false;
+ }
+
+ });
+
+ conditionViewer.setLabelProvider(new DecoratingLabelProvider(new AdapterFactoryLabelProvider(editingDomain
+ .getAdapterFactory()) {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider
+ * # getText(java.lang.Object)
+ */
+ @Override
+ public String getText(Object object) {
+ Object obj = AdapterFactoryEditingDomain.unwrap(object);
+ if (obj instanceof AbstractAnyType) {
+ return super.getText(obj);
+ }
+ return super.getText(object);
+ }
+
+ }, SmooksConfigurationActivator.getDefault().getWorkbench().getDecoratorManager().getLabelDecorator()));
+
+ if (conditions != null) {
+ conditionViewer.setInput(conditions);
+ }
+
+ conditionViewer.addDoubleClickListener(new IDoubleClickListener() {
+
+ public void doubleClick(DoubleClickEvent event) {
+ openConditionPropertiesModifyDialog();
+ }
+ });
+
+ conditionViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+
+ public void selectionChanged(SelectionChangedEvent event) {
+ updateConditionsButtons();
+ }
+ });
+
+ hookConditionsButtons();
+ updateConditionsButtons();
+ }
+ }
+
+ protected void hookConditionsButtons() {
+ newConditionButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ if (getSmooksVersion() == null || getSmooksVersion().equals(SmooksConstants.VERSION_1_0)) {
+ return;
+ }
+ ConditionType condition = SmooksFactory.eINSTANCE.createConditionType();
+ ConditionsType parent = getConditionsType();
+ boolean newParent = false;
+ if (parent == null) {
+ newParent = true;
+ parent = SmooksFactory.eINSTANCE.createConditionsType();
+
+ }
+ NewOrModifySmooksElementDialog dialog = new NewOrModifySmooksElementDialog(getEditorSite().getShell(),
+ SmooksPackage.Literals.CONDITIONS_TYPE__CONDITION, condition, parent, getManagedForm()
+ .getToolkit(), smooksModelProvider, SmooksConfigurationOverviewPage.this, false);
+ if (dialog.open() == Dialog.OK && newParent) {
+ EObject resource = getSmooksResourceList();
+ if (resource == null)
+ return;
+ Command command = SetCommand.create(smooksModelProvider.getEditingDomain(), resource,
+ SmooksPackage.Literals.SMOOKS_RESOURCE_LIST_TYPE__CONDITIONS, parent);
+ if (command.canExecute()) {
+ smooksModelProvider.getEditingDomain().getCommandStack().execute(command);
+ conditionViewer.setInput(parent);
+ }
+ }
+ super.widgetSelected(e);
+ }
+
+ });
+ removeConditionButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ IStructuredSelection selection = (IStructuredSelection) conditionViewer.getSelection();
+ if (selection == null)
+ return;
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ConditionType) {
+ ConditionType condition = (ConditionType) obj;
+ ConditionsType parent = getConditionsType();
+ if (parent == null)
+ return;
+ CompoundCommand compoundCommand = new CompoundCommand();
+ Command command = RemoveCommand.create(smooksModelProvider.getEditingDomain(), condition);
+ compoundCommand.append(command);
+ if (parent.getCondition().size() == 1) {
+ // remove parent;
+ Command command1 = RemoveCommand.create(smooksModelProvider.getEditingDomain(), parent);
+ compoundCommand.append(command1);
+ }
+ smooksModelProvider.getEditingDomain().getCommandStack().execute(compoundCommand);
+ }
+ }
+
+ });
+ upConditionButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ IStructuredSelection selection = (IStructuredSelection) conditionViewer.getSelection();
+ if (selection == null)
+ return;
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ConditionType) {
+ ConditionsType conditionsType = getConditionsType();
+ if (conditionsType == null)
+ return;
+ EObject v = (EObject) AdapterFactoryEditingDomain.unwrap(obj);
+ EObject parent = v.eContainer();
+ int index = parent.eContents().indexOf(v);
+ Command command = MoveCommand.create(smooksModelProvider.getEditingDomain(), parent, null, obj,
+ index - 1);
+ smooksModelProvider.getEditingDomain().getCommandStack().execute(command);
+ }
+ }
+
+ });
+ downConditionButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ IStructuredSelection selection = (IStructuredSelection) conditionViewer.getSelection();
+ if (selection == null)
+ return;
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ConditionType) {
+ ConditionsType conditionsType = getConditionsType();
+ if (conditionsType == null)
+ return;
+ EObject v = (EObject) AdapterFactoryEditingDomain.unwrap(obj);
+ EObject parent = v.eContainer();
+ int index = parent.eContents().indexOf(v);
+ Command command = MoveCommand.create(smooksModelProvider.getEditingDomain(), parent, null, obj,
+ index + 1);
+ smooksModelProvider.getEditingDomain().getCommandStack().execute(command);
+ }
+ }
+
+ });
+ conditionPropertiesButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ openConditionPropertiesModifyDialog();
+ super.widgetSelected(e);
+ }
+
+ });
+
+ }
+
+ protected void updateConditionsButtons() {
+ if (getSmooksVersion() == null || getSmooksVersion().equals(SmooksConstants.VERSION_1_0)) {
+ conditionPropertiesButton.setEnabled(false);
+ newConditionButton.setEnabled(false);
+ removeConditionButton.setEnabled(false);
+ upConditionButton.setEnabled(false);
+ downConditionButton.setEnabled(false);
+ return;
+ }
+ conditionPropertiesButton.setEnabled(true);
+ removeConditionButton.setEnabled(true);
+ IStructuredSelection selection = (IStructuredSelection) conditionViewer.getSelection();
+ if (selection == null) {
+ conditionPropertiesButton.setEnabled(false);
+ removeConditionButton.setEnabled(false);
+ upConditionButton.setEnabled(false);
+ downConditionButton.setEnabled(false);
+ } else {
+ if (selection.getFirstElement() == null) {
+ conditionPropertiesButton.setEnabled(false);
+ removeConditionButton.setEnabled(false);
+ upConditionButton.setEnabled(false);
+ downConditionButton.setEnabled(false);
+ return;
+ }
+
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ConditionType) {
+ ConditionsType conditionsType = getConditionsType();
+ if (conditionsType == null)
+ return;
+ EObject v = (EObject) AdapterFactoryEditingDomain.unwrap(obj);
+ EObject parent = v.eContainer();
+ int index = parent.eContents().indexOf(v);
+ Command command = MoveCommand.create(smooksModelProvider.getEditingDomain(), parent, null, obj,
+ index - 1);
+ upConditionButton.setEnabled(command.canExecute());
+
+ Command command1 = MoveCommand.create(smooksModelProvider.getEditingDomain(), parent, null, obj,
+ index + 1);
+ downConditionButton.setEnabled(command1.canExecute());
+ }
+
+ if (selection.size() > 1) {
+ conditionPropertiesButton.setEnabled(false);
+ removeConditionButton.setEnabled(false);
+ }
+ }
+ }
+
+ protected void openConditionPropertiesModifyDialog() {
+ IStructuredSelection selection = (IStructuredSelection) conditionViewer.getSelection();
+ if (selection == null)
+ return;
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ConditionType) {
+ ConditionType condition = (ConditionType) obj;
+ ConditionsType parent = getConditionsType();
+ NewOrModifySmooksElementDialog dialog = new NewOrModifySmooksElementDialog(getEditorSite().getShell(),
+ SmooksPackage.Literals.CONDITIONS_TYPE__CONDITION, condition, parent,
+ getManagedForm().getToolkit(), smooksModelProvider, SmooksConfigurationOverviewPage.this, true);
+ dialog.open();
+ }
+ }
+
+ private ParamsType getParamsType() {
+ if (smooksModelProvider != null) {
+ EObject smooksModel = smooksModelProvider.getSmooksModel();
+ if (smooksModel instanceof DocumentRoot) {
+ EObject m = ((DocumentRoot) smooksModel).getSmooksResourceList().getParams();
+ return (ParamsType) m;
+ }
+ }
+ return null;
+ }
+
+ private void createGlobalParamterSection(Composite globalParamComposite, FormToolkit toolkit) {
+ // ModelPanelCreator creator = new ModelPanelCreator();
+ if (smooksModelProvider != null) {
+ AdapterFactoryEditingDomain editingDomain = (AdapterFactoryEditingDomain) smooksModelProvider
+ .getEditingDomain();
+ ParamsType m = getParamsType();
+ // if (m == null)
+ // return;
+
+ paramViewer = new TableViewer(globalParamComposite);
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ paramViewer.getControl().setLayoutData(gd);
+ toolkit.paintBordersFor(globalParamComposite);
+ Composite buttonArea = toolkit.createComposite(globalParamComposite);
+ gd = new GridData(GridData.FILL_VERTICAL);
+ gd.widthHint = 30;
+ GridLayout bgl = new GridLayout();
+ buttonArea.setLayout(bgl);
+
+ newParamButton = toolkit.createButton(buttonArea, "New", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ newParamButton.setLayoutData(gd);
+
+ removeParamButton = toolkit.createButton(buttonArea, "Remove", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ removeParamButton.setLayoutData(gd);
+
+ upParamButton = toolkit.createButton(buttonArea, "Up", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ upParamButton.setLayoutData(gd);
+
+ downParamButton = toolkit.createButton(buttonArea, "Down", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ downParamButton.setLayoutData(gd);
+
+ paramPropertiesButton = toolkit.createButton(buttonArea, "Properties..", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ paramPropertiesButton.setLayoutData(gd);
+
+ paramViewer.setContentProvider(new AdapterFactoryContentProvider(editingDomain.getAdapterFactory()) {
+
+ @Override
+ public boolean hasChildren(Object object) {
+ return false;
+ }
+
+ });
+
+ paramViewer.setLabelProvider(new DecoratingLabelProvider(new AdapterFactoryLabelProvider(editingDomain
+ .getAdapterFactory()) {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider
+ * # getText(java.lang.Object)
+ */
+ @Override
+ public String getText(Object object) {
+ Object obj = AdapterFactoryEditingDomain.unwrap(object);
+ if (obj instanceof AbstractAnyType) {
+ return super.getText(obj);
+ }
+ return super.getText(object);
+ }
+
+ }, SmooksConfigurationActivator.getDefault().getWorkbench().getDecoratorManager().getLabelDecorator()));
+ if (m != null) {
+ paramViewer.setInput(m);
+ }
+
+ paramViewer.addDoubleClickListener(new IDoubleClickListener() {
+
+ public void doubleClick(DoubleClickEvent event) {
+ openParamPropertiesModifyDialog();
+ }
+ });
+
+ paramViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+
+ public void selectionChanged(SelectionChangedEvent event) {
+ updateParamButtons();
+ }
+ });
+
+ hookGlobalParamterButtons();
+ updateParamButtons();
+ }
+
+ }
+
+ protected void updateParamButtons() {
+ if (getSmooksVersion() == null || getSmooksVersion().equals(SmooksConstants.VERSION_1_0)) {
+ paramPropertiesButton.setEnabled(false);
+ newParamButton.setEnabled(false);
+ removeParamButton.setEnabled(false);
+ upParamButton.setEnabled(false);
+ downParamButton.setEnabled(false);
+ return;
+ }
+ paramPropertiesButton.setEnabled(true);
+ removeParamButton.setEnabled(true);
+ IStructuredSelection selection = (IStructuredSelection) paramViewer.getSelection();
+ if (selection == null) {
+ paramPropertiesButton.setEnabled(false);
+ removeParamButton.setEnabled(false);
+ upParamButton.setEnabled(false);
+ downParamButton.setEnabled(false);
+ } else {
+ if (selection.getFirstElement() == null) {
+ paramPropertiesButton.setEnabled(false);
+ removeParamButton.setEnabled(false);
+ upParamButton.setEnabled(false);
+ downParamButton.setEnabled(false);
+ return;
+ }
+
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ParamType) {
+ ParamsType paramsType = getParamsType();
+ if (paramsType == null)
+ return;
+ EObject v = (EObject) AdapterFactoryEditingDomain.unwrap(obj);
+ EObject parent = v.eContainer();
+ int index = parent.eContents().indexOf(v);
+ Command command = MoveCommand.create(smooksModelProvider.getEditingDomain(), parent, null, obj,
+ index - 1);
+ upParamButton.setEnabled(command.canExecute());
+
+ Command command1 = MoveCommand.create(smooksModelProvider.getEditingDomain(), parent, null, obj,
+ index + 1);
+ downParamButton.setEnabled(command1.canExecute());
+ }
+
+ if (selection.size() > 1) {
+ paramPropertiesButton.setEnabled(false);
+ removeParamButton.setEnabled(false);
+ }
+ }
+
+ }
+
+ private String getSmooksVersion() {
+ if (smooksModelProvider != null) {
+ EObject smooksModel = smooksModelProvider.getSmooksModel();
+ if (smooksModel instanceof DocumentRoot) {
+ return SmooksConstants.VERSION_1_1;
+ }
+ if (smooksModel instanceof org.jboss.tools.smooks10.model.smooks.DocumentRoot) {
+ return SmooksConstants.VERSION_1_0;
+ }
+ }
+ return null;
+ }
+
+ private void hookGlobalParamterButtons() {
+ newParamButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ if (getSmooksVersion() == null || getSmooksVersion().equals(SmooksConstants.VERSION_1_0)) {
+ return;
+ }
+ ParamType param = SmooksFactory.eINSTANCE.createParamType();
+ ParamsType parent = getParamsType();
+ boolean newParent = false;
+ if (parent == null) {
+ newParent = true;
+ parent = SmooksFactory.eINSTANCE.createParamsType();
+ EObject resource = getSmooksResourceList();
+ if (resource == null)
+ return;
+ Command command = SetCommand.create(smooksModelProvider.getEditingDomain(), resource,
+ SmooksPackage.Literals.SMOOKS_RESOURCE_LIST_TYPE__PARAMS, parent);
+ if (command.canExecute()) {
+ ((SmooksResourceListType) resource).setParams((ParamsType) parent);
+ paramViewer.setInput(parent);
+ }
+ }
+ NewOrModifySmooksElementDialog dialog = new NewOrModifySmooksElementDialog(getEditorSite().getShell(),
+ SmooksPackage.Literals.PARAMS_TYPE__PARAM, param, parent, getManagedForm().getToolkit(),
+ smooksModelProvider, SmooksConfigurationOverviewPage.this, false);
+ if (dialog.open() == Dialog.CANCEL && newParent) {
+ EObject resource = getSmooksResourceList();
+ ((SmooksResourceListType) resource).setParams(null);
+ paramViewer.setInput(null);
+ }
+ super.widgetSelected(e);
+ }
+
+ });
+ removeParamButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ IStructuredSelection selection = (IStructuredSelection) paramViewer.getSelection();
+ if (selection == null)
+ return;
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ParamType) {
+ ParamType param = (ParamType) obj;
+ ParamsType parent = getParamsType();
+ if (parent == null)
+ return;
+ CompoundCommand compoundCommand = new CompoundCommand();
+ Command command = RemoveCommand.create(smooksModelProvider.getEditingDomain(), param);
+ compoundCommand.append(command);
+ if (parent.getParam().size() == 1) {
+ // remove parent;
+ Command command1 = RemoveCommand.create(smooksModelProvider.getEditingDomain(), parent);
+ compoundCommand.append(command1);
+ }
+ smooksModelProvider.getEditingDomain().getCommandStack().execute(compoundCommand);
+ }
+ }
+
+ });
+ upParamButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ IStructuredSelection selection = (IStructuredSelection) paramViewer.getSelection();
+ if (selection == null)
+ return;
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ParamType) {
+ ParamsType paramsType = getParamsType();
+ if (paramsType == null)
+ return;
+ EObject v = (EObject) AdapterFactoryEditingDomain.unwrap(obj);
+ EObject parent = v.eContainer();
+ int index = parent.eContents().indexOf(v);
+ Command command = MoveCommand.create(smooksModelProvider.getEditingDomain(), parent, null, obj,
+ index - 1);
+ smooksModelProvider.getEditingDomain().getCommandStack().execute(command);
+ }
+ }
+
+ });
+ downParamButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ IStructuredSelection selection = (IStructuredSelection) paramViewer.getSelection();
+ if (selection == null)
+ return;
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ParamType) {
+ ParamsType paramsType = getParamsType();
+ if (paramsType == null)
+ return;
+ EObject v = (EObject) AdapterFactoryEditingDomain.unwrap(obj);
+ EObject parent = v.eContainer();
+ int index = parent.eContents().indexOf(v);
+ Command command = MoveCommand.create(smooksModelProvider.getEditingDomain(), parent, null, obj,
+ index + 1);
+ smooksModelProvider.getEditingDomain().getCommandStack().execute(command);
+ }
+ }
+
+ });
+ paramPropertiesButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ openParamPropertiesModifyDialog();
+ super.widgetSelected(e);
+ }
+
+ });
+ }
+
+ protected void openParamPropertiesModifyDialog() {
+ IStructuredSelection selection = (IStructuredSelection) paramViewer.getSelection();
+ if (selection == null)
+ return;
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ParamType) {
+ ParamType param = (ParamType) obj;
+ ParamsType parent = getParamsType();
+ NewOrModifySmooksElementDialog dialog = new NewOrModifySmooksElementDialog(getEditorSite().getShell(),
+ SmooksPackage.Literals.PARAMS_TYPE__PARAM, param, parent, getManagedForm().getToolkit(),
+ smooksModelProvider, SmooksConfigurationOverviewPage.this, true);
+ dialog.open();
+ }
+ }
+
+ private void createSmooksEditorNavigator(Composite mainComposite, FormToolkit toolkit) {
+ Composite mainNavigatorComposite = toolkit.createComposite(mainComposite);
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ gd.verticalSpan = 3;
+ mainNavigatorComposite.setLayoutData(gd);
+
+ GridLayout gl = new GridLayout();
+ gl.numColumns = 2;
+ gl.marginWidth = 0;
+ gl.marginHeight = 0;
+ mainNavigatorComposite.setLayout(gl);
+
+ Section navigator = toolkit.createSection(mainNavigatorComposite, Section.DESCRIPTION | Section.TITLE_BAR);
+ navigator.setText("Smooks Editor Navigator");
+ navigator.setLayout(new FillLayout());
+ Composite navigatorComposite = toolkit.createComposite(navigator);
+ navigator.setClient(navigatorComposite);
+
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.verticalAlignment = GridData.BEGINNING;
+ navigator.setLayoutData(gd);
+
+ navigatorComposite.setLayout(new FormLayout());
+
+ Label label1 = toolkit.createLabel(navigatorComposite, "Define the ");
+ FormData data = new FormData ();
+ data.left = new FormAttachment(label1);
+ Hyperlink defaultSettingLink = toolkit.createHyperlink(navigatorComposite, "default setting", SWT.NONE);
+ defaultSettingLink.setLayoutData(data);
+
+ Label label2 = toolkit.createLabel(navigatorComposite, " and ");
+ data = new FormData ();
+ data.left = new FormAttachment(defaultSettingLink);
+ label2.setLayoutData(data);
+
+ data = new FormData ();
+ data.left = new FormAttachment(label2);
+ Hyperlink paramLink = toolkit.createHyperlink(navigatorComposite, "global paramters", SWT.NONE);
+ paramLink.setLayoutData(data);
+
+ data = new FormData ();
+ data.left = new FormAttachment(paramLink);
+ Label label3 = toolkit.createLabel(navigatorComposite, " at this page.");
+ label3.setLayoutData(data);
+ }
+
+ private EObject getSmooksResourceList() {
+ if (smooksModelProvider != null) {
+ EObject m = null;
+ EObject smooksModel = smooksModelProvider.getSmooksModel();
+ if (smooksModel instanceof org.jboss.tools.smooks10.model.smooks.DocumentRoot) {
+ m = ((org.jboss.tools.smooks10.model.smooks.DocumentRoot) smooksModel).getSmooksResourceList();
+ }
+ if (smooksModel instanceof DocumentRoot) {
+ m = ((DocumentRoot) smooksModel).getSmooksResourceList();
+ }
+ return m;
+ }
+ return null;
+ }
+
+ private void createDefaultSection(Composite parent, FormToolkit toolkit) {
+ ModelPanelCreator creator = new ModelPanelCreator();
+ EObject model = getSmooksResourceList();
+ AdapterFactoryEditingDomain editingDomain = (AdapterFactoryEditingDomain) smooksModelProvider
+ .getEditingDomain();
+ IItemPropertySource itemPropertySource = (IItemPropertySource) editingDomain.getAdapterFactory().adapt(model,
+ IItemPropertySource.class);
+ if (model != null) {
+ creator.createModelPanel(model, toolkit, parent, itemPropertySource, smooksModelProvider, getEditor());
+ }
+
+ }
+
+ public void saveComplete(SmooksGraphicsExtType extType) {
+
+ }
+
+ public void validateEnd(List<Diagnostic> diagnosticResult) {
+
+ }
+
+ public void validateStart() {
+
+ }
+
+ public void sourceChange(Object model) {
+ disposeDefaultSettingCompositeControls();
+ createDefaultSection(defaultSettingComposite, this.getManagedForm().getToolkit());
+ defaultSettingComposite.getParent().layout();
+
+ paramViewer.setInput(getParamsType());
+ conditionViewer.setInput(getConditionsType());
+ }
+
+ protected void disposeCompositeControls(Composite composite, Control[] ignoreControl) {
+ if (composite != null) {
+ Control[] children = composite.getChildren();
+ for (int i = 0; i < children.length; i++) {
+ Control child = children[i];
+ if (ignoreControl != null) {
+ for (int j = 0; j < ignoreControl.length; j++) {
+ if (child == ignoreControl[j]) {
+ continue;
+ }
+ }
+ }
+ child.dispose();
+ child = null;
+ }
+ }
+ }
+
+ private void disposeDefaultSettingCompositeControls() {
+ disposeCompositeControls(defaultSettingComposite, null);
+ }
+
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationOverviewPage.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMasterDetailBlock.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMasterDetailBlock.java 2009-08-05 10:51:10 UTC (rev 16967)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMasterDetailBlock.java 2009-08-05 17:21:47 UTC (rev 16968)
@@ -60,6 +60,7 @@
import org.jboss.tools.smooks.editor.ISmooksModelProvider;
import org.jboss.tools.smooks.model.common.AbstractAnyType;
import org.jboss.tools.smooks.model.smooks.DocumentRoot;
+import org.jboss.tools.smooks.model.smooks.ParamsType;
/**
* @author Dart Peng (dpeng(a)redhat.com)
@@ -401,6 +402,9 @@
public boolean select(Viewer viewer, Object parentElement, Object element) {
Object obj = element;
obj = AdapterFactoryEditingDomain.unwrap(obj);
+ if(obj instanceof ParamsType){
+ return false;
+ }
if (obj instanceof BasicFeatureMapEntry) {
EStructuralFeature sf = ((BasicFeatureMapEntry) obj).getEStructuralFeature();
if (sf.equals(XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__TEXT)
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java 2009-08-05 10:51:10 UTC (rev 16967)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java 2009-08-05 17:21:47 UTC (rev 16968)
@@ -33,6 +33,8 @@
private SmooksGraphicalEditorPart graphicalPage;
+ private SmooksConfigurationOverviewPage overViewPage;
+
/*
* (non-Javadoc)
*
@@ -40,8 +42,19 @@
*/
@Override
protected void addPages() {
+ overViewPage = createSmooksConfigurationOverviewPage();
+ addValidateListener(overViewPage);
+ addSourceSynchronizeListener(overViewPage);
+ try {
+ int index = this.addPage(overViewPage);
+ setPageText(index, "Overview");
+ } catch (PartInitException e) {
+ e.printStackTrace();
+ }
+
configurationPage = createSmooksConfigurationFormPage();
addValidateListener(configurationPage);
+ addSourceSynchronizeListener(configurationPage);
try {
int index = this.addPage(configurationPage);
setPageText(index, "Design");
@@ -49,17 +62,21 @@
e.printStackTrace();
}
-// graphicalPage = new SmooksGraphicalEditorPart(this);
-// try {
-// int index = this.addPage(graphicalPage, getEditorInput());
-// setPageText(index, "Graph");
-// } catch (PartInitException e) {
-// e.printStackTrace();
-// }
+ // graphicalPage = new SmooksGraphicalEditorPart(this);
+ // try {
+ // int index = this.addPage(graphicalPage, getEditorInput());
+ // setPageText(index, "Graph");
+ // } catch (PartInitException e) {
+ // e.printStackTrace();
+ // }
super.addPages();
}
+ private SmooksConfigurationOverviewPage createSmooksConfigurationOverviewPage() {
+ return new SmooksConfigurationOverviewPage(this, "Overview", "Overview", this);
+ }
+
@Override
public void doSave(IProgressMonitor monitor) {
super.doSave(monitor);
@@ -110,6 +127,5 @@
@Override
protected void createNewModelViaTextPage() {
super.createNewModelViaTextPage();
- configurationPage.setSmooksModel(this.smooksModel);
}
}
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-08-05 10:51:10 UTC (rev 16967)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2009-08-05 17:21:47 UTC (rev 16968)
@@ -825,11 +825,11 @@
Object editValue = getEditValue(itemPropertyDescriptor, fm);
if (editValue != null) {
String vt = valueText.getText();
- if (valueText.getText() == null || valueText.getText().length() == 0) {
+ if (vt == null || vt.length() == 0) {
itemPropertyDescriptor.setPropertyValue(fm, null);
} else {
- if (!editValue.equals(valueText.getText())) {
- itemPropertyDescriptor.setPropertyValue(fm, valueText.getText());
+ if (!editValue.equals(vt)) {
+ itemPropertyDescriptor.setPropertyValue(fm, vt);
}
}
} else {
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/AbstractSmooksFormEditor.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/AbstractSmooksFormEditor.java 2009-08-05 10:51:10 UTC (rev 16967)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/AbstractSmooksFormEditor.java 2009-08-05 17:21:47 UTC (rev 16968)
@@ -3,6 +3,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.EventObject;
@@ -86,6 +87,9 @@
public class AbstractSmooksFormEditor extends FormEditor implements IEditingDomainProvider,
ISmooksModelValidateListener , ISmooksModelProvider{
+
+ protected List<ISourceSynchronizeListener> sourceSynchronizeListener = new ArrayList<ISourceSynchronizeListener>();
+
public static final String EDITOR_ID = "org.jboss.tools.smooks.edimap.editors.MultiPageEditor";
protected StructuredTextEditor textEditor = null;
@@ -114,6 +118,14 @@
super();
initEditingDomain();
}
+
+ public void addSourceSynchronizeListener(ISourceSynchronizeListener listener){
+ this.sourceSynchronizeListener.add(listener);
+ }
+
+ public void removeSourceSynchronizeListener(ISourceSynchronizeListener listener){
+ this.sourceSynchronizeListener.remove(listener);
+ }
private void handleCommandStack(BasicCommandStack commandStack) {
commandStack.addCommandStackListener(new CommandStackListener() {
@@ -353,6 +365,10 @@
smooksModel = null;
SmooksConfigurationActivator.getDefault().log(e);
}
+ for (Iterator<?> iterator = this.sourceSynchronizeListener.iterator(); iterator.hasNext();) {
+ ISourceSynchronizeListener l = (ISourceSynchronizeListener) iterator.next();
+ l.sourceChange(smooksModel);
+ }
}
protected void handleDocumentChange() {
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISourceSynchronizeListener.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISourceSynchronizeListener.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISourceSynchronizeListener.java 2009-08-05 17:21:47 UTC (rev 16968)
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * 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.editor;
+
+/**
+ * @author Dart
+ *
+ */
+public interface ISourceSynchronizeListener {
+ public void sourceChange(Object model);
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISourceSynchronizeListener.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
16 years, 4 months
JBoss Tools SVN: r16967 - trunk/jst/plugins/org.jboss.tools.jst.css.
by jbosstools-commits@lists.jboss.org
Author: mareshkau
Date: 2009-08-05 06:51:10 -0400 (Wed, 05 Aug 2009)
New Revision: 16967
Modified:
trunk/jst/plugins/org.jboss.tools.jst.css/plugin.properties
Log:
https://jira.jboss.org/jira/browse/JBIDE-3445
Modified: trunk/jst/plugins/org.jboss.tools.jst.css/plugin.properties
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.css/plugin.properties 2009-08-04 22:00:24 UTC (rev 16966)
+++ trunk/jst/plugins/org.jboss.tools.jst.css/plugin.properties 2009-08-05 10:51:10 UTC (rev 16967)
@@ -5,5 +5,5 @@
css.tabs.boxes.label=Boxes
css.tabs.property.label=Property Sheet
css.tabs.quickEdit.label=Edited Properties
-css.editor_name=JBoss CSS Properties View
-css.preview_name=JBoss CSS Preview View
\ No newline at end of file
+css.editor_name=CSS Properties
+css.preview_name=CSS Preview
\ No newline at end of file
16 years, 4 months
JBoss Tools SVN: r16966 - in trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core: src/org/jboss/ide/eclipse/as/wtp/override/core/modules and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2009-08-04 18:00:24 -0400 (Tue, 04 Aug 2009)
New Revision: 16966
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/JBTProjectModuleFactory.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/META-INF/MANIFEST.MF
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/JBTProjectModuleDelegate.java
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualArchiveComponent.java
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualComponent.java
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualFolder.java
Log:
Working on superclasses for JBIDE-4320
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/META-INF/MANIFEST.MF 2009-08-04 21:15:39 UTC (rev 16965)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/META-INF/MANIFEST.MF 2009-08-04 22:00:24 UTC (rev 16966)
@@ -14,7 +14,8 @@
org.eclipse.jst.j2ee.core;bundle-version="1.1.300",
org.eclipse.jst.j2ee;bundle-version="1.1.300",
org.eclipse.wst.common.project.facet.core;bundle-version="1.4.0",
- org.eclipse.jem.util;bundle-version="2.0.200"
+ org.eclipse.jem.util;bundle-version="2.0.200",
+ org.eclipse.wst.web;bundle-version="1.1.300"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: org.jboss.ide.eclipse.as.wtp.override.core.modules,
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/JBTProjectModuleDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/JBTProjectModuleDelegate.java 2009-08-04 21:15:39 UTC (rev 16965)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/JBTProjectModuleDelegate.java 2009-08-04 22:00:24 UTC (rev 16966)
@@ -1,62 +1,100 @@
package org.jboss.ide.eclipse.as.wtp.override.core.modules;
-import java.util.ArrayList;
-
import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jst.j2ee.internal.deployables.J2EEDeployableFactory;
+import org.eclipse.wst.common.componentcore.ArtifactEdit;
import org.eclipse.wst.common.componentcore.ComponentCore;
import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
+import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.model.IModuleResource;
-import org.eclipse.wst.server.core.util.ModuleFile;
-import org.eclipse.wst.server.core.util.ModuleFolder;
-import org.eclipse.wst.server.core.util.ProjectModule;
+import org.eclipse.wst.server.core.ServerUtil;
+import org.eclipse.wst.web.internal.deployables.ComponentDeployable;
+import org.jboss.ide.eclipse.as.wtp.override.core.vcf.JBTVirtualArchiveComponent;
-public class JBTProjectModuleDelegate extends ProjectModule {
- public JBTProjectModuleDelegate() {
- super();
- }
+public abstract class JBTProjectModuleDelegate extends ComponentDeployable implements IJBTModule {
+
public JBTProjectModuleDelegate(IProject project) {
- super(project);
+ this(project,ComponentCore.createComponent(project));
}
- @Override
- public IModule[] getChildModules() {
- return null;
+ public JBTProjectModuleDelegate(IProject project, IVirtualComponent aComponent) {
+ super(project, aComponent);
}
+
+ /*
+ * This method is meant to be overridden by subclasses. Return whether or not to add this file
+ * to the members list. If it should be filtered out, or if it will be returned as a child
+ * module instead, return false. Otherwise return true.
+ *
+ * @param file
+ * @return boolean should add file?
+ */
+ protected boolean shouldAddComponentFile(IFile file) {
+ return true;
+ }
- public IModuleResource[] members() throws CoreException {
- IProject project = getProject();
- final IVirtualComponent c = ComponentCore.createComponent(project);
- IVirtualFolder vf = c.getRootFolder();
- IModuleResource[] children = getResources(vf);
- return children;
+ /**
+ * If you will need to check any xml artifacts to verify whether a file should
+ * be added as a child module or a member, return that artifact here
+ */
+ protected ArtifactEdit getComponentArtifactEditForRead() {
+ return null;
}
+
+ /*
+ * Should we meld the jar / external jar / var reference in with the members() IModuleResource objects.
+ * If yes, the reference will appear like any other file.
+ * If no, you are expected to handle this file as a child module and expose it yourself
+ */
+ protected boolean shouldIncludeUtilityComponent(IVirtualComponent virtualComp, IVirtualReference[] components, ArtifactEdit edit) {
+ // superclass just checks to make sure it's a binary component
+ return super.shouldIncludeUtilityComponent(virtualComp, components, edit);
+ }
- protected IModuleResource[] getResources(IVirtualFolder parent) {
- ArrayList<IModuleResource> members = new ArrayList<IModuleResource>();
- IVirtualResource[] resources = new IVirtualResource[]{};
- try {
- resources = parent.members();
- } catch( CoreException ce ) {}
- for( int i = 0; i < resources.length; i++ ) {
- if( resources[i].getType() == IVirtualResource.FILE) {
- IFile f = (IFile)resources[i].getUnderlyingResource();
- ModuleFile mf = new ModuleFile(f, f.getName(), resources[i].getRuntimePath().removeLastSegments(1));
- members.add(mf);
- } else if( resources[i].getType() == IVirtualResource.FOLDER){
- IFolder folder = (IFolder)resources[i].getUnderlyingResource();
- ModuleFolder mf = new ModuleFolder(folder, folder.getName(), resources[i].getRuntimePath().removeLastSegments(1));
- IModuleResource[] children = getResources((IVirtualFolder)resources[i]);
- mf.setMembers(children);
- members.add(mf);
+ /*
+ * If you have an IVirtualReference which should *not* be included as a utility component,
+ * you should return an IModule for that object here. Excerpt is from J2EEFlexProjDeployable
+ */
+ protected IModule gatherModuleReference(IVirtualComponent component, IVirtualComponent targetComponent ) {
+ IModule module = super.gatherModuleReference(component, targetComponent);
+ // Handle binary module components
+ if (targetComponent instanceof JBTVirtualArchiveComponent) {
+ module = ServerUtil.getModule(getFactoryId()+":"+targetComponent.getName()); //$NON-NLS-1$
+ }
+ return module;
+ }
+
+ protected abstract String getFactoryId();
+
+ public String getURI(IModule child) {
+ if( component != null && child != null ) {
+ IVirtualReference[] components = getReferences(component);
+ for (int i = 0; i < components.length; i++) {
+ IVirtualReference reference = components[i];
+ if (reference != null && reference.getDependencyType()==IVirtualReference.DEPENDENCY_TYPE_USES) {
+ IVirtualComponent virtualComp = reference.getReferencedComponent();
+ IModule module = gatherModuleReference(component, virtualComp);
+ if( child.equals(module)) {
+ if( !virtualComp.isBinary()) {
+ IPath path = reference.getRuntimePath();
+ return path.append(reference.getArchiveName()).toString();
+ } else if( virtualComp instanceof JBTVirtualArchiveComponent ){
+ JBTVirtualArchiveComponent moduleVirtualArchiveComponent = (JBTVirtualArchiveComponent)virtualComp;
+ IPath moduleDeployPath = moduleVirtualArchiveComponent.getDeploymentPath();
+ String moduleName = new Path(moduleVirtualArchiveComponent.getName()).lastSegment();
+ if (moduleName.equals(moduleDeployPath.lastSegment())){
+ return moduleDeployPath.toString();
+ }
+ return moduleDeployPath.append(moduleName).toString();
+ }
+ }
+ }
}
}
- return (IModuleResource[]) members
- .toArray(new IModuleResource[members.size()]);
+ return child.getName();
}
+
}
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/JBTProjectModuleFactory.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/JBTProjectModuleFactory.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/JBTProjectModuleFactory.java 2009-08-04 22:00:24 UTC (rev 16966)
@@ -0,0 +1,85 @@
+package org.jboss.ide.eclipse.as.wtp.override.core.modules;
+
+import java.util.HashMap;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.internal.ModuleFactory;
+import org.eclipse.wst.server.core.internal.ServerPlugin;
+import org.eclipse.wst.server.core.model.ModuleDelegate;
+import org.eclipse.wst.server.core.model.ModuleFactoryDelegate;
+import org.eclipse.wst.server.core.util.ProjectModuleFactoryDelegate;
+import org.jboss.ide.eclipse.as.wtp.override.core.Activator;
+
+public abstract class JBTProjectModuleFactory extends ProjectModuleFactoryDelegate {
+ public static JBTProjectModuleFactory getFactory(String id) {
+ ModuleFactory[] factories = ServerPlugin.getModuleFactories();
+ for (int i = 0; i < factories.length; i++) {
+ if (factories[i].getId().equals(id)) {
+ ModuleFactoryDelegate o = factories[i]
+ .getDelegate(new NullProgressMonitor());
+ return (JBTProjectModuleFactory)o;
+ }
+ }
+ return null;
+ }
+
+
+ protected HashMap<IModule, JBTProjectModuleDelegate> moduleToDelegate;
+ protected String moduleType;
+ protected String facetType;
+ public JBTProjectModuleFactory(String moduleType, String facetType) {
+ moduleToDelegate = new HashMap<IModule, JBTProjectModuleDelegate>();
+ this.moduleType = moduleType;
+ this.facetType = facetType;
+ }
+
+ @Override
+ protected void clearCache(IProject project) {
+ super.clearCache(project);
+ moduleToDelegate.remove(project);
+ }
+
+ @Override
+ public ModuleDelegate getModuleDelegate(IModule module) {
+ return moduleToDelegate.get(module);
+ }
+
+ protected IModule[] createModules(IProject project) {
+ IFacetedProject facetProject;
+ try {
+ facetProject = ProjectFacetsManager.create(project);
+ if (facetProject == null) {
+ return null;
+ }
+ IProjectFacet facet = ProjectFacetsManager
+ .getProjectFacet(facetType);
+
+ if (facetProject.hasProjectFacet(facet)) {
+ IProjectFacetVersion version = facetProject.getProjectFacetVersion(facet);
+ IModule module = createModule(
+ moduleType + "." + project.getName(),
+ project.getName(),
+ moduleType,
+ version.getVersionString(),
+ project);
+ moduleToDelegate.put(module, createDelegate(project));
+
+ // TODO - create children!!! see JEEDeployableFactory
+ return new IModule[] { module };
+ }
+ } catch (CoreException e) {
+ Activator.getDefault().getLog().log(e.getStatus());
+ }
+ return null;
+ }
+
+ protected abstract JBTProjectModuleDelegate createDelegate(IProject project);
+
+}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualArchiveComponent.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualArchiveComponent.java 2009-08-04 21:15:39 UTC (rev 16965)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualArchiveComponent.java 2009-08-04 22:00:24 UTC (rev 16966)
@@ -3,13 +3,22 @@
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualArchiveComponent;
+import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
public class JBTVirtualArchiveComponent
- extends J2EEModuleVirtualArchiveComponent implements IJBTComponent {
+ extends VirtualArchiveComponent implements IJBTComponent {
+ private IPath deploymentPath;
public JBTVirtualArchiveComponent(IProject aComponentProject,
String archiveLocation, IPath aRuntimePath) {
super(aComponentProject, archiveLocation, aRuntimePath);
}
+ public IPath getDeploymentPath() {
+ return deploymentPath;
+ }
+ public void setDeploymentPath(IPath path) {
+ this.deploymentPath = path;
+ }
+
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualComponent.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualComponent.java 2009-08-04 21:15:39 UTC (rev 16965)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualComponent.java 2009-08-04 22:00:24 UTC (rev 16966)
@@ -66,25 +66,10 @@
IVirtualReference[] cached = getCachedReferences();
if (cached != null)
return cached;
- List<IVirtualReference> hardReferences = getHardReferences(this);
- if( exposesLooseReferences()) {
- List dynamicReferences = getLooseArchiveReferences(this, hardReferences);
- if (dynamicReferences != null) {
- hardReferences.addAll(dynamicReferences);
- }
- }
- cachedReferences = (IVirtualReference[]) hardReferences.toArray(new IVirtualReference[hardReferences.size()]);
+ cachedReferences = getHardReferences(this);
return cachedReferences;
}
-
- protected boolean exposesLooseReferences() {
- return false;
- }
- protected boolean isDynamicComponent(IVirtualFile file) {
- return false;
- }
-
// Returns cache if still valid or null
public IVirtualReference[] getCachedReferences() {
if (cachedReferences != null && checkIfStillValid())
@@ -98,7 +83,7 @@
return DependencyGraphManager.getInstance().checkIfStillValid(depGraphModStamp);
}
- private static List<IVirtualReference> getHardReferences(IVirtualComponent earComponent) {
+ private static IVirtualReference[] getHardReferences(IVirtualComponent earComponent) {
StructureEdit core = null;
List hardReferences = new ArrayList();
try {
@@ -127,7 +112,7 @@
if (core != null)
core.dispose();
}
- return hardReferences;
+ return (IVirtualReference[]) hardReferences.toArray(new IVirtualReference[hardReferences.size()]);
}
protected static String getArchiveName(IVirtualComponent referencedIVirtualComponent, ReferencedComponent referencedComponent) {
@@ -199,6 +184,7 @@
}
return uri;
}
+ /*
private static List getLooseArchiveReferences(JBTVirtualComponent component, List hardReferences) {
return getLooseArchiveReferences(component, hardReferences, null, (EARVirtualRootFolder)component.getRootFolder());
@@ -207,7 +193,7 @@
private static List getLooseArchiveReferences(JBTVirtualComponent component, List hardReferences, List dynamicReferences, EARVirtualRootFolder folder) {
return null;
}
-
+*/
// Potentially to be overridden (awesome?)
protected static IVirtualReference createVirtualReference(IVirtualComponent context, ReferencedComponent referencedComponent) {
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualFolder.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualFolder.java 2009-08-04 21:15:39 UTC (rev 16965)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualFolder.java 2009-08-04 22:00:24 UTC (rev 16966)
@@ -1,17 +1,16 @@
package org.jboss.ide.eclipse.as.wtp.override.core.vcf;
-import java.util.ArrayList;
-import java.util.List;
-
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.jst.j2ee.internal.common.classpath.J2EEComponentClasspathUpdater;
import org.eclipse.wst.common.componentcore.internal.resources.VirtualFolder;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
+/**
+ * Currently does nothing at all, which is awesome.
+ * Virtual components in jbt should be super dumb.
+ * Stick with the model damnit.
+ * @author rob
+ *
+ */
public class JBTVirtualFolder extends VirtualFolder {
private JBTVirtualComponent component;
public JBTVirtualFolder(IProject aComponentProject,
@@ -19,44 +18,4 @@
super(aComponentProject, aRuntimePath);
this.component = component;
}
-
- public IVirtualResource[] superMembers() throws CoreException {
- return superMembers(IResource.NONE);
- }
-
- public IVirtualResource[] superMembers(int memberFlags) throws CoreException {
- return super.members(memberFlags);
- }
-
- public boolean isDynamicComponent(IVirtualFile vFile){
- return component.isDynamicComponent(vFile);
- }
-
- /**
- * For now, just rip out files with .jar, .rar, or .war file extensions, because these are
- * the only files automatically added dyamically
- */
- public IVirtualResource[] members(int memberFlags) throws CoreException {
- // If this component doesn't expose loose refs, just give normal answer
- if( !component.exposesLooseReferences() ) {
- return superMembers(memberFlags);
- }
-
- IVirtualResource[] members = superMembers(memberFlags);
- List virtualResources = new ArrayList();
- boolean shouldAdd = true;
- for (int i = 0; i < members.length; i++) {
- shouldAdd = true;
- if (IVirtualResource.FILE == members[i].getType()) {
- if(isDynamicComponent((IVirtualFile)members[i])){
- shouldAdd = false;
- }
- }
- if (shouldAdd) {
- virtualResources.add(members[i]);
- }
- }
- return (IVirtualResource[]) virtualResources
- .toArray(new IVirtualResource[virtualResources.size()]);
- }
}
16 years, 4 months
JBoss Tools SVN: r16965 - in trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test: .settings and 4 other directories.
by jbosstools-commits@lists.jboss.org
Author: vrubezhny
Date: 2009-08-04 17:15:39 -0400 (Tue, 04 Aug 2009)
New Revision: 16965
Added:
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/.settings/
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/.settings/org.eclipse.wst.common.component
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/WebContent/WEB-INF/
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/WebContent/WEB-INF/lib/
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/WebContent/WEB-INF/lib/jsf-tlds.jar
Modified:
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/.classpath
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/.project
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/WebContent/pages/greeting.xhtml
Log:
JBIDE-4660: Update and correct the CA-related JUnit tests after the new-style CA is applied.
Test project data for JsfJspJbide1641Test JUnit Test suite is updated to suite the new-style CA requirements
Modified: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/.classpath
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/.classpath 2009-08-04 20:18:54 UTC (rev 16964)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/.classpath 2009-08-04 21:15:39 UTC (rev 16965)
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="JavaSource"/>
- <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
- <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry exported="true" kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
+ <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
</classpath>
Modified: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/.project
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/.project 2009-08-04 20:18:54 UTC (rev 16964)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/.project 2009-08-04 21:15:39 UTC (rev 16965)
@@ -1,25 +1,48 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>JsfJbide1641Test</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.wst.common.project.facet.core.builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
- <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>JsfJbide1641Test</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.jboss.tools.common.verification.verifybuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.jboss.tools.jst.web.kb.kbbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+ <nature>org.jboss.tools.jsf.jsfnature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+ <nature>org.jboss.tools.jst.web.kb.kbnature</nature>
+ </natures>
+</projectDescription>
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/.settings/org.eclipse.wst.common.component
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/.settings/org.eclipse.wst.common.component (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/.settings/org.eclipse.wst.common.component 2009-08-04 21:15:39 UTC (rev 16965)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-modules id="moduleCoreId" project-version="1.5.0">
+<wb-module deploy-name="JsfJbide1641Test">
+<wb-resource deploy-path="/" source-path="/WebContent"/>
+<wb-resource deploy-path="/WEB-INF/classes" source-path="/JavaSource"/>
+<property name="context-root" value="JsfJbide1641Test"/>
+<property name="java-output-path"/>
+</wb-module>
+</project-modules>
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/WebContent/WEB-INF/lib/jsf-tlds.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/WebContent/WEB-INF/lib/jsf-tlds.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/WebContent/pages/greeting.xhtml
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/WebContent/pages/greeting.xhtml 2009-08-04 20:18:54 UTC (rev 16964)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1641Test/WebContent/pages/greeting.xhtml 2009-08-04 21:15:39 UTC (rev 16965)
@@ -5,10 +5,9 @@
xmlns:f="http://java.sun.com/jsf/core">
<f:loadBundle basename="resources" var="msg" />
-
- <ui:composition template="/templates/common.xhtml">
+ <h:commandButton a><ui:composition template="/templates/common.xhtml">
<ui:define name="pageTitle">Greeting to User</ui:define>
- <ui:define name="pageHeader">Facelets Greeting Page</ui:define>
+ <ui:define name="pageHeader">Greeting Page</ui:define>
<ui:define name="body">
#{msg.greeting} #{person.name}!
</ui:define>
16 years, 4 months
JBoss Tools SVN: r16964 - in trunk/maven/plugins/org.jboss.tools.maven.core: poms and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: snjeza
Date: 2009-08-04 16:18:54 -0400 (Tue, 04 Aug 2009)
New Revision: 16964
Added:
trunk/maven/plugins/org.jboss.tools.maven.core/poms/hibernate332-template.xml
Modified:
trunk/maven/plugins/org.jboss.tools.maven.core/plugin.xml
Log:
https://jira.jboss.org/jira/browse/JBIDE-4688 Add Maven JPA library provider
Modified: trunk/maven/plugins/org.jboss.tools.maven.core/plugin.xml
===================================================================
--- trunk/maven/plugins/org.jboss.tools.maven.core/plugin.xml 2009-08-04 16:04:14 UTC (rev 16963)
+++ trunk/maven/plugins/org.jboss.tools.maven.core/plugin.xml 2009-08-04 20:18:54 UTC (rev 16964)
@@ -99,4 +99,24 @@
</provider>
</extension>
+ <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
+ <provider id="hibernate332-maven-library-provider" extends="maven-library-provider">
+ <label>Hibernate 3.3.2 Libraries</label>
+ <param name="template" value="platform:/plugin/org.jboss.tools.maven.core/poms/hibernate332-template.xml"/>
+ <enablement>
+ <and>
+ <with variable="projectFacets">
+ <test property="org.jboss.tools.maven.core.projectFacets" value="jpt.jpa,jboss.m2" forcePluginActivation="true"/>
+ </with>
+ <with variable="requestingProjectFacet">
+ <test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa:1.0" forcePluginActivation="true"/>
+ </with>
+ <with variable="jpaPlatform">
+ <equals value="hibernate"/>
+ </with>
+ </and>
+ </enablement>
+ </provider>
+ </extension>
+
</plugin>
Added: trunk/maven/plugins/org.jboss.tools.maven.core/poms/hibernate332-template.xml
===================================================================
--- trunk/maven/plugins/org.jboss.tools.maven.core/poms/hibernate332-template.xml (rev 0)
+++ trunk/maven/plugins/org.jboss.tools.maven.core/poms/hibernate332-template.xml 2009-08-04 20:18:54 UTC (rev 16964)
@@ -0,0 +1,113 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>template</groupId>
+ <artifactId>template</artifactId>
+ <packaging>pom</packaging>
+ <version>0.0.1-SNAPSHOT</version>
+
+ <repositories>
+ <repository>
+ <id>repository.jboss.org</id>
+ <name>JBoss Repository</name>
+ <url>http://repository.jboss.org/maven2</url>
+ </repository>
+ <repository>
+ <snapshots />
+ <id>snapshots.jboss.org</id>
+ <name>JBoss Snapshot Repository</name>
+ <url>http://snapshots.jboss.org/maven2</url>
+ </repository>
+ </repositories>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-core</artifactId>
+ <version>3.3.2.GA</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.ehcache</groupId>
+ <artifactId>ehcache</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-annotations</artifactId>
+ <version>3.4.0.GA</version>
+ <exclusions>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>ejb3-persistence</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
+ <version>3.4.0.GA</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>ejb3-persistence</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>javassist</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-validator</artifactId>
+ <version>3.1.0.GA</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-search</artifactId>
+ <version>3.1.1.GA</version>
+ </dependency>
+
+ </dependencies>
+
+</project>
\ No newline at end of file
16 years, 4 months
JBoss Tools SVN: r16963 - in trunk/jst/tests/org.jboss.tools.jst.jsp.test: projects/CAForELinStyleTest and 9 other directories.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-08-04 12:04:14 -0400 (Tue, 04 Aug 2009)
New Revision: 16963
Added:
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.classpath
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.project
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.jdt.core.prefs
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.jst.common.project.facet.core.prefs
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.wst.common.component
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.wst.common.project.facet.core.xml
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/JavaSource/
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/JavaSource/demo/
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/JavaSource/demo/Person.java
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/faces-config.xml
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/common-annotations.jar
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/commons-beanutils.jar
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/commons-collections.jar
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/commons-digester.jar
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/commons-logging.jar
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/jsf-facelets.jar
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/jsf-tlds.jar
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/jstl.jar
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/standard.jar
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/web.xml
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/pages/
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/pages/greeting.xhtml
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/pages/inputname.xhtml
trunk/jst/tests/org.jboss.tools.jst.jsp.test/src/org/jboss/tools/jst/jsp/test/ca/CAForELinStyleTest.java
Modified:
trunk/jst/tests/org.jboss.tools.jst.jsp.test/src/org/jboss/tools/jst/jsp/test/JstJspAllTests.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-3750
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.classpath
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.classpath (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.classpath 2009-08-04 16:04:14 UTC (rev 16963)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="JavaSource"/>
+ <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
+ <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
+</classpath>
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.classpath
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.project
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.project (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.project 2009-08-04 16:04:14 UTC (rev 16963)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>CAForELinStyleTest</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+ <nature>org.jboss.tools.jsf.jsfnature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ </natures>
+</projectDescription>
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.project
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.jdt.core.prefs 2009-08-04 16:04:14 UTC (rev 16963)
@@ -0,0 +1,7 @@
+#Wed Jan 30 17:08:49 MSK 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.jdt.core.prefs
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.jst.common.project.facet.core.prefs
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.jst.common.project.facet.core.prefs (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.jst.common.project.facet.core.prefs 2009-08-04 16:04:14 UTC (rev 16963)
@@ -0,0 +1,4 @@
+#Wed Jan 30 17:08:50 MSK 2008
+classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER\:\:org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType\:\:jdk1.5.0_07/owners=jst.java\:5.0
+classpath.helper/org.jboss.ide.eclipse.as.classpath.core.runtime.ProjectRuntimeInitializer\:\:JBoss\ 4.2\ Runtime/owners=jst.web\:2.4
+eclipse.preferences.version=1
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.jst.common.project.facet.core.prefs
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.wst.common.component
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.wst.common.component (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.wst.common.component 2009-08-04 16:04:14 UTC (rev 16963)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-modules id="moduleCoreId" project-version="1.5.0">
+<wb-module deploy-name="JsfJbide1704Test">
+<wb-resource deploy-path="/" source-path="/WebContent"/>
+<wb-resource deploy-path="/WEB-INF/classes" source-path="/JavaSource"/>
+<property name="context-root" value="JsfJbide1704Test"/>
+<property name="java-output-path" value="build/classes"/>
+</wb-module>
+</project-modules>
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.wst.common.project.facet.core.xml
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.wst.common.project.facet.core.xml (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.wst.common.project.facet.core.xml 2009-08-04 16:04:14 UTC (rev 16963)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+ <runtime name="JBoss 4.2 Runtime"/>
+ <fixed facet="jst.java"/>
+ <fixed facet="jst.web"/>
+ <installed facet="jst.java" version="5.0"/>
+ <installed facet="jst.web" version="2.4"/>
+</faceted-project>
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/.settings/org.eclipse.wst.common.project.facet.core.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/JavaSource/demo/Person.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/JavaSource/demo/Person.java (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/JavaSource/demo/Person.java 2009-08-04 16:04:14 UTC (rev 16963)
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and 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:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package demo;
+
+/**
+ * Created by JBoss Tools
+ */
+public class Person {
+ private String name;
+
+ public Person() {
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+}
\ No newline at end of file
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/JavaSource/demo/Person.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/faces-config.xml
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/faces-config.xml (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/faces-config.xml 2009-08-04 16:04:14 UTC (rev 16963)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
+ <managed-bean>
+ <managed-bean-name>person</managed-bean-name>
+ <managed-bean-class>demo.Person</managed-bean-class>
+ <managed-bean-scope>request</managed-bean-scope>
+ <managed-property>
+ <property-name>name</property-name>
+ <value/>
+ </managed-property>
+ </managed-bean>
+ <navigation-rule>
+ <from-view-id>/pages/inputname.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>greeting</from-outcome>
+ <to-view-id>/pages/greeting.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <application>
+ <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
+ <locale-config/>
+ </application>
+ <factory/>
+ <lifecycle/>
+</faces-config>
\ No newline at end of file
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/faces-config.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/common-annotations.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/common-annotations.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/commons-beanutils.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/commons-beanutils.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/commons-collections.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/commons-collections.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/commons-digester.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/commons-digester.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/commons-logging.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/commons-logging.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/jsf-facelets.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/jsf-facelets.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/jsf-tlds.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/jsf-tlds.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/jstl.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/jstl.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/standard.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/lib/standard.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/web.xml
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/web.xml (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/web.xml 2009-08-04 16:04:14 UTC (rev 16963)
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+ <description>Facelets StarterKit</description>
+ <display-name>facelet</display-name>
+ <context-param>
+ <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+ <param-value>.xhtml</param-value>
+ </context-param>
+ <context-param>
+ <param-name>facelets.REFRESH_PERIOD</param-name>
+ <param-value>2</param-value>
+ </context-param>
+ <context-param>
+ <param-name>facelets.DEVELOPMENT</param-name>
+ <param-value>true</param-value>
+ </context-param>
+ <context-param>
+ <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
+ <param-value>client</param-value>
+ </context-param>
+ <context-param>
+ <param-name>com.sun.faces.validateXml</param-name>
+ <param-value>true</param-value>
+ </context-param>
+ <context-param>
+ <param-name>com.sun.faces.verifyObjects</param-name>
+ <param-value>true</param-value>
+ </context-param>
+ <servlet>
+ <servlet-name>Faces Servlet</servlet-name>
+ <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>Faces Servlet</servlet-name>
+ <url-pattern>*.jsf</url-pattern>
+ </servlet-mapping>
+ <login-config>
+ <auth-method>BASIC</auth-method>
+ </login-config>
+</web-app>
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/WEB-INF/web.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/pages/greeting.xhtml
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/pages/greeting.xhtml (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/pages/greeting.xhtml 2009-08-04 16:04:14 UTC (rev 16963)
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core">
+<head>
+<style type="text/css">#{person.name}
+input[type="button"], input[type="submit"] {
+background-color:#{};
+}
+</style>
+</head>
+ <f:loadBundle basename="resources" var="msg" />
+ <h:outputText value="AnyValue" style="color:#{}" />
+ <ui:composition template="/templates/common.xhtml">
+ <ui:define name="pageTitle">Greeting to User</ui:define>
+ <ui:define name="pageHeader">Greeting Page</ui:define>
+ <ui:define name="body">
+ #{msg.greeting} #{person.name}!
+ </ui:define>
+ </ui:composition>
+</html>
\ No newline at end of file
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/pages/greeting.xhtml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/pages/inputname.xhtml
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/pages/inputname.xhtml (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/pages/inputname.xhtml 2009-08-04 16:04:14 UTC (rev 16963)
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:c="http://java.sun.com/jstl/core">
+
+ <f:loadBundle basename="resources" var="msg" />
+
+ <ui:composition template="/templates/common.xhtml">
+
+ <ui:define name="pageTitle">Input User Name</ui:define>
+
+ <ui:define name="pageHeader">Facelets Hello Application</ui:define>
+
+ <ui:define name="body">
+ <h:message showSummary="true" showDetail="false" style="color: red; font-weight: bold;" for="name" />
+ <form jsfc="h:form" id="helloForm">
+ ${msg.prompt}
+ <input label="Name" jsfc="h:inputText" required="true" id="name" value="#{person.name}" />
+ <input type="submit" jsfc="h:commandButton" id="submit"
+ action="greeting" value="Say Hello" />
+ </form>
+
+ </ui:define>
+ </ui:composition>
+</html>
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/CAForELinStyleTest/WebContent/pages/inputname.xhtml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/jst/tests/org.jboss.tools.jst.jsp.test/src/org/jboss/tools/jst/jsp/test/JstJspAllTests.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/src/org/jboss/tools/jst/jsp/test/JstJspAllTests.java 2009-08-04 15:56:51 UTC (rev 16962)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/src/org/jboss/tools/jst/jsp/test/JstJspAllTests.java 2009-08-04 16:04:14 UTC (rev 16963)
@@ -3,6 +3,7 @@
import junit.framework.Test;
import junit.framework.TestSuite;
+import org.jboss.tools.jst.jsp.test.ca.CAForELinStyleTest;
import org.jboss.tools.jst.jsp.test.ca.Jbide1791Test;
import org.jboss.tools.jst.jsp.test.ca.JsfJspJbide1704Test;
import org.jboss.tools.jst.jsp.test.ca.JsfJspJbide1717Test;
@@ -32,6 +33,7 @@
suite.addTestSuite(JsfJspJbide2437Test.class);
suite.addTestSuite(JspPreferencesPageTest.class);
suite.addTestSuite(JsfJspJbide2016Test.class);
+ suite.addTestSuite(CAForELinStyleTest.class);
return suite;
}
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/src/org/jboss/tools/jst/jsp/test/ca/CAForELinStyleTest.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/src/org/jboss/tools/jst/jsp/test/ca/CAForELinStyleTest.java (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/src/org/jboss/tools/jst/jsp/test/ca/CAForELinStyleTest.java 2009-08-04 16:04:14 UTC (rev 16963)
@@ -0,0 +1,29 @@
+package org.jboss.tools.jst.jsp.test.ca;
+
+import org.jboss.tools.common.test.util.TestProjectProvider;
+
+public class CAForELinStyleTest extends ContentAssistantTestCase{
+ TestProjectProvider provider = null;
+ boolean makeCopy = false;
+ private static final String PROJECT_NAME = "CAForELinStyleTest";
+ private static final String PAGE_NAME = "/WebContent/pages/greeting.xhtml";
+
+ public void setUp() throws Exception {
+ provider = new TestProjectProvider("org.jboss.tools.jst.jsp.test", null, PROJECT_NAME, makeCopy);
+ project = provider.getProject();
+ }
+
+ protected void tearDown() throws Exception {
+ if(provider != null) {
+ provider.dispose();
+ }
+ }
+
+ public void testCAForELinStyleTest(){
+ String[] proposals = {
+ "person",
+ };
+
+ checkProposals(PAGE_NAME, "background-color:#{}", 19, proposals, false);
+ }
+}
\ No newline at end of file
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/src/org/jboss/tools/jst/jsp/test/ca/CAForELinStyleTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
16 years, 4 months
JBoss Tools SVN: r16962 - in trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks: configuration/editors/uitls and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: DartPeng
Date: 2009-08-04 11:56:51 -0400 (Tue, 04 Aug 2009)
New Revision: 16962
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/wizards/NewSmooksElementWizard.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/wizards/NewSmooksElementWizardPage.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksActionBarContributor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMasterDetailBlock.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/graphical/editors/SmooksGraphicalEditorPart.java
Log:
JBIDE-47000
done
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksActionBarContributor.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksActionBarContributor.java 2009-08-04 15:35:12 UTC (rev 16961)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksActionBarContributor.java 2009-08-04 15:56:51 UTC (rev 16962)
@@ -507,6 +507,7 @@
* @generated
*/
protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) {
+// return SmooksUIUtils.generateCreateChildActions(activeEditorPart, descriptors, selection);
Collection<IAction> actions = new ArrayList<IAction>();
// if (selection != null && selection.isEmpty() && descriptors != null)
// {
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMasterDetailBlock.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMasterDetailBlock.java 2009-08-04 15:35:12 UTC (rev 16961)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMasterDetailBlock.java 2009-08-04 15:56:51 UTC (rev 16962)
@@ -37,6 +37,7 @@
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
+import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
@@ -55,8 +56,10 @@
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.Section;
import org.jboss.tools.smooks.configuration.SmooksConfigurationActivator;
+import org.jboss.tools.smooks.configuration.wizards.NewSmooksElementWizard;
import org.jboss.tools.smooks.editor.ISmooksModelProvider;
import org.jboss.tools.smooks.model.common.AbstractAnyType;
+import org.jboss.tools.smooks.model.smooks.DocumentRoot;
/**
* @author Dart Peng (dpeng(a)redhat.com)
@@ -184,6 +187,7 @@
}
}, SmooksConfigurationActivator.getDefault().getWorkbench().getDecoratorManager().getLabelDecorator()));
+
smooksTreeViewer.setComparer(new IElementComparer() {
/*
@@ -216,7 +220,7 @@
smooksTreeViewer.setFilters(new ViewerFilter[] { new TextEObjectModelFilter() });
Object smooksModel = ((ISmooksModelProvider) this.formEditor).getSmooksModel();
if (smooksModel != null) {
- smooksTreeViewer.setInput(smooksModel);
+ setTreeViewerModel(smooksModel);
}
createMenuForViewer(smooksTreeViewer);
formEditor.getSite().setSelectionProvider(smooksTreeViewer);
@@ -240,30 +244,66 @@
GridLayout buttonLayout = new GridLayout();
buttonComposite.setLayout(buttonLayout);
- addButton = tool.createButton(buttonComposite, "New", SWT.NONE);
+ addButton = tool.createButton(buttonComposite, "Add...", SWT.NONE);
gd = new GridData(GridData.FILL_HORIZONTAL);
addButton.setLayoutData(gd);
removeButton = tool.createButton(buttonComposite, "Remove", SWT.NONE);
gd = new GridData(GridData.FILL_HORIZONTAL);
removeButton.setLayoutData(gd);
+
+ Composite sc= tool.createComposite(buttonComposite);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.heightHint = 40;
+ sc.setLayoutData(gd);
upButton = tool.createButton(buttonComposite, "Up", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
upButton.setLayoutData(gd);
downButton = tool.createButton(buttonComposite, "Down", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
downButton.setLayoutData(gd);
// don't display button area
gd = new GridData(GridData.FILL_VERTICAL);
- gd.widthHint = 0;
+ gd.widthHint = 70;
buttonComposite.setLayoutData(gd);
- buttonComposite.setVisible(false);
+ // buttonComposite.setVisible(false);
hookButtons();
}
+ private void setTreeViewerModel(Object smooksModel) {
+ boolean seted = false;
+ if (smooksModel instanceof org.jboss.tools.smooks10.model.smooks.DocumentRoot) {
+ smooksTreeViewer.setInput(((org.jboss.tools.smooks10.model.smooks.DocumentRoot) smooksModel)
+ .getSmooksResourceList());
+ seted = true;
+ }
+ if (smooksModel instanceof DocumentRoot) {
+ smooksTreeViewer.setInput(((DocumentRoot) smooksModel).getSmooksResourceList());
+ seted = true;
+ }
+ if (!seted) {
+ smooksTreeViewer.setInput(smooksModel);
+ }
+ }
+
+ private EObject getTreeViewerInput() {
+ EObject smooksModel = ((ISmooksModelProvider) this.formEditor).getSmooksModel();
+ if (smooksModel instanceof org.jboss.tools.smooks10.model.smooks.DocumentRoot) {
+ return ((org.jboss.tools.smooks10.model.smooks.DocumentRoot) smooksModel).getSmooksResourceList();
+ }
+ if (smooksModel instanceof DocumentRoot) {
+ return (((DocumentRoot) smooksModel).getSmooksResourceList());
+ }
+ return null;
+ }
+
protected List<?> getViewerSelections() {
IStructuredSelection selections = (IStructuredSelection) smooksTreeViewer.getSelection();
+ if (selections == null)
+ return null;
return selections.toList();
// List<Object> nl = new ArrayList<Object>();
// for (Iterator<?> iterator = l.iterator(); iterator.hasNext();) {
@@ -275,6 +315,18 @@
}
private void hookButtons() {
+ addButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ super.widgetSelected(e);
+ NewSmooksElementWizard wizard = new NewSmooksElementWizard(editingDomain, getTreeViewerInput());
+ WizardDialog dialog = new WizardDialog(formEditor.getSite().getShell(), wizard);
+ dialog.open();
+ }
+
+ });
+
removeButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
List<?> list = getViewerSelections();
@@ -300,7 +352,6 @@
EObject parent = v.eContainer();
int index = parent.eContents().indexOf(v);
Command command = MoveCommand.create(editingDomain, parent, null, obj, index + 1);
- System.out.println(command.canExecute());
editingDomain.getCommandStack().execute(command);
}
}
@@ -308,6 +359,15 @@
upButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
+ List<?> list = getViewerSelections();
+ if (list.size() == 1) {
+ Object obj = list.get(0);
+ EObject v = (EObject) AdapterFactoryEditingDomain.unwrap(obj);
+ EObject parent = v.eContainer();
+ int index = parent.eContents().indexOf(v);
+ Command command = MoveCommand.create(editingDomain, parent, null, obj, index - 1);
+ editingDomain.getCommandStack().execute(command);
+ }
}
});
}
@@ -358,7 +418,8 @@
public void setSmooksModel(Object model) {
if (model != null) {
- smooksTreeViewer.setInput(model);
+ setTreeViewerModel(model);
+ // smooksTreeViewer.setInput(model);
} else {
smooksTreeViewer.setInput(new Object());
}
@@ -369,42 +430,22 @@
* @param selections
*/
protected void updateButtons(List<?> selections) {
- // removeButton.setEnabled(true);
- // upButton.setEnabled(true);
- // downButton.setEnabled(true);
- // if (selections.size() >= 1) {
- // for (Iterator<?> iterator = selections.iterator();
- // iterator.hasNext();) {
- // Object object = (Object) iterator.next();
- // object = AdapterFactoryEditingDomain.unwrap(object);
- // if (object instanceof SmooksResourceListType
- // || object instanceof
- // org.jboss.tools.smooks10.model.smooks.SmooksResourceListType) {
- // removeButton.setEnabled(false);
- // break;
- // }
- // }
- // }
- // if (selections.size() == 1) {
- // Object selection = selections.get(0);
- // if (selection instanceof SmooksResourceListType
- // || selection instanceof
- // org.jboss.tools.smooks10.model.smooks.SmooksResourceListType) {
- // upButton.setEnabled(false);
- // downButton.setEnabled(false);
- // } else {
- // if (selection instanceof EObject) {
- // EObject parent = ((EObject) selection).eContainer();
- // int index = parent.eContents().indexOf(selection);
- // if (index <= 0) {
- // upButton.setEnabled(false);
- // }
- // if (index >= parent.eContents().size() - 1) {
- // downButton.setEnabled(false);
- // }
- // }
- // }
- // }
+ removeButton.setEnabled(true);
+ upButton.setEnabled(true);
+ downButton.setEnabled(true);
+ List<?> list = getViewerSelections();
+ if (list.size() == 1) {
+ Object obj = list.get(0);
+ EObject v = (EObject) AdapterFactoryEditingDomain.unwrap(obj);
+ EObject parent = v.eContainer();
+ int index = parent.eContents().indexOf(v);
+
+ Command upCommand = MoveCommand.create(editingDomain, parent, null, obj, index - 1);
+ upButton.setEnabled(upCommand.canExecute());
+
+ Command downCommand = MoveCommand.create(editingDomain, parent, null, obj, index + 1);
+ downButton.setEnabled(downCommand.canExecute());
+ }
}
/*
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-08-04 15:35:12 UTC (rev 16961)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2009-08-04 15:56:51 UTC (rev 16962)
@@ -15,6 +15,7 @@
import java.lang.reflect.Array;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
@@ -48,6 +49,7 @@
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.core.search.IJavaSearchConstants;
import org.eclipse.jdt.ui.JavaUI;
+import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.ErrorDialog;
@@ -62,6 +64,7 @@
import org.eclipse.jface.fieldassist.IContentProposalListener2;
import org.eclipse.jface.fieldassist.TextContentAdapter;
import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.ViewerFilter;
@@ -103,6 +106,7 @@
import org.eclipse.ui.ide.IDE;
import org.eclipse.ui.part.FileEditorInput;
import org.jboss.tools.smooks.configuration.SmooksConfigurationActivator;
+import org.jboss.tools.smooks.configuration.actions.AddSmooksResourceAction;
import org.jboss.tools.smooks.configuration.actions.OpenEditorEditInnerContentsAction;
import org.jboss.tools.smooks.configuration.command.UnSetFeatureCommand;
import org.jboss.tools.smooks.configuration.editors.AttributeFieldEditPart;
@@ -1124,16 +1128,17 @@
}
return null;
}
-
+
public static AttributeFieldEditPart createJavaMethodSearchFieldEditor(BindingsType container, Composite parent,
FormToolkit toolkit, final IItemPropertyDescriptor propertyDescriptor, String buttonName,
final EObject model) {
String classString = ((BindingsType) container).getClass_();
- return createJavaMethodSearchFieldEditor(classString, container, parent, toolkit, propertyDescriptor, buttonName, model);
+ return createJavaMethodSearchFieldEditor(classString, container, parent, toolkit, propertyDescriptor,
+ buttonName, model);
}
- public static AttributeFieldEditPart createJavaMethodSearchFieldEditor(String classString , EObject container, Composite parent,
- FormToolkit toolkit, final IItemPropertyDescriptor propertyDescriptor, String buttonName,
+ public static AttributeFieldEditPart createJavaMethodSearchFieldEditor(String classString, EObject container,
+ Composite parent, FormToolkit toolkit, final IItemPropertyDescriptor propertyDescriptor, String buttonName,
final EObject model) {
IJavaProject project = getJavaProject(container);
Class<?> clazz = null;
@@ -2345,4 +2350,33 @@
return lists;
}
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction}
+ * for each object in <code>descriptors</code>, and returns the collection
+ * of these actions. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static Collection<IAction> generateCreateChildActions(EditingDomain editingDomain,
+ Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ // if (selection != null && selection.isEmpty() && descriptors != null)
+ // {
+ // CommandParameter cp =
+ // createChildParameter(SmooksPackage.Literals.SMOOKS_RESOURCE_LIST_TYPE,
+ // SmooksFactory.eINSTANCE.createSmooksResourceListType());
+ // CommandParameter cp2 =
+ // createChildParameter(EdiPackage.Literals.EDI_MAP,
+ // EdiFactory.eINSTANCE.createEdiMap());
+ // descriptors.add(cp);
+ // descriptors.add(cp2);
+ // }
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new AddSmooksResourceAction(editingDomain, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
}
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/wizards/NewSmooksElementWizard.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/wizards/NewSmooksElementWizard.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/wizards/NewSmooksElementWizard.java 2009-08-04 15:56:51 UTC (rev 16962)
@@ -0,0 +1,81 @@
+/*******************************************************************************
+ * 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.configuration.wizards;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
+
+/**
+ * @author Dart
+ *
+ */
+public class NewSmooksElementWizard extends Wizard {
+
+ private EObject parentElement;
+
+ private AdapterFactoryEditingDomain editingDomain;
+
+ private NewSmooksElementWizardPage page;
+
+ public NewSmooksElementWizard(AdapterFactoryEditingDomain editingDomain, EObject parentElement) {
+ super();
+ this.parentElement = parentElement;
+ this.editingDomain = editingDomain;
+ }
+
+ @Override
+ public void addPages() {
+ Collection<?> childDescriptors = editingDomain.getNewChildDescriptors(parentElement, null);
+ Collection<IAction> actions = SmooksUIUtils.generateCreateChildActions(editingDomain, childDescriptors,
+ new StructuredSelection(parentElement));
+ page = new NewSmooksElementWizardPage("Smooks Elements", actions);
+
+ this.addPage(page);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.wizard.Wizard#performFinish()
+ */
+ @Override
+ public boolean performFinish() {
+ final IAction action = page.getSelectedAction();
+ if (action != null) {
+ try {
+ this.getContainer().run(false, false, new IRunnableWithProgress() {
+
+ public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
+ action.run();
+ }
+ });
+ } catch (InvocationTargetException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (InterruptedException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return true;
+ }
+ return false;
+ }
+
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/wizards/NewSmooksElementWizard.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/wizards/NewSmooksElementWizardPage.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/wizards/NewSmooksElementWizardPage.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/wizards/NewSmooksElementWizardPage.java 2009-08-04 15:56:51 UTC (rev 16962)
@@ -0,0 +1,302 @@
+/*******************************************************************************
+ * 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.configuration.wizards;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.smooks.configuration.actions.AddSmooksResourceAction;
+import org.jboss.tools.smooks.configuration.editors.actions.Calc11ActionGrouper;
+import org.jboss.tools.smooks.configuration.editors.actions.Database11ActionGrouper;
+import org.jboss.tools.smooks.configuration.editors.actions.Datasources11ActionGrouper;
+import org.jboss.tools.smooks.configuration.editors.actions.FragmentRouting11ActionGrouper;
+import org.jboss.tools.smooks.configuration.editors.actions.FragmentRouting12ActionGrouper;
+import org.jboss.tools.smooks.configuration.editors.actions.ISmooksActionGrouper;
+import org.jboss.tools.smooks.configuration.editors.actions.JavaBean11ActionGrouper;
+import org.jboss.tools.smooks.configuration.editors.actions.JavaBean12ActionGrouper;
+import org.jboss.tools.smooks.configuration.editors.actions.PersistenceActionGrouper;
+import org.jboss.tools.smooks.configuration.editors.actions.Reader11ActionGrouper;
+import org.jboss.tools.smooks.configuration.editors.actions.Reader12ActionGrouper;
+import org.jboss.tools.smooks.configuration.editors.actions.Scripting11ActionGrouper;
+import org.jboss.tools.smooks.configuration.editors.actions.Templating11ActionGrouper;
+import org.jboss.tools.smooks.configuration.editors.actions.Validation10ActionGrouper;
+
+/**
+ * @author Dart
+ *
+ */
+public class NewSmooksElementWizardPage extends org.eclipse.jface.wizard.WizardPage {
+
+ private Collection<IAction> childDescriptor = null;
+
+ private IAction selectedAction;
+
+ private TreeViewer actionViewer = null;
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets
+ * .Composite)
+ */
+ public void createControl(Composite parent) {
+ selectedAction = null;
+ actionViewer = new TreeViewer(parent, SWT.BORDER);
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ actionViewer.getControl().setLayoutData(gd);
+
+ actionViewer.setContentProvider(new SmooksElementActionsContentProvider());
+ actionViewer.setLabelProvider(new SmooksElementActionsLabelProvider());
+ actionViewer.setInput(getActions());
+ actionViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+
+ public void selectionChanged(SelectionChangedEvent event) {
+ selectedAction = (IAction) ((IStructuredSelection) event.getSelection()).getFirstElement();
+ updatePageStatus();
+ }
+ });
+
+ actionViewer.addDoubleClickListener(new IDoubleClickListener() {
+
+ public void doubleClick(DoubleClickEvent event) {
+ // getWizard().get
+ }
+ });
+ this.setControl(parent);
+ }
+
+ public IAction getSelectedAction() {
+ return selectedAction;
+ }
+
+ protected void updatePageStatus() {
+ this.setPageComplete(true);
+ if (selectedAction instanceof GroupAction) {
+ this.setPageComplete(false);
+ }
+ }
+
+ private Collection<IAction> getActions() {
+ List<IAction> actions = new ArrayList<IAction>();
+ List<ISmooksActionGrouper> grouperList = getSmooksActionGrouper();
+ for (Iterator<?> iterator = grouperList.iterator(); iterator.hasNext();) {
+ ISmooksActionGrouper iSmooksActionGrouper = (ISmooksActionGrouper) iterator.next();
+ GroupAction ga = new GroupAction();
+ ga.setText(iSmooksActionGrouper.getGroupName());
+ fillGroupAction(ga, iSmooksActionGrouper);
+ if (!ga.getChildrenAction().isEmpty())
+ actions.add(ga);
+ }
+ List<IAction> tempActions = new ArrayList<IAction>(actions);
+ for (Iterator<?> iterator2 = this.childDescriptor.iterator(); iterator2.hasNext();) {
+ IAction c = (IAction) iterator2.next();
+ boolean exsit = false;
+ for (Iterator<?> iterator = tempActions.iterator(); iterator.hasNext();) {
+ IAction iAction = (IAction) iterator.next();
+ if (iAction instanceof GroupAction) {
+ List<IAction> childrenAction = ((GroupAction) iAction).getChildrenAction();
+ if (childrenAction.indexOf(c) != -1) {
+ exsit = true;
+ break;
+ }
+ }
+ }
+ if (!exsit && c.isEnabled()) {
+ actions.add(c);
+ }
+ }
+
+ return actions;
+ }
+
+ private void fillGroupAction(GroupAction ga, ISmooksActionGrouper grouper) {
+ if (childDescriptor != null) {
+ for (Iterator<?> iterator = childDescriptor.iterator(); iterator.hasNext();) {
+ AddSmooksResourceAction action = (AddSmooksResourceAction) iterator.next();
+ Object descriptor = action.getDescriptor();
+ if (grouper.belongsToGroup(descriptor) && action.isEnabled()) {
+ ga.addAction(action);
+ }
+ }
+ }
+ }
+
+ public NewSmooksElementWizardPage(String pageName, String title, ImageDescriptor titleImage,
+ Collection<IAction> childDescriptor) {
+ super(pageName, title, titleImage);
+ this.childDescriptor = childDescriptor;
+ this.setTitle("Add Child");
+ this.setDescription("Add Smooks Elements");
+ }
+
+ public NewSmooksElementWizardPage(String pageName, Collection<IAction> childDescriptor) {
+ super(pageName);
+ this.childDescriptor = childDescriptor;
+ this.setTitle("Add Child");
+ this.setDescription("Add Smooks Elements");
+ }
+
+ private List<ISmooksActionGrouper> getSmooksActionGrouper() {
+ List<ISmooksActionGrouper> grouperList = new ArrayList<ISmooksActionGrouper>();
+
+ grouperList.add(new JavaBean11ActionGrouper());
+ grouperList.add(new Reader11ActionGrouper());
+ grouperList.add(new Calc11ActionGrouper());
+ grouperList.add(new Database11ActionGrouper());
+ grouperList.add(new Datasources11ActionGrouper());
+ grouperList.add(new FragmentRouting11ActionGrouper());
+ grouperList.add(new Scripting11ActionGrouper());
+ grouperList.add(new Templating11ActionGrouper());
+ // grouperList.add(new SeparatorActionGrouper("V1.1-V1.2"));
+ grouperList.add(new JavaBean12ActionGrouper());
+ grouperList.add(new Reader12ActionGrouper());
+ grouperList.add(new FragmentRouting12ActionGrouper());
+ grouperList.add(new PersistenceActionGrouper());
+ grouperList.add(new Validation10ActionGrouper());
+ // grouperList.add(new SeparatorActionGrouper("No Group actions"));
+ return grouperList;
+ }
+
+ private class SmooksElementActionsContentProvider implements ITreeContentProvider {
+
+ public Object[] getChildren(Object parentElement) {
+ if (parentElement instanceof Collection<?>) {
+ return ((Collection<?>) parentElement).toArray();
+ }
+ if (parentElement instanceof GroupAction) {
+ return ((GroupAction) parentElement).getChildrenAction().toArray();
+ }
+ return new Object[] {};
+ }
+
+ public Object getParent(Object element) {
+ return null;
+ }
+
+ public boolean hasChildren(Object element) {
+ if (element instanceof Collection<?>)
+ return !((Collection<?>) element).isEmpty();
+ if (element instanceof GroupAction) {
+ return !((GroupAction) element).getChildrenAction().isEmpty();
+ }
+ return false;
+ }
+
+ public Object[] getElements(Object inputElement) {
+ if (inputElement instanceof Collection<?>) {
+ return ((Collection<?>) inputElement).toArray();
+ }
+ return new Object[] {};
+ }
+
+ public void dispose() {
+
+ }
+
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+
+ }
+ }
+
+ private class GroupAction extends Action {
+
+ private List<IAction> childrenAction = null;
+
+ @Override
+ public void run() {
+ }
+
+ public List<IAction> getChildrenAction() {
+ if (childrenAction == null) {
+ childrenAction = new ArrayList<IAction>();
+ }
+ return childrenAction;
+ }
+
+ public void addAction(IAction action) {
+ this.getChildrenAction().add(action);
+ }
+
+ // public void removeAction(IAction action){
+ // this.getChildrenAction().remove(action);
+ // }
+
+ }
+
+ private class SmooksElementActionsLabelProvider extends LabelProvider {
+
+ private Map<Object, Object> imageMap = new HashMap<Object, Object>();
+
+ @Override
+ public void dispose() {
+ if (imageMap != null) {
+ Collection<?> values = imageMap.values();
+ for (Iterator<?> iterator = values.iterator(); iterator.hasNext();) {
+ Object object = (Object) iterator.next();
+ if (object != null && object instanceof Image) {
+ ((Image) object).dispose();
+ }
+ }
+ }
+ super.dispose();
+ }
+
+ @Override
+ public Image getImage(Object element) {
+ if (element instanceof IAction) {
+ String key = ((IAction) element).getText();
+ Image img = (Image) imageMap.get(key);
+ if (img == null) {
+ ImageDescriptor id = ((IAction) element).getImageDescriptor();
+ if (id == null)
+ return null;
+ img = id.createImage();
+ ((IAction) element).getDisabledImageDescriptor();
+ imageMap.put(key, img);
+ } else {
+
+ }
+ return img;
+ }
+ return super.getImage(element);
+ }
+
+ @Override
+ public String getText(Object element) {
+ if (element instanceof IAction) {
+ return ((IAction) element).getText();
+ }
+ return super.getText(element);
+ }
+
+ }
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/wizards/NewSmooksElementWizardPage.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
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-08-04 15:35:12 UTC (rev 16961)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPart.java 2009-08-04 15:56:51 UTC (rev 16962)
@@ -11,18 +11,24 @@
package org.jboss.tools.smooks.graphical.editors;
import java.util.ArrayList;
+import java.util.Collection;
+import java.util.EventObject;
import java.util.Iterator;
import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandWrapper;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.command.AddCommand;
+import org.eclipse.emf.edit.command.DeleteCommand;
+import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
import org.eclipse.gef.DefaultEditDomain;
-import org.eclipse.gef.EditDomain;
import org.eclipse.gef.EditPart;
import org.eclipse.gef.commands.CommandStackEvent;
import org.eclipse.gef.commands.CommandStackEventListener;
@@ -91,7 +97,51 @@
this.smooksModelProvider = provider;
this.setEditDomain(editDomain);
}
+
+ private void handleCommandStack(org.eclipse.emf.common.command.CommandStack commandStack) {
+ commandStack.addCommandStackListener(new org.eclipse.emf.common.command.CommandStackListener() {
+ public void commandStackChanged(EventObject event) {
+ final Command mostRecentCommand = ((org.eclipse.emf.common.command.CommandStack) event.getSource())
+ .getMostRecentCommand();
+ getEditorSite().getShell().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ if (mostRecentCommand != null) {
+ Command rawCommand = mostRecentCommand;
+ while (rawCommand instanceof CommandWrapper) {
+ rawCommand = ((CommandWrapper) rawCommand).getCommand();
+ }
+ if (rawCommand instanceof SetCommand || rawCommand instanceof AddCommand
+ || rawCommand instanceof DeleteCommand) {
+ refershRecentAffectedModel(rawCommand, mostRecentCommand.getAffectedObjects());
+ }
+ }
+ }
+
+ });
+ }
+ });
+ }
+
+ protected void refershRecentAffectedModel(Command command, Collection<?> affectedObjects) {
+ for (Iterator<?> iterator = affectedObjects.iterator(); iterator.hasNext();) {
+ Object object = (Object) iterator.next();
+ TreeNodeModel node = findGraphicalModel(object);
+ if (node == null)
+ continue;
+ if (command instanceof SetCommand) {
+ node.fireVisualChanged();
+ }
+ if (command instanceof AddCommand || command instanceof DeleteCommand) {
+ node.fireChildrenChanged();
+ node.fireConnectionChanged();
+ }
+ }
+ }
+ private TreeNodeModel findGraphicalModel(Object object) {
+ return null;
+ }
+
public DefaultEditDomain getEditDomain() {
return editDomain;
}
@@ -294,6 +344,9 @@
public void init(IEditorSite site, IEditorInput input) throws PartInitException {
super.init(site, input);
initSmooksData();
+ if(smooksModelProvider != null){
+ this.handleCommandStack(smooksModelProvider.getEditingDomain().getCommandStack());
+ }
}
protected void expandConnectedModels(List<TreeNodeConnection> connections) {
16 years, 4 months