Author: DartPeng
Date: 2008-12-19 03:51:30 -0500 (Fri, 19 Dec 2008)
New Revision: 12702
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/analyzer/JavaBeanAnalyzer.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksGraphicalFormPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/TypeIDSelectionWizardPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/wizards/SmooksConfigFileNewWizard.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/wizards/SmooksConfigFileNewWizardPage.java
Log:
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/analyzer/JavaBeanAnalyzer.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/analyzer/JavaBeanAnalyzer.java 2008-12-19
07:57:47 UTC (rev 12701)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/analyzer/JavaBeanAnalyzer.java 2008-12-19
08:51:30 UTC (rev 12702)
@@ -558,7 +558,7 @@
ResourceType rt = rc.getResource();
// find the first BeanPopulator resource config , this is the root.
String resourceClazz = null;
- if(resourceConfigIsUsed(rc)){
+ if (resourceConfigIsUsed(rc)) {
continue;
}
if (rt != null) {
@@ -576,9 +576,10 @@
if (selector != null) {
selector = selector.trim();
}
- if(!sourceName.equals(selector)){
- source = findJavaBeanModelFormList(selector, sourceModelList);
- if(source != null){
+ if (!sourceName.equals(selector)) {
+ source = findJavaBeanModelFormList(selector,
+ sourceModelList);
+ if (source != null) {
sourceClazz = source.getBeanClass();
if (sourceClazz != null) {
sourceName = sourceClazz.getName();
@@ -857,6 +858,43 @@
}
}
}
+ if (current == null) {
+ // rootClassName = this.getDataSourceClass(graphInfo, TARGET_DATA);
+ // TODO if there isn't any BeanPopulater throws exception
+ // MODIFY by Dart 2008.11.17
+ try{
+ if (classLoader == null) {
+ IProject project = sourceFile.getProject();
+ classLoader = new ProjectClassLoader(JavaCore.create(project));
+ }
+ String classString = getDataSourceClass(graphInfo, TARGET_DATA);
+ if (classString != null && classLoader != null) {
+ String[] classes = classString.split(";");
+ if (classes != null) {
+ for (int i = 0; i < classes.length; i++) {
+ String clazzName = classes[i];
+ list.add(JavaBeanModelFactory
+ .getJavaBeanModelWithLazyLoad(classLoader
+ .loadClass(clazzName)));
+ }
+ return list;
+ }
+ }
+ }catch (ClassNotFoundException e) {
+ // TODO if can't find the class throws exception
+ // MODIFY by Dart 2008.11.12
+ throw new RuntimeException("Can't find the class : \""
+ + rootClassName
+ + "\" to create the JavaBean model");
+ } catch (JavaModelException e) {
+ e.printStackTrace();
+ }
+ // throw new RuntimeException(
+ // "Can't load Java bean model form the config file.");
+ }
+ // if can't load the source from GraphicalInformation , return NULL
+ if (current == null && rootClassName == null)
+ return list;
return list;
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksGraphicalFormPage.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksGraphicalFormPage.java 2008-12-19
07:57:47 UTC (rev 12701)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksGraphicalFormPage.java 2008-12-19
08:51:30 UTC (rev 12702)
@@ -216,6 +216,8 @@
private Section mappingGUISection;
+ private Section problemSection;
+
public ISelection getSelection() {
return selection;
}
@@ -476,19 +478,18 @@
protected void createErrorMessageLinkGUI(FormToolkit toolkit,
Composite parent) {
- Section secion = this.createPageSectionHeader(parent, Section.TITLE_BAR
- | Section.DESCRIPTION, "Problems",
- "Click \"Fix\" link to fix those errors");
+ problemSection = this.createPageSectionHeader(parent, Section.TITLE_BAR
+ | Section.DESCRIPTION, "Problems", "No problems");
- designTimeAnalyzeResultRegion = toolkit.createComposite(secion);
+ designTimeAnalyzeResultRegion = toolkit.createComposite(problemSection);
GridData gd = new GridData(GridData.FILL_BOTH);
GridLayout ngl = new GridLayout();
ngl.numColumns = 2;
ngl.marginWidth = 0;
- secion.setLayout(new FillLayout());
+ problemSection.setLayout(new FillLayout());
designTimeAnalyzeResultRegion.setLayoutData(gd);
designTimeAnalyzeResultRegion.setLayout(ngl);
- secion.setClient(designTimeAnalyzeResultRegion);
+ problemSection.setClient(designTimeAnalyzeResultRegion);
}
public void refreshAllGUI() {
@@ -891,7 +892,7 @@
analyzeDesignGraph();
updateSelectionActions();
IManagedForm form = getManagedForm();
- if(form != null){
+ if (form != null) {
form.dirtyStateChanged();
}
}
@@ -1499,11 +1500,13 @@
}
protected void updateErrorMessage() {
+ boolean hasProblems = false;
for (Iterator<DesignTimeAnalyzeResult> iterator = this.analyzeResultList
.iterator(); iterator.hasNext();) {
DesignTimeAnalyzeResult result = (DesignTimeAnalyzeResult) iterator
.next();
if (result.getErrorMessage() != null) {
+ hasProblems = true;
if (canSaveFile)
canSaveFile = false;
Label imageLabel = new Label(designTimeAnalyzeResultRegion,
@@ -1583,6 +1586,12 @@
}
try {
// designTimeAnalyzeResultRegion.setLayoutData(gd);
+ if (hasProblems) {
+ problemSection
+ .setDescription("Click \"Fix\" link to fix those errors");
+ } else {
+ problemSection.setDescription("No problems");
+ }
designTimeAnalyzeResultRegion.getParent().getParent().layout();
} finally {
}
@@ -1624,7 +1633,6 @@
c = null;
}
updateErrorMessage();
- updateWarningMessage();
designTimeAnalyzeResultRegion.layout(true);
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/TypeIDSelectionWizardPage.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/TypeIDSelectionWizardPage.java 2008-12-19
07:57:47 UTC (rev 12701)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/TypeIDSelectionWizardPage.java 2008-12-19
08:51:30 UTC (rev 12702)
@@ -14,7 +14,6 @@
import java.util.Iterator;
import java.util.List;
-import org.eclipse.draw2d.ColorConstants;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.CheckStateChangedEvent;
@@ -31,25 +30,24 @@
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
-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.Label;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
import org.eclipse.ui.forms.widgets.Hyperlink;
-import org.jboss.tools.smooks.analyzer.AnalyzerFactory;
import org.jboss.tools.smooks.analyzer.DataTypeID;
+import org.jboss.tools.smooks.javabean.analyzer.JavaBeanAnalyzer;
import org.jboss.tools.smooks.ui.IStructuredDataCreationWizard;
import org.jboss.tools.smooks.ui.IViewerInitor;
import org.jboss.tools.smooks.ui.StructuredDataCreationWizardDailog;
import org.jboss.tools.smooks.ui.ViewerInitorStore;
import org.jboss.tools.smooks.ui.wizards.ISmooksDataCreationAddtionWizard;
import org.jboss.tools.smooks.ui.wizards.TransformSelectWizardNode;
+import org.jboss.tools.smooks.xml2java.analyzer.XML2JavaAnalyzer;
/**
* @author Dart Peng<br>
@@ -65,13 +63,21 @@
private Object targetTreeViewerInputContents;
protected CheckboxTableViewer source;
+
protected CheckboxTableViewer target;
+
private List sourceList;
+
private String sourceID = null;
+
private String targetID = null;
+
private String oldSourceID = null;
+
private String oldTargetID = null;
+
private IStructuredSelection selection;
+
private boolean showDataSelectPage = false;
private Hyperlink sourceDataLink;
@@ -105,8 +111,10 @@
public TypeIDSelectionWizardPage(String pageName, boolean showDataSelectPage) {
super(pageName);
this.showDataSelectPage = showDataSelectPage;
- setTitle(Messages.getString("TypeIDSelectionWizardPage.TypeIDSelectionWizardPageTitle"));
//$NON-NLS-1$
- setDescription(Messages.getString("TypeIDSelectionWizardPage.TypeIDSelectionWizardPageDescription"));
//$NON-NLS-1$
+ setTitle(Messages
+ .getString("TypeIDSelectionWizardPage.TypeIDSelectionWizardPageTitle"));
//$NON-NLS-1$
+ setDescription(Messages
+ .getString("TypeIDSelectionWizardPage.TypeIDSelectionWizardPageDescription"));
//$NON-NLS-1$
}
@Override
@@ -181,8 +189,8 @@
}
}
}
- sourceDataCreationWizard = sourceWizard;
- targetDataCreationWizard = targetWizard;
+ sourceDataCreationWizard = sourceWizard;
+ targetDataCreationWizard = targetWizard;
}
private boolean wizardIsCreated(IWizard wizard) {
@@ -193,87 +201,127 @@
}
return true;
}
+
+ private void updateWizardPageStates(){
+
+ }
/*
* (non-Javadoc)
*
- * @see
org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
+ * @see
+ * org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets
+ * .Composite)
*/
public void createControl(Composite parent) {
Composite mainComposite = new Composite(parent, SWT.NONE);
- GridLayout gl = new GridLayout();
- gl.numColumns = 2;
- gl.makeColumnsEqualWidth = true;
- mainComposite.setLayout(gl);
- sourceList = AnalyzerFactory.getInstance().getRegistrySourceIDList();
- Label sl = new Label(mainComposite, SWT.NONE);
- sl.setText(Messages.getString("TypeIDSelectionWizardPage.SourceTypeIDTitle"));
//$NON-NLS-1$
-
- Label tl = new Label(mainComposite, SWT.NONE);
- tl.setText(Messages.getString("TypeIDSelectionWizardPage.TargetTypeIDTitle"));
//$NON-NLS-1$
- Composite sourceBorder = new Composite(mainComposite,SWT.NONE);
- sourceBorder.setBackground(ColorConstants.black);
- FillLayout sbLayout = new FillLayout();
- sbLayout.marginHeight = 1;
- sbLayout.marginWidth = 1;
- sourceBorder.setLayout(sbLayout);
- source = createTableViewer(sourceBorder);
- GridData gd = new GridData(GridData.FILL_BOTH);
- sourceBorder.setLayoutData(gd);
+ // MODIFY by Dart 2008.12.19
+ mainComposite.setLayout(new GridLayout());
-
- Composite targetBorder = new Composite(mainComposite,SWT.NONE);
- targetBorder.setBackground(ColorConstants.black);
- FillLayout tbLayout = new FillLayout();
- tbLayout.marginHeight = 1;
- tbLayout.marginWidth = 1;
- targetBorder.setLayout(tbLayout);
- target = createTableViewer(targetBorder);
- targetBorder.setLayoutData(gd);
+ Button j2jButton = new Button(mainComposite,SWT.RADIO);
+ j2jButton.setText("Java-to-Java");
+ j2jButton.addSelectionListener(new SelectionAdapter(){
- source.setInput(sourceList);
- target.setInput(sourceList);
- initViewer();
-
- sourceDataLink = new Hyperlink(mainComposite, SWT.NONE);
- sourceDataLink.setText("Source Model Select:Empty"); //$NON-NLS-1$
- sourceDataLink.addHyperlinkListener(new IHyperlinkListener() {
-
- public void linkActivated(HyperlinkEvent e) {
- openSourceWizard();
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ setPageComplete(true);
+ setSourceID("org.jboss.tools.smooks.ui.viewerInitor.javabean");
+ setTargetID("org.jboss.tools.smooks.ui.viewerInitor.javabean");
+ getContainer().updateButtons();
}
-
- public void linkEntered(HyperlinkEvent e) {
-
- }
-
- public void linkExited(HyperlinkEvent e) {
-
- }
-
+
});
- // TODO don't show this
- sourceDataLink.setVisible(false);
- targetDataLink = new Hyperlink(mainComposite, SWT.NONE);
- targetDataLink.setText("Target Model Select:Empty"); //$NON-NLS-1$
- targetDataLink.addHyperlinkListener(new IHyperlinkListener() {
+
+ Button x2jButton = new Button(mainComposite,SWT.RADIO);
+ x2jButton.setText("XML-to-Java");
+ x2jButton.addSelectionListener(new SelectionAdapter(){
- public void linkActivated(HyperlinkEvent e) {
- openTargetWizard();
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ setPageComplete(true);
+ setSourceID("org.jboss.tools.smooks.xml.viewerInitor.xml");
+ setTargetID("org.jboss.tools.smooks.ui.viewerInitor.javabean");
+ getContainer().updateButtons();
}
-
- public void linkEntered(HyperlinkEvent e) {
-
- }
-
- public void linkExited(HyperlinkEvent e) {
-
- }
-
+
});
- // TODO don't show this
- targetDataLink.setVisible(false);
+ setPageComplete(false);
+
+// GridLayout gl = new GridLayout();
+// gl.numColumns = 2;
+// gl.makeColumnsEqualWidth = true;
+// mainComposite.setLayout(gl);
+// sourceList = AnalyzerFactory.getInstance().getRegistrySourceIDList();
+// Label sl = new Label(mainComposite, SWT.NONE);
+// sl.setText(Messages
+// .getString("TypeIDSelectionWizardPage.SourceTypeIDTitle"));
//$NON-NLS-1$
+//
+// Label tl = new Label(mainComposite, SWT.NONE);
+// tl.setText(Messages
+// .getString("TypeIDSelectionWizardPage.TargetTypeIDTitle"));
//$NON-NLS-1$
+//
+// Composite sourceBorder = new Composite(mainComposite, SWT.NONE);
+// sourceBorder.setBackground(ColorConstants.black);
+// FillLayout sbLayout = new FillLayout();
+// sbLayout.marginHeight = 1;
+// sbLayout.marginWidth = 1;
+// sourceBorder.setLayout(sbLayout);
+// source = createTableViewer(sourceBorder);
+// GridData gd = new GridData(GridData.FILL_BOTH);
+// sourceBorder.setLayoutData(gd);
+//
+// Composite targetBorder = new Composite(mainComposite, SWT.NONE);
+// targetBorder.setBackground(ColorConstants.black);
+// FillLayout tbLayout = new FillLayout();
+// tbLayout.marginHeight = 1;
+// tbLayout.marginWidth = 1;
+// targetBorder.setLayout(tbLayout);
+// target = createTableViewer(targetBorder);
+// targetBorder.setLayoutData(gd);
+//
+// source.setInput(sourceList);
+// target.setInput(sourceList);
+// initViewer();
+//
+// sourceDataLink = new Hyperlink(mainComposite, SWT.NONE);
+// sourceDataLink.setText("Source Model Select:Empty"); //$NON-NLS-1$
+// sourceDataLink.addHyperlinkListener(new IHyperlinkListener() {
+//
+// public void linkActivated(HyperlinkEvent e) {
+// openSourceWizard();
+// }
+//
+// public void linkEntered(HyperlinkEvent e) {
+//
+// }
+//
+// public void linkExited(HyperlinkEvent e) {
+//
+// }
+//
+// });
+// // TODO don't show this
+// sourceDataLink.setVisible(false);
+// targetDataLink = new Hyperlink(mainComposite, SWT.NONE);
+// targetDataLink.setText("Target Model Select:Empty"); //$NON-NLS-1$
+// targetDataLink.addHyperlinkListener(new IHyperlinkListener() {
+//
+// public void linkActivated(HyperlinkEvent e) {
+// openTargetWizard();
+// }
+//
+// public void linkEntered(HyperlinkEvent e) {
+//
+// }
+//
+// public void linkExited(HyperlinkEvent e) {
+//
+// }
+//
+// });
+// // TODO don't show this
+// targetDataLink.setVisible(false);
this.setControl(mainComposite);
}
@@ -308,8 +356,11 @@
.getTreeViewerInputContents();
}
} else {
- MessageDialog.openInformation(getShell(), "Info", //$NON-NLS-1$
- Messages.getString("TypeIDSelectionWizardPage.WarningMessage"));
//$NON-NLS-1$
+ MessageDialog
+ .openInformation(getShell(),
+ "Info", //$NON-NLS-1$
+ Messages
+ .getString("TypeIDSelectionWizardPage.WarningMessage"));
//$NON-NLS-1$
}
return null;
@@ -317,11 +368,12 @@
protected void openSourceWizard() {
sourceTreeViewerInputContents = getReturnObjectFromWizard(getSourceID());
-// resetLinkText();
+ // resetLinkText();
}
-/**
- * @deprecated
- */
+
+ /**
+ * @deprecated
+ */
private void resetLinkText() {
// if (sourceTreeViewerInputContents != null) {
// sourceDataLink.setText("Source Model Select");
@@ -428,7 +480,8 @@
});
TableColumn nameColumn = new TableColumn(viewer.getTable(), SWT.NONE);
nameColumn.setWidth(250);
- nameColumn.setText(Messages.getString("TypeIDSelectionWizardPage.NameColumn"));
//$NON-NLS-1$
+ nameColumn.setText(Messages
+ .getString("TypeIDSelectionWizardPage.NameColumn")); //$NON-NLS-1$
viewer.setContentProvider(new TypeIDContentProvider());
viewer.setLabelProvider(new TypeIDLabelProvider());
return viewer;
@@ -474,7 +527,6 @@
}
-
public Object getSourceTreeViewerInputContents() {
return sourceTreeViewerInputContents;
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/wizards/SmooksConfigFileNewWizard.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/wizards/SmooksConfigFileNewWizard.java 2008-12-19
07:57:47 UTC (rev 12701)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/wizards/SmooksConfigFileNewWizard.java 2008-12-19
08:51:30 UTC (rev 12702)
@@ -33,14 +33,10 @@
import org.jboss.tools.smooks.ui.editors.TypeIDSelectionWizardPage;
/**
- * This is a sample new wizard. Its role is to create a new file resource in the
- * provided container. If the container resource (a folder or a project) is
- * selected in the workspace when the wizard is opened, it will accept it as the
- * target container. The wizard creates one file with the extension "smooks".
If
- * a sample multi-page editor (also available as a template) is registered for
- * the same extension, it will be able to open it.
+ *
+ * @author Dart
+ *
*/
-
public class SmooksConfigFileNewWizard extends Wizard implements INewWizard,
ISmooksDataCreationAddtionWizard {
public static final String PRO_SOURCE_DATA_PATH = "sourceDataPath";
//$NON-NLS-1$
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/wizards/SmooksConfigFileNewWizardPage.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/wizards/SmooksConfigFileNewWizardPage.java 2008-12-19
07:57:47 UTC (rev 12701)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/wizards/SmooksConfigFileNewWizardPage.java 2008-12-19
08:51:30 UTC (rev 12702)
@@ -1,5 +1,10 @@
package org.jboss.tools.smooks.ui.wizards;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
@@ -32,9 +37,23 @@
} else {
error =
Messages.getString("SmooksConfigFileNewWizardPage.NewConfigFileWizardPageErrorMessage1");
//$NON-NLS-1$
}
- if (error != null) {
- this.setErrorMessage(error);
+ IPath containerPath = this.getContainerFullPath();
+ IResource container =
ResourcesPlugin.getWorkspace().getRoot().findMember(containerPath);
+ IProject project = container.getProject();
+ boolean isJavaProject = false;
+ if(project != null){
+ try{
+ if(project.hasNature(JavaCore.NATURE_ID)){
+ isJavaProject = true;
+ }
+ }catch(Exception e){
+
+ }
}
+ if(!isJavaProject){
+ error = "Please select a folder of Java projects.";
+ }
+ this.setErrorMessage(error);
return (error == null);
}
}
\ No newline at end of file