JBoss Tools SVN: r17109 - trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-08-17 09:52:31 -0400 (Mon, 17 Aug 2009)
New Revision: 17109
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPTextEditor.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-1826
Most complete and correct list of attributes is in referenced tld.
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPTextEditor.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPTextEditor.java 2009-08-17 12:59:36 UTC (rev 17108)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPTextEditor.java 2009-08-17 13:52:31 UTC (rev 17109)
@@ -140,6 +140,7 @@
import org.jboss.tools.jst.web.kb.PageProcessor;
import org.jboss.tools.jst.web.kb.KbQuery.Type;
import org.jboss.tools.jst.web.kb.internal.JspContextImpl;
+import org.jboss.tools.jst.web.kb.internal.taglib.TLDTag;
import org.jboss.tools.jst.web.kb.taglib.IAttribute;
import org.jboss.tools.jst.web.kb.taglib.IComponent;
import org.jboss.tools.jst.web.kb.taglib.ICustomTagLibComponent;
@@ -832,9 +833,10 @@
public IComponent findComponent(KbQuery query) {
IComponent[] cs = PageProcessor.getInstance().getComponents(query, pageContext, true);
if(cs == null || cs.length == 0) return null;
+ if(cs.length == 1) return cs[0];
IComponent s = null;
for (IComponent c: cs) {
- if(c instanceof ICustomTagLibComponent) {
+ if(c instanceof TLDTag /*ICustomTagLibComponent*/) {
s = c;
break;
}
16 years, 4 months
JBoss Tools SVN: r17108 - in trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp: outline and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-08-17 08:59:36 -0400 (Mon, 17 Aug 2009)
New Revision: 17108
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/drop/treeviewer/model/AttributeValueResourceFactory.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/ValueHelper.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-1826
Some standard proposals types should be added automatically rather than be described in custom schemas.
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/drop/treeviewer/model/AttributeValueResourceFactory.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/drop/treeviewer/model/AttributeValueResourceFactory.java 2009-08-17 11:29:48 UTC (rev 17107)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/drop/treeviewer/model/AttributeValueResourceFactory.java 2009-08-17 12:59:36 UTC (rev 17108)
@@ -31,13 +31,13 @@
static String FACELETS_JSFC_TYPE = CustomProposalTypeFactory.FACELETS_JSFC_TYPE;
static String TAGLIB_TYPE = CustomProposalTypeFactory.NAME_SPACE_TYPE;
static String ID_TYPE = CustomProposalTypeFactory.ID_TYPE;
- static String BUNDLE_PROPERTY_TYPE = "bundleProperty"; //$NON-NLS-1$
- static String BEAN_PROPERTY_TYPE = "beanProperty"; //$NON-NLS-1$
- static String BEAN_METHOD_BY_SYGNATURE_TYPE = "beanMethodBySignature"; //$NON-NLS-1$
- static String JSP_PATH_TYPE = "jspPath"; //$NON-NLS-1$
- static String JSF_VARIABLES_TYPE = "jsfVariables"; //$NON-NLS-1$
- static String MANAGED_BEAN_NAME_TYPE = "managedBeanName"; //$NON-NLS-1$
- static String JSF_ID = "jsfID"; //$NON-NLS-1$
+ public static String BUNDLE_PROPERTY_TYPE = "bundleProperty"; //$NON-NLS-1$
+ public static String BEAN_PROPERTY_TYPE = "beanProperty"; //$NON-NLS-1$
+ public static String BEAN_METHOD_BY_SYGNATURE_TYPE = "beanMethodBySignature"; //$NON-NLS-1$
+ public static String JSP_PATH_TYPE = "jspPath"; //$NON-NLS-1$
+ public static String JSF_VARIABLES_TYPE = "jsfVariables"; //$NON-NLS-1$
+ public static String MANAGED_BEAN_NAME_TYPE = "managedBeanName"; //$NON-NLS-1$
+ public static String JSF_ID = "jsfID"; //$NON-NLS-1$
private static AttributeValueResourceFactory INSTANCE = new AttributeValueResourceFactory();
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/ValueHelper.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/ValueHelper.java 2009-08-17 11:29:48 UTC (rev 17107)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/ValueHelper.java 2009-08-17 12:59:36 UTC (rev 17108)
@@ -12,10 +12,14 @@
import java.lang.reflect.Method;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
import java.util.Properties;
+import java.util.Set;
+
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.source.ISourceViewer;
import org.eclipse.ui.IEditorInput;
@@ -42,6 +46,7 @@
import org.jboss.tools.jst.web.kb.PageProcessor;
import org.jboss.tools.jst.web.kb.internal.taglib.CustomProposalType;
import org.jboss.tools.jst.web.kb.internal.taglib.CustomTagLibAttribute;
+import org.jboss.tools.jst.web.kb.internal.taglib.ExtendedProposalType;
import org.jboss.tools.jst.web.kb.taglib.IAttribute;
import org.jboss.tools.jst.web.tld.TaglibData;
import org.jboss.tools.jst.web.tld.VpeTaglibManager;
@@ -120,19 +125,45 @@
public ModelElement getInitalInput(IPageContext pageContext, KbQuery kbQuery) {
IAttribute[] as = PageProcessor.getInstance().getAttributes(kbQuery, pageContext);
if(as == null || as.length == 0) return new RootElement("root", new ArrayList<AttributeValueResource>()); //$NON-NLS-1$
- CustomTagLibAttribute ca = null;
+ List<CustomProposalType> proposals = new ArrayList<CustomProposalType>();
+ Set<String> proposalTypes = new HashSet<String>();
for (IAttribute a: as) {
if(a instanceof CustomTagLibAttribute) {
- ca = (CustomTagLibAttribute)a;
- break;
+ CustomTagLibAttribute ca = (CustomTagLibAttribute)a;
+ CustomProposalType[] ps = ca.getProposals();
+ for (CustomProposalType p: ps) {
+ String n = p.getType();
+ if(n == null || proposalTypes.contains(n)) continue;
+ proposalTypes.add(n);
+ proposals.add(p);
+ }
}
}
- CustomProposalType[] proposals = ca != null ? ca.getProposals() : new CustomProposalType[0];
+ boolean hasJSFNature = false;
+ IProject project = pageContext.getResource().getProject();
+ try {
+ if(project != null && project.isAccessible()) hasJSFNature = project.hasNature("org.jboss.tools.jsf.jsfnature");
+ } catch (CoreException e) {
+ //ignore
+ }
+ String[] TYPES = {AttributeValueResourceFactory.BEAN_PROPERTY_TYPE,
+ AttributeValueResourceFactory.BUNDLE_PROPERTY_TYPE,
+ AttributeValueResourceFactory.JSF_VARIABLES_TYPE,
+ AttributeValueResourceFactory.BEAN_METHOD_BY_SYGNATURE_TYPE};
+ if(hasJSFNature) {
+ for (String type : TYPES) {
+ if(proposalTypes.contains(type)) continue;
+ ExtendedProposalType pt = new ExtendedProposalType();
+ pt.setType(type);
+ proposals.add(pt);
+ }
+ }
+
List<AttributeValueResource> elements = new ArrayList<AttributeValueResource>();
ModelElement root = new RootElement("root", elements); //$NON-NLS-1$
- for (int i = 0; i < proposals.length; i++) {
- AttributeValueResource resource = AttributeValueResourceFactory.getInstance().createResource(getEditorInput(), pageContext, root, proposals[i], proposals[i].getType(), kbQuery);
- resource.setParams(proposals[i].getParams());
+ for (CustomProposalType p: proposals) {
+ AttributeValueResource resource = AttributeValueResourceFactory.getInstance().createResource(getEditorInput(), pageContext, root, p, p.getType(), kbQuery);
+ resource.setParams(p.getParams());
resource.setQuery(kbQuery, this);
elements.add(resource);
}
16 years, 4 months
JBoss Tools SVN: r17107 - trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-08-17 07:29:48 -0400 (Mon, 17 Aug 2009)
New Revision: 17107
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/ValueHelper.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4525
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/ValueHelper.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/ValueHelper.java 2009-08-17 10:30:54 UTC (rev 17106)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/ValueHelper.java 2009-08-17 11:29:48 UTC (rev 17107)
@@ -201,7 +201,6 @@
}
public void updateFacelets() {
-
VpeTaglibManager tldManager = getTaglibManager();
if(tldManager == null) return;
List<TaglibData> list = tldManager.getTagLibs();
@@ -209,7 +208,7 @@
isFacelets = false;
for(int i = 0; i < list.size(); i++) {
TaglibData data = list.get(i);
- isFacelets = isFacelets || data.getUri().equals(faceletUri);
+ isFacelets = isFacelets || (data != null && faceletUri.equals(data.getUri()));
}
}
16 years, 4 months
JBoss Tools SVN: r17106 - in trunk/smooks/plugins: org.jboss.tools.smooks.runtime/META-INF and 7 other directories.
by jbosstools-commits@lists.jboss.org
Author: DartPeng
Date: 2009-08-17 06:30:54 -0400 (Mon, 17 Aug 2009)
New Revision: 17106
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectorCreationDialog.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/CSV12DataConfigurationWizardPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/CSV12DataPathWizardPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/CSV12InputDataWizard.java
Removed:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectoreSelectionDialog.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks10/model/smooks/util/SmooksModelUtils.java
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/META-INF/MANIFEST.MF
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/csv/CSVDataParser.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv/CSVInputDataWizard.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/JsonInputDataParser.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SelectorContentProposalProvider.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/configuration/editors/wizard/ViewerInitorStore.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SelectorValidator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPart.java
Log:
JBIDE-4774
Creat new CSV 1.2 reader
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks10/model/smooks/util/SmooksModelUtils.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks10/model/smooks/util/SmooksModelUtils.java 2009-08-17 09:00:33 UTC (rev 17105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks10/model/smooks/util/SmooksModelUtils.java 2009-08-17 10:30:54 UTC (rev 17106)
@@ -53,8 +53,10 @@
public static final String INPUT_TYPE_JSON = "json";
- public static final String INPUT_TYPE_CSV = "csv";
+ public static final String INPUT_TYPE_CSV_1_1 = "csv";
+ public static final String INPUT_TYPE_CSV_1_2 = "csv_1_2";
+
public static final String PARAM_NAME_CLASS = "class";
public static final String PARAM_NAME_PATH = "path";
@@ -503,7 +505,8 @@
List<org.jboss.tools.smooks.model.graphics.ext.ParamType> list = input.getParam();
if (INPUT_TYPE_JAVA.equals(input.getType()) || INPUT_TYPE_XML.equals(input.getType())
|| INPUT_TYPE_XSD.equals(input.getType()) || INPUT_TYPE_JSON.equals(input.getType())
- || INPUT_TYPE_CSV.equals(input.getType()) || INPUT_TYPE_EDI.equals(input.getType())) {
+ || INPUT_TYPE_CSV_1_1.equals(input.getType()) || INPUT_TYPE_EDI.equals(input.getType())
+ || INPUT_TYPE_CSV_1_2.equals(input.getType())) {
for (Iterator<?> iterator = list.iterator(); iterator.hasNext();) {
org.jboss.tools.smooks.model.graphics.ext.ParamType paramType = (org.jboss.tools.smooks.model.graphics.ext.ParamType) iterator
.next();
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/META-INF/MANIFEST.MF
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.runtime/META-INF/MANIFEST.MF 2009-08-17 09:00:33 UTC (rev 17105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.runtime/META-INF/MANIFEST.MF 2009-08-17 10:30:54 UTC (rev 17106)
@@ -27,5 +27,6 @@
org.milyn.cdr,
org.milyn.csv,
org.milyn.json,
+ org.milyn.payload,
org.milyn.smooks.edi,
org.milyn.xml
Copied: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectorCreationDialog.java (from rev 17033, trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectoreSelectionDialog.java)
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectorCreationDialog.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectorCreationDialog.java 2009-08-17 10:30:54 UTC (rev 17106)
@@ -0,0 +1,410 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.configuration.editors;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jface.dialogs.Dialog;
+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.TreeViewer;
+import org.eclipse.jface.window.IShellProvider;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+import org.jboss.tools.smooks.configuration.SmooksConfigurationActivator;
+import org.jboss.tools.smooks.configuration.editors.csv.CSVDataParser;
+import org.jboss.tools.smooks.configuration.editors.edi.EDIDataParser;
+import org.jboss.tools.smooks.configuration.editors.javabean.JavaBeanModel;
+import org.jboss.tools.smooks.configuration.editors.javabean.JavaBeanModelFactory;
+import org.jboss.tools.smooks.configuration.editors.uitls.JsonInputDataParser;
+import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
+import org.jboss.tools.smooks.configuration.editors.wizard.StructuredDataSelectionWizard;
+import org.jboss.tools.smooks.configuration.editors.xml.AbstractXMLObject;
+import org.jboss.tools.smooks.configuration.editors.xml.TagList;
+import org.jboss.tools.smooks.configuration.editors.xml.XMLObjectAnalyzer;
+import org.jboss.tools.smooks.configuration.editors.xml.XSDObjectAnalyzer;
+import org.jboss.tools.smooks.model.graphics.ext.InputType;
+import org.jboss.tools.smooks.model.graphics.ext.ParamType;
+import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtType;
+import org.jboss.tools.smooks.model.smooks.DocumentRoot;
+import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
+import org.jboss.tools.smooks10.model.smooks.util.SmooksModelUtils;
+
+/**
+ * @author Dart (dpeng(a)redhat.com)
+ * <p>
+ * Apr 12, 2009
+ */
+public class SelectorCreationDialog extends Dialog {
+
+ private SmooksGraphicsExtType graphicsExt;
+ private TreeViewer viewer;
+ private Object currentSelection;
+ private Button onlyNameButton;
+ private Button fullPathButton;
+ private SelectorAttributes selectorAttributes = null;
+ private IEditorPart editorPart = null;
+
+ private FormToolkit toolkit;
+
+ public SelectorCreationDialog(IShellProvider parentShell) {
+ super(parentShell);
+ }
+
+ public SelectorCreationDialog(Shell parentShell, SmooksGraphicsExtType graphicsExt, IEditorPart editorPart) {
+ super(parentShell);
+ this.graphicsExt = graphicsExt;
+ selectorAttributes = new SelectorAttributes();
+ this.editorPart = editorPart;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets
+ * .Composite)
+ */
+ @Override
+ protected Control createDialogArea(Composite parent) {
+ Composite composite = (Composite) super.createDialogArea(parent);
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ gd.heightHint = 500;
+ gd.widthHint = 450;
+ composite.setLayoutData(gd);
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 2;
+ layout.marginHeight = 10;
+ layout.marginWidth = 10;
+ layout.makeColumnsEqualWidth = false;
+ composite.setLayout(layout);
+
+ Label viewerLabel = new Label(composite, SWT.NONE);
+ viewerLabel.setText("Input Message:");
+
+ toolkit = new FormToolkit(getShell().getDisplay());
+
+ Hyperlink link = toolkit.createHyperlink(composite, "Click to add Input Data", SWT.NONE);// new
+ // Hyperlink(composite,SWT.NONE);
+ link.setBackground(composite.getBackground());
+ link.addHyperlinkListener(new IHyperlinkListener() {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.ui.forms.events.IHyperlinkListener#linkActivated(
+ * org.eclipse.ui.forms.events.HyperlinkEvent)
+ */
+ public void linkActivated(HyperlinkEvent e) {
+ showInputDataWizard();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.ui.forms.events.IHyperlinkListener#linkEntered(org
+ * .eclipse.ui.forms.events.HyperlinkEvent)
+ */
+ public void linkEntered(HyperlinkEvent e) {
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.ui.forms.events.IHyperlinkListener#linkExited(org
+ * .eclipse.ui.forms.events.HyperlinkEvent)
+ */
+ public void linkExited(HyperlinkEvent e) {
+
+ }
+
+ });
+ gd = new GridData();
+ gd.horizontalAlignment = GridData.END;
+ link.setLayoutData(gd);
+
+ viewer = new TreeViewer(composite, SWT.BORDER);
+ viewer.setContentProvider(new CompoundStructuredDataContentProvider());
+ viewer.setLabelProvider(new CompoundStructuredDataLabelProvider());
+ List<Object> inputList = generateInputData();
+ viewer.setInput(inputList);
+ viewer.addDoubleClickListener(new IDoubleClickListener() {
+ public void doubleClick(DoubleClickEvent event) {
+ okPressed();
+ }
+ });
+ viewer.addSelectionChangedListener(new ISelectionChangedListener() {
+ public void selectionChanged(SelectionChangedEvent event) {
+ currentSelection = ((IStructuredSelection) event.getSelection()).getFirstElement();
+ }
+ });
+
+ gd = new GridData(GridData.FILL_BOTH);
+ gd.horizontalSpan = 2;
+ viewer.getTree().setLayoutData(gd);
+
+ Label label = new Label(composite, SWT.NONE);
+ label.setText("Sperator Char : ");
+ final Combo speratorCombo = new Combo(composite, SWT.BORDER | SWT.READ_ONLY);
+ speratorCombo.add(" ");
+ speratorCombo.add("/");
+ speratorCombo.select(1);
+ // speratorCombo.setEditable(false);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ speratorCombo.setLayoutData(gd);
+ speratorCombo.addModifyListener(new ModifyListener() {
+
+ public void modifyText(ModifyEvent e) {
+ selectorAttributes.setSelectorSperator(speratorCombo.getText());
+ }
+
+ });
+
+ Label l = new Label(composite, SWT.NONE);
+ l.setText("Selector generate policy : ");
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.horizontalSpan = 2;
+ l.setLayoutData(gd);
+
+ Composite com = new Composite(composite, SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.horizontalSpan = 2;
+ com.setLayoutData(gd);
+
+ GridLayout gl = new GridLayout();
+ gl.numColumns = 2;
+ com.setLayout(gl);
+ fullPathButton = new Button(com, SWT.RADIO);
+ fullPathButton.setText("Full Path");
+ onlyNameButton = new Button(com, SWT.RADIO);
+ onlyNameButton.setText("Only Name");
+ // Button containtParentButton = new Button(com,SWT.RADIO);
+ // containtParentButton.setText("Containt Parent Name");
+ fullPathButton.setSelection(true);
+
+ handleButtons();
+
+ getShell().setText("Selector generate dialog");
+
+ SmooksUIUtils.expandSelectorViewer(inputList, viewer);
+
+ return composite;
+ }
+
+ private void handleButtons() {
+ fullPathButton.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ selectorAttributes.setSelectorPolicy(SelectorAttributes.FULL_PATH);
+ }
+ });
+
+ onlyNameButton.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ selectorAttributes.setSelectorPolicy(SelectorAttributes.ONLY_NAME);
+ }
+ });
+ }
+
+ public static List<Object> generateInputData(SmooksGraphicsExtType extType,
+ SmooksResourceListType smooksResourceListType) {
+ List<Object> list = new ArrayList<Object>();
+ if (extType != null) {
+ IJavaProject project = SmooksUIUtils.getJavaProject(extType);
+ try {
+ List<InputType> inputLists = extType.getInput();
+ for (Iterator<?> iterator = inputLists.iterator(); iterator.hasNext();) {
+ InputType inputType = (InputType) iterator.next();
+ String type = inputType.getType();
+ String path = SmooksModelUtils.getInputPath(inputType);
+ if (type != null && path != null) {
+ path = path.trim();
+ if (SmooksModelUtils.INPUT_TYPE_EDI.equals(type)) {
+ EDIDataParser parser = new EDIDataParser();
+ try {
+ TagList tl = parser.parseEDIFile(path, inputType, smooksResourceListType);
+ if (tl != null) {
+ list.addAll(((TagList) tl).getChildren());
+ }
+ } catch (Throwable t) {
+ t.printStackTrace();
+ }
+ }
+ if (SmooksModelUtils.INPUT_TYPE_CSV_1_1.equals(type)
+ || SmooksModelUtils.INPUT_TYPE_CSV_1_2.equals(type)) {
+ CSVDataParser parser = new CSVDataParser();
+ try {
+ TagList tl = parser.parseCSV(path, inputType, smooksResourceListType);
+ if (tl != null) {
+ list.addAll(((TagList) tl).getChildren());
+ }
+ } catch (Throwable t) {
+ t.printStackTrace();
+ }
+ }
+ if (SmooksModelUtils.INPUT_TYPE_JSON.equals(type)) {
+ try {
+ JsonInputDataParser parser = new JsonInputDataParser();
+ IXMLStructuredObject tagList = parser.parseJsonFile(SmooksUIUtils.parseFilePath(path),
+ inputType, smooksResourceListType);
+ if (tagList instanceof TagList) {
+ list.addAll(((TagList) tagList).getChildren());
+ } else {
+ list.add(tagList);
+ }
+ } catch (Throwable tt) {
+ // ignore
+ // SmooksConfigurationActivator.getDefault().log(tt);
+ }
+ }
+ if (SmooksModelUtils.INPUT_TYPE_JAVA.equals(type)) {
+ try {
+ Class<?> clazz = SmooksUIUtils.loadClass(path, project);
+ JavaBeanModel model = JavaBeanModelFactory.getJavaBeanModelWithLazyLoad(clazz);
+ if (model != null) {
+ list.add(model);
+ }
+ } catch (Throwable t) {
+ // ignore
+ }
+ }
+ if (SmooksModelUtils.INPUT_TYPE_XSD.equals(type)) {
+ try {
+ path = SmooksUIUtils.parseFilePath(path);
+ String rootElementName = null;
+ List<ParamType> paramers = inputType.getParam();
+ for (Iterator<?> iterator2 = paramers.iterator(); iterator2.hasNext();) {
+ ParamType paramType = (ParamType) iterator2.next();
+ if ("rootElement".equals(paramType.getName())) {
+ rootElementName = paramType.getValue();
+ break;
+ }
+ }
+ if (rootElementName != null) {
+ rootElementName = rootElementName.trim();
+ list.add(new XSDObjectAnalyzer().loadElement(path, rootElementName));
+ }
+ } catch (Throwable tt) {
+ // ingore
+ }
+ }
+ if (SmooksModelUtils.INPUT_TYPE_XML.equals(type)) {
+ try {
+ path = SmooksUIUtils.parseFilePath(path);
+
+ // XMLObjectAnalyzer analyzer = new
+ // XMLObjectAnalyzer();
+ // TagList doc = analyzer.analyze(path, null);
+
+ AbstractXMLObject model = new XMLObjectAnalyzer().analyze(path, null);
+ if (model != null) {
+ if (model instanceof TagList) {
+ list.addAll(((TagList) model).getChildren());
+ } else {
+ list.add(model);
+ }
+ }
+ } catch (Throwable e) {
+
+ }
+ }
+ }
+ }
+ } catch (Exception e) {
+ SmooksConfigurationActivator.getDefault().log(e);
+ }
+ }
+ return list;
+ }
+
+ protected List<Object> generateInputData() {
+ Object obj = ((SmooksMultiFormEditor) editorPart).getSmooksModel();
+ SmooksResourceListType resourceList = null;
+ if (obj instanceof DocumentRoot) {
+ resourceList = ((DocumentRoot) obj).getSmooksResourceList();
+ }
+ return generateInputData(graphicsExt, resourceList);
+ }
+
+ protected void showInputDataWizard() {
+ StructuredDataSelectionWizard wizard = new StructuredDataSelectionWizard();
+ if (this.editorPart != null) {
+ wizard.setInput(editorPart.getEditorInput());
+ wizard.setSite(editorPart.getEditorSite());
+ }
+
+ wizard.setForcePreviousAndNextButtons(true);
+ SmooksMultiFormEditor formEditor = null;
+ if (this.editorPart != null && this.editorPart instanceof SmooksMultiFormEditor) {
+ formEditor = (SmooksMultiFormEditor) editorPart;
+ }
+ StructuredDataSelectionWizardDailog dialog = new StructuredDataSelectionWizardDailog(this.getShell(), wizard,
+ this.graphicsExt, formEditor);
+ if (dialog.show() == WizardDialog.OK) {
+ List<Object> input = this.generateInputData();
+ this.viewer.setInput(input);
+ SmooksUIUtils.expandSelectorViewer(input, viewer);
+ }
+ }
+
+ /**
+ * @return the currentSelection
+ */
+ public Object getCurrentSelection() {
+ return currentSelection;
+ }
+
+ public SelectorAttributes getSelectorAttributes() {
+ return selectorAttributes;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.dialogs.Dialog#close()
+ */
+ @Override
+ public boolean close() {
+ if (toolkit != null) {
+ toolkit.dispose();
+ }
+ return super.close();
+ }
+
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectorCreationDialog.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectoreSelectionDialog.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectoreSelectionDialog.java 2009-08-17 09:00:33 UTC (rev 17105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectoreSelectionDialog.java 2009-08-17 10:30:54 UTC (rev 17106)
@@ -1,409 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.smooks.configuration.editors;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jface.dialogs.Dialog;
-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.TreeViewer;
-import org.eclipse.jface.window.IShellProvider;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-import org.jboss.tools.smooks.configuration.SmooksConfigurationActivator;
-import org.jboss.tools.smooks.configuration.editors.csv.CSVDataParser;
-import org.jboss.tools.smooks.configuration.editors.edi.EDIDataParser;
-import org.jboss.tools.smooks.configuration.editors.javabean.JavaBeanModel;
-import org.jboss.tools.smooks.configuration.editors.javabean.JavaBeanModelFactory;
-import org.jboss.tools.smooks.configuration.editors.uitls.JsonInputDataParser;
-import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
-import org.jboss.tools.smooks.configuration.editors.wizard.StructuredDataSelectionWizard;
-import org.jboss.tools.smooks.configuration.editors.xml.AbstractXMLObject;
-import org.jboss.tools.smooks.configuration.editors.xml.TagList;
-import org.jboss.tools.smooks.configuration.editors.xml.XMLObjectAnalyzer;
-import org.jboss.tools.smooks.configuration.editors.xml.XSDObjectAnalyzer;
-import org.jboss.tools.smooks.model.graphics.ext.InputType;
-import org.jboss.tools.smooks.model.graphics.ext.ParamType;
-import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtType;
-import org.jboss.tools.smooks.model.smooks.DocumentRoot;
-import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
-import org.jboss.tools.smooks10.model.smooks.util.SmooksModelUtils;
-
-/**
- * @author Dart (dpeng(a)redhat.com)
- * <p>
- * Apr 12, 2009
- */
-public class SelectoreSelectionDialog extends Dialog {
-
- private SmooksGraphicsExtType graphicsExt;
- private TreeViewer viewer;
- private Object currentSelection;
- private Button onlyNameButton;
- private Button fullPathButton;
- private SelectorAttributes selectorAttributes = null;
- private IEditorPart editorPart = null;
-
- private FormToolkit toolkit;
-
- public SelectoreSelectionDialog(IShellProvider parentShell) {
- super(parentShell);
- }
-
- public SelectoreSelectionDialog(Shell parentShell, SmooksGraphicsExtType graphicsExt, IEditorPart editorPart) {
- super(parentShell);
- this.graphicsExt = graphicsExt;
- selectorAttributes = new SelectorAttributes();
- this.editorPart = editorPart;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets
- * .Composite)
- */
- @Override
- protected Control createDialogArea(Composite parent) {
- Composite composite = (Composite) super.createDialogArea(parent);
- GridData gd = new GridData(GridData.FILL_BOTH);
- gd.heightHint = 500;
- gd.widthHint = 450;
- composite.setLayoutData(gd);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- layout.marginHeight = 10;
- layout.marginWidth = 10;
- layout.makeColumnsEqualWidth = false;
- composite.setLayout(layout);
-
- Label viewerLabel = new Label(composite, SWT.NONE);
- viewerLabel.setText("Input Message:");
-
- toolkit = new FormToolkit(getShell().getDisplay());
-
- Hyperlink link = toolkit.createHyperlink(composite, "Click to add Input Data", SWT.NONE);// new
- // Hyperlink(composite,SWT.NONE);
- link.setBackground(composite.getBackground());
- link.addHyperlinkListener(new IHyperlinkListener() {
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.ui.forms.events.IHyperlinkListener#linkActivated(
- * org.eclipse.ui.forms.events.HyperlinkEvent)
- */
- public void linkActivated(HyperlinkEvent e) {
- showInputDataWizard();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.ui.forms.events.IHyperlinkListener#linkEntered(org
- * .eclipse.ui.forms.events.HyperlinkEvent)
- */
- public void linkEntered(HyperlinkEvent e) {
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.ui.forms.events.IHyperlinkListener#linkExited(org
- * .eclipse.ui.forms.events.HyperlinkEvent)
- */
- public void linkExited(HyperlinkEvent e) {
-
- }
-
- });
- gd = new GridData();
- gd.horizontalAlignment = GridData.END;
- link.setLayoutData(gd);
-
- viewer = new TreeViewer(composite, SWT.BORDER);
- viewer.setContentProvider(new CompoundStructuredDataContentProvider());
- viewer.setLabelProvider(new CompoundStructuredDataLabelProvider());
- List<Object> inputList = generateInputData();
- viewer.setInput(inputList);
- viewer.addDoubleClickListener(new IDoubleClickListener() {
- public void doubleClick(DoubleClickEvent event) {
- okPressed();
- }
- });
- viewer.addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- currentSelection = ((IStructuredSelection) event.getSelection()).getFirstElement();
- }
- });
-
- gd = new GridData(GridData.FILL_BOTH);
- gd.horizontalSpan = 2;
- viewer.getTree().setLayoutData(gd);
-
- Label label = new Label(composite, SWT.NONE);
- label.setText("Sperator Char : ");
- final Combo speratorCombo = new Combo(composite, SWT.BORDER | SWT.READ_ONLY);
- speratorCombo.add(" ");
- speratorCombo.add("/");
- speratorCombo.select(1);
- // speratorCombo.setEditable(false);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- speratorCombo.setLayoutData(gd);
- speratorCombo.addModifyListener(new ModifyListener() {
-
- public void modifyText(ModifyEvent e) {
- selectorAttributes.setSelectorSperator(speratorCombo.getText());
- }
-
- });
-
- Label l = new Label(composite, SWT.NONE);
- l.setText("Selector generate policy : ");
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.horizontalSpan = 2;
- l.setLayoutData(gd);
-
- Composite com = new Composite(composite, SWT.NONE);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.horizontalSpan = 2;
- com.setLayoutData(gd);
-
- GridLayout gl = new GridLayout();
- gl.numColumns = 2;
- com.setLayout(gl);
- fullPathButton = new Button(com, SWT.RADIO);
- fullPathButton.setText("Full Path");
- onlyNameButton = new Button(com, SWT.RADIO);
- onlyNameButton.setText("Only Name");
- // Button containtParentButton = new Button(com,SWT.RADIO);
- // containtParentButton.setText("Containt Parent Name");
- fullPathButton.setSelection(true);
-
- handleButtons();
-
- getShell().setText("Selector generate dialog");
-
- SmooksUIUtils.expandSelectorViewer(inputList, viewer);
-
- return composite;
- }
-
- private void handleButtons() {
- fullPathButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- selectorAttributes.setSelectorPolicy(SelectorAttributes.FULL_PATH);
- }
- });
-
- onlyNameButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- selectorAttributes.setSelectorPolicy(SelectorAttributes.ONLY_NAME);
- }
- });
- }
-
- public static List<Object> generateInputData(SmooksGraphicsExtType extType,
- SmooksResourceListType smooksResourceListType) {
- List<Object> list = new ArrayList<Object>();
- if (extType != null) {
- IJavaProject project = SmooksUIUtils.getJavaProject(extType);
- try {
- List<InputType> inputLists = extType.getInput();
- for (Iterator<?> iterator = inputLists.iterator(); iterator.hasNext();) {
- InputType inputType = (InputType) iterator.next();
- String type = inputType.getType();
- String path = SmooksModelUtils.getInputPath(inputType);
- if (type != null && path != null) {
- path = path.trim();
- if (SmooksModelUtils.INPUT_TYPE_EDI.equals(type)) {
- EDIDataParser parser = new EDIDataParser();
- try {
- TagList tl = parser.parseEDIFile(path, inputType, smooksResourceListType);
- if (tl != null) {
- list.addAll(((TagList) tl).getChildren());
- }
- } catch (Throwable t) {
- t.printStackTrace();
- }
- }
- if (SmooksModelUtils.INPUT_TYPE_CSV.equals(type)) {
- CSVDataParser parser = new CSVDataParser();
- try {
- TagList tl = parser.parseCSV(path, inputType, smooksResourceListType);
- if (tl != null) {
- list.addAll(((TagList) tl).getChildren());
- }
- } catch (Throwable t) {
- t.printStackTrace();
- }
- }
- if (SmooksModelUtils.INPUT_TYPE_JSON.equals(type)) {
- try {
- JsonInputDataParser parser = new JsonInputDataParser();
- IXMLStructuredObject tagList = parser.parseJsonFile(SmooksUIUtils.parseFilePath(path),
- inputType, smooksResourceListType);
- if (tagList instanceof TagList) {
- list.addAll(((TagList) tagList).getChildren());
- } else {
- list.add(tagList);
- }
- } catch (Throwable tt) {
- // ignore
- // SmooksConfigurationActivator.getDefault().log(tt);
- }
- }
- if (SmooksModelUtils.INPUT_TYPE_JAVA.equals(type)) {
- try {
- Class<?> clazz = SmooksUIUtils.loadClass(path, project);
- JavaBeanModel model = JavaBeanModelFactory.getJavaBeanModelWithLazyLoad(clazz);
- if (model != null) {
- list.add(model);
- }
- } catch (Throwable t) {
- // ignore
- }
- }
- if (SmooksModelUtils.INPUT_TYPE_XSD.equals(type)) {
- try {
- path = SmooksUIUtils.parseFilePath(path);
- String rootElementName = null;
- List<ParamType> paramers = inputType.getParam();
- for (Iterator<?> iterator2 = paramers.iterator(); iterator2.hasNext();) {
- ParamType paramType = (ParamType) iterator2.next();
- if ("rootElement".equals(paramType.getName())) {
- rootElementName = paramType.getValue();
- break;
- }
- }
- if (rootElementName != null) {
- rootElementName = rootElementName.trim();
- list.add(new XSDObjectAnalyzer().loadElement(path, rootElementName));
- }
- } catch (Throwable tt) {
- // ingore
- }
- }
- if (SmooksModelUtils.INPUT_TYPE_XML.equals(type)) {
- try {
- path = SmooksUIUtils.parseFilePath(path);
-
- // XMLObjectAnalyzer analyzer = new
- // XMLObjectAnalyzer();
- // TagList doc = analyzer.analyze(path, null);
-
- AbstractXMLObject model = new XMLObjectAnalyzer().analyze(path, null);
- if (model != null) {
- if (model instanceof TagList) {
- list.addAll(((TagList) model).getChildren());
- } else {
- list.add(model);
- }
- }
- } catch (Throwable e) {
-
- }
- }
- }
- }
- } catch (Exception e) {
- SmooksConfigurationActivator.getDefault().log(e);
- }
- }
- return list;
- }
-
- protected List<Object> generateInputData() {
- Object obj = ((SmooksMultiFormEditor) editorPart).getSmooksModel();
- SmooksResourceListType resourceList = null;
- if (obj instanceof DocumentRoot) {
- resourceList = ((DocumentRoot) obj).getSmooksResourceList();
- }
- return generateInputData(graphicsExt, resourceList);
- }
-
- protected void showInputDataWizard() {
- StructuredDataSelectionWizard wizard = new StructuredDataSelectionWizard();
- if (this.editorPart != null) {
- wizard.setInput(editorPart.getEditorInput());
- wizard.setSite(editorPart.getEditorSite());
- }
-
- wizard.setForcePreviousAndNextButtons(true);
- SmooksMultiFormEditor formEditor = null;
- if (this.editorPart != null && this.editorPart instanceof SmooksMultiFormEditor) {
- formEditor = (SmooksMultiFormEditor) editorPart;
- }
- StructuredDataSelectionWizardDailog dialog = new StructuredDataSelectionWizardDailog(this.getShell(), wizard,
- this.graphicsExt, formEditor);
- if (dialog.show() == WizardDialog.OK) {
- List<Object> input = this.generateInputData();
- this.viewer.setInput(input);
- SmooksUIUtils.expandSelectorViewer(input, viewer);
- }
- }
-
- /**
- * @return the currentSelection
- */
- public Object getCurrentSelection() {
- return currentSelection;
- }
-
- public SelectorAttributes getSelectorAttributes() {
- return selectorAttributes;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.dialogs.Dialog#close()
- */
- @Override
- public boolean close() {
- if (toolkit != null) {
- toolkit.dispose();
- }
- return super.close();
- }
-
-}
Modified: 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 2009-08-17 09:00:33 UTC (rev 17105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationOverviewPage.java 2009-08-17 10:30:54 UTC (rev 17106)
@@ -1212,7 +1212,7 @@
profilesSection.setExpanded(true);
}
if (href.equals("selector_dialog")) {
- SelectoreSelectionDialog dialog = new SelectoreSelectionDialog(getEditorSite().getShell(),
+ SelectorCreationDialog dialog = new SelectorCreationDialog(getEditorSite().getShell(),
this.smooksModelProvider.getSmooksGraphicsExt(), this.getEditor());
try {
dialog.open();
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv/CSVDataParser.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv/CSVDataParser.java 2009-08-17 09:00:33 UTC (rev 17105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv/CSVDataParser.java 2009-08-17 10:30:54 UTC (rev 17106)
@@ -14,13 +14,11 @@
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
-import java.io.StringWriter;
import java.lang.reflect.InvocationTargetException;
import java.util.Iterator;
import java.util.List;
import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.dom.DOMResult;
import javax.xml.transform.stream.StreamSource;
import org.dom4j.DocumentException;
@@ -28,16 +26,15 @@
import org.jboss.tools.smooks.configuration.editors.xml.TagList;
import org.jboss.tools.smooks.configuration.editors.xml.XMLObjectAnalyzer;
import org.jboss.tools.smooks.model.csv.CsvReader;
+import org.jboss.tools.smooks.model.csv12.CSV12Reader;
import org.jboss.tools.smooks.model.graphics.ext.InputType;
import org.jboss.tools.smooks.model.graphics.ext.ParamType;
import org.jboss.tools.smooks.model.smooks.AbstractReader;
import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
+import org.jboss.tools.smooks10.model.smooks.util.SmooksModelUtils;
import org.milyn.Smooks;
-import org.milyn.SmooksUtil;
-import org.milyn.cdr.SmooksResourceConfiguration;
-import org.milyn.csv.CSVReader;
-import org.milyn.xml.XmlUtil;
-import org.w3c.dom.Document;
+import org.milyn.csv.CSVReaderConfigurator;
+import org.milyn.payload.StringResult;
/**
* @author Dart (dpeng(a)redhat.com)
@@ -57,36 +54,59 @@
public static final String FIELDS = "fields";
+ public static final String ROOT_ELEMENT_NAME = "rootElementName";
+
+ public static final String RECORD_NAME = "recordName";
+
public TagList parseCSV(String filePath, InputType inputType, SmooksResourceListType resourceList)
throws FileNotFoundException, DocumentException, InvocationTargetException, ParserConfigurationException {
return parseCSV(new FileInputStream(SmooksUIUtils.parseFilePath(filePath)), inputType, resourceList);
}
- public TagList parseCSV(InputStream inputStream, CsvReader reader)
- throws ParserConfigurationException, DocumentException {
+ public TagList parseCSV(InputStream inputStream, Object readerObj) throws ParserConfigurationException,
+ DocumentException {
String fields = null;
String separator = null;
String quoteChar = null;
String skiplines = null;
String encoding = null;
- if (reader == null)
+ String rootName = null;
+ String recordName = null;
+ if (readerObj == null)
return null;
- fields = reader.getFields();
- separator = reader.getSeparator();
- skiplines = reader.getSkipLines().toString();
- quoteChar = reader.getQuote();
- encoding = reader.getEncoding();
- return this.parseCSV(inputStream, fields, separator, quoteChar, skiplines, encoding);
+
+ if (readerObj instanceof CsvReader) {
+ CsvReader reader = (CsvReader) readerObj;
+ fields = reader.getFields();
+ separator = reader.getSeparator();
+ skiplines = reader.getSkipLines().toString();
+ quoteChar = reader.getQuote();
+ encoding = reader.getEncoding();
+ }
+ if (readerObj instanceof CSV12Reader) {
+ CSV12Reader reader = (CSV12Reader) readerObj;
+ fields = reader.getFields();
+ separator = reader.getSeparator();
+ skiplines = reader.getSkipLines().toString();
+ quoteChar = reader.getQuote();
+ encoding = reader.getEncoding();
+ rootName = reader.getRootElementName();
+ recordName = reader.getRecordElementName();
+ }
+ return this.parseCSV(inputStream, fields, rootName, recordName, separator, quoteChar, skiplines, encoding);
}
public TagList parseCSV(InputStream stream, InputType inputType, SmooksResourceListType resourceList)
throws DocumentException, ParserConfigurationException {
+ String type = inputType.getType();
List<ParamType> paramList = inputType.getParam();
String fields = null;
String separator = null;
String quoteChar = null;
String skiplines = null;
String encoding = null;
+ String rootName = null;
+ String recordName = null;
for (Iterator<?> iterator = paramList.iterator(); iterator.hasNext();) {
ParamType paramType = (ParamType) iterator.next();
@@ -97,12 +117,23 @@
int index = -1;
for (Iterator<?> iterator2 = readers.iterator(); iterator2.hasNext();) {
AbstractReader abstractReader = (AbstractReader) iterator2.next();
- if (abstractReader instanceof CsvReader) {
- count++;
- if (index == -1) {
- index = readers.indexOf(abstractReader);
+ if (SmooksModelUtils.INPUT_TYPE_CSV_1_1.equals(type)) {
+ if (abstractReader instanceof CsvReader) {
+ count++;
+ if (index == -1) {
+ index = readers.indexOf(abstractReader);
+ }
}
}
+
+ if (SmooksModelUtils.INPUT_TYPE_CSV_1_2.equals(type)) {
+ if (abstractReader instanceof CSV12Reader) {
+ count++;
+ if (index == -1) {
+ index = readers.indexOf(abstractReader);
+ }
+ }
+ }
}
if (count > 1) {
@@ -110,7 +141,7 @@
// RuntimeException("The smooks config file should have only one JSON reader");
}
if (index != -1) {
- return parseCSV(stream, (CsvReader)readers.get(index));
+ return parseCSV(stream, readers.get(index));
// return parseJsonFile(stream, (JsonReader)
// readers.get(index));
}
@@ -120,7 +151,7 @@
if (paramType.getName().equals(FIELDS)) {
fields = paramType.getValue();
try {
-// fields = fields.replace(';', ',');
+ // fields = fields.replace(';', ',');
} catch (Throwable t) {
}
@@ -137,54 +168,69 @@
if (paramType.getName().equals(ENCODING)) {
encoding = paramType.getValue();
}
+ if (paramType.getName().equals(ROOT_ELEMENT_NAME)) {
+ rootName = paramType.getValue();
+ }
+ if (paramType.getName().equals(RECORD_NAME)) {
+ recordName = paramType.getValue();
+ }
}
- return this.parseCSV(stream, fields, separator, quoteChar, skiplines, encoding);
+ return this.parseCSV(stream, fields, rootName, recordName, separator, quoteChar, skiplines, encoding);
}
- public TagList parseCSV(String filePath, String fields, String separator, String quoteChar, String skiplines,
- String encoding) throws DocumentException, FileNotFoundException {
- return parseCSV(new FileInputStream(filePath), fields, separator, quoteChar, skiplines, encoding);
+ public TagList parseCSV(String filePath, String fields, String rootName, String recordName, String separator,
+ String quoteChar, String skiplines, String encoding) throws DocumentException, FileNotFoundException {
+ return parseCSV(new FileInputStream(filePath), fields, rootName, recordName, separator, quoteChar, skiplines,
+ encoding);
}
- public TagList parseCSV(InputStream stream, String fields, String separator, String quoteChar, String skiplines,
- String encoding) throws DocumentException {
+ public TagList parseCSV(InputStream stream, String fields, String rootName, String recordName, String separator,
+ String quoteChar, String skiplines, String encoding) throws DocumentException {
Smooks smooks = new Smooks();
- SmooksResourceConfiguration readerConfig = new SmooksResourceConfiguration("org.xml.sax.driver",
- CSVReader.class.getName());
- if((quoteChar == null) || (encoding == null) || (fields == null)){
+
+ // SmooksResourceConfiguration readerConfig = new
+ // SmooksResourceConfiguration("org.xml.sax.driver",
+ // CSVReader.class.getName());
+ if ((quoteChar == null) || (encoding == null) || (fields == null)) {
return null;
}
- if(quoteChar == null) quoteChar = "\"";
- if(skiplines == null) skiplines = "0";
- if(encoding == null) encoding = "UTF-8";
- readerConfig.setParameter("fields", fields);
- readerConfig.setParameter("separator", separator);
- readerConfig.setParameter("quote-char", quoteChar);
- readerConfig.setParameter("skip-line-count", skiplines);
- readerConfig.setParameter("encoding", encoding);
+ if (quoteChar == null)
+ quoteChar = "\"";
+ if (skiplines == null)
+ skiplines = "0";
+ if (encoding == null)
+ encoding = "UTF-8";
- SmooksUtil.registerResource(readerConfig, smooks);
+ CSVReaderConfigurator readerConfigurator = new CSVReaderConfigurator(fields);
+ if (separator != null && separator.length() >= 1) {
+ readerConfigurator.setSeparatorChar(separator.toCharArray()[0]);
+ }
+ if (quoteChar != null && quoteChar.length() >= 1) {
+ readerConfigurator.setQuoteChar(quoteChar.toCharArray()[0]);
+ }
+ if (skiplines != null) {
+ try {
+ readerConfigurator.setSkipLineCount(Integer.parseInt(skiplines));
+ } catch (Throwable t) {
- DOMResult domResult = new DOMResult();
+ }
+ }
+ if (rootName != null) {
+ readerConfigurator.setRootElementName(rootName);
+ }
+ if (recordName != null) {
+ readerConfigurator.setRecordElementName(recordName);
+ }
- // Filter the message through Smooks and capture the result as a DOM in
- // the domResult instance...
- smooks.filter(new StreamSource(stream), domResult);
+ smooks.setReaderConfig(readerConfigurator);
- // Get the Document object from the domResult. This is the message
- // model!!!...
- Document model = (Document) domResult.getNode();
+ StringResult result = new StringResult();
+ smooks.filterSource(new StreamSource(stream), result);
- // So using the model Document, you can construct a tree structure for
- // the editor.
-
- StringWriter modelWriter = new StringWriter();
- XmlUtil.serialize(model, true, modelWriter);
-
XMLObjectAnalyzer analyzer = new XMLObjectAnalyzer();
- ByteArrayInputStream byteinputStream = new ByteArrayInputStream(modelWriter.toString().getBytes());
+ ByteArrayInputStream byteinputStream = new ByteArrayInputStream(result.getResult().getBytes());
TagList tagList = analyzer.analyze(byteinputStream, null);
try {
@@ -192,10 +238,6 @@
byteinputStream.close();
byteinputStream = null;
}
- if (modelWriter != null) {
- modelWriter.close();
- modelWriter = null;
- }
if (smooks != null) {
smooks.close();
smooks = null;
@@ -204,7 +246,7 @@
stream.close();
stream = null;
}
- model = null;
+ result = null;
} catch (Throwable t) {
t.printStackTrace();
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv/CSVInputDataWizard.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv/CSVInputDataWizard.java 2009-08-17 09:00:33 UTC (rev 17105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv/CSVInputDataWizard.java 2009-08-17 10:30:54 UTC (rev 17106)
@@ -44,7 +44,7 @@
public CSVInputDataWizard() {
super();
- this.setWindowTitle("CSV Input Data Wizard");
+ this.setWindowTitle("CSV Input Data Wizard (version 1.1)");
}
@Override
@@ -146,7 +146,7 @@
* IStructuredDataSelectionWizard#getInputDataTypeID()
*/
public String getInputDataTypeID() {
- return SmooksModelUtils.INPUT_TYPE_CSV;
+ return SmooksModelUtils.INPUT_TYPE_CSV_1_1;
}
/*
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/CSV12DataConfigurationWizardPage.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/CSV12DataConfigurationWizardPage.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/CSV12DataConfigurationWizardPage.java 2009-08-17 10:30:54 UTC (rev 17106)
@@ -0,0 +1,850 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.configuration.editors.csv12;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.jface.viewers.ICellModifier;
+import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ITableColorProvider;
+import org.eclipse.jface.viewers.ITableFontProvider;
+import org.eclipse.jface.viewers.ITableLabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TextCellEditor;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.graphics.Image;
+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.Item;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Text;
+import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
+import org.jboss.tools.smooks.model.csv12.CSV12Reader;
+import org.jboss.tools.smooks.model.csv12.impl.CSV12ReaderImpl;
+import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
+
+/**
+ * @author Dart
+ *
+ */
+public class CSV12DataConfigurationWizardPage extends WizardPage {
+
+ private SmooksResourceListType smooksResourceList;
+ private Button newReaderConfigButton;
+ private Button useAvailableReaderConfigButton;
+ private Composite configComposite;
+ private Text separatorText;
+ private Text quoteCharText;
+ private Text skipLinesText;
+ private Text encodingText;
+ private Composite fieldsComposite;
+ private TableViewer fieldsViewer;
+ private Button addButton;
+ private Button removeButton;
+ private Button createCSVReaderButton;
+
+ private String filePath = null;
+
+ private boolean useAvailabelReader = false;
+
+ private boolean hasReader = false;
+
+ private boolean createCSVReader = true;
+
+ private String separator;
+
+ private String skipLines;
+
+ private String quoteChar;
+
+ private String encoding;
+
+ private String rootName;
+
+ private String recordName;
+
+ private List<FieldString> fieldsList = new ArrayList<FieldString>();
+ private Text rootNameText;
+ private Text recordNameText;
+
+ public CSV12DataConfigurationWizardPage(String pageName, String title, ImageDescriptor titleImage) {
+ super(pageName, title, titleImage);
+ }
+
+ public CSV12DataConfigurationWizardPage(String pageName) {
+ super(pageName);
+ this.setTitle("CSV Reader configurations (version 1.2)");
+ this.setDescription("Set the configurations for parsing CSV file.");
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets
+ * .Composite)
+ */
+ public void createControl(Composite parent) {
+ initValue();
+ Composite mainComposite = new Composite(parent, SWT.NONE);
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 2;
+ mainComposite.setLayout(layout);
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ gd.grabExcessHorizontalSpace = true;
+ gd.grabExcessVerticalSpace = true;
+ mainComposite.setLayoutData(gd);
+
+ Composite radioButtonComposite = new Composite(mainComposite, SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.horizontalSpan = 2;
+ radioButtonComposite.setLayoutData(gd);
+
+ GridLayout rgl = new GridLayout();
+ rgl.numColumns = 2;
+ rgl.marginHeight = 0;
+ rgl.marginWidth = 0;
+ radioButtonComposite.setLayout(rgl);
+
+ Composite spaceComposite = new Composite(mainComposite, SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.horizontalSpan = 2;
+ gd.heightHint = 20;
+ spaceComposite.setLayoutData(gd);
+
+ newReaderConfigButton = new Button(radioButtonComposite, SWT.RADIO);
+ newReaderConfigButton.setText("Create new CSV reader configurations");
+ newReaderConfigButton.setSelection(true);
+
+ useAvailableReaderConfigButton = new Button(radioButtonComposite, SWT.RADIO);
+ useAvailableReaderConfigButton.setText("Use available CSV reader configurations");
+
+ configComposite = new Composite(mainComposite, SWT.NONE);
+ gd = new GridData(GridData.FILL_BOTH);
+ gd.horizontalSpan = 2;
+ configComposite.setLayoutData(gd);
+
+ GridLayout cgl = new GridLayout();
+ cgl.marginHeight = 0;
+ cgl.marginWidth = 0;
+ cgl.numColumns = 2;
+ configComposite.setLayout(cgl);
+
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ Label rootnameLabel = new Label(configComposite, SWT.NONE);
+ rootnameLabel.setText("Root Name");
+ rootNameText = new Text(configComposite, SWT.BORDER);
+ rootNameText.setLayoutData(gd);
+
+ Label recordNameLabel = new Label(configComposite, SWT.NONE);
+ recordNameLabel.setText("Record Name");
+ recordNameText = new Text(configComposite, SWT.BORDER);
+ recordNameText.setLayoutData(gd);
+
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ Label separatorLabel = new Label(configComposite, SWT.NONE);
+ separatorLabel.setText("Separator");
+ separatorText = new Text(configComposite, SWT.BORDER);
+ separatorText.setLayoutData(gd);
+
+ Label quoteCharLabel = new Label(configComposite, SWT.NONE);
+ quoteCharLabel.setText("Quote Char");
+ quoteCharText = new Text(configComposite, SWT.BORDER);
+ quoteCharText.setLayoutData(gd);
+
+ Label skiplineLabel = new Label(configComposite, SWT.NONE);
+ skiplineLabel.setText("Skip Lines");
+ skipLinesText = new Text(configComposite, SWT.BORDER);
+ skipLinesText.setLayoutData(gd);
+
+ Label encodingLabel = new Label(configComposite, SWT.NONE);
+ encodingLabel.setText("Encoding");
+ encodingText = new Text(configComposite, SWT.BORDER);
+ encodingText.setLayoutData(gd);
+ encodingText.setText(encoding);
+
+ Label keyMapLabel = new Label(configComposite, SWT.NONE);
+ keyMapLabel.setText("Fields List:");
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.horizontalSpan = 2;
+ keyMapLabel.setLayoutData(gd);
+
+ gd = new GridData(GridData.FILL_BOTH);
+ gd.horizontalSpan = 2;
+
+ fieldsComposite = new Composite(configComposite, SWT.NONE);
+ fieldsComposite.setLayoutData(gd);
+
+ GridLayout kgl = new GridLayout();
+ kgl.numColumns = 2;
+ fieldsComposite.setLayout(kgl);
+
+ gd = new GridData(GridData.FILL_BOTH);
+ gd.heightHint = 200;
+
+ fieldsViewer = new TableViewer(fieldsComposite, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
+ fieldsViewer.getControl().setLayoutData(gd);
+ // fieldsViewer.getTable().setHeaderVisible(true);
+ fieldsViewer.getTable().setLinesVisible(true);
+ fieldsViewer.setContentProvider(new FieldsContentProvider());
+ fieldsViewer.setLabelProvider(new FieldsLabelProvider());
+
+ CellEditor fieldCellEditor = new TextCellEditor(fieldsViewer.getTable(), SWT.BORDER);
+
+ TableColumn fieldColumn = new TableColumn(fieldsViewer.getTable(), SWT.NONE);
+ fieldColumn.setText("Field");
+ fieldColumn.setWidth(150);
+
+ TableColumn exampleValueColumn = new TableColumn(fieldsViewer.getTable(), SWT.NONE);
+ exampleValueColumn.setText("Example Value");
+ exampleValueColumn.setWidth(150);
+
+ fieldsViewer.getTable().setHeaderVisible(true);
+ fieldsViewer.getTable().setLinesVisible(true);
+
+ fieldsViewer.setCellEditors(new CellEditor[] { fieldCellEditor });
+
+ fieldsViewer.setColumnProperties(new String[] { "field" });
+
+ fieldsViewer.setCellModifier(new ICellModifier() {
+
+ public void modify(Object element, String property, Object value) {
+ Object el = null;
+ if (element instanceof Item) {
+ el = ((Item) element).getData();
+ }
+ if (el == null)
+ return;
+ if (el instanceof FieldString && value instanceof String) {
+ if (property.equals("field")) {
+ ((FieldString) el).setText(value.toString());
+ }
+ fieldsViewer.refresh(el);
+ }
+ changePageStatus();
+ }
+
+ public Object getValue(Object element, String property) {
+ // Object el = null;
+ // if(element instanceof Item){
+ // el = ((Item)element).getData();
+ // }
+ // if(el == null) return null;
+ if (element instanceof FieldString) {
+ if (property.equals("field")) {
+ return ((FieldString) element).getText();
+ }
+ }
+
+ return null;
+ }
+
+ public boolean canModify(Object element, String property) {
+ // Object el = null;
+ // if(element instanceof Item){
+ // el = ((Item)element).getData();
+ // }
+ // if(el == null) return false;
+ if (element instanceof FieldString) {
+ if (property.equals("field")) {
+ return true;
+ }
+ }
+ return false;
+ }
+ });
+
+ fieldsViewer.setInput(fieldsList);
+
+ Composite buttonComposite = new Composite(fieldsComposite, SWT.NONE);
+ gd = new GridData(GridData.FILL_VERTICAL);
+ gd.widthHint = 0;
+ buttonComposite.setLayoutData(gd);
+ buttonComposite.setVisible(false);
+
+ GridLayout bgl = new GridLayout();
+ buttonComposite.setLayout(bgl);
+
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+
+ addButton = new Button(buttonComposite, SWT.NONE);
+ addButton.setLayoutData(gd);
+ addButton.setText("Add");
+
+ removeButton = new Button(buttonComposite, SWT.NONE);
+ removeButton.setLayoutData(gd);
+ removeButton.setText("Remove");
+
+ createCSVReaderButton = new Button(configComposite, SWT.CHECK);
+ createCSVReaderButton.setText("Create a CSV Reader");
+
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.horizontalSpan = 2;
+ createCSVReaderButton.setLayoutData(gd);
+ createCSVReaderButton.setSelection(createCSVReader);
+
+ if (hasReader) {
+ useAvailableReaderConfigButton.setSelection(true);
+ newReaderConfigButton.setSelection(false);
+ createCSVReaderButton.setEnabled(false);
+ setConfigCompositeStates(false);
+ }
+
+ changePageStatus();
+ hookControls();
+
+ this.setControl(mainComposite);
+ }
+
+ private void hookControls() {
+ newReaderConfigButton.addSelectionListener(new SelectionListener() {
+ public void widgetSelected(SelectionEvent e) {
+ if (newReaderConfigButton.getSelection()) {
+ setConfigCompositeStates(true);
+ useAvailabelReader = false;
+ changePageStatus();
+ }
+ }
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+ });
+
+ useAvailableReaderConfigButton.addSelectionListener(new SelectionListener() {
+ public void widgetSelected(SelectionEvent e) {
+ if (useAvailableReaderConfigButton.getSelection()) {
+ setConfigCompositeStates(false);
+ useAvailabelReader = true;
+ changePageStatus();
+ }
+ }
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+ });
+
+ this.separatorText.addModifyListener(new ModifyListener() {
+
+ public void modifyText(ModifyEvent e) {
+ separator = separatorText.getText();
+ resetViewerContent();
+ changePageStatus();
+ }
+ });
+
+ this.quoteCharText.addModifyListener(new ModifyListener() {
+
+ public void modifyText(ModifyEvent e) {
+ quoteChar = quoteCharText.getText();
+ changePageStatus();
+ }
+ });
+
+ this.rootNameText.addModifyListener(new ModifyListener() {
+
+ public void modifyText(ModifyEvent e) {
+ rootName = rootNameText.getText();
+ changePageStatus();
+ }
+ });
+
+ this.recordNameText.addModifyListener(new ModifyListener() {
+
+ public void modifyText(ModifyEvent e) {
+ recordName = recordNameText.getText();
+ changePageStatus();
+ }
+ });
+
+ this.skipLinesText.addModifyListener(new ModifyListener() {
+
+ public void modifyText(ModifyEvent e) {
+ skipLines = skipLinesText.getText();
+ changePageStatus();
+ }
+ });
+
+ this.encodingText.addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ encoding = encodingText.getText();
+ changePageStatus();
+ }
+ });
+
+ this.createCSVReaderButton.addSelectionListener(new SelectionListener() {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.swt.events.SelectionListener#widgetDefaultSelected
+ * (org.eclipse.swt.events.SelectionEvent)
+ */
+ public void widgetDefaultSelected(SelectionEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse
+ * .swt.events.SelectionEvent)
+ */
+ public void widgetSelected(SelectionEvent e) {
+ createCSVReader = createCSVReaderButton.getSelection();
+ }
+
+ });
+
+ this.addButton.addSelectionListener(new SelectionListener() {
+
+ public void widgetSelected(SelectionEvent e) {
+ FieldString field = new FieldString("field");
+ fieldsList.add(field);
+ fieldsViewer.refresh();
+ }
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+ });
+
+ this.removeButton.addSelectionListener(new SelectionListener() {
+
+ public void widgetSelected(SelectionEvent e) {
+ IStructuredSelection s = (IStructuredSelection) fieldsViewer.getSelection();
+ fieldsList.removeAll(s.toList());
+ fieldsViewer.refresh();
+ }
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+
+ }
+ });
+ }
+
+ private void resetViewerContent() {
+ try {
+ fieldsList.clear();
+ if (filePath != null && separator != null && separator.length() == 1) {
+
+ filePath = SmooksUIUtils.parseFilePath(filePath);
+
+ FileReader fr = new FileReader(filePath);
+ BufferedReader br = new BufferedReader(fr);
+
+ String content = br.readLine();
+ if (content != null) {
+ String[] exampleValues = content.split(separator);
+ if (exampleValues != null) {
+ List<FieldString> list = new ArrayList<FieldString>();
+ for (int i = 0; i < exampleValues.length; i++) {
+ String s = exampleValues[i];
+ if (s != null) {
+ if (s.length() == 0)
+ s = "<Null>";
+ FieldString fs = new FieldString("");
+ fs.setExampleValue(s);
+ list.add(fs);
+ }
+ }
+ if(!list.isEmpty()){
+ fieldsList.addAll(list);
+ }
+ }
+ }
+ }
+ } catch (Exception e) {
+ this.setErrorMessage("Occurs an error when parse CSV file");
+ }
+ fieldsViewer.refresh();
+ }
+
+ private void changePageStatus() {
+ if (useAvailabelReader) {
+ setErrorMessage(null);
+ setPageComplete(true);
+ return;
+ }
+ String error = null;
+
+ if (separator == null || separator.length() == 0) {
+ error = "Sperator can't be null";
+ }
+ if (separator != null && separator.length() > 1) {
+ error = "Sperator needs only one char";
+ }
+ if (quoteChar == null || quoteChar.length() == 0) {
+ error = "QuoteChar can't be null";
+ }
+ if (quoteChar != null && quoteChar.length() > 1) {
+ error = "QuoteChar needs only one char";
+ }
+
+ if (encoding == null || encoding.length() == 0) {
+ error = "Encoding can't be null";
+ }
+
+ if (skipLines == null || skipLines.length() == 0) {
+// error = "Skip lines can't be null";
+ } else {
+ try {
+ Integer.parseInt(skipLines);
+ } catch (Throwable t) {
+ error = "Skip lines text must be the number";
+ }
+ }
+
+ for (Iterator<?> iterator = fieldsList.iterator(); iterator.hasNext();) {
+ FieldString field = (FieldString) iterator.next();
+ if(field.getText() == null || field.getText().length() == 0 ){
+ error = "Fields can't be null";
+ }
+ }
+
+ setErrorMessage(error);
+ setPageComplete(error == null);
+ }
+
+ private void setConfigCompositeStates(boolean enabled) {
+ configComposite.setEnabled(enabled);
+ Control[] controls = configComposite.getChildren();
+ for (int i = 0; i < controls.length; i++) {
+ Control c = controls[i];
+ if (c == createCSVReaderButton) {
+ if (hasReader) {
+ c.setEnabled(false);
+ continue;
+ }
+ }
+ if (c == fieldsComposite) {
+ Control[] cs = ((Composite) c).getChildren();
+ for (int j = 0; j < cs.length; j++) {
+ Control cc = cs[j];
+ cc.setEnabled(enabled);
+ }
+ }
+ c.setEnabled(enabled);
+ }
+ }
+
+ /**
+ * @return the separator
+ */
+ public String getSeparator() {
+ return separator;
+ }
+
+ /**
+ * @param separator
+ * the separator to set
+ */
+ public void setSeparator(String separator) {
+ this.separator = separator;
+ }
+
+ /**
+ * @return the fieldsList
+ */
+ public List<FieldString> getFieldsList() {
+ return fieldsList;
+ }
+
+ /**
+ * @param fieldsList
+ * the fieldsList to set
+ */
+ public void setFieldsList(List<FieldString> fieldsList) {
+ this.fieldsList = fieldsList;
+ }
+
+ /**
+ * @return the useAvailabelReader
+ */
+ public boolean isUseAvailabelReader() {
+ return useAvailabelReader;
+ }
+
+ /**
+ * @param useAvailabelReader
+ * the useAvailabelReader to set
+ */
+ public void setUseAvailabelReader(boolean useAvailabelReader) {
+ this.useAvailabelReader = useAvailabelReader;
+ }
+
+ /**
+ * @return the createCSVReader
+ */
+ public boolean isCreateCSVReader() {
+ return createCSVReader;
+ }
+
+ /**
+ * @param createCSVReader
+ * the createCSVReader to set
+ */
+ public void setCreateCSVReader(boolean createCSVReader) {
+ this.createCSVReader = createCSVReader;
+ }
+
+ /**
+ * @return the skipLines
+ */
+ public String getSkipLines() {
+ return skipLines;
+ }
+
+ /**
+ * @param skipLines
+ * the skipLines to set
+ */
+ public void setSkipLines(String skipLines) {
+ this.skipLines = skipLines;
+ }
+
+ /**
+ * @return the quoteChar
+ */
+ public String getQuoteChar() {
+ return quoteChar;
+ }
+
+ /**
+ * @param quoteChar
+ * the quoteChar to set
+ */
+ public void setQuoteChar(String quoteChar) {
+ this.quoteChar = quoteChar;
+ }
+
+ /**
+ * @return the encoding
+ */
+ public String getEncoding() {
+ return encoding;
+ }
+
+ /**
+ * @param encoding
+ * the encoding to set
+ */
+ public void setEncoding(String encoding) {
+ this.encoding = encoding;
+ }
+
+ public String getRootName() {
+ return rootName;
+ }
+
+ public void setRootName(String rootName) {
+ this.rootName = rootName;
+ }
+
+ public String getRecordName() {
+ return recordName;
+ }
+
+ public void setRecordName(String recordName) {
+ this.recordName = recordName;
+ }
+
+ private void initValue() {
+ useAvailabelReader = false;
+
+ filePath = null;
+
+ hasReader = false;
+
+ rootName = null;
+
+ recordName = null;
+
+ if (SmooksUIUtils.hasReaderAlready(CSV12Reader.class, smooksResourceList)
+ || SmooksUIUtils.hasReaderAlready(CSV12ReaderImpl.class, smooksResourceList)) {
+ hasReader = true;
+ }
+
+ createCSVReader = true;
+
+ encoding = "UTF-8";
+
+ separator = null;
+
+ skipLines = null;
+
+ quoteChar = null;
+
+ fieldsList.clear();
+
+ if (hasReader) {
+ createCSVReader = false;
+ useAvailabelReader = true;
+ }
+ }
+
+ public SmooksResourceListType getSmooksResourceList() {
+ return smooksResourceList;
+ }
+
+ /**
+ * @return the filePath
+ */
+ public String getFilePath() {
+ return filePath;
+ }
+
+ /**
+ * @param filePath
+ * the filePath to set
+ */
+ public void setFilePath(String filePath) {
+ this.filePath = filePath;
+ }
+
+ public void setSmooksResourceList(SmooksResourceListType smooksResourceList) {
+ this.smooksResourceList = smooksResourceList;
+ }
+
+ public class FieldString {
+ private String text = null;
+
+ private String exampleValue;
+
+ /**
+ * @return the exampleValue
+ */
+ public String getExampleValue() {
+ return exampleValue;
+ }
+
+ /**
+ * @param exampleValue
+ * the exampleValue to set
+ */
+ public void setExampleValue(String exampleValue) {
+ this.exampleValue = exampleValue;
+ }
+
+ public FieldString(String text) {
+ this.setText(text);
+ }
+
+ public String getText() {
+ return text;
+ }
+
+ public void setText(String text) {
+ this.text = text;
+ }
+ }
+
+ private class FieldsLabelProvider extends LabelProvider implements ITableLabelProvider, ITableFontProvider,
+ ITableColorProvider {
+
+ private Font font = null;
+
+ public void dispose() {
+ if (font != null) {
+ font.dispose();
+ }
+ super.dispose();
+ }
+
+ public FieldsLabelProvider() {
+ FontData fd = new FontData();
+ fd.setName("Arial");
+// fd.setStyle(SWT.BOLD);
+ font = new Font(null, fd);
+ }
+
+ public Image getColumnImage(Object element, int columnIndex) {
+ return null;
+ }
+
+ public String getColumnText(Object element, int columnIndex) {
+ if (element instanceof FieldString) {
+ switch(columnIndex){
+ case 0 :
+ return ((FieldString) element).getText();
+ case 1:
+ return ((FieldString) element).getExampleValue();
+ }
+ return ((FieldString) element).getText();
+ }
+ return getText(element);
+ }
+
+ public Font getFont(Object element, int columnIndex) {
+ if (columnIndex == 0) {
+ return font;
+ }
+ return null;
+ }
+
+ public Color getBackground(Object element, int columnIndex) {
+ if (columnIndex == 1) {
+ return ColorConstants.lightGray;
+ }
+ return null;
+ }
+
+ public Color getForeground(Object element, int columnIndex) {
+ if (columnIndex == 1) {
+ return org.eclipse.draw2d.ColorConstants.darkGray;
+ }
+ return null;
+ }
+
+ }
+
+ private class FieldsContentProvider implements IStructuredContentProvider {
+
+ public Object[] getElements(Object inputElement) {
+ if (inputElement instanceof List<?>) {
+ return ((List<?>) inputElement).toArray();
+ }
+ return new Object[] {};
+ }
+
+ public void dispose() {
+
+ }
+
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+
+ }
+
+ }
+
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/CSV12DataConfigurationWizardPage.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/CSV12DataPathWizardPage.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/CSV12DataPathWizardPage.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/CSV12DataPathWizardPage.java 2009-08-17 10:30:54 UTC (rev 17106)
@@ -0,0 +1,108 @@
+/*******************************************************************************
+ * 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.csv12;
+
+import java.io.File;
+import java.lang.reflect.InvocationTargetException;
+import java.util.List;
+
+import org.eclipse.jface.viewers.ViewerFilter;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
+import org.jboss.tools.smooks.configuration.editors.xml.AbstractFileSelectionWizardPage;
+
+/**
+ * @author Dart (dpeng(a)redhat.com)
+ *
+ */
+public class CSV12DataPathWizardPage extends AbstractFileSelectionWizardPage {
+
+ private CSV12DataConfigurationWizardPage configPage;
+
+ public CSV12DataPathWizardPage(String pageName, boolean multiSelect, Object[] initSelections,
+ List<ViewerFilter> filters,CSV12DataConfigurationWizardPage configPage) {
+ super(pageName, multiSelect, initSelections, filters);
+ this.configPage = configPage;
+ }
+
+ public CSV12DataPathWizardPage(String pageName, String[] fileExtensionNames,CSV12DataConfigurationWizardPage configPage) {
+ super(pageName, fileExtensionNames);
+ this.setTitle("CSV file selection");
+ this.setDescription("Select a CSV data file");
+ this.configPage = configPage;
+ }
+
+
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.smooks.configuration.editors.xml.AbstractFileSelectionWizardPage#hookFileTextModifyListener()
+ */
+ @Override
+ protected void hookFileTextModifyListener() {
+ super.hookFileTextModifyListener();
+ this.fileText.addModifyListener(new ModifyListener(){
+
+ /* (non-Javadoc)
+ * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
+ */
+ public void modifyText(ModifyEvent e) {
+ if(configPage != null){
+ configPage.setFilePath(fileText.getText());
+ }
+ }
+
+ });
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.jboss.tools.smooks.configuration.editors.xml.
+ * AbstractFileSelectionWizardPage#loadedTheObject(java.lang.String)
+ */
+ @Override
+ protected Object loadedTheObject(String path) throws Exception {
+ return null;
+ }
+
+ @Override
+ protected void changeWizardPageStatus() {
+ super.changeWizardPageStatus();
+ String text = this.fileText.getText();
+ String error = null;
+ String filePath;
+ try {
+ filePath = SmooksUIUtils.parseFilePath(text);
+ if (!new File(filePath).exists()) {
+ error = "Can't find the file : " + filePath;
+ }
+ } catch (InvocationTargetException e) {
+ error = "Error file path";
+ }
+
+ this.setErrorMessage(error);
+ this.setPageComplete(error == null);
+ }
+
+ @Override
+ public boolean canFlipToNextPage() {
+ return super.canFlipToNextPage();
+ // String filePath = this.getFilePath();
+ // try {
+ // filePath = SmooksUIUtils.parseFilePath(filePath);
+ // if(filePath == null) return false;
+ // return new File(filePath).exists();
+ // } catch (InvocationTargetException e) {
+ // return false;
+ // }
+ }
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/CSV12DataPathWizardPage.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/CSV12InputDataWizard.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/CSV12InputDataWizard.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/CSV12InputDataWizard.java 2009-08-17 10:30:54 UTC (rev 17106)
@@ -0,0 +1,291 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.configuration.editors.csv12;
+
+import java.math.BigInteger;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.edit.command.AddCommand;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.jboss.tools.smooks.configuration.editors.SmooksMultiFormEditor;
+import org.jboss.tools.smooks.configuration.editors.csv.CSVDataParser;
+import org.jboss.tools.smooks.configuration.editors.csv12.CSV12DataConfigurationWizardPage.FieldString;
+import org.jboss.tools.smooks.configuration.editors.wizard.IStructuredDataSelectionWizard;
+import org.jboss.tools.smooks.model.csv12.CSV12Reader;
+import org.jboss.tools.smooks.model.csv12.Csv12Factory;
+import org.jboss.tools.smooks.model.smooks.DocumentRoot;
+import org.jboss.tools.smooks.model.smooks.SmooksPackage;
+import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
+import org.jboss.tools.smooks10.model.smooks.util.SmooksModelUtils;
+
+/**
+ * @author Dart
+ *
+ */
+public class CSV12InputDataWizard extends Wizard implements IStructuredDataSelectionWizard, INewWizard {
+
+ private SmooksResourceListType resourceList;
+
+ private EditingDomain editingDomain;
+
+ private CSV12DataConfigurationWizardPage configPage;
+
+ private CSV12DataPathWizardPage pathPage;
+
+ public CSV12InputDataWizard() {
+ super();
+ this.setWindowTitle("CSV Input Data Wizard (version 1.2)");
+ }
+
+ @Override
+ public void addPages() {
+ if (configPage == null) {
+ configPage = new CSV12DataConfigurationWizardPage("CSV Configurations Page");
+ configPage.setSmooksResourceList(resourceList);
+ }
+
+ if (pathPage == null) {
+ pathPage = new CSV12DataPathWizardPage("CSV Path Page", new String[] {},configPage);
+ }
+
+ this.addPage(pathPage);
+ this.addPage(configPage);
+ super.addPages();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.wizard.Wizard#performFinish()
+ */
+ @Override
+ public boolean performFinish() {
+ if (configPage != null) {
+ boolean createCSVReader = configPage.isCreateCSVReader();
+ if (createCSVReader) {
+ CSV12Reader reader = Csv12Factory.eINSTANCE.createCSV12Reader();
+
+ String encoding = configPage.getEncoding();
+ reader.setEncoding(encoding);
+
+ String separator = configPage.getSeparator();
+ reader.setSeparator(separator);
+
+ String skipLines = configPage.getSkipLines();
+ long skip = -1;
+ try {
+ skip = Long.parseLong(skipLines);
+ } catch (Throwable t) {
+
+ }
+ if (skip >= 0) {
+ reader.setSkipLines(BigInteger.valueOf(skip));
+ }
+
+ String quoteChar = configPage.getQuoteChar();
+ reader.setQuote(quoteChar);
+
+ String rootName = configPage.getRootName();
+ if(rootName != null){
+ reader.setRootElementName(rootName);
+ }
+
+ String recordName = configPage.getRecordName();
+ if(recordName != null){
+ reader.setRecordElementName(recordName);
+ }
+
+ String fields = null;
+ List<FieldString> fieldList = configPage.getFieldsList();
+ if (fieldList != null && !fieldList.isEmpty()) {
+ fields = "";
+ for (Iterator<?> iterator = fieldList.iterator(); iterator.hasNext();) {
+ FieldString fieldString = (FieldString) iterator.next();
+ String f = fieldString.getText();
+ fields += (f + ",");
+ }
+ if (fields.length() > 1) {
+ fields = fields.substring(0, fields.length() - 1);
+ }
+ }
+ reader.setFields(fields);
+
+ Command command = AddCommand.create(editingDomain, resourceList, SmooksPackage.eINSTANCE
+ .getSmooksResourceListType_AbstractReader(), reader);
+ editingDomain.getCommandStack().execute(command);
+
+ }
+ }
+ return true;
+ }
+
+ public boolean canFinish() {
+ if (configPage != null && pathPage != null) {
+ if (configPage.isPageComplete() && pathPage.isPageComplete())
+ return true;
+ }
+ return false;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.jboss.tools.smooks.configuration.editors.wizard.
+ * IStructuredDataSelectionWizard
+ * #complate(org.jboss.tools.smooks.configuration
+ * .editors.SmooksMultiFormEditor)
+ */
+ public void complate(SmooksMultiFormEditor formEditor) {
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.jboss.tools.smooks.configuration.editors.wizard.
+ * IStructuredDataSelectionWizard#getInputDataTypeID()
+ */
+ public String getInputDataTypeID() {
+ return SmooksModelUtils.INPUT_TYPE_CSV_1_2;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.jboss.tools.smooks.configuration.editors.wizard.
+ * IStructuredDataSelectionWizard#getProperties()
+ */
+ public Properties getProperties() {
+ Properties pro = new Properties();
+ fillProperties(pro);
+ return pro;
+ }
+
+ private void fillProperties(Properties pro) {
+ if (configPage != null) {
+ boolean createCSVReader = configPage.isCreateCSVReader();
+ boolean useAvailabelReader = configPage.isUseAvailabelReader();
+
+ if (useAvailabelReader || createCSVReader) {
+ pro.put(CSVDataParser.LINK_CSV_READER, "true");
+ return;
+ }
+
+ String fields = null;
+ List<FieldString> fieldList = configPage.getFieldsList();
+ if (fieldList != null && !fieldList.isEmpty()) {
+ fields = "";
+ for (Iterator<?> iterator = fieldList.iterator(); iterator.hasNext();) {
+ FieldString fieldString = (FieldString) iterator.next();
+ String f = fieldString.getText();
+ fields += (f + ",");
+ }
+ if (fields.length() > 1) {
+ fields = fields.substring(0, fields.length() - 1);
+ }
+ }
+
+ if (fields != null && fields.length() != 0) {
+ pro.put(CSVDataParser.FIELDS, fields);
+ }
+
+ String encoding = configPage.getEncoding();
+ if (encoding != null && encoding.length() != 0) {
+ pro.put(CSVDataParser.ENCODING, encoding);
+ }
+
+ String separator = configPage.getSeparator();
+ if (separator != null && separator.length() != 0) {
+ pro.put(CSVDataParser.SEPARATOR, separator);
+ }
+
+ String quoteChar = configPage.getQuoteChar();
+ if (quoteChar != null && quoteChar.length() != 0) {
+ pro.put(CSVDataParser.QUOTECHAR, quoteChar);
+ }
+
+ String rootName = configPage.getRootName();
+ if (rootName != null && rootName.length() != 0) {
+ pro.put(CSVDataParser.ROOT_ELEMENT_NAME, rootName);
+ }
+
+ String recordName = configPage.getRecordName();
+ if (recordName != null && recordName.length() != 0) {
+ pro.put(CSVDataParser.RECORD_NAME, recordName);
+ }
+
+ String skiplines = configPage.getSkipLines();
+ if (skiplines != null && skiplines.length() != 0) {
+ pro.put(CSVDataParser.SKIPLINES, skiplines);
+ }
+
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.jboss.tools.smooks.configuration.editors.wizard.
+ * IStructuredDataSelectionWizard#getReturnData()
+ */
+ public Object getReturnData() {
+ return null;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.jboss.tools.smooks.configuration.editors.wizard.
+ * IStructuredDataSelectionWizard#getStructuredDataSourcePath()
+ */
+ public String getStructuredDataSourcePath() {
+ if (pathPage != null) {
+ return pathPage.getFilePath();
+ }
+ return null;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.jboss.tools.smooks.configuration.editors.wizard.
+ * IStructuredDataSelectionWizard#init(org.eclipse.ui.IEditorSite,
+ * org.eclipse.ui.IEditorInput)
+ */
+ public void init(IEditorSite site, IEditorInput input) {
+ IEditorPart editorPart = site.getWorkbenchWindow().getActivePage().findEditor(input);
+ if (editorPart != null && editorPart instanceof SmooksMultiFormEditor) {
+ SmooksMultiFormEditor formEditor = (SmooksMultiFormEditor) editorPart;
+ Object smooksModel = formEditor.getSmooksModel();
+ if (smooksModel instanceof DocumentRoot) {
+ resourceList = ((DocumentRoot) smooksModel).getSmooksResourceList();
+ }
+ editingDomain = formEditor.getEditingDomain();
+ }
+ if (configPage != null) {
+ configPage.setSmooksResourceList(resourceList);
+ }
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench,
+ * org.eclipse.jface.viewers.IStructuredSelection)
+ */
+ public void init(IWorkbench workbench, IStructuredSelection selection) {
+ }
+
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/CSV12InputDataWizard.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/JsonInputDataParser.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/JsonInputDataParser.java 2009-08-17 09:00:33 UTC (rev 17105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/JsonInputDataParser.java 2009-08-17 10:30:54 UTC (rev 17106)
@@ -245,7 +245,8 @@
}
model = null;
} catch (Throwable t) {
- t.printStackTrace();
+ // ignore
+// t.printStackTrace();
}
return tagList;
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SelectorContentProposalProvider.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SelectorContentProposalProvider.java 2009-08-17 09:00:33 UTC (rev 17105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SelectorContentProposalProvider.java 2009-08-17 10:30:54 UTC (rev 17106)
@@ -17,7 +17,7 @@
import org.eclipse.jface.fieldassist.IContentProposal;
import org.eclipse.jface.fieldassist.IContentProposalProvider;
import org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject;
-import org.jboss.tools.smooks.configuration.editors.SelectoreSelectionDialog;
+import org.jboss.tools.smooks.configuration.editors.SelectorCreationDialog;
import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtType;
import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
@@ -47,7 +47,7 @@
if(contents.indexOf("h") != -1){
System.out.println();
}
- List<Object> list = SelectoreSelectionDialog.generateInputData(extType,resourceList);
+ List<Object> list = SelectorCreationDialog.generateInputData(extType,resourceList);
if(list == null || list.isEmpty()){
return new IContentProposal[]{};
}
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-17 09:00:33 UTC (rev 17105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2009-08-17 10:30:54 UTC (rev 17106)
@@ -120,7 +120,7 @@
import org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject;
import org.jboss.tools.smooks.configuration.editors.OpenFileHyperLinkListener;
import org.jboss.tools.smooks.configuration.editors.SelectorAttributes;
-import org.jboss.tools.smooks.configuration.editors.SelectoreSelectionDialog;
+import org.jboss.tools.smooks.configuration.editors.SelectorCreationDialog;
import org.jboss.tools.smooks.configuration.editors.javabean.JavaBeanModel;
import org.jboss.tools.smooks.configuration.editors.javabean.JavaMethodsSelectionDialog;
import org.jboss.tools.smooks.configuration.editors.javabean.JavaPropertiesSelectionDialog;
@@ -859,7 +859,7 @@
AttributeFieldEditPart fieldEditPart = createDialogFieldEditor(labelText, parent, toolkit, propertyDescriptor,
"Browse", new IFieldDialog() {
public Object open(Shell shell) {
- SelectoreSelectionDialog dialog = new SelectoreSelectionDialog(shell, extType,
+ SelectorCreationDialog dialog = new SelectorCreationDialog(shell, extType,
currentEditorPart);
if (dialog.open() == Dialog.OK) {
Object currentSelection = dialog.getCurrentSelection();
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/wizard/ViewerInitorStore.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/wizard/ViewerInitorStore.java 2009-08-17 09:00:33 UTC (rev 17105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/wizard/ViewerInitorStore.java 2009-08-17 10:30:54 UTC (rev 17106)
@@ -18,6 +18,7 @@
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.jboss.tools.smooks.configuration.editors.GraphicsConstants;
import org.jboss.tools.smooks.configuration.editors.csv.CSVInputDataWizard;
+import org.jboss.tools.smooks.configuration.editors.csv12.CSV12InputDataWizard;
import org.jboss.tools.smooks.configuration.editors.edi.EDIDataWizard;
import org.jboss.tools.smooks.configuration.editors.javabean.JavabeanContentProvider;
import org.jboss.tools.smooks.configuration.editors.javabean.JavabeanStrucutredDataWizard;
@@ -139,9 +140,9 @@
protected HashMap<String, IViewerInitor> createNewInitorMap() {
HashMap<String, IViewerInitor> map = new HashMap<String, IViewerInitor>();
- // for json
+ // for json 1.1
BaseViewerInitor jsonViewerInitor = new BaseViewerInitor();
- String name = "Json";
+ String name = "Json 1.1";
String description = "Select Json data file as the input data.";
String iconPath = null;
String typeID = SmooksModelUtils.INPUT_TYPE_JSON;
@@ -209,12 +210,12 @@
xsdViewerInitor.setWizardIconPath(GraphicsConstants.IMAGE_XSD_FILE);
map.put(typeID, xsdViewerInitor);
- // for Csv
+ // for Csv 1.1
BaseViewerInitor csvViewerInitor = new BaseViewerInitor();
- name = "CSV";
- description = "Select CSV data file as the input data.";
+ name = "CSV 1.1";
+ description = "Select CSV data file as the input data (version 1.1).";
iconPath = null;
- typeID = SmooksModelUtils.INPUT_TYPE_CSV;
+ typeID = SmooksModelUtils.INPUT_TYPE_CSV_1_1;
csvViewerInitor.setName(name);
csvViewerInitor.setDescription(description);
@@ -223,12 +224,27 @@
csvViewerInitor.setLabelProvider(new XMLStructuredDataLabelProvider());
csvViewerInitor.setTreeContentProvider(new XMLStructuredDataContentProvider());
csvViewerInitor.setStructuredDataLoadWizard(new CSVInputDataWizard());
- // jsonViewerInitor.setWizardIconPath(GraphicsConstants.IMAGE_JAVA_FILE);
map.put(typeID, csvViewerInitor);
+
+ // for Csv 1.2
+ BaseViewerInitor csv12ViewerInitor = new BaseViewerInitor();
+ name = "CSV 1.2";
+ description = "Select CSV data file as the input data (version 1.2).";
+ iconPath = null;
+ typeID = SmooksModelUtils.INPUT_TYPE_CSV_1_2;
- // for Csv
+ csv12ViewerInitor.setName(name);
+ csv12ViewerInitor.setDescription(description);
+ csv12ViewerInitor.setWizardIconPath(iconPath);
+ csv12ViewerInitor.setTypeID(typeID);
+ csv12ViewerInitor.setLabelProvider(new XMLStructuredDataLabelProvider());
+ csv12ViewerInitor.setTreeContentProvider(new XMLStructuredDataContentProvider());
+ csv12ViewerInitor.setStructuredDataLoadWizard(new CSV12InputDataWizard());
+ map.put(typeID, csv12ViewerInitor);
+
+ // for EDI 1.1
BaseViewerInitor ediViewerInitor = new BaseViewerInitor();
- name = "EDI";
+ name = "EDI 1.1";
description = "Select EDI data file as the input data.";
iconPath = null;
typeID = SmooksModelUtils.INPUT_TYPE_EDI;
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SelectorValidator.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SelectorValidator.java 2009-08-17 09:00:33 UTC (rev 17105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SelectorValidator.java 2009-08-17 10:30:54 UTC (rev 17106)
@@ -25,7 +25,7 @@
import org.eclipse.emf.edit.domain.EditingDomain;
import org.jboss.tools.smooks.configuration.SmooksConfigurationActivator;
import org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject;
-import org.jboss.tools.smooks.configuration.editors.SelectoreSelectionDialog;
+import org.jboss.tools.smooks.configuration.editors.SelectorCreationDialog;
import org.jboss.tools.smooks.configuration.editors.groovy.GroovyUICreator;
import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
import org.jboss.tools.smooks.model.calc.CalcPackage;
@@ -245,7 +245,7 @@
}
}
if (extType != null) {
- List<Object> l = SelectoreSelectionDialog.generateInputData(extType, listType);
+ List<Object> l = SelectorCreationDialog.generateInputData(extType, listType);
if (l != null) {
list.addAll(l);
}
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-17 09:00:33 UTC (rev 17105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPart.java 2009-08-17 10:30:54 UTC (rev 17106)
@@ -49,7 +49,7 @@
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.actions.ActionFactory;
import org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject;
-import org.jboss.tools.smooks.configuration.editors.SelectoreSelectionDialog;
+import org.jboss.tools.smooks.configuration.editors.SelectorCreationDialog;
import org.jboss.tools.smooks.configuration.editors.javabean.JavaBeanModel;
import org.jboss.tools.smooks.configuration.editors.javabean.JavabeanContentProvider;
import org.jboss.tools.smooks.configuration.editors.javabean.JavabeanlabelProvider;
@@ -382,7 +382,7 @@
smooksResourceList = null;
if (obj instanceof DocumentRoot) {
smooksResourceList = ((DocumentRoot) obj).getSmooksResourceList();
- inputDataList = SelectoreSelectionDialog.generateInputData(smooksModelProvider.getSmooksGraphicsExt(),
+ inputDataList = SelectorCreationDialog.generateInputData(smooksModelProvider.getSmooksGraphicsExt(),
smooksResourceList);
}
}
16 years, 4 months
JBoss Tools SVN: r17105 - in trunk/smooks/plugins/org.jboss.tools.smooks.runtime: META-INF and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: DartPeng
Date: 2009-08-17 05:00:33 -0400 (Mon, 17 Aug 2009)
New Revision: 17105
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/jackson-core-lgpl-1.0.1.jar
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-commons-1.2.1.jar
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-edisax-parser-1.2.1.jar
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-core-1.2.1.jar
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-csv-1.2.1.jar
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-edi-1.2.1.jar
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-json-1.2.1.jar
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/opencsv-1.8.jar
Removed:
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/jackson-lgpl-0.9.3.jar
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-commons-1.1.2.jar
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-edisax-parser-1.1.2.jar
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-core-1.1.2.jar
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-csv-1.1.2.jar
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-edi-1.1.2.jar
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-json-1.1.2.jar
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/opencsv-1.8.jar
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/.classpath
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/META-INF/MANIFEST.MF
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/build.properties
Log:
JBIDE-4774
Replace smooks.runtime's old libraries with smooks 1.2.1 jar files
Change the org.jboss.tools.smooks.runtime's version
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/.classpath
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.runtime/.classpath 2009-08-17 08:05:19 UTC (rev 17104)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.runtime/.classpath 2009-08-17 09:00:33 UTC (rev 17105)
@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry exported="true" kind="lib" path="libs/opencsv-1.8.jar"/>
- <classpathentry exported="true" kind="lib" path="libs/milyn-edisax-parser-1.1.2.jar"/>
- <classpathentry exported="true" kind="lib" path="libs/milyn-smooks-edi-1.1.2.jar"/>
- <classpathentry exported="true" kind="lib" path="libs/jackson-lgpl-0.9.3.jar"/>
- <classpathentry exported="true" kind="lib" path="libs/milyn-smooks-core-1.1.2.jar"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry exported="true" kind="lib" path="libs/milyn-commons-1.1.2.jar"/>
- <classpathentry exported="true" kind="lib" path="libs/milyn-smooks-csv-1.1.2.jar"/>
- <classpathentry exported="true" kind="lib" path="libs/milyn-smooks-json-1.1.2.jar"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry exported="true" kind="lib" path="libs/opencsv-1.8.jar"/>
+ <classpathentry exported="true" kind="lib" path="libs/jackson-core-lgpl-1.0.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="libs/milyn-commons-1.2.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="libs/milyn-edisax-parser-1.2.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="libs/milyn-smooks-core-1.2.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="libs/milyn-smooks-csv-1.2.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="libs/milyn-smooks-edi-1.2.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="libs/milyn-smooks-json-1.2.1.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/META-INF/MANIFEST.MF
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.runtime/META-INF/MANIFEST.MF 2009-08-17 08:05:19 UTC (rev 17104)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.runtime/META-INF/MANIFEST.MF 2009-08-17 09:00:33 UTC (rev 17105)
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.jboss.tools.smooks.runtime
-Bundle-Version: 1.1.2
+Bundle-Version: 1.2.1
Require-Bundle: org.eclipse.core.runtime,
org.apache.commons.codec,
org.apache.commons.lang,
@@ -13,13 +13,13 @@
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ClassPath: .,
- libs/milyn-commons-1.1.2.jar,
- libs/milyn-smooks-csv-1.1.2.jar,
- libs/milyn-smooks-json-1.1.2.jar,
- libs/milyn-smooks-core-1.1.2.jar,
- libs/jackson-lgpl-0.9.3.jar,
- libs/milyn-smooks-edi-1.1.2.jar,
- libs/milyn-edisax-parser-1.1.2.jar,
+ libs/jackson-core-lgpl-1.0.1.jar,
+ libs/milyn-commons-1.2.1.jar,
+ libs/milyn-edisax-parser-1.2.1.jar,
+ libs/milyn-smooks-core-1.2.1.jar,
+ libs/milyn-smooks-csv-1.2.1.jar,
+ libs/milyn-smooks-edi-1.2.1.jar,
+ libs/milyn-smooks-json-1.2.1.jar,
libs/opencsv-1.8.jar
Bundle-Localization: plugin
Bundle-Vendor: %providerName
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/build.properties
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.runtime/build.properties 2009-08-17 08:05:19 UTC (rev 17104)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.runtime/build.properties 2009-08-17 09:00:33 UTC (rev 17105)
@@ -1,10 +1,10 @@
bin.includes = META-INF/,\
- libs/milyn-commons-1.1.2.jar,\
- libs/milyn-smooks-csv-1.1.2.jar,\
- libs/milyn-smooks-json-1.1.2.jar,\
- libs/milyn-smooks-core-1.1.2.jar,\
- libs/jackson-lgpl-0.9.3.jar,\
- libs/milyn-smooks-edi-1.1.2.jar,\
- libs/milyn-edisax-parser-1.1.2.jar,\
+ libs/jackson-core-lgpl-1.0.1.jar,\
+ libs/milyn-commons-1.2.1.jar,\
+ libs/milyn-edisax-parser-1.2.1.jar,\
+ libs/milyn-smooks-core-1.2.1.jar,\
+ libs/milyn-smooks-csv-1.2.1.jar,\
+ libs/milyn-smooks-edi-1.2.1.jar,\
+ libs/milyn-smooks-json-1.2.1.jar,\
libs/opencsv-1.8.jar
jars.compile.order =
Added: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/jackson-core-lgpl-1.0.1.jar
===================================================================
(Binary files differ)
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/jackson-core-lgpl-1.0.1.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Deleted: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/jackson-lgpl-0.9.3.jar
===================================================================
(Binary files differ)
Deleted: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-commons-1.1.2.jar
===================================================================
(Binary files differ)
Added: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-commons-1.2.1.jar
===================================================================
(Binary files differ)
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-commons-1.2.1.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Deleted: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-edisax-parser-1.1.2.jar
===================================================================
(Binary files differ)
Added: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-edisax-parser-1.2.1.jar
===================================================================
(Binary files differ)
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-edisax-parser-1.2.1.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Deleted: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-core-1.1.2.jar
===================================================================
(Binary files differ)
Added: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-core-1.2.1.jar
===================================================================
(Binary files differ)
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-core-1.2.1.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Deleted: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-csv-1.1.2.jar
===================================================================
(Binary files differ)
Added: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-csv-1.2.1.jar
===================================================================
(Binary files differ)
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-csv-1.2.1.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Deleted: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-edi-1.1.2.jar
===================================================================
(Binary files differ)
Added: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-edi-1.2.1.jar
===================================================================
(Binary files differ)
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-edi-1.2.1.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Deleted: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-json-1.1.2.jar
===================================================================
(Binary files differ)
Added: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-json-1.2.1.jar
===================================================================
(Binary files differ)
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/milyn-smooks-json-1.2.1.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Deleted: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/opencsv-1.8.jar
===================================================================
(Binary files differ)
Added: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/opencsv-1.8.jar
===================================================================
(Binary files differ)
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/opencsv-1.8.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
16 years, 4 months
JBoss Tools SVN: r17104 - trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors.
by jbosstools-commits@lists.jboss.org
Author: DartPeng
Date: 2009-08-17 04:05:19 -0400 (Mon, 17 Aug 2009)
New Revision: 17104
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java
Log:
JBIDE-4648
Hide the graphical page
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-17 08:04:36 UTC (rev 17103)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java 2009-08-17 08:05:19 UTC (rev 17104)
@@ -82,13 +82,13 @@
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();
}
16 years, 4 months
JBoss Tools SVN: r17103 - 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-17 04:04:36 -0400 (Mon, 17 Aug 2009)
New Revision: 17103
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/uitls/SmooksUIUtils.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPart.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanChildGraphModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanGraphModel.java
Log:
JBIDE-4648
1.Add feature to add/remove connection
2.Add menu on graphical viewer
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-17 06:11:13 UTC (rev 17102)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java 2009-08-17 08:04:36 UTC (rev 17103)
@@ -82,13 +82,13 @@
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();
}
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-17 06:11:13 UTC (rev 17102)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2009-08-17 08:04:36 UTC (rev 17103)
@@ -21,6 +21,7 @@
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
import org.eclipse.core.resources.IFile;
@@ -2074,7 +2075,7 @@
}
private static IXMLStructuredObject localXMLNodeWithNodeName(String name, IXMLStructuredObject contextNode,
- HashMap usedNodeMap) {
+ Map<Object , Object> usedNodeMap) {
if (name == null || contextNode == null)
return null;
String nodeName = contextNode.getNodeName();
@@ -2095,9 +2096,9 @@
return contextNode;
}
usedNodeMap.put(contextNode.getID(), new Object());
- List children = contextNode.getChildren();
+ List<?> children = contextNode.getChildren();
IXMLStructuredObject result = null;
- for (Iterator iterator = children.iterator(); iterator.hasNext();) {
+ for (Iterator<?> iterator = children.iterator(); iterator.hasNext();) {
IXMLStructuredObject child = (IXMLStructuredObject) iterator.next();
if (isAttributeName) {
if (!child.isAttribute())
@@ -2109,7 +2110,7 @@
}
}
if (result == null) {
- for (Iterator iterator = children.iterator(); iterator.hasNext();) {
+ for (Iterator<?> iterator = children.iterator(); iterator.hasNext();) {
IXMLStructuredObject child = (IXMLStructuredObject) iterator.next();
// to avoid the "died loop"
if (usedNodeMap.get(child.getID()) != null) {
@@ -2129,7 +2130,7 @@
}
public static IXMLStructuredObject localXMLNodeWithNodeName(String name, IXMLStructuredObject contextNode) {
- HashMap map = new HashMap();
+ HashMap<Object,Object> map = new HashMap<Object,Object>();
IXMLStructuredObject node = localXMLNodeWithNodeName(name, contextNode, map);
map.clear();
map = null;
@@ -2211,7 +2212,7 @@
List<IXMLStructuredObject> children = parent.getChildren();
if (children == null)
return null;
- for (Iterator iterator = children.iterator(); iterator.hasNext();) {
+ for (Iterator<?> iterator = children.iterator(); iterator.hasNext();) {
IXMLStructuredObject structuredObject = (IXMLStructuredObject) iterator.next();
if (isAttribute) {
if (!structuredObject.isAttribute())
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-17 06:11:13 UTC (rev 17102)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPart.java 2009-08-17 08:04:36 UTC (rev 17103)
@@ -33,12 +33,21 @@
import org.eclipse.gef.commands.CommandStackEvent;
import org.eclipse.gef.commands.CommandStackEventListener;
import org.eclipse.gef.editparts.FreeformGraphicalRootEditPart;
+import org.eclipse.gef.ui.actions.SelectionAction;
import org.eclipse.gef.ui.parts.GraphicalEditor;
+import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
+import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.swt.SWT;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.actions.ActionFactory;
import org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject;
import org.jboss.tools.smooks.configuration.editors.SelectoreSelectionDialog;
import org.jboss.tools.smooks.configuration.editors.javabean.JavaBeanModel;
@@ -47,6 +56,7 @@
import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
import org.jboss.tools.smooks.configuration.editors.xml.XMLStructuredDataContentProvider;
import org.jboss.tools.smooks.configuration.editors.xml.XMLStructuredDataLabelProvider;
+import org.jboss.tools.smooks.edimap.editor.EDIMappingMenuContextProvider;
import org.jboss.tools.smooks.editor.ISmooksModelProvider;
import org.jboss.tools.smooks.gef.common.RootModel;
import org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel;
@@ -73,7 +83,7 @@
* @author Dart
*
*/
-public class SmooksGraphicalEditorPart extends GraphicalEditor {
+public class SmooksGraphicalEditorPart extends GraphicalEditor implements ISelectionChangedListener {
private DefaultEditDomain editDomain = null;
@@ -97,7 +107,7 @@
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) {
@@ -116,12 +126,19 @@
}
}
}
-
+
});
}
});
}
+
+
+ @Override
+ protected void createActions() {
+ super.createActions();
+ }
+
protected void refershRecentAffectedModel(Command command, Collection<?> affectedObjects) {
for (Iterator<?> iterator = affectedObjects.iterator(); iterator.hasNext();) {
Object object = (Object) iterator.next();
@@ -153,8 +170,35 @@
getGraphicalViewer().setEditPartFactory(new SmooksEditFactory());
getGraphicalViewer().setRootEditPart(new FreeformGraphicalRootEditPart());
+
+ GraphicalViewerKeyHandler keyHandler = new GraphicalViewerKeyHandler(getGraphicalViewer());
+ keyHandler.put(org.eclipse.gef.KeyStroke.getPressed(SWT.DEL, 0), this.getActionRegistry().getAction(
+ ActionFactory.DELETE.getId()));
+
+ EDIMappingMenuContextProvider provider = new EDIMappingMenuContextProvider(getGraphicalViewer(), this
+ .getActionRegistry());
+ getGraphicalViewer().setContextMenu(provider);
+
+ hookSelectionActions();
}
+
+ private void hookSelectionActions(){
+ Iterator<?> actions = getActionRegistry().getActions();
+ while(actions.hasNext()){
+ Object action = actions.next();
+ if(action instanceof SelectionAction){
+ ((SelectionAction)action).setSelectionProvider(getGraphicalViewer());
+ }
+ }
+ }
+ @Override
+ protected void hookGraphicalViewer() {
+ // super.hookGraphicalViewer();
+ getGraphicalViewer().addSelectionChangedListener(getSelectionSynchronizer());
+ getGraphicalViewer().addSelectionChangedListener(this);
+ }
+
protected void initGraphicalModel() {
if (root == null) {
root = new RootModel();
@@ -209,7 +253,8 @@
for (Iterator<?> iterator = arcList.iterator(); iterator.hasNext();) {
Object object = (Object) iterator.next();
if (object instanceof BindingsType) {
- JavaBeanGraphModel graphModel = new JavaBeanGraphModel(object, contentProvider, labelProvider);
+ JavaBeanGraphModel graphModel = new JavaBeanGraphModel(object, contentProvider, labelProvider,
+ this.smooksModelProvider);
graphModel.setHeaderVisable(true);
root.addTreeNode(graphModel);
}
@@ -278,7 +323,10 @@
selector, (IXMLStructuredObject) obj, root);
if (sourceGraphModel != null) {
TreeNodeConnection connection = new TreeNodeConnection(sourceGraphModel, model);
- connection.connect();
+ sourceGraphModel.getSourceConnections().add(connection);
+ sourceGraphModel.fireConnectionChanged();
+ model.getTargetConnections().add(connection);
+ model.fireConnectionChanged();
connections.add(connection);
}
}
@@ -344,7 +392,7 @@
public void init(IEditorSite site, IEditorInput input) throws PartInitException {
super.init(site, input);
initSmooksData();
- if(smooksModelProvider != null){
+ if (smooksModelProvider != null) {
this.handleCommandStack(smooksModelProvider.getEditingDomain().getCommandStack());
}
}
@@ -423,4 +471,12 @@
}
+ @Override
+ public void selectionChanged(IWorkbenchPart part, ISelection selection) {
+ super.selectionChanged(part, selection);
+ }
+
+ public void selectionChanged(SelectionChangedEvent event) {
+ updateActions(getSelectionActions());
+ }
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanChildGraphModel.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanChildGraphModel.java 2009-08-17 06:11:13 UTC (rev 17102)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanChildGraphModel.java 2009-08-17 08:04:36 UTC (rev 17103)
@@ -10,9 +10,24 @@
******************************************************************************/
package org.jboss.tools.smooks.graphical.editors.model;
+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.SetCommand;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject;
+import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
+import org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeConnection;
import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+import org.jboss.tools.smooks.model.javabean.ExpressionType;
+import org.jboss.tools.smooks.model.javabean.JavabeanPackage;
+import org.jboss.tools.smooks.model.javabean.ValueType;
+import org.jboss.tools.smooks.model.javabean.WiringType;
+import org.jboss.tools.smooks.model.javabean12.Javabean12Package;
/**
* @author Dart
@@ -20,8 +35,11 @@
*/
public class JavaBeanChildGraphModel extends TreeNodeModel {
- public JavaBeanChildGraphModel(Object data, ITreeContentProvider contentProvider, ILabelProvider labelProvider) {
+ protected IEditingDomainProvider domainProvider = null;
+
+ public JavaBeanChildGraphModel(Object data, ITreeContentProvider contentProvider, ILabelProvider labelProvider , IEditingDomainProvider domainProvider) {
super(data, contentProvider, labelProvider);
+ this.domainProvider = domainProvider;
}
@Override
@@ -29,5 +47,62 @@
return false;
}
+ @Override
+ public void addTargetConnection(TreeNodeConnection connection) {
+ super.addTargetConnection(connection);
+ Object model = getData();
+ model = AdapterFactoryEditingDomain.unwrap(model);
+ if (model instanceof EObject) {
+ EStructuralFeature feature = getFeature(model);
+ EObject owner = (EObject) model;
+ AbstractSmooksGraphicalModel targetGraphModel = connection.getSourceNode();
+ Object tm = targetGraphModel.getData();
+ if (tm instanceof IXMLStructuredObject) {
+ String selector = SmooksUIUtils.generateFullPath((IXMLStructuredObject) tm, "/");
+ Command command = SetCommand.create(domainProvider.getEditingDomain(), owner, feature, selector);
+ domainProvider.getEditingDomain().getCommandStack().execute(command);
+ }
+ }
+ }
+ protected EStructuralFeature getFeature(Object model){
+ EStructuralFeature feature = null;
+ if(model == null){
+ return null;
+ }
+ if (model instanceof WiringType) {
+ feature = JavabeanPackage.Literals.WIRING_TYPE__WIRE_ON_ELEMENT;
+ }
+ if (model instanceof org.jboss.tools.smooks.model.javabean12.WiringType) {
+ feature = Javabean12Package.Literals.WIRING_TYPE__WIRE_ON_ELEMENT;
+ }
+ if (model instanceof ValueType) {
+ feature = JavabeanPackage.Literals.VALUE_TYPE__DATA;
+ }
+ if (model instanceof org.jboss.tools.smooks.model.javabean12.ValueType) {
+ feature = Javabean12Package.Literals.VALUE_TYPE__DATA;
+ }
+ if (model instanceof ExpressionType) {
+ feature = JavabeanPackage.Literals.EXPRESSION_TYPE__EXEC_ON_ELEMENT;
+ }
+ if (model instanceof org.jboss.tools.smooks.model.javabean12.ExpressionType) {
+ feature = Javabean12Package.Literals.EXPRESSION_TYPE__EXEC_ON_ELEMENT;
+ }
+
+ return feature;
+ }
+
+ @Override
+ public void removeTargetConnection(TreeNodeConnection connection) {
+ super.removeTargetConnection(connection);
+ Object model = getData();
+ model = AdapterFactoryEditingDomain.unwrap(model);
+ if (model instanceof EObject) {
+ EStructuralFeature feature = getFeature(model);
+ EObject owner = (EObject) model;
+ Command command = SetCommand.create(domainProvider.getEditingDomain(), owner, feature, null);
+ domainProvider.getEditingDomain().getCommandStack().execute(command);
+ }
+ }
+
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanGraphModel.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanGraphModel.java 2009-08-17 06:11:13 UTC (rev 17102)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanGraphModel.java 2009-08-17 08:04:36 UTC (rev 17103)
@@ -10,25 +10,82 @@
******************************************************************************/
package org.jboss.tools.smooks.graphical.editors.model;
+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.SetCommand;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject;
+import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
+import org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel;
import org.jboss.tools.smooks.gef.tree.model.TreeContainerModel;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeConnection;
import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+import org.jboss.tools.smooks.model.javabean.BindingsType;
+import org.jboss.tools.smooks.model.javabean.JavabeanPackage;
+import org.jboss.tools.smooks.model.javabean12.BeanType;
+import org.jboss.tools.smooks.model.javabean12.Javabean12Package;
/**
* @author Dart
- *
+ *
*/
public class JavaBeanGraphModel extends TreeContainerModel {
- public JavaBeanGraphModel(Object data, ITreeContentProvider contentProvider, ILabelProvider labelProvider) {
+ protected IEditingDomainProvider domainProvider = null;
+
+ public JavaBeanGraphModel(Object data, ITreeContentProvider contentProvider, ILabelProvider labelProvider,
+ IEditingDomainProvider domainProvider) {
super(data, contentProvider, labelProvider);
+ this.domainProvider = domainProvider;
}
@Override
protected TreeNodeModel createChildModel(Object model, ITreeContentProvider contentProvider,
ILabelProvider labelProvider) {
- return new JavaBeanChildGraphModel(model, contentProvider, labelProvider);
+ return new JavaBeanChildGraphModel(model, contentProvider, labelProvider, this.domainProvider);
}
+ @Override
+ public void addTargetConnection(TreeNodeConnection connection) {
+ super.addTargetConnection(connection);
+ Object model = getData();
+ if (model instanceof EObject) {
+ EStructuralFeature feature = null;
+ if (model instanceof BindingsType) {
+ feature = JavabeanPackage.Literals.BINDINGS_TYPE__CREATE_ON_ELEMENT;
+ }
+ if (model instanceof BeanType) {
+ feature = Javabean12Package.Literals.BEAN_TYPE__CREATE_ON_ELEMENT;
+ }
+ EObject owner = (EObject) model;
+ AbstractSmooksGraphicalModel targetGraphModel = connection.getSourceNode();
+ Object tm = targetGraphModel.getData();
+ if (tm instanceof IXMLStructuredObject) {
+ String selector = SmooksUIUtils.generateFullPath((IXMLStructuredObject) tm, "/");
+ Command command = SetCommand.create(domainProvider.getEditingDomain(), owner, feature, selector);
+ domainProvider.getEditingDomain().getCommandStack().execute(command);
+ }
+ }
+ }
+
+ @Override
+ public void removeTargetConnection(TreeNodeConnection connection) {
+ super.removeTargetConnection(connection);
+ Object model = getData();
+ if (model instanceof EObject) {
+ EStructuralFeature feature = null;
+ if (model instanceof BindingsType) {
+ feature = JavabeanPackage.Literals.BINDINGS_TYPE__CREATE_ON_ELEMENT;
+ }
+ if (model instanceof BeanType) {
+ feature = Javabean12Package.Literals.BEAN_TYPE__CREATE_ON_ELEMENT;
+ }
+ EObject owner = (EObject) model;
+ Command command = SetCommand.create(domainProvider.getEditingDomain(), owner, feature, null);
+ domainProvider.getEditingDomain().getCommandStack().execute(command);
+ }
+ }
}
16 years, 4 months
JBoss Tools SVN: r17102 - trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/navigator.
by jbosstools-commits@lists.jboss.org
Author: DartPeng
Date: 2009-08-17 02:11:13 -0400 (Mon, 17 Aug 2009)
New Revision: 17102
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/navigator/DefaultSetting.htm
Log:
JBIDE-4712
Change navigator's description
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/navigator/DefaultSetting.htm
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/navigator/DefaultSetting.htm 2009-08-16 22:54:11 UTC (rev 17101)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/navigator/DefaultSetting.htm 2009-08-17 06:11:13 UTC (rev 17102)
@@ -1,18 +1,18 @@
<form>
-<p>On the 'Overview' page , user can define the <a
+<p>Overview : Define the <a
href="overview_default_setting">default setting</a> , edit the <a
href="overview_global_param">global paramters</a> and define the <a
- href="overview_condition">condition</a>,<br/> <a
+ href="overview_condition">condition</a>, <a
href="overview_profile">profile</a>.</p>
-<p><a href="reader_page">Reader</a> : User can edit the 'Reader' of Smooks in this
+<p><a href="reader_page">Reader</a> : Edit the 'Reader' of Smooks in this
page. Reader page can also add/remove <a href="reader_input_data">input
message</a>. <br/>
Smooks tools generate the 'selector' via the input data and smooks reader , open the <a href="selector_dialog">SelectorDialog</a>,
User can<br/> select the element node to generate 'selector' for it.</p>
<p>
-<a href="message_filter_page">Message Filter</a> :
+<a href="message_filter_page">Message Filter</a> : Add/Remove Java bean binding , Routers and so on.
</p>
-<p>
+<!-- <p>
<a href="source_page">Source</a> : User can also edit the configuration file directly via source page.
-</p>
+</p> -->
</form>
\ No newline at end of file
16 years, 4 months
JBoss Tools SVN: r17101 - in trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam: configurators and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: snjeza
Date: 2009-08-16 18:54:11 -0400 (Sun, 16 Aug 2009)
New Revision: 17101
Modified:
trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/MavenSeamActivator.java
trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/configurators/SeamProjectConfigurator.java
trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/preferences/SeamConfiguratorPreferencePage.java
trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/preferences/SeamConfiguratorPreferencesInitializer.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4736 Add m2eclipse project-configurator for Seam projects
Modified: trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/MavenSeamActivator.java
===================================================================
--- trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/MavenSeamActivator.java 2009-08-15 08:45:37 UTC (rev 17100)
+++ trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/MavenSeamActivator.java 2009-08-16 22:54:11 UTC (rev 17101)
@@ -71,12 +71,16 @@
private static final String PARENT_SUFFIX = "-parent";
// The plug-in ID
- public static final String PLUGIN_ID = "org.jboss.tools.maven.seam";
+ public static final String PLUGIN_ID = "org.jboss.tools.maven.seam"; //$NON-NLS-1$
public static final String CONFIGURE_SEAM = "configureSeam"; //$NON-NLS-1$
public static final boolean CONFIGURE_SEAM_VALUE = true;
+
+ public static final String CONFIGURE_SEAM_RUNTIME = "configureSeamRuntime"; //$NON-NLS-1$
+ public static final boolean CONFIGURE_SEAM_RUNTIME_VALUE = true;
+
// The shared instance
private static MavenSeamActivator plugin;
Modified: trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/configurators/SeamProjectConfigurator.java
===================================================================
--- trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/configurators/SeamProjectConfigurator.java 2009-08-15 08:45:37 UTC (rev 17100)
+++ trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/configurators/SeamProjectConfigurator.java 2009-08-16 22:54:11 UTC (rev 17101)
@@ -1,5 +1,6 @@
package org.jboss.tools.maven.seam.configurators;
+import java.io.File;
import java.util.List;
import org.apache.maven.model.Dependency;
@@ -30,6 +31,10 @@
import org.jboss.tools.maven.seam.MavenSeamActivator;
import org.jboss.tools.seam.core.ISeamProject;
import org.jboss.tools.seam.core.SeamCorePlugin;
+import org.jboss.tools.seam.core.SeamUtil;
+import org.jboss.tools.seam.core.project.facet.SeamRuntime;
+import org.jboss.tools.seam.core.project.facet.SeamRuntimeManager;
+import org.jboss.tools.seam.core.project.facet.SeamVersion;
import org.jboss.tools.seam.internal.core.project.facet.ISeamFacetDataModelProperties;
import org.jboss.tools.seam.internal.core.project.facet.SeamFacetInstallDataModelProvider;
import org.maven.ide.eclipse.MavenPlugin;
@@ -102,13 +107,22 @@
if (earProjects.length > 0) {
deploying = "ear"; //$NON-NLS-1$
}
- IDataModel model = createSeamDataModel(deploying);
+ IDataModel model = createSeamDataModel(deploying, seamVersion);
final IFacetedProject fproj = ProjectFacetsManager.create(project);
if ("war".equals(packaging)) { //$NON-NLS-1$
installWarFacets(fproj,model,seamVersion, monitor);
} else if ("ear".equals(packaging)) { //$NON-NLS-1$
installEarFacets(fproj, monitor);
installM2Facet(fproj, monitor);
+ IProject webProject = getReferencingSeamWebProject(project);
+ if (webProject != null) {
+ IEclipsePreferences prefs = SeamCorePlugin.getSeamPreferences(webProject);
+ String deployingType = prefs.get(ISeamFacetDataModelProperties.JBOSS_AS_DEPLOY_AS,null);
+ if (deployingType == null || deployingType.equals(ISeamFacetDataModelProperties.DEPLOY_AS_WAR)) {
+ prefs.put(ISeamFacetDataModelProperties.JBOSS_AS_DEPLOY_AS,ISeamFacetDataModelProperties.DEPLOY_AS_EAR);
+ storeSettings(webProject);
+ }
+ }
} else if ("ejb".equals(packaging)) { //$NON-NLS-1$
installM2Facet(fproj,monitor);
installEjbFacets(fproj, monitor);
@@ -287,9 +301,12 @@
return null;
}
- private IDataModel createSeamDataModel(String deployType) {
+ private IDataModel createSeamDataModel(String deployType, String seamVersion) {
IDataModel config = (IDataModel) new SeamFacetInstallDataModelProvider().create();
- //config.setStringProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_NAME, SEAM_1_2_0);
+ String seamRuntimeName = getSeamRuntimeName(seamVersion);
+ if (seamRuntimeName != null) {
+ config.setStringProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_NAME, seamRuntimeName);
+ }
config.setBooleanProperty(ISeamFacetDataModelProperties.DB_ALREADY_EXISTS, true);
config.setBooleanProperty(ISeamFacetDataModelProperties.RECREATE_TABLES_AND_DATA_ON_DEPLOY, false);
config.setStringProperty(ISeamFacetDataModelProperties.JBOSS_AS_DEPLOY_AS, deployType);
@@ -302,4 +319,58 @@
//config.setProperty(ISeamFacetDataModelProperties.JDBC_DRIVER_JAR_PATH, new String[] { "noop-driver.jar" });
return config;
}
+
+ private String getSeamRuntimeName(String seamVersionStr) {
+ if (seamVersionStr == null) {
+ return null;
+ }
+ IPreferenceStore store = MavenSeamActivator.getDefault().getPreferenceStore();
+ boolean configureSeamRuntime = store.getBoolean(MavenSeamActivator.CONFIGURE_SEAM_RUNTIME);
+ if (!configureSeamRuntime) {
+ return null;
+ }
+ String seamRuntime5 = null;
+ String seamRuntime3 = null;
+ SeamRuntime[] seamRuntimes = SeamRuntimeManager.getInstance().getRuntimes();
+ for (int i = 0; i < seamRuntimes.length; i++) {
+ SeamRuntime seamRuntime = seamRuntimes[i];
+ String seamHomeDir = seamRuntime.getHomeDir();
+ if (seamHomeDir == null) {
+ continue;
+ }
+ if ( ! (new File(seamHomeDir).exists() )) {
+ continue;
+ }
+ String fullVersion = SeamUtil.getSeamVersionFromManifest(seamRuntime.getHomeDir());
+ if (fullVersion == null) {
+ continue;
+ }
+ if (fullVersion == seamVersionStr) {
+ return seamRuntime.getName();
+ }
+ if (seamRuntime5 == null) {
+ String fullVersion5 = fullVersion.substring(0,5);
+ String seamVersion5 = seamVersionStr.substring(0,5);
+ if (seamVersion5.equals(fullVersion5)) {
+ seamRuntime5 = seamRuntime.getName();
+ }
+ }
+ if (seamRuntime5 == null && seamRuntime3 == null) {
+ String fullVersion3 = fullVersion.substring(0,3);
+ String seamVersion3 = seamVersionStr.substring(0,3);
+ if (seamVersion3.equals(fullVersion3)) {
+ seamRuntime3 = seamRuntime.getName();
+ }
+ }
+ }
+ if (seamRuntime5 != null) {
+ return seamRuntime5;
+ }
+ SeamVersion seamVersion = SeamVersion.parseFromString(seamVersionStr.substring(0,3));
+ SeamRuntime defaultRuntime = SeamRuntimeManager.getInstance().getDefaultRuntime(seamVersion);
+ if (defaultRuntime != null) {
+ return defaultRuntime.getName();
+ }
+ return seamRuntime3;
+ }
}
Modified: trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/preferences/SeamConfiguratorPreferencePage.java
===================================================================
--- trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/preferences/SeamConfiguratorPreferencePage.java 2009-08-15 08:45:37 UTC (rev 17100)
+++ trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/preferences/SeamConfiguratorPreferencePage.java 2009-08-16 22:54:11 UTC (rev 17101)
@@ -3,6 +3,8 @@
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
@@ -15,7 +17,8 @@
IWorkbenchPreferencePage {
- private Button button;
+ private Button configureSeamButton;
+ private Button configureSeamRuntimeButton;
@Override
protected Control createContents(Composite parent) {
@@ -25,11 +28,27 @@
layout.marginHeight = 0;
composite.setLayout(layout);
- button = new Button(composite,SWT.CHECK);
- button.setText("Configure Seam when importing Maven projects");
+ configureSeamButton = new Button(composite,SWT.CHECK);
+ configureSeamButton.setText("Configure Seam when importing Maven projects");
IPreferenceStore store = MavenSeamActivator.getDefault().getPreferenceStore();
boolean configureSeam = store.getBoolean(MavenSeamActivator.CONFIGURE_SEAM);
- button.setSelection(configureSeam);
+ configureSeamButton.setSelection(configureSeam);
+
+ configureSeamRuntimeButton = new Button(composite,SWT.CHECK);
+ configureSeamRuntimeButton.setText("Configure Seam Runtime");
+ boolean configureSeamRuntime = store.getBoolean(MavenSeamActivator.CONFIGURE_SEAM_RUNTIME);
+ configureSeamRuntimeButton.setSelection(configureSeamRuntime);
+ configureSeamRuntimeButton.setEnabled(configureSeam);
+
+ configureSeamButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ configureSeamRuntimeButton.setEnabled(configureSeamButton.getSelection());
+ }
+
+ });
+
return composite;
}
@@ -38,7 +57,7 @@
@Override
protected void performDefaults() {
- button.setSelection(MavenSeamActivator.CONFIGURE_SEAM_VALUE);
+ configureSeamButton.setSelection(MavenSeamActivator.CONFIGURE_SEAM_VALUE);
IPreferenceStore store = MavenSeamActivator.getDefault().getPreferenceStore();
store.setValue(MavenSeamActivator.CONFIGURE_SEAM, MavenSeamActivator.CONFIGURE_SEAM_VALUE);
super.performDefaults();
@@ -47,7 +66,7 @@
@Override
public boolean performOk() {
IPreferenceStore store = MavenSeamActivator.getDefault().getPreferenceStore();
- store.setValue(MavenSeamActivator.CONFIGURE_SEAM, button.getSelection());
+ store.setValue(MavenSeamActivator.CONFIGURE_SEAM, configureSeamButton.getSelection());
return super.performOk();
}
Modified: trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/preferences/SeamConfiguratorPreferencesInitializer.java
===================================================================
--- trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/preferences/SeamConfiguratorPreferencesInitializer.java 2009-08-15 08:45:37 UTC (rev 17100)
+++ trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/preferences/SeamConfiguratorPreferencesInitializer.java 2009-08-16 22:54:11 UTC (rev 17101)
@@ -16,6 +16,9 @@
node.putBoolean(
MavenSeamActivator.CONFIGURE_SEAM,
MavenSeamActivator.CONFIGURE_SEAM_VALUE);
+ node.putBoolean(
+ MavenSeamActivator.CONFIGURE_SEAM_RUNTIME,
+ MavenSeamActivator.CONFIGURE_SEAM_RUNTIME_VALUE);
}
}
16 years, 4 months
JBoss Tools SVN: r17100 - trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject.
by jbosstools-commits@lists.jboss.org
Author: dgolovin
Date: 2009-08-15 04:45:37 -0400 (Sat, 15 Aug 2009)
New Revision: 17100
Modified:
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/MappingTestsBase.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4740 comment added to test class
Modified: trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/MappingTestsBase.java
===================================================================
--- trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/MappingTestsBase.java 2009-08-15 08:42:11 UTC (rev 17099)
+++ trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/MappingTestsBase.java 2009-08-15 08:45:37 UTC (rev 17100)
@@ -174,7 +174,8 @@
ii++;
}
}
- // Second way
+ // Second way to fix https://jira.jboss.org/jira/browse/JBIDE-4740
+ // invoked to clean up RunnableLock[] in UISynchronizer
try {
m.invoke(Display.getCurrent(), Boolean.TRUE);
} catch (IllegalArgumentException e) {
16 years, 4 months