Author: DartPeng
Date: 2008-08-14 04:40:09 -0400 (Thu, 14 Aug 2008)
New Revision: 9713
Added:
workspace/dart/plugins/org.jboss.tools.smooks.xml/icons/
workspace/dart/plugins/org.jboss.tools.smooks.xml/icons/sample.gif
workspace/dart/plugins/org.jboss.tools.smooks.xml/plugin.xml
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/wizards/
Modified:
workspace/dart/plugins/org.jboss.tools.smooks.xml/META-INF/MANIFEST.MF
workspace/dart/plugins/org.jboss.tools.smooks.xml/build.properties
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/XmlActivator.java
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/model/XMLStructuredModelContentProvider.java
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/model/XMLStructuredModelLabelProvider.java
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/ui/XMLStructuredDataWizard.java
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/ui/XMLStructuredDataWizardPage.java
Log:
replace the contentprovider and labelprovider of the xsd.edit's
Modified: workspace/dart/plugins/org.jboss.tools.smooks.xml/META-INF/MANIFEST.MF
===================================================================
--- workspace/dart/plugins/org.jboss.tools.smooks.xml/META-INF/MANIFEST.MF 2008-08-14
07:31:20 UTC (rev 9712)
+++ workspace/dart/plugins/org.jboss.tools.smooks.xml/META-INF/MANIFEST.MF 2008-08-14
08:40:09 UTC (rev 9713)
@@ -1,7 +1,7 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Xml StrucutredData Extention Plug-in
-Bundle-SymbolicName: org.jboss.tools.smooks.xml
+Bundle-SymbolicName: org.jboss.tools.smooks.xml;singleton:=true
Bundle-Version: 1.0.0
Bundle-Activator: org.jboss.tools.smooks.xml.XmlActivator
Require-Bundle: org.eclipse.ui,
@@ -12,5 +12,9 @@
org.jboss.tools.smooks.model.edit,
org.jboss.tools.smooks.ui,
org.eclipse.ui.views,
- org.junit
+ org.junit,
+ org.eclipse.core.resources,
+ org.eclipse.ui.ide,
+ org.eclipse.xsd.edit,
+ org.eclipse.emf.edit.ui
Eclipse-LazyStart: true
Modified: workspace/dart/plugins/org.jboss.tools.smooks.xml/build.properties
===================================================================
--- workspace/dart/plugins/org.jboss.tools.smooks.xml/build.properties 2008-08-14 07:31:20
UTC (rev 9712)
+++ workspace/dart/plugins/org.jboss.tools.smooks.xml/build.properties 2008-08-14 08:40:09
UTC (rev 9713)
@@ -1,4 +1,5 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
- .
+ .,\
+ plugin.xml
Added: workspace/dart/plugins/org.jboss.tools.smooks.xml/icons/sample.gif
===================================================================
(Binary files differ)
Property changes on: workspace/dart/plugins/org.jboss.tools.smooks.xml/icons/sample.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: workspace/dart/plugins/org.jboss.tools.smooks.xml/plugin.xml
===================================================================
--- workspace/dart/plugins/org.jboss.tools.smooks.xml/plugin.xml
(rev 0)
+++ workspace/dart/plugins/org.jboss.tools.smooks.xml/plugin.xml 2008-08-14 08:40:09 UTC
(rev 9713)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+ <extension
+ point="org.jboss.tools.smooks.ui.viewerInitor">
+ <viewerInitor
+
contentProvider="org.jboss.tools.smooks.xml.model.XMLStructuredModelContentProvider"
+
creationWizard="org.jboss.tools.smooks.xml.ui.XMLStructuredDataWizard"
+
labelProvider="org.jboss.tools.smooks.xml.model.XMLStructuredModelLabelProvider"
+ name="XML/XSD"
+ typeID="org.jboss.tools.smooks.xml.viewerInitor.xml">
+ </viewerInitor>
+ </extension>
+
+</plugin>
Property changes on: workspace/dart/plugins/org.jboss.tools.smooks.xml/plugin.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/XmlActivator.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/XmlActivator.java 2008-08-14
07:31:20 UTC (rev 9712)
+++
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/XmlActivator.java 2008-08-14
08:40:09 UTC (rev 9713)
@@ -10,6 +10,8 @@
// The plug-in ID
public static final String PLUGIN_ID = "org.jboss.tools.smooks.xml";
+
+ public static final String TYPE_ID =
"org.jboss.tools.smooks.xml.viewerInitor.xml";
// The shared instance
private static XmlActivator plugin;
Modified:
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/model/XMLStructuredModelContentProvider.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/model/XMLStructuredModelContentProvider.java 2008-08-14
07:31:20 UTC (rev 9712)
+++
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/model/XMLStructuredModelContentProvider.java 2008-08-14
08:40:09 UTC (rev 9713)
@@ -10,204 +10,17 @@
******************************************************************************/
package org.jboss.tools.smooks.xml.model;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.xsd.provider.XSDItemProviderAdapterFactory;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDParticleContent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
/**
* @author Dart Peng
*
* @CreateTime Jul 24, 2008
*/
-public class XMLStructuredModelContentProvider implements ITreeContentProvider {
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.
- * Object)
- */
- public Object[] getChildren(Object obj) {
- // for AbstractXMLObject (come from xml file fragment)
- if(obj instanceof DocumentObject){
- return new Object[]{((DocumentObject)obj).getRootTag()};
- }
-
- if(obj instanceof TagObject){
- List c = new ArrayList();
- List pros = ((TagObject)obj).getProperties();
- c.addAll(pros);
- c.addAll(((TagObject)obj).getChildren());
-
- return c.toArray();
- }
-
- // for XSD (come from XML Schema file)
- if (obj instanceof XSDSchema) {
- XSDSchema schema = (XSDSchema) obj;
- return schema.getElementDeclarations().toArray();
- }
- if (obj instanceof XSDElementDeclaration) {
- XSDElementDeclaration element = (XSDElementDeclaration) obj;
- XSDTypeDefinition td = element.getType();
- XSDSimpleTypeDefinition st = td.getSimpleType();
- // if the element is a simple type , return empty children
- if (st != null)
- return new Object[] {};
- // if the element is complex type , to find the element and
- // attributes defined by the type
-
- if (td instanceof XSDComplexTypeDefinition) {
- List<Object> childrenList = new ArrayList<Object>();
- XSDComplexTypeDefinition ctype = (XSDComplexTypeDefinition) td;
-
- List attributeContents = ctype.getAttributeContents();
- // first , add all attributes into children list
- for (Iterator iterator2 = attributeContents.iterator(); iterator2
- .hasNext();) {
- XSDAttributeUse attributeUse = (XSDAttributeUse) iterator2
- .next();
- XSDAttributeDeclaration attribute = attributeUse
- .getAttributeDeclaration();
- childrenList.add(attribute);
- }
- XSDParticle xsdparticle = td.getComplexType();
- if (xsdparticle != null) {
- XSDParticleContent term = xsdparticle.getContent();
- if (term instanceof XSDModelGroup) {
- List list = ((XSDModelGroup) term).getParticles();
- // second , to find the element define in the element
- for (Iterator iterator2 = list.iterator(); iterator2
- .hasNext();) {
- XSDParticle xp = (XSDParticle) iterator2.next();
- XSDParticleContent content = xp.getContent();
- if (content instanceof XSDElementDeclaration) {
- // if the element is reference element , don't
- // to add it
- XSDElementDeclaration child = (XSDElementDeclaration) content;
- if (child.isElementDeclarationReference()) {
- continue;
- }
- childrenList.add(child);
- }
- }
- }
- }
-
- return childrenList.toArray();
- }
- }
- return new Object[] {};
+public class XMLStructuredModelContentProvider extends AdapterFactoryContentProvider {
+ public XMLStructuredModelContentProvider() {
+ super(new XSDItemProviderAdapterFactory());
}
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object )
- */
- public Object getParent(Object arg0) {
- // if(arg0 instanceof)
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.
- * Object)
- */
- public boolean hasChildren(Object obj) {
-
- // for AbstractXMLObject (come from xml file fragment)
- if(obj instanceof DocumentObject){
- return true;
- }
-
- if(obj instanceof TagObject){
- List pros = ((TagObject)obj).getProperties();
- List c = (((TagObject)obj).getChildren());
- return !pros.isEmpty() || !c.isEmpty();
- }
-
- // for XSD (come from XML Schema file)
-
- if (obj instanceof XSDSchema) {
- XSDSchema schema = (XSDSchema) obj;
- return !schema.getElementDeclarations().isEmpty();
- }
- if (obj instanceof XSDElementDeclaration) {
- XSDElementDeclaration element = (XSDElementDeclaration) obj;
- XSDTypeDefinition td = element.getType();
- XSDSimpleTypeDefinition st = td.getSimpleType();
- // if the element is a simple type , return false
- if (st != null)
- return false;
- // if the element is complex type , check the attributes and child
- // elements count
-
- if (td instanceof XSDComplexTypeDefinition) {
- boolean hasChildren = false;
- XSDComplexTypeDefinition ctype = (XSDComplexTypeDefinition) td;
- hasChildren = !ctype.getAttributeContents().isEmpty();
- XSDParticle xsdparticle = td.getComplexType();
- if (xsdparticle != null) {
- XSDParticleContent term = xsdparticle.getContent();
- if (term instanceof XSDModelGroup) {
- hasChildren = !((XSDModelGroup) term).getParticles()
- .isEmpty()
- || hasChildren;
- }
- }
-
- return hasChildren;
- }
- }
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java
- * .lang.Object)
- */
- public Object[] getElements(Object arg0) {
- if (arg0 instanceof List) {
- return ((List) arg0).toArray();
- }
- return new Object[] {};
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.IContentProvider#dispose()
- */
- public void dispose() {
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface
- * .viewers.Viewer, java.lang.Object, java.lang.Object)
- */
- public void inputChanged(Viewer arg0, Object arg1, Object arg2) {
-
- }
-
}
Modified:
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/model/XMLStructuredModelLabelProvider.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/model/XMLStructuredModelLabelProvider.java 2008-08-14
07:31:20 UTC (rev 9712)
+++
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/model/XMLStructuredModelLabelProvider.java 2008-08-14
08:40:09 UTC (rev 9713)
@@ -10,27 +10,17 @@
******************************************************************************/
package org.jboss.tools.smooks.xml.model;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.xsd.provider.XSDItemProviderAdapterFactory;
/**
* @author Dart Peng
* @Date Jul 30, 2008
*/
-public class XMLStructuredModelLabelProvider extends LabelProvider {
+public class XMLStructuredModelLabelProvider extends AdapterFactoryLabelProvider {
- @Override
- public Image getImage(Object element) {
- // TODO Auto-generated method stub
- return super.getImage(element);
+ public XMLStructuredModelLabelProvider() {
+ super(new XSDItemProviderAdapterFactory());
}
- @Override
- public String getText(Object element) {
- if(element instanceof XMLStructuredModel){
-// ((XMLStructuredModel)element).
- }
- return super.getText(element);
- }
-
}
Modified:
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/ui/XMLStructuredDataWizard.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/ui/XMLStructuredDataWizard.java 2008-08-14
07:31:20 UTC (rev 9712)
+++
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/ui/XMLStructuredDataWizard.java 2008-08-14
08:40:09 UTC (rev 9713)
@@ -3,6 +3,9 @@
*/
package org.jboss.tools.smooks.xml.ui;
+import java.util.ArrayList;
+import java.util.List;
+
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
@@ -16,6 +19,7 @@
public class XMLStructuredDataWizard extends Wizard implements
IStrucutredDataCreationWizard {
XMLStructuredDataWizardPage page = null;
+ Object xsdElement = null;
/**
*
*/
@@ -38,6 +42,7 @@
*/
@Override
public boolean performFinish() {
+ xsdElement = this.page.getReturnRootElementDec();
return true;
}
@@ -46,8 +51,7 @@
}
public Object getTreeViewerInputContents() {
- // TODO Auto-generated method stub
- return null;
+ return xsdElement;
}
public void init(IEditorSite site, IEditorInput input) {
Modified:
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/ui/XMLStructuredDataWizardPage.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/ui/XMLStructuredDataWizardPage.java 2008-08-14
07:31:20 UTC (rev 9712)
+++
workspace/dart/plugins/org.jboss.tools.smooks.xml/src/org/jboss/tools/smooks/xml/ui/XMLStructuredDataWizardPage.java 2008-08-14
08:40:09 UTC (rev 9713)
@@ -3,6 +3,11 @@
*/
package org.jboss.tools.smooks.xml.ui;
+import java.io.IOException;
+import java.util.Collections;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.CheckStateChangedEvent;
import org.eclipse.jface.viewers.CheckboxTableViewer;
@@ -22,6 +27,8 @@
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
+import org.eclipse.xsd.XSDSchema;
+import org.eclipse.xsd.util.XSDResourceFactoryImpl;
import org.jboss.tools.smooks.xml.model.XMLStructuredModelContentProvider;
import org.jboss.tools.smooks.xml.model.XMLStructuredModelLabelProvider;
@@ -52,6 +59,10 @@
super(pageName);
// TODO Auto-generated constructor stub
}
+
+ public Object getReturnRootElementDec(){
+ return this.tableViewer.getInput();
+ }
/*
* (non-Javadoc)
@@ -248,7 +259,25 @@
final Button loadXSDButton = new Button(xsdfileTextComposite, SWT.NONE);
loadXSDButton.setText("Load");
+ loadXSDButton.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ super.widgetSelected(e);
+ Resource resource = new XSDResourceFactoryImpl().createResource(URI
+ .createFileURI(xsdFileText.getText()));
+ try {
+ resource.load(Collections.EMPTY_MAP);
+ XSDSchema schema = (XSDSchema) resource.getContents().get(0);
+ tableViewer.setInput(schema);
+ changeWizardPageStatus();
+ } catch (IOException e1) {
+ //ignore
+ }
+ }
+
+ });
+
tableViewer = CheckboxTableViewer.newCheckList(xsdComposite,
SWT.FULL_SELECTION | SWT.BORDER);
gd = new GridData(GridData.FILL_BOTH);
@@ -270,9 +299,10 @@
Object checkObject = event.getElement();
boolean check = event.getChecked();
flag = false;
- tableViewer.setAllChecked(true);
+ tableViewer.setAllChecked(false);
tableViewer.setChecked(checkObject, check);
flag = true;
+ changeWizardPageStatus();
}
}
});
@@ -346,4 +376,12 @@
changeWizardPageStatus();
}
+ public CheckboxTableViewer getTableViewer() {
+ return tableViewer;
+ }
+
+ public void setTableViewer(CheckboxTableViewer tableViewer) {
+ this.tableViewer = tableViewer;
+ }
+
}