Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse')
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDAttributeDeclarationAction.java90
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDAttributeGroupDefinitionAction.java63
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDComplexTypeDefinitionAction.java51
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDElementAction.java126
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDModelGroupAction.java95
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDModelGroupDefinitionAction.java61
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDSchemaDirectiveAction.java75
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDSimpleTypeDefinitionAction.java46
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/DeleteXSDConcreteComponentAction.java48
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/OpenInNewEditor.java90
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/SetMultiplicityAction.java61
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/SetTypeAction.java49
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/XSDBaseAction.java54
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddDocumentationCommand.java121
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddEnumerationsCommand.java42
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddExtensibilityElementCommand.java74
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddExtensionAttributeCommand.java106
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddExtensionCommand.java24
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddExtensionElementCommand.java111
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDAttributeDeclarationCommand.java164
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDAttributeGroupDefinitionCommand.java148
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDComplexTypeDefinitionCommand.java113
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDElementCommand.java293
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDImportCommand.java32
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDIncludeCommand.java33
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDModelGroupCommand.java143
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDModelGroupDefinitionCommand.java103
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDRedefineCommand.java34
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDSchemaDirectiveCommand.java56
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDSimpleTypeDefinitionCommand.java76
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/BaseCommand.java61
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/ChangeToLocalSimpleTypeCommand.java71
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/DeleteCommand.java120
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/RemoveExtensionAttributerCommand.java40
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/RemoveExtensionElementCommand.java43
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/SetMultiplicityCommand.java62
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/SetTypeCommand.java109
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/SetXSDFacetValueCommand.java35
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateAttributeValueCommand.java28
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateComponentReferenceAndManageDirectivesCommand.java26
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateContentModelCommand.java43
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateElementReferenceAndManageDirectivesCommand.java133
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateElementReferenceCommand.java31
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateMaxOccursCommand.java58
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateMinOccursCommand.java86
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateNameCommand.java46
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateNumericBoundsFacetCommand.java157
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateStringLengthFacetCommand.java223
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateTypeReferenceAndManageDirectivesCommand.java153
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateTypeReferenceCommand.java71
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateXSDPatternFacetCommand.java68
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateXSDWhiteSpaceFacetCommand.java52
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/providers/XSDSectionLabelProvider.java153
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AbstractExtensionsSection.java491
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AbstractSection.java366
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AbstractSectionDescriptor.java108
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AnnotationSection.java153
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/CommonDirectivesSection.java157
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/EnumerationsSection.java404
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/ExtensionsSection.java77
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/FacetViewer.java559
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/IDocumentChangedNotifier.java9
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/MultiplicitySection.java211
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/SchemaLocationSection.java202
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/SimpleContentUnionMemberTypesDialog.java311
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/SpecificConstraintsWidget.java667
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDActionManager.java148
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDAttributeDeclarationSection.java244
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDAttributeGroupDefinitionSection.java95
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDComplexTypeSection.java360
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDElementDeclarationSection.java551
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDFacetSection.java912
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDFacetSectionFilter.java42
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDModelGroupDefinitionSection.java261
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDModelGroupSection.java140
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDSchemaSection.java455
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDSimpleTypeSection.java646
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDTableTreeViewer.java126
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/AddExtensionsComponentDialog.java566
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/AddNewCategoryDialog.java319
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionDetailsContentProvider.java105
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionItem.java127
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionItemEditManager.java80
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionItemMenuListener.java117
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionTreeContentProvider.java55
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionTreeLabelProvider.java51
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/ExtensionDetailsContentProvider.java9
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/ExtensionDetailsViewer.java183
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/ExtensionItemEditManager.java19
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/ExtensionsSchemasRegistry.java190
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/SelectFromCatalogDialog.java212
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/SpecificationForExtensionsSchema.java114
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/XSDExtensionTreeContentProvider.java104
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/util/XSDCommonUIUtils.java471
94 files changed, 0 insertions, 14868 deletions
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDAttributeDeclarationAction.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDAttributeDeclarationAction.java
deleted file mode 100644
index eb95499787..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDAttributeDeclarationAction.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.actions;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDAdapterFactory;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDBaseAdapter;
-import org.eclipse.wst.xsd.ui.internal.common.commands.AddXSDAttributeDeclarationCommand;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-
-public class AddXSDAttributeDeclarationAction extends XSDBaseAction
-{
- public static String ID = "AddXSDAttributeAction";
-
- public AddXSDAttributeDeclarationAction(IWorkbenchPart part)
- {
- super(part);
- setText("Add Attribute");
- setId(ID);
- }
-
- public void run()
- {
- Object selection = ((IStructuredSelection) getSelection()).getFirstElement();
-
- if (selection instanceof XSDBaseAdapter)
- {
- selection = ((XSDBaseAdapter) selection).getTarget();
- }
- AddXSDAttributeDeclarationCommand command = null;
- if (selection instanceof XSDComplexTypeDefinition)
- {
- command = new AddXSDAttributeDeclarationCommand("Add Attribute", (XSDComplexTypeDefinition) selection);
- getCommandStack().execute(command);
- }
- else if (selection instanceof XSDAttributeUse)
- {
- XSDAttributeUse xsdAttributeUse = (XSDAttributeUse) selection;
- XSDConcreteComponent parent = null;
- XSDComplexTypeDefinition ct = null;
- for (parent = xsdAttributeUse.getContainer(); parent != null;)
- {
- if (parent instanceof XSDComplexTypeDefinition)
- {
- ct = (XSDComplexTypeDefinition) parent;
- break;
- }
- parent = parent.getContainer();
- }
- if (ct != null)
- {
- command = new AddXSDAttributeDeclarationCommand("Add Attribute", ct);
- getCommandStack().execute(command);
- }
- }
- else if (selection instanceof XSDAttributeGroupDefinition)
- {
- command = new AddXSDAttributeDeclarationCommand("Add Attribute", (XSDAttributeGroupDefinition)selection);
- getCommandStack().execute(command);
- }
- else if (selection instanceof XSDSchema)
- {
- command = new AddXSDAttributeDeclarationCommand("Add Attribute", (XSDSchema)selection);
- getCommandStack().execute(command);
- }
-
- if (command != null)
- {
- Adapter adapter = XSDAdapterFactory.getInstance().adapt(command.getAddedComponent());
- if (adapter != null)
- provider.setSelection(new StructuredSelection(adapter));
- }
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDAttributeGroupDefinitionAction.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDAttributeGroupDefinitionAction.java
deleted file mode 100644
index f111e69f9b..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDAttributeGroupDefinitionAction.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.actions;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDAdapterFactory;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDBaseAdapter;
-import org.eclipse.wst.xsd.ui.internal.common.commands.AddXSDAttributeGroupDefinitionCommand;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDSchema;
-
-public class AddXSDAttributeGroupDefinitionAction extends XSDBaseAction
-{
- public static String ID = "AddXSDAttributeGroupDefinitionAction";
-
- public AddXSDAttributeGroupDefinitionAction(IWorkbenchPart part)
- {
- super(part);
- setText("Add Attribute Group");
- setId(ID);
- }
-
- public void run()
- {
- Object selection = ((IStructuredSelection) getSelection()).getFirstElement();
-
- if (selection instanceof XSDBaseAdapter)
- {
- selection = ((XSDBaseAdapter) selection).getTarget();
- }
-
- AddXSDAttributeGroupDefinitionCommand command = null;
- if (selection instanceof XSDComplexTypeDefinition)
- {
- command = new AddXSDAttributeGroupDefinitionCommand("Add Attribute Group Ref", (XSDComplexTypeDefinition) selection);
- getCommandStack().execute(command);
- }
- else if (selection instanceof XSDSchema)
- {
- command = new AddXSDAttributeGroupDefinitionCommand("Add Attribute Group Definition", (XSDSchema) selection);
- getCommandStack().execute(command);
- }
-
- if (command != null)
- {
- Adapter adapter = XSDAdapterFactory.getInstance().adapt(command.getAddedComponent());
- if (adapter != null)
- provider.setSelection(new StructuredSelection(adapter));
- }
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDComplexTypeDefinitionAction.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDComplexTypeDefinitionAction.java
deleted file mode 100644
index 07830bc8b0..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDComplexTypeDefinitionAction.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.actions;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDAdapterFactory;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDBaseAdapter;
-import org.eclipse.wst.xsd.ui.internal.common.commands.AddXSDComplexTypeDefinitionCommand;
-import org.eclipse.xsd.XSDSchema;
-
-public class AddXSDComplexTypeDefinitionAction extends XSDBaseAction
-{
- public static final String ID = "org.eclipse.wst.xsd.ui.internal.editor.AddXSDComplexTypeDefinitionAction";
-
- public AddXSDComplexTypeDefinitionAction(IWorkbenchPart part)
- {
- super(part);
- setText("Add Complex Type");
- setId(ID);
- }
-
- public void run()
- {
- Object selection = ((IStructuredSelection) getSelection()).getFirstElement();
-
- if (selection instanceof XSDBaseAdapter)
- {
- selection = ((XSDBaseAdapter) selection).getTarget();
- }
-
- if (selection instanceof XSDSchema)
- {
- AddXSDComplexTypeDefinitionCommand command = new AddXSDComplexTypeDefinitionCommand("Add Complex Type", (XSDSchema) selection);
- getCommandStack().execute(command);
- Adapter adapter = XSDAdapterFactory.getInstance().adapt(command.getAddedComponent());
- if (adapter != null)
- provider.setSelection(new StructuredSelection(adapter));
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDElementAction.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDElementAction.java
deleted file mode 100644
index dbcfd10dff..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDElementAction.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.actions;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDAdapterFactory;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDBaseAdapter;
-import org.eclipse.wst.xsd.ui.internal.common.commands.AddXSDElementCommand;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDSchema;
-
-//revisit this and see if we can reuse AddFieldAction??
-
-public class AddXSDElementAction extends XSDBaseAction
-{
- public static String ID = "org.eclipse.wst.xsd.ui.internal.common.actions.AddXSDElementAction";
- public static String REF_ID = "org.eclipse.wst.xsd.ui.internal.common.actions.AddXSDElementReferenceAction";
- boolean isReference;
-
- public AddXSDElementAction(IWorkbenchPart part, String id, String label, boolean isReference)
- {
- super(part);
- setText(label);
- setId(id);
- this.isReference = isReference;
- }
-
- public void run()
- {
- Object selection = ((IStructuredSelection) getSelection()).getFirstElement();
-
- if (selection instanceof XSDBaseAdapter)
- {
- selection = ((XSDBaseAdapter) selection).getTarget();
- }
- AddXSDElementCommand command = null;
- if (selection instanceof XSDComplexTypeDefinition)
- {
- command = new AddXSDElementCommand(getText(), (XSDComplexTypeDefinition) selection);
- command.setReference(isReference);
- getCommandStack().execute(command);
- }
- else if (selection instanceof XSDModelGroupDefinition)
- {
- command = new AddXSDElementCommand(getText(), (XSDModelGroupDefinition) selection);
- command.setReference(isReference);
- getCommandStack().execute(command);
- }
- else if (selection instanceof XSDSchema)
- {
- command = new AddXSDElementCommand(getText(), (XSDSchema) selection);
- getCommandStack().execute(command);
- }
- else if (selection instanceof XSDModelGroup)
- {
- XSDModelGroup modelGroup = (XSDModelGroup) selection;
- XSDConcreteComponent component = modelGroup.getContainer();
- XSDComplexTypeDefinition ct = null;
- while (component != null)
- {
- if (component instanceof XSDComplexTypeDefinition)
- {
- ct = (XSDComplexTypeDefinition) component;
- break;
- }
- component = component.getContainer();
- }
-
- if (ct != null)
- {
- command = new AddXSDElementCommand(getText(), (XSDModelGroup) selection, ct);
- }
- else
- {
- command = new AddXSDElementCommand(getText(), (XSDModelGroup) selection);
- }
- command.setReference(isReference);
- getCommandStack().execute(command);
- }
- else if (selection instanceof XSDElementDeclaration || selection instanceof XSDAttributeUse)
- {
- XSDConcreteComponent xsdConcreteComponent = (XSDConcreteComponent) selection;
- XSDConcreteComponent parent = null;
- XSDComplexTypeDefinition ct = null;
- for (parent = xsdConcreteComponent.getContainer(); parent != null; )
- {
- if (parent instanceof XSDComplexTypeDefinition)
- {
- ct = (XSDComplexTypeDefinition)parent;
- break;
- }
- parent = parent.getContainer();
- }
- if (ct != null)
- {
- command = new AddXSDElementCommand(getText(), ct);
- command.setReference(isReference);
- getCommandStack().execute(command);
- }
- }
-
- if (command != null)
- {
- Adapter adapter = XSDAdapterFactory.getInstance().adapt(command.getAddedComponent());
- if (adapter != null)
- provider.setSelection(new StructuredSelection(adapter));
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDModelGroupAction.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDModelGroupAction.java
deleted file mode 100644
index 795253e0c3..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDModelGroupAction.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.actions;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDAdapterFactory;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDBaseAdapter;
-import org.eclipse.wst.xsd.ui.internal.common.commands.AddXSDModelGroupCommand;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroup;
-
-public class AddXSDModelGroupAction extends XSDBaseAction
-{
- public static String SEQUENCE_ID = "AddXSDSequenceModelGroupAction";
- public static String CHOICE_ID = "AddXSDChoiceModelGroupAction";
- public static String ALL_ID = "AddXSDAllModelGroupAction";
- XSDCompositor xsdCompositor;
-
- public AddXSDModelGroupAction(IWorkbenchPart part, XSDCompositor compositor, String ID)
- {
- super(part);
- setText(getLabel(compositor));
- setId(ID);
- this.xsdCompositor = compositor;
- }
-
- public void run()
- {
- Object selection = ((IStructuredSelection) getSelection()).getFirstElement();
- if (selection instanceof XSDBaseAdapter)
- {
- XSDConcreteComponent xsdComponent = (XSDConcreteComponent) ((XSDBaseAdapter) selection).getTarget();
- AddXSDModelGroupCommand command = null;
- if (xsdComponent instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration xsdElementDeclaration = (XSDElementDeclaration) xsdComponent;
-
- command = new AddXSDModelGroupCommand(getLabel(xsdCompositor), xsdElementDeclaration, xsdCompositor);
- getCommandStack().execute(command);
- }
- else if (xsdComponent instanceof XSDModelGroup)
- {
- XSDModelGroup xsdModelGroup = (XSDModelGroup) xsdComponent;
-
- command = new AddXSDModelGroupCommand(getLabel(xsdCompositor), xsdModelGroup, xsdCompositor);
- getCommandStack().execute(command);
- }
- else if (xsdComponent instanceof XSDComplexTypeDefinition)
- {
- command = new AddXSDModelGroupCommand(getLabel(xsdCompositor), xsdComponent, xsdCompositor);
- getCommandStack().execute(command);
- }
-
- if (command != null)
- {
- Adapter adapter = XSDAdapterFactory.getInstance().adapt(command.getAddedComponent());
- if (adapter != null)
- provider.setSelection(new StructuredSelection(adapter));
- }
-
- }
- }
-
- private String getLabel(XSDCompositor compositor)
- {
- String result = XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_SEQUENCE"); //$NON-NLS-1$
- if (compositor != null)
- {
- if (compositor == XSDCompositor.CHOICE_LITERAL)
- {
- result = XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_CHOICE"); //$NON-NLS-1$
- }
- else if (compositor == XSDCompositor.ALL_LITERAL)
- {
- result = XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_ALL");//$NON-NLS-1$
- }
- }
- return result;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDModelGroupDefinitionAction.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDModelGroupDefinitionAction.java
deleted file mode 100644
index 8ebfc1b21a..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDModelGroupDefinitionAction.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.actions;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDAdapterFactory;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDBaseAdapter;
-import org.eclipse.wst.xsd.ui.internal.common.commands.AddXSDModelGroupDefinitionCommand;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-public class AddXSDModelGroupDefinitionAction extends XSDBaseAction
-{
- public static final String MODELGROUPDEFINITION_ID = "AddXSDModelGroupDefinitionAction";
- public static final String MODELGROUPDEFINITIONREF_ID = "AddXSDModelGroupDefinitionRefAction";
- boolean isReference;
-
- public AddXSDModelGroupDefinitionAction(IWorkbenchPart part, boolean isReference)
- {
- super(part);
- this.isReference = isReference;
- if (isReference)
- {
- setText("Add Group Ref");
- setId(MODELGROUPDEFINITION_ID);
- }
- else
- {
- setText("Add Group");
- setId(MODELGROUPDEFINITIONREF_ID);
- }
- }
-
- public void run()
- {
- Object selection = ((IStructuredSelection) getSelection()).getFirstElement();
- XSDConcreteComponent xsdConcreteComponent = null;
- if (selection instanceof XSDBaseAdapter)
- {
- xsdConcreteComponent = (XSDConcreteComponent) ((XSDBaseAdapter) selection).getTarget();
- }
- if (xsdConcreteComponent != null)
- {
- AddXSDModelGroupDefinitionCommand command = new AddXSDModelGroupDefinitionCommand(getText(), xsdConcreteComponent, isReference);
- getCommandStack().execute(command);
- Adapter adapter = XSDAdapterFactory.getInstance().adapt(command.getAddedComponent());
- if (adapter != null)
- provider.setSelection(new StructuredSelection(adapter));
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDSchemaDirectiveAction.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDSchemaDirectiveAction.java
deleted file mode 100644
index 180dae3b1e..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDSchemaDirectiveAction.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.actions;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDAdapterFactory;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDBaseAdapter;
-import org.eclipse.wst.xsd.ui.internal.common.commands.AddXSDImportCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.AddXSDIncludeCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.AddXSDRedefineCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.BaseCommand;
-import org.eclipse.xsd.XSDSchema;
-
-public class AddXSDSchemaDirectiveAction extends XSDBaseAction
-{
- public static String INCLUDE_ID = "org.eclipse.wst.xsd.ui.internal.common.actions.AddXSDIncludeAction";
- public static String IMPORT_ID = "org.eclipse.wst.xsd.ui.internal.common.actions.AddXSDImportAction";
- public static String REDEFINE_ID = "org.eclipse.wst.xsd.ui.internal.common.actions.AddXSDRedefineAction";
- String label;
-
- public AddXSDSchemaDirectiveAction(IWorkbenchPart part, String ID, String label)
- {
- super(part);
- setText(label);
- setId(ID);
- this.label = label;
- }
-
- public void run()
- {
- Object selection = ((IStructuredSelection) getSelection()).getFirstElement();
-
- if (selection instanceof XSDBaseAdapter)
- {
- selection = ((XSDBaseAdapter) selection).getTarget();
- }
-
- BaseCommand command = null;
- if (selection instanceof XSDSchema)
- {
- if (INCLUDE_ID.equals(getId()))
- {
- command = new AddXSDIncludeCommand(label, (XSDSchema) selection);
- }
- else if (IMPORT_ID.equals(getId()))
- {
- command = new AddXSDImportCommand(label, (XSDSchema) selection);
- }
- else if (REDEFINE_ID.equals(getId()))
- {
- command = new AddXSDRedefineCommand(label, (XSDSchema) selection);
- }
- getCommandStack().execute(command);
- }
-
- if (command != null)
- {
- Adapter adapter = XSDAdapterFactory.getInstance().adapt(command.getAddedComponent());
- if (adapter != null)
- provider.setSelection(new StructuredSelection(adapter));
- }
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDSimpleTypeDefinitionAction.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDSimpleTypeDefinitionAction.java
deleted file mode 100644
index ab95e32813..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/AddXSDSimpleTypeDefinitionAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.actions;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDBaseAdapter;
-import org.eclipse.wst.xsd.ui.internal.common.commands.AddXSDSimpleTypeDefinitionCommand;
-import org.eclipse.xsd.XSDSchema;
-
-public class AddXSDSimpleTypeDefinitionAction extends XSDBaseAction
-{
- public static final String ID = "org.eclipse.wst.xsd.ui.internal.editor.AddXSDSimpleTypeDefinitionAction";
-
- public AddXSDSimpleTypeDefinitionAction(IWorkbenchPart part)
- {
- super(part);
- setText("Add Simple Type");
- setId(ID);
- }
-
- public void run()
- {
- Object selection = ((IStructuredSelection) getSelection()).getFirstElement();
-
- if (selection instanceof XSDBaseAdapter)
- {
- selection = ((XSDBaseAdapter) selection).getTarget();
- }
-
- if (selection instanceof XSDSchema)
- {
- AddXSDSimpleTypeDefinitionCommand command = new AddXSDSimpleTypeDefinitionCommand("Add Simple Type", (XSDSchema) selection);
- getCommandStack().execute(command);
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/DeleteXSDConcreteComponentAction.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/DeleteXSDConcreteComponentAction.java
deleted file mode 100644
index faf2838a1e..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/DeleteXSDConcreteComponentAction.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.actions;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDBaseAdapter;
-import org.eclipse.wst.xsd.ui.internal.common.commands.DeleteCommand;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-public class DeleteXSDConcreteComponentAction extends XSDBaseAction
-{
- public static final String DELETE_XSD_COMPONENT_ID = "org.eclipse.wst.xsd.ui.internal.common.actions.DeleteXSDConcreteComponentAction"; //$NON-NLS-1$
-
- public DeleteXSDConcreteComponentAction(IWorkbenchPart part)
- {
- super(part);
- setText("Delete");
- setId(DELETE_XSD_COMPONENT_ID);
- setImageDescriptor(XSDEditorPlugin.getImageDescriptor("icons/delete_obj.gif") );
- }
-
- public void run()
- {
- Object selection = ((IStructuredSelection) getSelection()).getFirstElement();
-
- if (selection instanceof XSDBaseAdapter)
- {
- selection = ((XSDBaseAdapter) selection).getTarget();
- }
-
- if (selection instanceof XSDConcreteComponent)
- {
- DeleteCommand command = new DeleteCommand(getText(), (XSDConcreteComponent) selection);
- getCommandStack().execute(command);
- }
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/OpenInNewEditor.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/OpenInNewEditor.java
deleted file mode 100644
index f03780c8c7..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/OpenInNewEditor.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.actions;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.wst.common.uriresolver.internal.util.URIHelper;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDComplexTypeDefinitionAdapter;
-import org.eclipse.wst.xsd.ui.internal.adt.actions.BaseSelectionAction;
-import org.eclipse.wst.xsd.ui.internal.editor.InternalXSDMultiPageEditor;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-
-public class OpenInNewEditor extends BaseSelectionAction
-{
- public static final String ID = "OpenInNewEditor";
-
- public OpenInNewEditor(IWorkbenchPart part)
- {
- super(part);
- setText("Open In New Editor");
- setId(ID);
- }
-
- protected boolean calculateEnabled()
- {
- return true;
- }
-
- public void run()
- {
- Object selection = ((IStructuredSelection) getSelection()).getFirstElement();
-
- if (selection instanceof XSDComplexTypeDefinitionAdapter)
- {
- XSDComplexTypeDefinitionAdapter xsdAdapter = (XSDComplexTypeDefinitionAdapter) selection;
- XSDComplexTypeDefinition fComponent = (XSDComplexTypeDefinition) xsdAdapter.getTarget();
-
- if (fComponent.getSchema() != null)
- {
- String schemaLocation = URIHelper.removePlatformResourceProtocol(fComponent.getSchema().getSchemaLocation());
- IPath schemaPath = new Path(schemaLocation);
- IFile schemaFile = ResourcesPlugin.getWorkspace().getRoot().getFile(schemaPath);
- if (schemaFile != null && schemaFile.exists())
- {
- IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (workbenchWindow != null)
- {
- IWorkbenchPage page = workbenchWindow.getActivePage();
- try
- {
- // TODO: Should use this to open in default editor
- // IEditorPart editorPart = IDE.openEditor(page, schemaFile, true);
- IEditorPart editorPart = page.openEditor(new FileEditorInput(schemaFile), "org.eclipse.wst.xsd.ui.internal.editor.InternalXSDMultiPageEditor", true);
-
- if (editorPart instanceof InternalXSDMultiPageEditor)
- {
- InternalXSDMultiPageEditor xsdEditor = (InternalXSDMultiPageEditor) editorPart;
-
- xsdEditor.openOnGlobalReference(fComponent);
- }
-
- }
- catch (PartInitException pie)
- {
- }
- }
- }
- }
-
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/SetMultiplicityAction.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/SetMultiplicityAction.java
deleted file mode 100644
index 7432d2c726..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/SetMultiplicityAction.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.actions;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDBaseAdapter;
-import org.eclipse.wst.xsd.ui.internal.common.commands.SetMultiplicityCommand;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-public class SetMultiplicityAction extends XSDBaseAction
-{
- public static String REQUIRED_ID = "org.eclipse.wst.xsd.ui.internal.common.actions.SetMultiplicity.REQUIRED_ID";
- public static String ZERO_OR_ONE_ID = "org.eclipse.wst.xsd.ui.internal.common.actions.SetMultiplicity.ZERO_OR_ONE_ID";
- public static String ZERO_OR_MORE_ID = "org.eclipse.wst.xsd.ui.internal.common.actions.SetMultiplicity.ZERO_OR_MORE_ID";
- public static String ONE_OR_MORE_ID = "org.eclipse.wst.xsd.ui.internal.common.actions.SetMultiplicity.ONE_OR_MORE_ID";
-
- SetMultiplicityCommand command;
-
- public SetMultiplicityAction(IWorkbenchPart part, String label, String ID)
- {
- super(part);
- setText(label);
- setId(ID);
- command = new SetMultiplicityCommand(label);
- }
-
- public void setMaxOccurs(int i)
- {
- command.setMaxOccurs(i);
- }
-
- public void setMinOccurs(int i)
- {
- command.setMinOccurs(i);
- }
-
- public void run()
- {
- Object selection = ((IStructuredSelection) getSelection()).getFirstElement();
-
- XSDConcreteComponent xsdConcreteComponent = null;
- if (selection instanceof XSDBaseAdapter)
- {
- xsdConcreteComponent = (XSDConcreteComponent)((XSDBaseAdapter) selection).getTarget();
- }
- if (xsdConcreteComponent != null)
- {
- command.setXSDConcreteComponent(xsdConcreteComponent);
- getCommandStack().execute(command);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/SetTypeAction.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/SetTypeAction.java
deleted file mode 100644
index 50d21f57cd..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/SetTypeAction.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.actions;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDBaseAdapter;
-import org.eclipse.wst.xsd.ui.internal.common.commands.SetTypeCommand;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-public class SetTypeAction extends XSDBaseAction
-{
- public static final String SET_NEW_TYPE_ID = "SetTypeAction_AddType";
- public static final String SELECT_EXISTING_TYPE_ID = "SetTypeAction_ExistingType";
-
- SetTypeCommand command;
-
- public SetTypeAction(String label, String ID, IWorkbenchPart part)
- {
- super(part);
- setText(label);
- setId(ID);
- }
-
- public void run()
- {
- Object selection = ((IStructuredSelection) getSelection()).getFirstElement();
-
- if (selection instanceof XSDBaseAdapter)
- {
- Object target = ((XSDBaseAdapter) selection).getTarget();
-
- if (target instanceof XSDConcreteComponent)
- {
- command = new SetTypeCommand(getText(), getId(), (XSDConcreteComponent) target);
- command.setAdapter((XSDBaseAdapter) selection);
- getCommandStack().execute(command);
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/XSDBaseAction.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/XSDBaseAction.java
deleted file mode 100644
index 5a06b2a6a7..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/actions/XSDBaseAction.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.actions;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDBaseAdapter;
-import org.eclipse.wst.xsd.ui.internal.adt.actions.BaseSelectionAction;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-
-public class XSDBaseAction extends BaseSelectionAction
-{
-
- public XSDBaseAction(IWorkbenchPart part)
- {
- super(part);
- }
-
- protected boolean calculateEnabled()
- {
- if (getWorkbenchPart() instanceof IEditorPart)
- {
- IEditorPart owningEditor = (IEditorPart)getWorkbenchPart();
-
- Object selection = ((IStructuredSelection) getSelection()).getFirstElement();
- if (selection instanceof XSDBaseAdapter)
- {
- selection = ((XSDBaseAdapter) selection).getTarget();
- }
- XSDSchema xsdSchema = null;
- if (selection instanceof XSDConcreteComponent)
- {
- xsdSchema = ((XSDConcreteComponent)selection).getSchema();
- }
-
- if (xsdSchema != null && xsdSchema == owningEditor.getAdapter(XSDSchema.class))
- {
- return true;
- }
- }
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddDocumentationCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddDocumentationCommand.java
deleted file mode 100644
index 9366865d75..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddDocumentationCommand.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import java.util.List;
-
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xsd.ui.internal.common.util.XSDCommonUIUtils;
-import org.eclipse.xsd.XSDAnnotation;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class AddDocumentationCommand extends BaseCommand
-{
- XSDAnnotation xsdAnnotation;
- XSDConcreteComponent input;
- String newValue, oldValue;
- boolean documentationExists;
- Element documentationElement;
-
- public AddDocumentationCommand(String label, XSDAnnotation xsdAnnotation, XSDConcreteComponent input, String newValue, String oldValue)
- {
- super(label);
- this.xsdAnnotation = xsdAnnotation;
- this.input = input;
- this.newValue = newValue;
- this.oldValue = oldValue;
- }
-
- public void execute()
- {
- xsdAnnotation = XSDCommonUIUtils.getInputXSDAnnotation((XSDConcreteComponent) input, true);
- Element element = xsdAnnotation.getElement();
-
- List documentationList = xsdAnnotation.getUserInformation();
- documentationElement = null;
- documentationExists = false;
- if (documentationList.size() > 0)
- {
- documentationExists = true;
- documentationElement = (Element) documentationList.get(0);
- }
-
- if (documentationElement == null)
- {
- documentationElement = xsdAnnotation.createUserInformation(null);
- element.appendChild(documentationElement);
- formatChild(documentationElement);
- // Defect in model....I create it but the model object doesn't appear
- // to be updated
- xsdAnnotation.updateElement();
- xsdAnnotation.setElement(element);
- }
-
- try
- {
- if (documentationElement.hasChildNodes())
- {
- if (documentationElement instanceof IDOMElement)
- {
- IDOMElement domElement = (IDOMElement) documentationElement;
-
- Node firstChild = documentationElement.getFirstChild();
- Node lastChild = documentationElement.getLastChild();
- int start = 0;
- int end = 0;
-
- IDOMModel model = domElement.getModel();
- IDOMDocument doc = model.getDocument();
- IDOMNode first = null;
- if (firstChild instanceof IDOMNode)
- {
- first = (IDOMNode) firstChild;
- start = first.getStartOffset();
- }
- if (lastChild instanceof IDOMNode)
- {
- IDOMNode last = (IDOMNode) lastChild;
- end = last.getEndOffset();
- }
-
- if (domElement != null)
- {
- oldValue = domElement.getModel().getStructuredDocument().get(start, end - start);
- domElement.getModel().getStructuredDocument().replaceText(documentationElement, start, end - start, newValue);
- }
- }
- }
- else
- {
- if (newValue.length() > 0)
- {
- oldValue = "";
- Node childNode = documentationElement.getOwnerDocument().createTextNode(newValue);
- documentationElement.appendChild(childNode);
- }
- }
- }
- catch (Exception e)
- {
-
- }
- }
-
- public void undo()
- {
- super.undo();
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddEnumerationsCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddEnumerationsCommand.java
deleted file mode 100644
index 746a525f9a..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddEnumerationsCommand.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.xsd.XSDEnumerationFacet;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.util.XSDSchemaBuildingTools;
-
-public class AddEnumerationsCommand extends BaseCommand
-{
- XSDSimpleTypeDefinition simpleType;
- String value;
-
- public AddEnumerationsCommand(String label, XSDSimpleTypeDefinition simpleType)
- {
- super(label);
- this.simpleType = simpleType;
- }
-
- public void setValue(String value)
- {
- this.value = value;
- }
-
- public void execute()
- {
- XSDFactory factory = XSDSchemaBuildingTools.getXSDFactory();
- XSDEnumerationFacet enumerationFacet = factory.createXSDEnumerationFacet();
- enumerationFacet.setLexicalValue(value);
- simpleType.getFacetContents().add(enumerationFacet);
- formatChild(simpleType.getElement());
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddExtensibilityElementCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddExtensibilityElementCommand.java
deleted file mode 100644
index 4aa2c79b4f..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddExtensibilityElementCommand.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo.SpecificationForExtensionsSchema;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-public class AddExtensibilityElementCommand extends Command
-{
- Element input, elementToAdd;
- SpecificationForExtensionsSchema extensionSchemaSpec;
-
- public AddExtensibilityElementCommand(String label, Element input, Element elementToAdd)
- {
- super(label);
- this.input = input;
- this.elementToAdd = elementToAdd;
- }
-
- public void execute()
- {
- super.execute();
- addElement();
- }
-
- public void undo()
- {
- super.undo();
- // TODO
- }
-
- public void setSchemaProperties(SpecificationForExtensionsSchema appInfoSchemaSpec)
- {
- this.extensionSchemaSpec = appInfoSchemaSpec;
- }
-
- private void addElement()
- {
- if (input != null)
- {
- Document doc = input.getOwnerDocument();
- String name = elementToAdd.getAttribute("name");
- try
- {
- Element rootElement = doc.createElementNS(extensionSchemaSpec.getNamespaceURI(), name);
- String prefix = input.getPrefix();
- rootElement.setPrefix(prefix);
- String xmlns = (prefix == null || prefix.equals("")) ? "xmlns" : "xmlns:" + prefix;
- Attr nsURIAttribute = doc.createAttribute(xmlns);
- nsURIAttribute.setValue(extensionSchemaSpec.getNamespaceURI());
- rootElement.setAttributeNode(nsURIAttribute);
- input.appendChild(rootElement);
-
- }
- catch (Exception e)
- {
-
- }
-
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddExtensionAttributeCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddExtensionAttributeCommand.java
deleted file mode 100644
index ef45e1f142..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddExtensionAttributeCommand.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.wst.xml.core.internal.contentmodel.util.DOMNamespaceInfoManager;
-import org.eclipse.wst.xml.core.internal.contentmodel.util.NamespaceInfo;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.w3c.dom.Element;
-
-public class AddExtensionAttributeCommand extends AddExtensionCommand
-{
- private static DOMNamespaceInfoManager manager = new DOMNamespaceInfoManager();
- private XSDAttributeDeclaration attribute;
- private boolean appInfoAttributeAdded = false;
- private boolean prefixAdded = false;
- private String attributeQName;
- private String namespacePrefix;
-
- XSDConcreteComponent component;
-
-
- public AddExtensionAttributeCommand(String label, XSDConcreteComponent component,
- XSDAttributeDeclaration attribute)
- {
- super(label);
- this.component = component;
- this.attribute = attribute;
- }
-
- public void execute()
- {
- namespacePrefix = handleNamespacePrefices();
-
- attributeQName = namespacePrefix + ":" + attribute.getName();
- String value = component.getElement().getAttribute(attributeQName);
- if ( value == null) {
- appInfoAttributeAdded = true;
- component.getElement().setAttribute(attributeQName, "");
- }
- }
-
- public void undo()
- {
- super.undo();
- // TODO (allison) remove the namespace prefix when applicable as well
- if (appInfoAttributeAdded){
- component.getElement().removeAttribute(attributeQName);
- }
- }
-
- /** Create a namespace prefix if needed, other wise retrieve
- * a predefined namespace prefix
- * @return */
- private String handleNamespacePrefices()
- {
- Element schemaElement = component.getSchema().getElement();
- String prefix = null;
-
- // If target namespace of the attribute already exists
- List namespacePrefices = manager.getNamespaceInfoList(schemaElement);
- for (int i = 0; i < namespacePrefices.size(); i++){
- NamespaceInfo info = (NamespaceInfo) namespacePrefices.get(i);
- if ( info.uri.equals(attribute.getTargetNamespace())) {
- prefix = info.prefix;
- }
- }
-
- // Create unquie namespace prefix
- if ( prefix == null){
- prefixAdded = true;
- prefix = createUniquePrefix(component);
- }
-
- NamespaceInfo info = new NamespaceInfo(attribute.getTargetNamespace(), prefix, "");
- List infoList = new ArrayList(1);
- infoList.add(info);
- manager.addNamespaceInfo(schemaElement, infoList, false);
- return prefix;
- }
-
- protected String createUniquePrefix(XSDConcreteComponent component)
- {
- String prefix = "p";
- Map prefMapper = component.getSchema().getQNamePrefixToNamespaceMap();
- if ( prefMapper.get(prefix) != null){
- int i = 1;
- while ( prefMapper.get(prefix + i) != null)
- i++;
- prefix += i;
- }
- return prefix;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddExtensionCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddExtensionCommand.java
deleted file mode 100644
index 3a3ef4cdae..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddExtensionCommand.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo.SpecificationForExtensionsSchema;
-
-public class AddExtensionCommand extends Command
-{
- protected SpecificationForExtensionsSchema extensionsSchemaSpec;
-
- protected AddExtensionCommand(String label)
- {
- super(label);
- }
-
- public void setSchemaProperties(SpecificationForExtensionsSchema appInfoSchemaSpec)
- {
- this.extensionsSchemaSpec = appInfoSchemaSpec;
- }
-
- public Object getNewObject()
- {
- return null;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddExtensionElementCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddExtensionElementCommand.java
deleted file mode 100644
index d8b65ff053..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddExtensionElementCommand.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo.SpecificationForExtensionsSchema;
-import org.eclipse.wst.xsd.ui.internal.common.util.XSDCommonUIUtils;
-import org.eclipse.xsd.XSDAnnotation;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSchema;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-public class AddExtensionElementCommand extends AddExtensionCommand
-{
- XSDConcreteComponent input;
- XSDElementDeclaration element;
- Element appInfo;
- Element newElement;
-
- public AddExtensionElementCommand(String label, XSDConcreteComponent input, XSDElementDeclaration element)
- {
- super(label);
- this.input = input;
- this.element = element;
- }
-
- public void execute()
- {
- super.execute();
- addAnnotationSet(input.getSchema(), extensionsSchemaSpec);
- }
-
- public void undo()
- {
- super.undo();
- XSDAnnotation xsdAnnotation = XSDCommonUIUtils.getInputXSDAnnotation(input, false);
- xsdAnnotation.getElement().removeChild(appInfo);
- List appInfos = xsdAnnotation.getApplicationInformation();
- appInfos.remove(appInfo);
- xsdAnnotation.updateElement();
-
- }
-
- public void setSchemaProperties(SpecificationForExtensionsSchema spec)
- {
- this.extensionsSchemaSpec = spec;
- }
-
- public void addAnnotationSet(XSDSchema xsdSchema, SpecificationForExtensionsSchema spec)
- {
- XSDAnnotation xsdAnnotation = XSDCommonUIUtils.getInputXSDAnnotation(input, true);
- addAnnotationSet(spec, xsdAnnotation);
- }
-
- private void addAnnotationSet(SpecificationForExtensionsSchema spec, XSDAnnotation xsdAnnotation)
- {
- appInfo = xsdAnnotation.createApplicationInformation(spec.getNamespaceURI());
-
- if (appInfo != null)
- {
- Document doc = appInfo.getOwnerDocument();
-
- Element rootElement = doc.createElementNS(spec.getNamespaceURI(), element.getName());
-
- String prefix = createUniquePrefix(input);
- rootElement.setPrefix(prefix);
- newElement = rootElement;
-
- Attr nsURIAttribute = doc.createAttribute("xmlns:"+prefix);
- nsURIAttribute.setValue(spec.getNamespaceURI());
- rootElement.setAttributeNode(nsURIAttribute);
- appInfo.appendChild(rootElement);
-
- xsdAnnotation.getElement().appendChild(appInfo);
- List appInfos = xsdAnnotation.getApplicationInformation();
- appInfos.add(appInfo);
- xsdAnnotation.updateElement();
- }
- }
-
- public Object getNewObject()
- {
- return newElement;
- }
-
- protected String createUniquePrefix(XSDConcreteComponent component)
- {
- String prefix = "p";
- Map prefMapper = component.getSchema().getQNamePrefixToNamespaceMap();
- if ( prefMapper.get(prefix) != null){
- int i = 1;
- while ( prefMapper.get(prefix + i) != null)
- i++;
- prefix += i;
- }
- return prefix;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDAttributeDeclarationCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDAttributeDeclarationCommand.java
deleted file mode 100644
index 567b05e7d0..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDAttributeDeclarationCommand.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.xsd.ui.internal.common.util.XSDCommonUIUtils;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.w3c.dom.Text;
-
-public class AddXSDAttributeDeclarationCommand extends BaseCommand
-{
- XSDComplexTypeDefinition xsdComplexTypeDefinition;
- XSDModelGroup xsdModelGroup;
-// XSDSchema xsdSchema;
- XSDConcreteComponent parent;
-
- public AddXSDAttributeDeclarationCommand(String label, XSDComplexTypeDefinition xsdComplexTypeDefinition)
- {
- super(label);
- this.xsdComplexTypeDefinition = xsdComplexTypeDefinition;
- }
-
- public AddXSDAttributeDeclarationCommand(String label, XSDConcreteComponent parent)
- {
- super(label);
- this.parent = parent;
- }
-
- public void execute()
- {
- XSDAttributeDeclaration attribute = XSDFactory.eINSTANCE.createXSDAttributeDeclaration();
- if (parent == null)
- {
- attribute.setName(getNewName("Attribute")); //$NON-NLS-1$
- attribute.setTypeDefinition(xsdComplexTypeDefinition.getSchema().getSchemaForSchema().resolveSimpleTypeDefinition("string")); //$NON-NLS-1$
-
- XSDAttributeUse attributeUse = XSDFactory.eINSTANCE.createXSDAttributeUse();
- attributeUse.setAttributeDeclaration(attribute);
- attributeUse.setContent(attribute);
-
- if (xsdComplexTypeDefinition.getAttributeContents() != null)
- {
- xsdComplexTypeDefinition.getAttributeContents().add(attributeUse);
- formatChild(xsdComplexTypeDefinition.getElement());
- }
- addedXSDConcreteComponent = attributeUse;
- }
- else
- {
- attribute.setTypeDefinition(parent.getSchema().getSchemaForSchema().resolveSimpleTypeDefinition("string")); //$NON-NLS-1$
- if (parent instanceof XSDSchema)
- {
- attribute.setName(XSDCommonUIUtils.createUniqueElementName("NewAttribute", parent.getSchema().getAttributeDeclarations()));
- XSDSchema xsdSchema = (XSDSchema)parent;
- Text textNode = xsdSchema.getDocument().createTextNode("\n");
- xsdSchema.getElement().appendChild(textNode);
- xsdSchema.getContents().add(attribute);
- }
- else if (parent instanceof XSDAttributeGroupDefinition)
- {
- List list = new ArrayList();
- Iterator i = ((XSDAttributeGroupDefinition)parent).getResolvedAttributeGroupDefinition().getAttributeUses().iterator();
- while (i.hasNext())
- {
- XSDAttributeUse use = (XSDAttributeUse)i.next();
- list.add(use.getAttributeDeclaration());
- }
- attribute.setName(XSDCommonUIUtils.createUniqueElementName("NewAttribute", list));
- XSDAttributeUse attributeUse = XSDFactory.eINSTANCE.createXSDAttributeUse();
- attributeUse.setAttributeDeclaration(attribute);
- attributeUse.setContent(attribute);
-
- ((XSDAttributeGroupDefinition)parent).getResolvedAttributeGroupDefinition().getContents().add(attributeUse);
- formatChild(parent.getElement());
- }
- addedXSDConcreteComponent = attribute;
- }
- }
-
- ArrayList names;
-
- protected String getNewName(String description)
- {
- String candidateName = "New" + description; //$NON-NLS-1$
- XSDConcreteComponent parent = xsdComplexTypeDefinition;
- names = new ArrayList();
- int i = 1;
- if (parent instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition) parent;
- walkUpInheritance(ct);
-
- boolean ready = false;
- while (!ready)
- {
- ready = true;
- for (Iterator iter = names.iterator(); iter.hasNext();)
- {
- String attrName = (String) iter.next();
- if (candidateName.equals(attrName))
- {
- ready = false;
- candidateName = "New" + description + String.valueOf(i); //$NON-NLS-1$
- i++;
- }
- }
- }
- }
- return candidateName;
- }
-
- private void walkUpInheritance(XSDComplexTypeDefinition ct)
- {
- updateNames(ct);
- XSDTypeDefinition typeDef = ct.getBaseTypeDefinition();
- if (ct != ct.getRootType())
- {
- if (typeDef instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition ct2 = (XSDComplexTypeDefinition) typeDef;
- walkUpInheritance(ct2);
- }
- }
- }
-
- private void updateNames(XSDComplexTypeDefinition ct)
- {
- Iterator iter = ct.getAttributeContents().iterator();
- while (iter.hasNext())
- {
- Object obj = iter.next();
- if (obj instanceof XSDAttributeUse)
- {
- XSDAttributeUse use = (XSDAttributeUse) obj;
- XSDAttributeDeclaration attr = use.getAttributeDeclaration();
- String attrName = attr.getName();
- if (attrName != null)
- {
- names.add(attrName);
- }
- }
- }
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDAttributeGroupDefinitionCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDAttributeGroupDefinitionCommand.java
deleted file mode 100644
index be06d30968..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDAttributeGroupDefinitionCommand.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.xsd.ui.internal.common.util.XSDCommonUIUtils;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.w3c.dom.Text;
-
-public class AddXSDAttributeGroupDefinitionCommand extends BaseCommand
-{
- XSDComplexTypeDefinition xsdComplexTypeDefinition;
- XSDSchema xsdSchema;
-
- public AddXSDAttributeGroupDefinitionCommand(String label, XSDComplexTypeDefinition xsdComplexTypeDefinition)
- {
- super(label);
- this.xsdComplexTypeDefinition = xsdComplexTypeDefinition;
- }
-
- public AddXSDAttributeGroupDefinitionCommand(String label, XSDSchema xsdSchema)
- {
- super(label);
- this.xsdSchema = xsdSchema;
- }
-
- public void execute()
- {
- XSDAttributeGroupDefinition attributeGroup = XSDFactory.eINSTANCE.createXSDAttributeGroupDefinition();
- if (xsdSchema == null)
- {
- attributeGroup.setName(getNewName("AttributeGroup")); //$NON-NLS-1$
-
- List list = xsdComplexTypeDefinition.getSchema().getAttributeGroupDefinitions();
- if (list.size() > 0)
- {
- attributeGroup.setResolvedAttributeGroupDefinition((XSDAttributeGroupDefinition) list.get(0));
- }
- else
- {
- attributeGroup.setName(null);
- XSDAttributeGroupDefinition attributeGroup2 = XSDFactory.eINSTANCE.createXSDAttributeGroupDefinition();
- attributeGroup2.setName(XSDCommonUIUtils.createUniqueElementName("NewAttributeGroup", xsdComplexTypeDefinition.getSchema().getAttributeGroupDefinitions()));
- xsdComplexTypeDefinition.getSchema().getContents().add(attributeGroup2);
- attributeGroup.setResolvedAttributeGroupDefinition(attributeGroup2);
- }
-
- if (xsdComplexTypeDefinition.getAttributeContents() != null)
- {
- xsdComplexTypeDefinition.getAttributeContents().add(attributeGroup);
- }
- addedXSDConcreteComponent = attributeGroup;
- }
- else
- {
- attributeGroup.setName(XSDCommonUIUtils.createUniqueElementName("NewAttributeGroup", xsdSchema.getAttributeGroupDefinitions()));
- Text textNode = xsdSchema.getDocument().createTextNode("\n");
- xsdSchema.getElement().appendChild(textNode);
- xsdSchema.getContents().add(attributeGroup);
- addedXSDConcreteComponent = attributeGroup;
- }
- }
-
- ArrayList names;
-
- protected String getNewName(String description)
- {
- String candidateName = "New" + description; //$NON-NLS-1$
- XSDConcreteComponent parent = xsdComplexTypeDefinition;
- names = new ArrayList();
- int i = 1;
- if (parent instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition) parent;
- walkUpInheritance(ct);
-
- boolean ready = false;
- while (!ready)
- {
- ready = true;
- for (Iterator iter = names.iterator(); iter.hasNext();)
- {
- String attrName = (String) iter.next();
- if (candidateName.equals(attrName))
- {
- ready = false;
- candidateName = "New" + description + String.valueOf(i); //$NON-NLS-1$
- i++;
- }
- }
- }
- }
- return candidateName;
- }
-
- private void walkUpInheritance(XSDComplexTypeDefinition ct)
- {
- updateNames(ct);
- XSDTypeDefinition typeDef = ct.getBaseTypeDefinition();
- if (ct != ct.getRootType())
- {
- if (typeDef instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition ct2 = (XSDComplexTypeDefinition) typeDef;
- walkUpInheritance(ct2);
- }
- }
- }
-
- private void updateNames(XSDComplexTypeDefinition ct)
- {
- Iterator iter = ct.getAttributeContents().iterator();
- while (iter.hasNext())
- {
- Object obj = iter.next();
- if (obj instanceof XSDAttributeUse)
- {
- XSDAttributeUse use = (XSDAttributeUse) obj;
- XSDAttributeDeclaration attr = use.getAttributeDeclaration();
- String attrName = attr.getName();
- if (attrName != null)
- {
- names.add(attrName);
- }
- }
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDComplexTypeDefinitionCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDComplexTypeDefinitionCommand.java
deleted file mode 100644
index 7ec1a413b8..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDComplexTypeDefinitionCommand.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDSchemaBuildingTools;
-import org.w3c.dom.Text;
-
-public final class AddXSDComplexTypeDefinitionCommand extends BaseCommand
-{
- protected XSDConcreteComponent parent;
- protected XSDComplexTypeDefinition createdComplexType;
- private String nameToAdd;
-
- public AddXSDComplexTypeDefinitionCommand(String label, XSDConcreteComponent parent)
- {
- super(label);
- this.parent = parent;
- }
-
- public void setNameToAdd(String nameToAdd)
- {
- this.nameToAdd = nameToAdd;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#execute()
- */
- public void execute()
- {
- XSDFactory factory = XSDSchemaBuildingTools.getXSDFactory();
- XSDComplexTypeDefinition complexType = factory.createXSDComplexTypeDefinition();
- addedXSDConcreteComponent = complexType;
- String newName = getNewName(nameToAdd == null ? "NewXSDComplexType" : nameToAdd, parent.getSchema());
- complexType.setName(newName);
- if (parent instanceof XSDSchema)
- {
- try
- {
- XSDSchema xsdSchema = (XSDSchema)parent;
- Text textNode = xsdSchema.getDocument().createTextNode("\n");
- xsdSchema.getElement().appendChild(textNode);
- xsdSchema.getContents().add(complexType);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- else if (parent instanceof XSDElementDeclaration)
- {
- ((XSDElementDeclaration) parent).setAnonymousTypeDefinition((XSDComplexTypeDefinition) complexType);
- formatChild(parent.getElement());
- }
- createdComplexType = complexType;
- }
-
- protected String getNewName(String description, XSDSchema schema)
- {
- String candidateName = description; //$NON-NLS-1$
- int i = 1;
-
- List list = schema.getTypeDefinitions();
- List listOfNames = new ArrayList();
- for (Iterator iter = list.iterator(); iter.hasNext();)
- {
- XSDTypeDefinition typeDef = (XSDTypeDefinition) iter.next();
- String name = typeDef.getName();
- if (name == null)
- name = "";
- if (typeDef.getTargetNamespace() == schema.getTargetNamespace())
- listOfNames.add(name);
- }
-
- boolean flag = true;
- while (flag)
- {
- if (!listOfNames.contains(candidateName))
- {
- flag = false;
- break;
- }
- candidateName = description + String.valueOf(i); //$NON-NLS-1$
- i++;
- }
-
- return candidateName;
- }
-
- public XSDComplexTypeDefinition getCreatedComplexType()
- {
- return createdComplexType;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDElementCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDElementCommand.java
deleted file mode 100644
index 9654531f87..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDElementCommand.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.xsd.ui.internal.common.util.XSDCommonUIUtils;
-import org.eclipse.xsd.XSDComplexTypeContent;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.util.XSDSchemaBuildingTools;
-import org.w3c.dom.Text;
-
-public class AddXSDElementCommand extends BaseCommand
-{
- XSDComplexTypeDefinition xsdComplexTypeDefinition;
- XSDModelGroupDefinition xsdModelGroupDefinition;
- XSDModelGroup xsdModelGroup;
- XSDSchema xsdSchema;
- boolean isReference;
-private String nameToAdd;
-
- public AddXSDElementCommand()
- {
- super();
- }
-
- public AddXSDElementCommand(String label, XSDComplexTypeDefinition xsdComplexTypeDefinition)
- {
- super(label);
- this.xsdComplexTypeDefinition = xsdComplexTypeDefinition;
- xsdModelGroup = getModelGroup(xsdComplexTypeDefinition);
- }
-
- public AddXSDElementCommand(String label, XSDModelGroupDefinition xsdModelGroupDefinition)
- {
- super(label);
- this.xsdModelGroupDefinition = xsdModelGroupDefinition;
- xsdModelGroup = getModelGroup(xsdModelGroupDefinition);
- }
-
- public AddXSDElementCommand(String label, XSDModelGroup xsdModelGroup, XSDComplexTypeDefinition xsdComplexTypeDefinition)
- {
- super(label);
- this.xsdModelGroup = xsdModelGroup;
- this.xsdComplexTypeDefinition = xsdComplexTypeDefinition;
- }
-
- public AddXSDElementCommand(String label, XSDModelGroup xsdModelGroup)
- {
- super(label);
- this.xsdModelGroup = xsdModelGroup;
- }
-
- public AddXSDElementCommand(String label, XSDSchema xsdSchema)
- {
- super(label);
- this.xsdSchema = xsdSchema;
- }
-
- public void setReference(boolean isReference)
- {
- this.isReference = isReference;
- }
-
- public void setNameToAdd(String name){
- nameToAdd = name;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#execute()
- */
- public void execute()
- {
- if (xsdSchema != null)
- {
- XSDElementDeclaration element = createGlobalXSDElementDeclaration();
- Text textNode = xsdSchema.getDocument().createTextNode("\n");
- xsdSchema.getElement().appendChild(textNode);
- xsdSchema.getContents().add(element);
- addedXSDConcreteComponent = element;
- }
- else if (xsdModelGroupDefinition != null)
- {
- if (xsdModelGroup == null)
- {
- XSDFactory factory = XSDSchemaBuildingTools.getXSDFactory();
- XSDParticle particle = factory.createXSDParticle();
- xsdModelGroup = factory.createXSDModelGroup();
- xsdModelGroup.setCompositor(XSDCompositor.SEQUENCE_LITERAL);
- particle.setContent(xsdModelGroup);
- }
- if (!isReference)
- {
- xsdModelGroup.getContents().add(createXSDElementDeclaration());
- }
- else
- {
- xsdModelGroup.getContents().add(createXSDElementReference());
- }
- }
- else if (xsdComplexTypeDefinition == null && xsdModelGroup != null)
- {
- xsdSchema = xsdModelGroup.getSchema();
- if (!isReference)
- {
- xsdModelGroup.getContents().add(createXSDElementDeclaration());
- }
- else
- {
- xsdModelGroup.getContents().add(createXSDElementReference());
- }
- formatChild(xsdModelGroup.getElement());
- }
- else
- {
- if (xsdModelGroup == null)
- {
- XSDFactory factory = XSDSchemaBuildingTools.getXSDFactory();
- XSDParticle particle = factory.createXSDParticle();
- xsdModelGroup = factory.createXSDModelGroup();
- xsdModelGroup.setCompositor(XSDCompositor.SEQUENCE_LITERAL);
- particle.setContent(xsdModelGroup);
- xsdComplexTypeDefinition.setContent(particle);
- }
- xsdSchema = xsdComplexTypeDefinition.getSchema();
-
- if (!isReference)
- {
- xsdModelGroup.getContents().add(createXSDElementDeclarationForComplexType());
- }
- else
- {
- xsdModelGroup.getContents().add(createXSDElementReference());
- }
- formatChild(xsdModelGroup.getElement());
- }
-
- }
-
- protected XSDParticle createXSDElementDeclaration()
- {
- XSDSimpleTypeDefinition type = xsdModelGroup.getSchema().getSchemaForSchema().resolveSimpleTypeDefinition("string");
-
- XSDElementDeclaration element = XSDFactory.eINSTANCE.createXSDElementDeclaration();
-
- ArrayList usedAttributeNames = new ArrayList();
- usedAttributeNames.addAll(XSDCommonUIUtils.getChildElements(xsdModelGroup));
- element.setName(XSDCommonUIUtils.createUniqueElementName(
- nameToAdd == null ? "NewElement" : nameToAdd , xsdSchema.getElementDeclarations()));
- element.setTypeDefinition(type);
-
- XSDParticle particle = XSDFactory.eINSTANCE.createXSDParticle();
- particle.setContent(element);
- addedXSDConcreteComponent = element;
- return particle;
- }
-
- protected XSDParticle createXSDElementReference()
- {
- List list = xsdModelGroup.getSchema().getElementDeclarations();
- XSDElementDeclaration referencedElement = null;
- if (list.size() > 0)
- {
- referencedElement = (XSDElementDeclaration)list.get(0);
- }
- else
- {
- referencedElement = createGlobalXSDElementDeclaration();
- Text textNode = xsdSchema.getDocument().createTextNode("\n");
- xsdSchema.getElement().appendChild(textNode);
- xsdSchema.getContents().add(referencedElement);
- }
-
- XSDElementDeclaration element = XSDFactory.eINSTANCE.createXSDElementDeclaration();
-
- element.setResolvedElementDeclaration(referencedElement);
- XSDParticle particle = XSDFactory.eINSTANCE.createXSDParticle();
- particle.setContent(element);
- addedXSDConcreteComponent = element;
- return particle;
- }
-
- protected XSDParticle createXSDElementDeclarationForComplexType()
- {
- XSDSimpleTypeDefinition type = xsdModelGroup.getSchema().getSchemaForSchema().resolveSimpleTypeDefinition("string");
-
- XSDElementDeclaration element = XSDFactory.eINSTANCE.createXSDElementDeclaration();
-
- ArrayList usedAttributeNames = new ArrayList();
- usedAttributeNames.addAll(XSDCommonUIUtils.getAllAttributes(xsdComplexTypeDefinition));
- usedAttributeNames.addAll(XSDCommonUIUtils.getInheritedAttributes(xsdComplexTypeDefinition));
- element.setName(XSDCommonUIUtils.createUniqueElementName(
- nameToAdd == null ? "NewElement" : nameToAdd , usedAttributeNames));
- element.setTypeDefinition(type);
-
- XSDParticle particle = XSDFactory.eINSTANCE.createXSDParticle();
- particle.setContent(element);
- addedXSDConcreteComponent = element;
- return particle;
- }
-
- protected XSDElementDeclaration createGlobalXSDElementDeclaration()
- {
- XSDSimpleTypeDefinition type = xsdSchema.getSchemaForSchema().resolveSimpleTypeDefinition("string");
- XSDFactory factory = XSDSchemaBuildingTools.getXSDFactory();
- XSDElementDeclaration element = factory.createXSDElementDeclaration();
-
- element.setName(XSDCommonUIUtils.createUniqueElementName(
- nameToAdd == null ? "NewElement" : nameToAdd , xsdSchema.getElementDeclarations()));
- element.setTypeDefinition(type);
-
- return element;
- }
-
- public XSDModelGroup getModelGroup(XSDModelGroupDefinition modelGroupDef)
- {
- return modelGroupDef.getModelGroup();
- }
-
- //PORT
- public XSDModelGroup getModelGroup(XSDComplexTypeDefinition cType)
- {
- XSDParticle particle = cType.getSyntheticParticle();
-
- XSDComplexTypeContent xsdComplexTypeContent = cType.getContent();
- if (xsdComplexTypeContent instanceof XSDParticle)
- {
- particle = (XSDParticle)xsdComplexTypeContent;
- }
-
- if (particle == null)
- {
- return null;
- }
-
- Object particleContent = particle.getContent();
- XSDModelGroup group = null;
-
- if (particleContent instanceof XSDModelGroupDefinition)
- {
- group = ((XSDModelGroupDefinition) particleContent).getResolvedModelGroupDefinition().getModelGroup();
- }
- else if (particleContent instanceof XSDModelGroup)
- {
- group = (XSDModelGroup) particleContent;
- }
-
- if (group == null)
- {
- return null;
- }
-
-// if (group.getContents().isEmpty() || group.eResource() != cType.eResource())
-// {
-// if (cType.getBaseType() != null)
-// {
-// XSDComplexTypeContent content = cType.getContent();
-// if (content instanceof XSDParticle)
-// {
-// group = (XSDModelGroup) ((XSDParticle) content).getContent();
-// }
-// }
-// }
-
- return group;
- }
-
- public XSDConcreteComponent getAddedComponent()
- {
- return super.getAddedComponent();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDImportCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDImportCommand.java
deleted file mode 100644
index 2a31115fa2..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDImportCommand.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDSchema;
-
-public class AddXSDImportCommand extends AddXSDSchemaDirectiveCommand
-{
- public AddXSDImportCommand(String label, XSDSchema schema)
- {
- super(label);
- this.xsdSchema = schema;
- }
-
- public void execute()
- {
- XSDImport xsdImport = XSDFactory.eINSTANCE.createXSDImport();
- xsdSchema.getContents().add(findNextPositionToInsert(), xsdImport);
- addedXSDConcreteComponent = xsdImport;
- formatChild(xsdSchema.getElement());
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDIncludeCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDIncludeCommand.java
deleted file mode 100644
index 27c978086a..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDIncludeCommand.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDSchema;
-
-public class AddXSDIncludeCommand extends AddXSDSchemaDirectiveCommand
-{
- public AddXSDIncludeCommand(String label, XSDSchema schema)
- {
- super(label);
- this.xsdSchema = schema;
- }
-
- public void execute()
- {
- XSDInclude xsdInclude = XSDFactory.eINSTANCE.createXSDInclude();
- xsdInclude.setSchemaLocation("");
- xsdSchema.getContents().add(findNextPositionToInsert(), xsdInclude);
- addedXSDConcreteComponent = xsdInclude;
- formatChild(xsdSchema.getElement());
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDModelGroupCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDModelGroupCommand.java
deleted file mode 100644
index d5ebdaf983..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDModelGroupCommand.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.util.XSDSchemaBuildingTools;
-
-public class AddXSDModelGroupCommand extends BaseCommand
-{
- XSDConcreteComponent parent;
- XSDCompositor xsdCompositor;
- XSDModelGroup newModelGroup;
-
- public AddXSDModelGroupCommand(String label, XSDConcreteComponent parent, XSDCompositor xsdCompositor)
- {
- super(label);
- this.parent = parent;
- this.xsdCompositor = xsdCompositor;
- }
-
- public void execute()
- {
- XSDConcreteComponent owner = getOwner();
- if (owner != null)
- {
- XSDParticle particle = XSDFactory.eINSTANCE.createXSDParticle();
- newModelGroup = createModelGroup();
- particle.setContent(newModelGroup);
-
- XSDComplexTypeDefinition ctd = (XSDComplexTypeDefinition)owner;
- ctd.setContent(particle);
- }
- formatChild(parent.getElement());
- }
-
- public void undo()
- {
- super.undo();
-
- if (parent instanceof XSDModelGroup)
- {
- XSDModelGroup model = (XSDModelGroup) parent;
- model.getContents().remove(newModelGroup.getContainer());
- }
- }
-
- private XSDConcreteComponent getOwner()
- {
- XSDConcreteComponent owner = null;
- if (parent instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration ed = (XSDElementDeclaration)parent;
- if (ed.getTypeDefinition() != null)
- {
- if (ed.getAnonymousTypeDefinition() == null)
- {
- ed.setTypeDefinition(null);
- XSDComplexTypeDefinition td = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
- ed.setAnonymousTypeDefinition(td);
- owner = ed.getTypeDefinition();
- }
- else
- {
- XSDComplexTypeDefinition td = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
- ed.setAnonymousTypeDefinition(td);
- owner = td;
- }
- }
- else if (ed.getAnonymousTypeDefinition() == null)
- {
- XSDComplexTypeDefinition td = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
- ed.setAnonymousTypeDefinition(td);
- owner = td;
- }
- else if (ed.getAnonymousTypeDefinition() instanceof XSDComplexTypeDefinition)
- {
- owner = ed.getAnonymousTypeDefinition();
- }
- else if (ed.getAnonymousTypeDefinition() instanceof XSDSimpleTypeDefinition)
- {
- XSDComplexTypeDefinition td = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
- ed.setAnonymousTypeDefinition(td);
- owner = td;
- }
- }
- else if (parent instanceof XSDModelGroup)
- {
- newModelGroup = createModelGroup();
- ((XSDModelGroup) parent).getContents().add(newModelGroup.getContainer());
- }
- else if (parent instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)parent;
- owner = parent;
- if (ct.getContent() instanceof XSDParticle)
- {
- XSDParticle particle = (XSDParticle)ct.getContent();
- if (particle.getContent() instanceof XSDModelGroup)
- {
- owner = null;
- newModelGroup = createModelGroup();
- XSDModelGroup newParent = (XSDModelGroup)particle.getContent();
- newParent.getContents().add(newModelGroup.getContainer());
- }
-
- }
- }
- return owner;
- }
-
-
- protected boolean adopt(XSDConcreteComponent model)
- {
- return false;
- }
-
- protected XSDModelGroup createModelGroup()
- {
-
- XSDFactory factory = XSDSchemaBuildingTools.getXSDFactory();
- XSDParticle particle = factory.createXSDParticle();
- XSDModelGroup modelGroup = factory.createXSDModelGroup();
- modelGroup.setCompositor(xsdCompositor);
- particle.setContent(modelGroup);
- addedXSDConcreteComponent = modelGroup;
- return modelGroup;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDModelGroupDefinitionCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDModelGroupDefinitionCommand.java
deleted file mode 100644
index ed0a8b3d74..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDModelGroupDefinitionCommand.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import java.util.List;
-
-import org.eclipse.wst.xsd.ui.internal.common.util.XSDCommonUIUtils;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.util.XSDSchemaBuildingTools;
-import org.w3c.dom.Text;
-
-public class AddXSDModelGroupDefinitionCommand extends BaseCommand
-{
- XSDConcreteComponent parent;
- boolean isReference;
-
- public AddXSDModelGroupDefinitionCommand(String label, XSDConcreteComponent parent, boolean isReference)
- {
- super(label);
- this.parent = parent;
- this.isReference = isReference;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#execute()
- */
- public void execute()
- {
- if (!isReference)
- {
- XSDModelGroupDefinition def= createXSDModelGroupDefinition();
- addedXSDConcreteComponent = def;
- }
- else
- {
- XSDFactory factory = XSDSchemaBuildingTools.getXSDFactory();
- XSDModelGroupDefinition def = factory.createXSDModelGroupDefinition();
- XSDParticle particle = XSDFactory.eINSTANCE.createXSDParticle();
- particle.setContent(def);
- List list = parent.getSchema().getModelGroupDefinitions();
- if (list.size() > 0)
- {
- def.setResolvedModelGroupDefinition((XSDModelGroupDefinition) list.get(0));
- }
- else
- {
- XSDModelGroupDefinition newGroupDef = createXSDModelGroupDefinition();
- def.setResolvedModelGroupDefinition(newGroupDef);
- }
-
- if (parent instanceof XSDModelGroup)
- {
- ((XSDModelGroup) parent).getContents().add(particle);
- }
- formatChild(def.getElement());
- addedXSDConcreteComponent = def;
- }
- }
-
- protected XSDModelGroupDefinition createXSDModelGroupDefinition()
- {
- XSDFactory factory = XSDSchemaBuildingTools.getXSDFactory();
- XSDModelGroupDefinition def = factory.createXSDModelGroupDefinition();
- List list = parent.getSchema().getModelGroupDefinitions();
- String newName = XSDCommonUIUtils.createUniqueElementName("ModelGroupDefinition", list);
- def.setName(newName);
-
- XSDModelGroup modelGroup = createModelGroup();
- def.setModelGroup(modelGroup);
- Text textNode = parent.getSchema().getDocument().createTextNode("\n");
- parent.getSchema().getElement().appendChild(textNode);
- parent.getSchema().getContents().add(def);
- formatChild(def.getElement());
- return def;
- }
-
- protected XSDModelGroup createModelGroup()
- {
- XSDFactory factory = XSDSchemaBuildingTools.getXSDFactory();
- XSDParticle particle = factory.createXSDParticle();
- XSDModelGroup modelGroup = factory.createXSDModelGroup();
- modelGroup.setCompositor(XSDCompositor.SEQUENCE_LITERAL);
- particle.setContent(modelGroup);
-
- return modelGroup;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDRedefineCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDRedefineCommand.java
deleted file mode 100644
index 922698a322..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDRedefineCommand.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDRedefine;
-import org.eclipse.xsd.XSDSchema;
-
-public class AddXSDRedefineCommand extends AddXSDSchemaDirectiveCommand
-{
- public AddXSDRedefineCommand(String label, XSDSchema schema)
- {
- super(label);
- this.xsdSchema = schema;
- }
-
- public void execute()
- {
- XSDRedefine xsdRedefine = XSDFactory.eINSTANCE.createXSDRedefine();
- xsdRedefine.setSchemaLocation("");
- xsdSchema.getContents().add(findNextPositionToInsert(), xsdRedefine);
- addedXSDConcreteComponent = xsdRedefine;
- formatChild(xsdSchema.getElement());
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDSchemaDirectiveCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDSchemaDirectiveCommand.java
deleted file mode 100644
index feb51d0ff5..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDSchemaDirectiveCommand.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import java.util.Iterator;
-
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-
-public abstract class AddXSDSchemaDirectiveCommand extends BaseCommand
-{
- protected XSDSchema xsdSchema;
-
- public AddXSDSchemaDirectiveCommand(String label)
- {
- super(label);
- }
-
- public void undo()
- {
- super.undo();
- }
-
- protected boolean adopt(XSDConcreteComponent model)
- {
- return false;
- }
-
- protected int findNextPositionToInsert()
- {
- int index = 0;
- for (Iterator i = xsdSchema.getContents().iterator(); i.hasNext(); )
- {
- Object o = i.next();
- if (o instanceof XSDSchemaDirective)
- {
- index ++;
- }
- else
- {
- break;
- }
- }
- return index;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDSimpleTypeDefinitionCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDSimpleTypeDefinitionCommand.java
deleted file mode 100644
index b8e66b7cdf..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/AddXSDSimpleTypeDefinitionCommand.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.wst.xsd.ui.internal.common.util.XSDCommonUIUtils;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Text;
-
-public final class AddXSDSimpleTypeDefinitionCommand extends BaseCommand
-{
- XSDConcreteComponent parent;
- XSDSimpleTypeDefinition createdSimpleType;
- private String nameToAdd;
-
- public AddXSDSimpleTypeDefinitionCommand(String label, XSDConcreteComponent parent)
- {
- super(label);
- this.parent = parent;
- }
-
- public void setNameToAdd(String nameToAdd)
- {
- this.nameToAdd = nameToAdd;
- }
-
- public void execute()
- {
- XSDSimpleTypeDefinition typeDef = XSDFactory.eINSTANCE.createXSDSimpleTypeDefinition();
- typeDef.setBaseTypeDefinition(parent.getSchema().getSchemaForSchema().resolveSimpleTypeDefinition(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, "string"));
-
- if (parent instanceof XSDSchema)
- {
- typeDef.setName(XSDCommonUIUtils.createUniqueElementName(nameToAdd == null ? "XSDSimpleType" : nameToAdd, ((XSDSchema) parent).getTypeDefinitions()));
- createdSimpleType = typeDef;
- try
- {
- XSDSchema xsdSchema = (XSDSchema)parent;
- Text textNode = xsdSchema.getDocument().createTextNode("\n");
- xsdSchema.getElement().appendChild(textNode);
- xsdSchema.getContents().add(typeDef);
- }
- catch (Exception e)
- {
-
- }
- }
- else if (parent instanceof XSDElementDeclaration)
- {
- ((XSDElementDeclaration) parent).setAnonymousTypeDefinition(typeDef);
- }
- else if (parent instanceof XSDAttributeDeclaration)
- {
- ((XSDAttributeDeclaration) parent).setAnonymousTypeDefinition(typeDef);
- }
- formatChild(createdSimpleType.getElement());
- }
-
- public XSDSimpleTypeDefinition getCreatedSimpleType()
- {
- return createdSimpleType;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/BaseCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/BaseCommand.java
deleted file mode 100644
index db8ef70f4f..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/BaseCommand.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.wst.sse.core.internal.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xml.core.internal.provisional.format.FormatProcessorXML;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.w3c.dom.Element;
-
-public class BaseCommand extends Command
-{
- XSDConcreteComponent addedXSDConcreteComponent;
-
- public BaseCommand()
- {
- super();
- }
-
- public BaseCommand(String label)
- {
- super(label);
- }
-
- public XSDConcreteComponent getAddedComponent()
- {
- return addedXSDConcreteComponent;
- }
-
- protected void formatChild(Element child)
- {
- if (child instanceof IDOMNode)
- {
- IDOMModel model = ((IDOMNode)child).getModel();
- try
- {
- // tell the model that we are about to make a big model change
- model.aboutToChangeModel();
-
- IStructuredFormatProcessor formatProcessor = new FormatProcessorXML();
- formatProcessor.formatNode(child);
- }
- finally
- {
- // tell the model that we are done with the big model change
- model.changedModel();
- }
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/ChangeToLocalSimpleTypeCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/ChangeToLocalSimpleTypeCommand.java
deleted file mode 100644
index 0ff97e5992..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/ChangeToLocalSimpleTypeCommand.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDFeature;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-
-public class ChangeToLocalSimpleTypeCommand extends BaseCommand
-{
- XSDFeature parent;
- XSDSimpleTypeDefinition anonymousSimpleType;
- XSDSimpleTypeDefinition currentType;
-
- public ChangeToLocalSimpleTypeCommand(String label, XSDFeature parent)
- {
- super(label);
- this.parent = parent;
-
-// if (parent instanceof XSDElementDeclaration)
-// {
-// XSDElementDeclaration element = (XSDElementDeclaration) parent;
-// XSDTypeDefinition aType = element.getResolvedElementDeclaration().getTypeDefinition();
-//
-// if (aType instanceof XSDSimpleTypeDefinition)
-// {
-// currentType = (XSDSimpleTypeDefinition) aType;
-// }
-// }
- }
-
- public void execute()
- {
-// anonymousSimpleType = XSDFactory.eINSTANCE.createXSDSimpleTypeDefinition();
-// anonymousSimpleType.setBaseTypeDefinition(currentType);
- if (parent instanceof XSDElementDeclaration)
- {
- ((XSDElementDeclaration)parent).setAnonymousTypeDefinition(anonymousSimpleType);
- }
- else if (parent instanceof XSDAttributeDeclaration)
- {
- ((XSDAttributeDeclaration)parent).setAnonymousTypeDefinition(anonymousSimpleType);
- }
- formatChild(parent.getElement());
- }
-
- public void setAnonymousSimpleType(XSDSimpleTypeDefinition anonymousSimpleType)
- {
- this.anonymousSimpleType = anonymousSimpleType;
- }
-
- public XSDSimpleTypeDefinition getAnonymousType()
- {
- if (anonymousSimpleType == null)
- {
- anonymousSimpleType = XSDFactory.eINSTANCE.createXSDSimpleTypeDefinition();
- anonymousSimpleType.setBaseTypeDefinition(currentType);
- }
- return anonymousSimpleType;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/DeleteCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/DeleteCommand.java
deleted file mode 100644
index 724bdcf65c..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/DeleteCommand.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDVisitor;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDEnumerationFacet;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-
-public class DeleteCommand extends BaseCommand
-{
- XSDConcreteComponent target;
-
- public DeleteCommand(String label, XSDConcreteComponent target)
- {
- super(label);
- this.target = target;
- }
-
- public void execute()
- {
- XSDVisitor visitor = new XSDVisitor()
- {
- public void visitElementDeclaration(org.eclipse.xsd.XSDElementDeclaration element)
- {
- if (element.getTypeDefinition() == target)
- {
- XSDSimpleTypeDefinition type = target.getSchema().getSchemaForSchema().resolveSimpleTypeDefinition("string");
- element.setTypeDefinition(type);
- }
- super.visitElementDeclaration(element);
- }
- };
-
- XSDConcreteComponent parent = target.getContainer();
-
- if (target instanceof XSDModelGroup || target instanceof XSDElementDeclaration || target instanceof XSDModelGroupDefinition)
- {
- if (parent instanceof XSDParticle)
- {
- if (parent.getContainer() instanceof XSDModelGroup)
- {
- XSDModelGroup modelGroup = (XSDModelGroup) ((XSDParticle) parent).getContainer();
-
- modelGroup.getContents().remove(parent);
- }
- }
- else if (parent instanceof XSDSchema)
- {
- visitor.visitSchema(target.getSchema());
- ((XSDSchema) parent).getContents().remove(target);
- }
-
- }
- else if (target instanceof XSDAttributeDeclaration)
- {
- if (parent instanceof XSDAttributeUse)
- {
- EObject obj = parent.eContainer();
- XSDComplexTypeDefinition complexType = null;
- while (obj != null)
- {
- if (obj instanceof XSDComplexTypeDefinition)
- {
- complexType = (XSDComplexTypeDefinition) obj;
- break;
- }
- obj = obj.eContainer();
- }
- if (complexType != null)
- {
- complexType.getAttributeContents().remove((XSDAttributeUse) parent);
- }
-
- if (parent.getContainer() instanceof XSDAttributeGroupDefinition)
- {
- XSDAttributeGroupDefinition attrGroup = (XSDAttributeGroupDefinition) parent.getContainer();
-
- attrGroup.getContents().remove(parent);
- }
- }
- }
- else if (target instanceof XSDAttributeGroupDefinition &&
- parent instanceof XSDComplexTypeDefinition)
- {
- ((XSDComplexTypeDefinition)parent).getAttributeContents().remove(target);
- }
- else if (target instanceof XSDEnumerationFacet)
- {
- XSDEnumerationFacet enumerationFacet = (XSDEnumerationFacet)target;
- enumerationFacet.getSimpleTypeDefinition().getFacetContents().remove(enumerationFacet);
- }
- else
- {
- if (parent instanceof XSDSchema)
- {
- visitor.visitSchema(target.getSchema());
- ((XSDSchema) parent).getContents().remove(target);
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/RemoveExtensionAttributerCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/RemoveExtensionAttributerCommand.java
deleted file mode 100644
index 74f37d6fd7..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/RemoveExtensionAttributerCommand.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.gef.commands.Command;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-
-public class RemoveExtensionAttributerCommand extends Command
-{
- Element hostElement;
- Attr attr;
-
- public RemoveExtensionAttributerCommand(String label, Element hostElement, Attr attr)
- {
- super(label);
- this.hostElement = hostElement;
- this.attr = attr;
- }
-
- public void execute()
- {
- super.execute();
- hostElement.removeAttributeNode(attr);
- }
-
- public void undo()
- {
- super.undo();
- //TODO implement me
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/RemoveExtensionElementCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/RemoveExtensionElementCommand.java
deleted file mode 100644
index c89db27a31..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/RemoveExtensionElementCommand.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.xsd.XSDAnnotation;
-import org.w3c.dom.Node;
-
-public class RemoveExtensionElementCommand extends Command
-{
- XSDAnnotation xsdAnnotation;
- Node appInfo;
-
- public RemoveExtensionElementCommand(String label, XSDAnnotation xsdAnnotation, Node appInfo)
- {
- super(label);
- this.xsdAnnotation = xsdAnnotation;
- this.appInfo = appInfo;
- }
-
- public void execute()
- {
- super.execute();
- xsdAnnotation.getApplicationInformation().remove(appInfo);
- xsdAnnotation.getElement().removeChild(appInfo);
- xsdAnnotation.updateElement();
- }
-
- public void undo()
- {
- super.undo();
- xsdAnnotation.getApplicationInformation().add(appInfo);
- xsdAnnotation.getElement().appendChild(appInfo);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/SetMultiplicityCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/SetMultiplicityCommand.java
deleted file mode 100644
index 5fa03f5c97..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/SetMultiplicityCommand.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDParticleContent;
-
-public class SetMultiplicityCommand extends BaseCommand
-{
- XSDConcreteComponent parent;
- int maxOccurs, minOccurs;
-
- /**
- * @param parent
- */
- public SetMultiplicityCommand(String label)
- {
- super(label);
- }
-
- public void setMaxOccurs(int i)
- {
- maxOccurs=i;
- }
-
- public void setMinOccurs(int i)
- {
- minOccurs=i;
- }
-
- public void setXSDConcreteComponent(XSDConcreteComponent parent)
- {
- this.parent = parent;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.xsd.ui.internal.commands.AbstractCommand#run()
- */
- public void execute()
- {
- if (parent instanceof XSDParticleContent)
- {
- XSDParticleContent xsdParticleContent = (XSDParticleContent)parent;
- XSDParticle xsdParticle = (XSDParticle)xsdParticleContent.getContainer();
- if (maxOccurs < 0)
- {
- maxOccurs = XSDParticle.UNBOUNDED;
- }
- xsdParticle.setMaxOccurs(maxOccurs);
- xsdParticle.setMinOccurs(minOccurs);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/SetTypeCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/SetTypeCommand.java
deleted file mode 100644
index 811e68f707..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/SetTypeCommand.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.jface.window.Window;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.ui.internal.search.dialogs.ComponentSpecification;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDBaseAdapter;
-import org.eclipse.wst.xsd.ui.internal.adt.edit.ComponentReferenceEditManager;
-import org.eclipse.wst.xsd.ui.internal.adt.edit.IComponentDialog;
-import org.eclipse.wst.xsd.ui.internal.common.actions.SetTypeAction;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDTypeReferenceEditManager;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-
-public class SetTypeCommand extends BaseCommand
-{
- XSDConcreteComponent parent;
- private boolean continueApply;
- XSDBaseAdapter adapter;
- String action;
-
- public SetTypeCommand(String label, String ID, XSDConcreteComponent parent)
- {
- super(label);
- this.parent = parent;
- this.action = ID;
- }
-
- public void setAdapter(XSDBaseAdapter adapter)
- {
- this.adapter = adapter;
- }
-
- public void execute()
- {
- ComponentReferenceEditManager componentReferenceEditManager = getComponentReferenceEditManager();
- continueApply = true;
- if (parent instanceof XSDElementDeclaration)
- {
- if (action.equals(SetTypeAction.SET_NEW_TYPE_ID))
- {
- ComponentSpecification newValue = (ComponentSpecification)invokeDialog(componentReferenceEditManager.getNewDialog());
- if (continueApply)
- componentReferenceEditManager.modifyComponentReference(adapter, newValue);
- }
- else
- {
- ComponentSpecification newValue = (ComponentSpecification)invokeDialog(componentReferenceEditManager.getBrowseDialog());
- if (continueApply)
- componentReferenceEditManager.modifyComponentReference(adapter, newValue);
- }
- formatChild(parent.getElement());
- }
-
- }
-
- private Object invokeDialog(IComponentDialog dialog)
- {
- Object newValue = null;
-
- if (dialog == null)
- {
- return null;
- }
-
- if (dialog.createAndOpen() == Window.OK)
- {
- newValue = dialog.getSelectedComponent();
- }
- else
- {
- continueApply = false;
- }
-
- return newValue;
- }
-
- protected ComponentReferenceEditManager getComponentReferenceEditManager()
- {
- ComponentReferenceEditManager result = null;
- IEditorPart editor = getActiveEditor();
- if (editor != null)
- {
- result = (ComponentReferenceEditManager)editor.getAdapter(XSDTypeReferenceEditManager.class);
- }
- return result;
- }
-
- private IEditorPart getActiveEditor()
- {
- IWorkbench workbench = PlatformUI.getWorkbench();
- IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
- IEditorPart editorPart = workbenchWindow.getActivePage().getActiveEditor();
- return editorPart;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/SetXSDFacetValueCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/SetXSDFacetValueCommand.java
deleted file mode 100644
index 7948e6a276..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/SetXSDFacetValueCommand.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.xsd.XSDFacet;
-
-public class SetXSDFacetValueCommand extends BaseCommand
-{
- protected XSDFacet facet;
- protected String value;
-
- public SetXSDFacetValueCommand(String label, XSDFacet facet)
- {
- super(label);
- this.facet = facet;
- }
-
- public void setValue(String value)
- {
- this.value = value;
- }
-
- public void execute()
- {
- facet.setLexicalValue(value);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateAttributeValueCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateAttributeValueCommand.java
deleted file mode 100644
index b93bb579f2..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateAttributeValueCommand.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.gef.commands.Command;
-import org.w3c.dom.Element;
-
-/*
- * This command is used from the extension view to edit extension elements
- * and attributes which are implemented as DOM objects (not part of the EMF model)
- */
-public class UpdateAttributeValueCommand extends Command
-{
- Element element;
- String attributeName;
- String attributeValue;
-
- public UpdateAttributeValueCommand(Element element, String attributeName, String attributeValue)
- {
- this.element = element;
- this.attributeName = attributeName;
- this.attributeValue = attributeValue;
- }
-
-
- public void execute()
- {
- element.setAttribute(attributeName, attributeValue);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateComponentReferenceAndManageDirectivesCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateComponentReferenceAndManageDirectivesCommand.java
deleted file mode 100644
index f38cda60dd..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateComponentReferenceAndManageDirectivesCommand.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.xsd.XSDComponent;
-import org.eclipse.xsd.XSDConcreteComponent;
-
-public abstract class UpdateComponentReferenceAndManageDirectivesCommand extends Command{
- protected XSDConcreteComponent concreteComponent;
- protected String componentName;
- protected String componentNamespace;
- protected IFile file;
-
- public UpdateComponentReferenceAndManageDirectivesCommand(XSDConcreteComponent concreteComponent, String componentName, String componentNamespace, IFile file)
- {
- this.concreteComponent = concreteComponent;
- this.componentName = componentName;
- this.componentNamespace = componentNamespace;
- this.file = file;
- }
-
- protected abstract XSDComponent computeComponent();
-
- public abstract void execute() ;
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateContentModelCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateContentModelCommand.java
deleted file mode 100644
index 2192e5a372..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateContentModelCommand.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDModelGroup;
-
-public class UpdateContentModelCommand extends Command
-{
- XSDModelGroup xsdModelGroup;
- XSDCompositor oldXSDCompositor, newXSDCompositor;
-
-
- public UpdateContentModelCommand(String label, XSDModelGroup xsdModelGroup, XSDCompositor xsdCompositor)
- {
- super(label);
- this.xsdModelGroup = xsdModelGroup;
- this.newXSDCompositor = xsdCompositor;
- this.oldXSDCompositor = xsdModelGroup.getCompositor();
- }
-
-
- public void execute()
- {
- super.execute();
- xsdModelGroup.setCompositor(newXSDCompositor);
-
- }
-
- public void undo()
- {
- xsdModelGroup.setCompositor(oldXSDCompositor);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateElementReferenceAndManageDirectivesCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateElementReferenceAndManageDirectivesCommand.java
deleted file mode 100644
index 9313fcbcff..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateElementReferenceAndManageDirectivesCommand.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.xsd.XSDComponent;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.util.XSDResourceImpl;
-
-public class UpdateElementReferenceAndManageDirectivesCommand extends
-UpdateComponentReferenceAndManageDirectivesCommand{
-
- public UpdateElementReferenceAndManageDirectivesCommand(XSDConcreteComponent concreteComponent,
- String componentName, String componentNamespace, IFile file)
- {
- super(concreteComponent, componentName, componentNamespace, file);
- }
-
- protected XSDComponent computeComponent()
- {
- XSDElementDeclaration result = null;
- XSDSchema schema = concreteComponent.getSchema();
- XSDSchemaDirective directive = null;
-
- // TODO (cs) handle case where namespace==null
- //
- if (componentNamespace != null)
- {
-
- // lets see if the element is already visible to our schema
- result = getDefinedComponent(schema, componentName, componentNamespace);
- if (result == null)
- {
- // TODO (cs) we need to provide a separate command to do this part
- //
- // apparently the element is not yet visible, we need to add includes/imports to get to it
- if (componentNamespace.equals(schema.getTargetNamespace()))
- {
- // we need to add an include
- directive =XSDFactory.eINSTANCE.createXSDInclude();
- }
- else
- {
- // we need to add an import
- XSDImport xsdImport = XSDFactory.eINSTANCE.createXSDImport();
- xsdImport.setNamespace(componentNamespace);
- directive = xsdImport;
- }
-
- // TODO (cs) we need to compute a relative URI to make this nicer!
- //
- String fileURI = file.getLocationURI().toString();
- if (fileURI.startsWith("file:/") && !fileURI.startsWith("file:///"))
- {
- fileURI = "file:///" + fileURI.substring(6);
- }
- directive.setSchemaLocation(fileURI);
-
- // TODO (cs) we should at the directive 'next' in the list of directives
- // for now I'm just adding as the first thing in the schema :-(
- //
- schema.getContents().add(0, directive);
- XSDSchema resolvedSchema = directive.getResolvedSchema();
-
- if (resolvedSchema == null)
- {
- Resource resource = concreteComponent.eResource().getResourceSet().createResource(URI.createURI(fileURI));
- if (resource instanceof XSDResourceImpl)
- {
- try
- {
- resource.load(null);
- XSDResourceImpl resourceImpl = (XSDResourceImpl)resource;
- resolvedSchema = resourceImpl.getSchema();
- if (resolvedSchema != null)
- {
- directive.setResolvedSchema(resolvedSchema);
- }
- }
- catch (Exception e)
- {
-
- }
- }
- }
- if (resolvedSchema != null)
- {
- result = getDefinedComponent(resolvedSchema, componentName, componentNamespace);
- }
- else
- {
- // TODO (cs) consider setting some error state so that the client can provide a pop-dialog error
- // we should also remove the import/include so save from cluttering the file with bogus directives
- }
- }
- }
- return result;
- }
-
- private XSDElementDeclaration getDefinedComponent(XSDSchema schema,
- String componentName, String componentNamespace) {
- XSDElementDeclaration result = schema.resolveElementDeclaration(componentNamespace, componentName);
- if (result.eContainer() == null)
- {
- result = null;
- }
- return result;
- }
-
- public void execute() {
- try
- {
- XSDComponent elementDef = computeComponent();
- if (elementDef != null)
- {
- UpdateElementReferenceCommand command = new UpdateElementReferenceCommand(
- "Update Element Reference", (XSDElementDeclaration) concreteComponent,
- (XSDElementDeclaration) elementDef);
- command.execute();
- }
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateElementReferenceCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateElementReferenceCommand.java
deleted file mode 100644
index e747603048..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateElementReferenceCommand.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.xsd.XSDElementDeclaration;
-
-public class UpdateElementReferenceCommand extends BaseCommand
-{
- XSDElementDeclaration element, ref;
-
- public UpdateElementReferenceCommand(String label, XSDElementDeclaration element, XSDElementDeclaration ref)
- {
- super(label);
- this.element = element;
- this.ref = ref;
- }
-
- public void execute()
- {
- element.setResolvedElementDeclaration(ref);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateMaxOccursCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateMaxOccursCommand.java
deleted file mode 100644
index b8300d12a8..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateMaxOccursCommand.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class UpdateMaxOccursCommand extends Command
-{
- private int oldMaxOccurs;
- private int newMaxOccurs;
- private boolean removeMaxOccursAttribute;
-
- XSDParticle particle;
-
- public UpdateMaxOccursCommand(String label, XSDParticle particle, int MaxOccurs)
- {
- super(label);
- this.newMaxOccurs = MaxOccurs;
- this.particle = particle;
- }
-
- public void execute()
- {
- Element element = particle.getElement();
- String currentMax = element.getAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
- removeMaxOccursAttribute = (currentMax == null)? true: false;
- oldMaxOccurs = particle.getMaxOccurs();
- particle.setMaxOccurs(newMaxOccurs);
- }
-
- public void redo()
- {
- execute();
- }
-
- public void undo()
- {
- if (removeMaxOccursAttribute)
- {
- particle.unsetMaxOccurs();
- }
- else
- {
- particle.setMaxOccurs(oldMaxOccurs);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateMinOccursCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateMinOccursCommand.java
deleted file mode 100644
index 1db2a20fd3..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateMinOccursCommand.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDAttributeUseCategory;
-import org.eclipse.xsd.XSDComponent;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class UpdateMinOccursCommand extends Command
-{
- private int oldMinOccurs;
- private int newMinOccurs;
- private boolean removeMinOccursAttribute;
-
- XSDComponent component;
-
- public UpdateMinOccursCommand(String label, XSDComponent component, int minOccurs)
- {
- super(label);
- this.newMinOccurs = minOccurs;
- this.component = component;
- }
-
- public void execute()
- {
-
- Element element = component.getElement();
- String currentMin = element.getAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
- removeMinOccursAttribute = (currentMin == null) ? true : false;
-
- if (component instanceof XSDParticle)
- {
- oldMinOccurs = ((XSDParticle) component).getMinOccurs();
- ((XSDParticle) component).setMinOccurs(newMinOccurs);
- }
- else if (component instanceof XSDAttributeUse)
- {
- oldMinOccurs = (((XSDAttributeUse) component).getUse() == XSDAttributeUseCategory.REQUIRED_LITERAL ? 1 : 0);
- if (newMinOccurs == 1)
- ((XSDAttributeUse) component).setUse(XSDAttributeUseCategory.REQUIRED_LITERAL);
- else
- ((XSDAttributeUse) component).setUse(XSDAttributeUseCategory.OPTIONAL_LITERAL);
- }
- }
-
- public void undo()
- {
- if (component instanceof XSDParticle)
- {
- if (removeMinOccursAttribute)
- {
- ((XSDParticle) component).unsetMinOccurs();
- }
- else
- {
- ((XSDParticle) component).setMinOccurs(oldMinOccurs);
- }
- }
- else if (component instanceof XSDAttributeUse)
- {
- if (removeMinOccursAttribute)
- {
- ((XSDParticle) component).unsetMinOccurs();
- }
- else
- {
- if (oldMinOccurs == 1)
- ((XSDAttributeUse) component).setUse(XSDAttributeUseCategory.REQUIRED_LITERAL);
- else
- ((XSDAttributeUse) component).setUse(XSDAttributeUseCategory.OPTIONAL_LITERAL);
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateNameCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateNameCommand.java
deleted file mode 100644
index fea569655e..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateNameCommand.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-
-public class UpdateNameCommand extends Command
-{
- private String oldName;
- private String newName;
- private XSDNamedComponent component;
-
- public UpdateNameCommand(String label, XSDNamedComponent component, String newName)
- {
- super(label);
-
- if (component instanceof XSDComplexTypeDefinition && component.getName() == null && component.eContainer() instanceof XSDNamedComponent && ((XSDNamedComponent) component.eContainer()).getName() != null)
- {
- component = (XSDNamedComponent) component.eContainer();
- }
-
- this.component = component;
- this.newName = newName;
- this.oldName = component.getName();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#execute()
- */
- public void execute()
- {
- component.setName(newName);
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateNumericBoundsFacetCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateNumericBoundsFacetCommand.java
deleted file mode 100644
index 1d02a3d0af..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateNumericBoundsFacetCommand.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDMaxExclusiveFacet;
-import org.eclipse.xsd.XSDMaxInclusiveFacet;
-import org.eclipse.xsd.XSDMinExclusiveFacet;
-import org.eclipse.xsd.XSDMinInclusiveFacet;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-
-public class UpdateNumericBoundsFacetCommand extends BaseCommand
-{
- XSDSimpleTypeDefinition xsdSimpleType;
- String max, min;
- boolean includeMin, includeMax;
- private boolean doUpdateMax = false, doUpdateMin = false;
- XSDMinInclusiveFacet minInclusiveFacet;
- XSDMinExclusiveFacet minExclusiveFacet;
- XSDMaxInclusiveFacet maxInclusiveFacet;
- XSDMaxExclusiveFacet maxExclusiveFacet;
-
-
- public UpdateNumericBoundsFacetCommand(String label, XSDSimpleTypeDefinition xsdSimpleType, boolean includeMin, boolean includeMax)
- {
- super(label);
- this.xsdSimpleType = xsdSimpleType;
- this.includeMin = includeMin;
- this.includeMax = includeMax;
-
- minInclusiveFacet = xsdSimpleType.getMinInclusiveFacet();
- minExclusiveFacet = xsdSimpleType.getMinExclusiveFacet();
- maxInclusiveFacet = xsdSimpleType.getMaxInclusiveFacet();
- maxExclusiveFacet = xsdSimpleType.getMaxExclusiveFacet();
-
- }
-
- public void setMin(String min)
- {
- this.min = min;
- doUpdateMin = true;
- }
-
- public void setMax(String max)
- {
- this.max = max;
- doUpdateMax = true;
- }
-
- public void execute()
- {
- if (doUpdateMin)
- {
- if (includeMin)
- {
- if (minInclusiveFacet == null && min != null)
- {
- minInclusiveFacet = XSDFactory.eINSTANCE.createXSDMinInclusiveFacet();
- minInclusiveFacet.setLexicalValue(min);
- xsdSimpleType.getFacetContents().add(minInclusiveFacet);
-
- if (minExclusiveFacet != null)
- {
- xsdSimpleType.getFacetContents().remove(minExclusiveFacet);
- }
- }
- else if (minInclusiveFacet != null && min != null)
- {
- minInclusiveFacet.setLexicalValue(min);
- }
- else if (minInclusiveFacet != null && min == null)
- {
- xsdSimpleType.getFacetContents().remove(minInclusiveFacet);
- }
- }
- else // !includeMin
- {
- if (minExclusiveFacet == null && min != null)
- {
- minExclusiveFacet = XSDFactory.eINSTANCE.createXSDMinExclusiveFacet();
- minExclusiveFacet.setLexicalValue(min);
- xsdSimpleType.getFacetContents().add(minExclusiveFacet);
-
- if (minInclusiveFacet != null)
- {
- xsdSimpleType.getFacetContents().remove(minInclusiveFacet);
- }
- }
- else if (minExclusiveFacet != null && min != null)
- {
- minExclusiveFacet.setLexicalValue(min);
- }
- else if (minExclusiveFacet != null && min == null)
- {
- xsdSimpleType.getFacetContents().remove(minExclusiveFacet);
- }
- }
- }
- else if (doUpdateMax)
- {
- if (includeMax)
- {
- if (maxInclusiveFacet == null && max != null)
- {
- maxInclusiveFacet = XSDFactory.eINSTANCE.createXSDMaxInclusiveFacet();
- maxInclusiveFacet.setLexicalValue(max);
- xsdSimpleType.getFacetContents().add(maxInclusiveFacet);
-
- if (maxExclusiveFacet != null)
- {
- xsdSimpleType.getFacetContents().remove(maxExclusiveFacet);
- }
- }
- else if (maxInclusiveFacet != null && max != null)
- {
- maxInclusiveFacet.setLexicalValue(max);
- }
- else if (maxInclusiveFacet != null && max == null)
- {
- xsdSimpleType.getFacetContents().remove(maxInclusiveFacet);
- }
- }
- else // !includeMax
- {
- if (maxExclusiveFacet == null && max != null)
- {
- maxExclusiveFacet = XSDFactory.eINSTANCE.createXSDMaxExclusiveFacet();
- maxExclusiveFacet.setLexicalValue(max);
- xsdSimpleType.getFacetContents().add(maxExclusiveFacet);
-
- if (maxInclusiveFacet != null)
- {
- xsdSimpleType.getFacetContents().remove(maxInclusiveFacet);
- }
- }
- else if (maxExclusiveFacet != null && max != null)
- {
- maxExclusiveFacet.setLexicalValue(max);
- }
- else if (maxExclusiveFacet != null && max == null)
- {
- xsdSimpleType.getFacetContents().remove(maxExclusiveFacet);
- }
- }
- }
-
- formatChild(xsdSimpleType.getElement());
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateStringLengthFacetCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateStringLengthFacetCommand.java
deleted file mode 100644
index 9b546b333f..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateStringLengthFacetCommand.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDLengthFacet;
-import org.eclipse.xsd.XSDMaxLengthFacet;
-import org.eclipse.xsd.XSDMinLengthFacet;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-
-public class UpdateStringLengthFacetCommand extends BaseCommand
-{
- XSDSimpleTypeDefinition xsdSimpleType;
- String max, min;
- private boolean doUpdateMax = false, doUpdateMin = false;
-
- public UpdateStringLengthFacetCommand(String label, XSDSimpleTypeDefinition xsdSimpleType)
- {
- super(label);
- this.xsdSimpleType = xsdSimpleType;
- }
-
- public void setMin(String min)
- {
- this.min = min;
- doUpdateMin = true;
- }
-
- public void setMax(String max)
- {
- this.max = max;
- doUpdateMax = true;
- }
-
- public void execute()
- {
- XSDLengthFacet lengthFacet = xsdSimpleType.getEffectiveLengthFacet();
- XSDMinLengthFacet minLengthFacet = xsdSimpleType.getEffectiveMinLengthFacet();
- XSDMaxLengthFacet maxLengthFacet = xsdSimpleType.getEffectiveMaxLengthFacet();
-
- String currentLength = null, currentMin = null, currentMax = null;
- if (lengthFacet != null)
- {
- currentLength = lengthFacet.getLexicalValue();
- }
- if (minLengthFacet != null)
- {
- currentMin = minLengthFacet.getLexicalValue();
- }
- if (maxLengthFacet != null)
- {
- currentMax = maxLengthFacet.getLexicalValue();
- }
-
- if (doUpdateMax && !doUpdateMin)
- {
- if (maxLengthFacet != null)
- {
- if (max != null)
- {
- if (max.equals(currentMin))
- {
- lengthFacet = XSDFactory.eINSTANCE.createXSDLengthFacet();
- lengthFacet.setLexicalValue(max);
- xsdSimpleType.getFacetContents().add(lengthFacet);
- xsdSimpleType.getFacetContents().remove(maxLengthFacet);
- xsdSimpleType.getFacetContents().remove(minLengthFacet);
- }
- else
- {
- if (lengthFacet != null)
- {
- xsdSimpleType.getFacetContents().remove(lengthFacet);
- }
- if (minLengthFacet == null && currentLength != null)
- {
- minLengthFacet = XSDFactory.eINSTANCE.createXSDMinLengthFacet();
- minLengthFacet.setLexicalValue(currentLength);
- xsdSimpleType.getFacetContents().add(minLengthFacet);
- }
- maxLengthFacet.setLexicalValue(max);
- }
- }
- else
- {
- xsdSimpleType.getFacetContents().remove(maxLengthFacet);
- }
- }
- else
- {
- if (currentMin != null && currentMin.equals(max))
- {
- if (lengthFacet == null)
- {
- lengthFacet = XSDFactory.eINSTANCE.createXSDLengthFacet();
- xsdSimpleType.getFacetContents().add(lengthFacet);
- }
- lengthFacet.setLexicalValue(max);
- xsdSimpleType.getFacetContents().remove(minLengthFacet);
- }
- else if (currentLength != null && !currentLength.equals(max))
- {
- xsdSimpleType.getFacetContents().remove(lengthFacet);
-
- if (max != null)
- {
- maxLengthFacet = XSDFactory.eINSTANCE.createXSDMaxLengthFacet();
- maxLengthFacet.setLexicalValue(max);
- xsdSimpleType.getFacetContents().add(maxLengthFacet);
- }
-
- minLengthFacet = XSDFactory.eINSTANCE.createXSDMinLengthFacet();
- minLengthFacet.setLexicalValue(currentLength);
- xsdSimpleType.getFacetContents().add(minLengthFacet);
- }
- else
- {
- if (lengthFacet != null)
- {
- xsdSimpleType.getFacetContents().remove(lengthFacet);
-
- minLengthFacet = XSDFactory.eINSTANCE.createXSDMinLengthFacet();
- minLengthFacet.setLexicalValue(currentLength);
- xsdSimpleType.getFacetContents().add(minLengthFacet);
-
- }
- maxLengthFacet = XSDFactory.eINSTANCE.createXSDMaxLengthFacet();
- maxLengthFacet.setLexicalValue(max);
- xsdSimpleType.getFacetContents().add(maxLengthFacet);
- }
- }
- }
- else if (!doUpdateMax && doUpdateMin)
- {
- if (minLengthFacet != null)
- {
- if (min != null)
- {
- if (min.equals(currentMax))
- {
- lengthFacet = XSDFactory.eINSTANCE.createXSDLengthFacet();
- lengthFacet.setLexicalValue(min);
- xsdSimpleType.getFacetContents().add(lengthFacet);
- xsdSimpleType.getFacetContents().remove(maxLengthFacet);
- xsdSimpleType.getFacetContents().remove(minLengthFacet);
- }
- else
- {
- if (lengthFacet != null)
- {
- xsdSimpleType.getFacetContents().remove(lengthFacet);
- }
- if (maxLengthFacet == null && currentLength != null)
- {
- maxLengthFacet = XSDFactory.eINSTANCE.createXSDMaxLengthFacet();
- maxLengthFacet.setLexicalValue(currentLength);
- xsdSimpleType.getFacetContents().add(maxLengthFacet);
- }
- minLengthFacet.setLexicalValue(min);
- }
- }
- else
- {
- xsdSimpleType.getFacetContents().remove(minLengthFacet);
- }
- }
- else
- {
- if (currentMax != null && currentMax.equals(min))
- {
- if (lengthFacet == null)
- {
- lengthFacet = XSDFactory.eINSTANCE.createXSDLengthFacet();
- xsdSimpleType.getFacetContents().add(lengthFacet);
- }
- lengthFacet.setLexicalValue(min);
- xsdSimpleType.getFacetContents().remove(maxLengthFacet);
- }
- else if (currentLength != null && !currentLength.equals(min))
- {
- xsdSimpleType.getFacetContents().remove(lengthFacet);
-
- if (min != null)
- {
- minLengthFacet = XSDFactory.eINSTANCE.createXSDMinLengthFacet();
- minLengthFacet.setLexicalValue(min);
- xsdSimpleType.getFacetContents().add(minLengthFacet);
- }
-
- maxLengthFacet = XSDFactory.eINSTANCE.createXSDMaxLengthFacet();
- maxLengthFacet.setLexicalValue(currentLength);
- xsdSimpleType.getFacetContents().add(maxLengthFacet);
- }
- else
- {
- minLengthFacet = XSDFactory.eINSTANCE.createXSDMinLengthFacet();
- minLengthFacet.setLexicalValue(min);
- xsdSimpleType.getFacetContents().add(minLengthFacet);
-
- if (lengthFacet != null)
- {
- xsdSimpleType.getFacetContents().remove(lengthFacet);
-
- maxLengthFacet = XSDFactory.eINSTANCE.createXSDMaxLengthFacet();
- maxLengthFacet.setLexicalValue(currentLength);
- xsdSimpleType.getFacetContents().add(maxLengthFacet);
- }
- }
- }
- }
- formatChild(xsdSimpleType.getElement());
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateTypeReferenceAndManageDirectivesCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateTypeReferenceAndManageDirectivesCommand.java
deleted file mode 100644
index 2ae5aafed4..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateTypeReferenceAndManageDirectivesCommand.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.xsd.XSDComponent;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.eclipse.xsd.util.XSDResourceImpl;
-
-public class UpdateTypeReferenceAndManageDirectivesCommand extends UpdateComponentReferenceAndManageDirectivesCommand
-{
-
- public UpdateTypeReferenceAndManageDirectivesCommand(XSDConcreteComponent concreteComponent,
- String componentName, String componentNamespace, IFile file)
- {
- super(concreteComponent, componentName, componentNamespace, file);
- }
-
- public XSDComponent computeComponent()
- {
- XSDComponent result = null;
- XSDSchema schema = concreteComponent.getSchema();
- XSDSchemaDirective directive = null;
-
- // TODO (cs) handle case where namespace==null
- //
- if (componentNamespace != null)
- {
- if (XSDConstants.isSchemaForSchemaNamespace(componentNamespace))
- {
- // this is the easy case, its just a built-in type
- //
- result = getDefinedComponent(schema, componentName, componentNamespace);
- }
- else
- {
- // lets see if the type is already visible to our schema
- result = getDefinedComponent(schema, componentName, componentNamespace);
- if (result == null)
- {
- // TODO (cs) we need to provide a separate command to do this part
- // TODO (trung) directives in the outline view does not get updated
- // apparently the type is not yet visible, we need to add includes/imports to get to it
- if (componentNamespace.equals(schema.getTargetNamespace()))
- {
- // we need to add an include
- directive =XSDFactory.eINSTANCE.createXSDInclude();
- }
- else
- {
- // we need to add an import
- XSDImport xsdImport = XSDFactory.eINSTANCE.createXSDImport();
- xsdImport.setNamespace(componentNamespace);
- directive = xsdImport;
- }
-
- // TODO (cs) we need to compute a relative URI to make this nicer!
- //
- String fileURI = file.getLocationURI().toString();
- if (fileURI.startsWith("file:/") && !fileURI.startsWith("file:///"))
- {
- fileURI = "file:///" + fileURI.substring(6);
- }
- directive.setSchemaLocation(fileURI);
-
- // TODO (cs) we should at the directive 'next' in the list of directives
- // for now I'm just adding as the first thing in the schema :-(
- //
- schema.getContents().add(0, directive);
- XSDSchema resolvedSchema = directive.getResolvedSchema();
-
- if (resolvedSchema == null)
- {
- Resource resource = concreteComponent.eResource().getResourceSet().createResource(URI.createURI(fileURI));
- if (resource instanceof XSDResourceImpl)
- {
- try
- {
- resource.load(null);
- XSDResourceImpl resourceImpl = (XSDResourceImpl)resource;
- resolvedSchema = resourceImpl.getSchema();
- if (resolvedSchema != null)
- {
- directive.setResolvedSchema(resolvedSchema);
- }
- }
- catch (Exception e)
- {
-
- }
- }
- }
- if (resolvedSchema != null)
- {
- result = getDefinedComponent(resolvedSchema, componentName, componentNamespace);
- }
- else
- {
- // TODO (cs) consider setting some error state so that the client can provide a pop-dialog error
- // we should also remove the import/include so save from cluttering the file with bogus directives
- }
- }
- }
- }
- return result;
- }
-
-
- private XSDTypeDefinition getDefinedComponent(XSDSchema schema, String componentName, String componentNamespace)
- {
- XSDTypeDefinition result = schema.resolveTypeDefinition(componentNamespace, componentName);
- if (result.eContainer() == null)
- {
- result = null;
- }
- return result;
- }
-
-
- public void execute()
- {
- try
- {
- XSDComponent td = computeComponent();
- if (td != null && td instanceof XSDTypeDefinition)
- {
- UpdateTypeReferenceCommand command = new UpdateTypeReferenceCommand(
- concreteComponent, (XSDTypeDefinition) td);
- command.execute();
- }
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateTypeReferenceCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateTypeReferenceCommand.java
deleted file mode 100644
index b330f8e3ea..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateTypeReferenceCommand.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-
-public class UpdateTypeReferenceCommand extends Command
-{
- XSDConcreteComponent concreteComponent;
- XSDTypeDefinition newType;
-
- public UpdateTypeReferenceCommand(XSDConcreteComponent concreteComponent, XSDTypeDefinition newType)
- {
- this.concreteComponent = concreteComponent;
- this.newType = newType;
- }
-
- public void execute()
- {
-
- if (concreteComponent instanceof XSDElementDeclaration)
- {
- setElementType((XSDElementDeclaration)concreteComponent);
- }
- else if (concreteComponent instanceof XSDAttributeUse)
- {
- setAttributeType((XSDAttributeUse)concreteComponent);
- }
- else if (concreteComponent instanceof XSDAttributeDeclaration)
- {
- setAttributeType((XSDAttributeDeclaration)concreteComponent);
- }
- }
-
- protected void setElementType(XSDElementDeclaration ed)
- {
- ed = ed.getResolvedElementDeclaration();
- if (ed != null)
- {
- ed.setTypeDefinition(newType);
- }
- }
-
- protected void setAttributeType(XSDAttributeUse attributeUse)
- {
- setAttributeType(attributeUse.getAttributeDeclaration());
- }
-
- protected void setAttributeType(XSDAttributeDeclaration ad)
- {
- ad = ad.getResolvedAttributeDeclaration();
- if (ad != null && newType instanceof XSDSimpleTypeDefinition)
- {
- ad.setTypeDefinition((XSDSimpleTypeDefinition)newType);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateXSDPatternFacetCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateXSDPatternFacetCommand.java
deleted file mode 100644
index 0f0744d167..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateXSDPatternFacetCommand.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDPatternFacet;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-
-public class UpdateXSDPatternFacetCommand extends BaseCommand
-{
- public static final int ADD = 0;
- public static final int DELETE = 1;
- public static final int UPDATE = 2;
-
- XSDSimpleTypeDefinition xsdSimpleTypeDefinition;
- String value;
- int actionType;
- XSDPatternFacet patternToEdit;
-
- public UpdateXSDPatternFacetCommand(String label, XSDSimpleTypeDefinition xsdSimpleTypeDefinition, int actionType)
- {
- super(label);
- this.xsdSimpleTypeDefinition = xsdSimpleTypeDefinition;
- this.actionType = actionType;
-
- }
-
- public void setValue(String value)
- {
- this.value = value;
- }
-
- public void setPatternToEdit(XSDPatternFacet patternToEdit)
- {
- this.patternToEdit = patternToEdit;
- }
-
- public void execute()
- {
- if (actionType == ADD)
- {
- XSDPatternFacet pattern = XSDFactory.eINSTANCE.createXSDPatternFacet();
- pattern.setLexicalValue(value);
- xsdSimpleTypeDefinition.getFacetContents().add(pattern);
- }
- else if (actionType == DELETE)
- {
- Assert.isNotNull(patternToEdit);
- if (xsdSimpleTypeDefinition.getFacetContents().contains(patternToEdit))
- xsdSimpleTypeDefinition.getFacetContents().remove(patternToEdit);
- }
- else if (actionType == UPDATE)
- {
- Assert.isNotNull(patternToEdit);
- patternToEdit.setLexicalValue(value);
- }
- formatChild(xsdSimpleTypeDefinition.getElement());
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateXSDWhiteSpaceFacetCommand.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateXSDWhiteSpaceFacetCommand.java
deleted file mode 100644
index 36f63073cb..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/commands/UpdateXSDWhiteSpaceFacetCommand.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.commands;
-
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDWhiteSpace;
-import org.eclipse.xsd.XSDWhiteSpaceFacet;
-
-public class UpdateXSDWhiteSpaceFacetCommand extends BaseCommand
-{
- XSDSimpleTypeDefinition xsdSimpleTypeDefinition;
- boolean doAddFacet;
-
- public UpdateXSDWhiteSpaceFacetCommand(String label, XSDSimpleTypeDefinition xsdSimpleType, boolean doAddFacet)
- {
- super(label);
- this.xsdSimpleTypeDefinition = xsdSimpleType;
- this.doAddFacet = doAddFacet;
- }
-
- public void execute()
- {
- XSDWhiteSpaceFacet whitespaceFacet = xsdSimpleTypeDefinition.getWhiteSpaceFacet();
-
- if (doAddFacet)
- {
- if (whitespaceFacet == null)
- {
- whitespaceFacet = XSDFactory.eINSTANCE.createXSDWhiteSpaceFacet();
- xsdSimpleTypeDefinition.getFacetContents().add(whitespaceFacet);
- }
- whitespaceFacet.setLexicalValue(XSDWhiteSpace.COLLAPSE_LITERAL.getName());
- }
- else
- {
- if (whitespaceFacet != null)
- {
- xsdSimpleTypeDefinition.getFacetContents().remove(whitespaceFacet);
- }
- }
- formatChild(xsdSimpleTypeDefinition.getElement());
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/providers/XSDSectionLabelProvider.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/providers/XSDSectionLabelProvider.java
deleted file mode 100644
index 860851e5cf..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/providers/XSDSectionLabelProvider.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.providers;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDAdapterFactory;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDBaseAdapter;
-import org.eclipse.wst.xsd.ui.internal.adt.outline.ITreeElement;
-import org.eclipse.wst.xsd.ui.internal.editor.Messages;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDSchema;
-import org.w3c.dom.Element;
-
-public class XSDSectionLabelProvider extends LabelProvider
-{
- /**
- *
- */
- public XSDSectionLabelProvider()
- {
- super();
- }
-
- /**
- * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
- */
- public Image getImage(Object object)
- {
- if (object == null || object.equals(StructuredSelection.EMPTY))
- {
- return null;
- }
- Image result = null;
- if (object instanceof StructuredSelection)
- {
- Object selected = ((StructuredSelection) object).getFirstElement();
-
- if (selected instanceof XSDConcreteComponent)
- {
- XSDBaseAdapter adapter = (XSDBaseAdapter)XSDAdapterFactory.getInstance().adapt((XSDConcreteComponent)selected);
- if (adapter instanceof ITreeElement)
- {
- return ((ITreeElement)adapter).getImage();
- }
-
- }
- }
- return result;
- }
-
- /**
- * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
- */
- public String getText(Object object)
- {
- if (object == null || object.equals(StructuredSelection.EMPTY))
- {
- return "No items selected";
- }
-
- String result = null;
-
- boolean isReference = false;
- Object selected = null;
- if (object instanceof StructuredSelection)
- {
- selected = ((StructuredSelection) object).getFirstElement();
-
- if (selected instanceof XSDConcreteComponent)
- {
- if (selected instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration xsdElementDeclaration = (XSDElementDeclaration) selected;
- if (xsdElementDeclaration.isElementDeclarationReference())
- {
- isReference = true;
- }
- } else if (selected instanceof XSDAttributeDeclaration)
- {
- if (((XSDAttributeDeclaration) selected).isAttributeDeclarationReference())
- {
- isReference = true;
- }
- } else if (selected instanceof XSDModelGroupDefinition)
- {
- if (((XSDModelGroupDefinition) selected).isModelGroupDefinitionReference())
- {
- isReference = true;
- }
- }
- StringBuffer sb = new StringBuffer();
- Element element = ((XSDConcreteComponent) selected).getElement();
- if (element != null)
- {
- sb.append(((XSDConcreteComponent) selected).getElement().getLocalName());
-
- if (isReference)
- {
- sb.append(" ");//$NON-NLS-1$
- sb.append(Messages.UI_PAGE_HEADING_REFERENCE);
- }
-
- IWorkbench workbench = PlatformUI.getWorkbench();
- IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
- IEditorPart editorPart = workbenchWindow.getActivePage().getActiveEditor();
- XSDSchema xsdSchema = ((XSDConcreteComponent) selected).getSchema();
- if (xsdSchema != editorPart.getAdapter(XSDSchema.class))
- {
- sb.append(" (" + Messages.UI_LABEL_READ_ONLY + ")"); //$NON-NLS-1$
- }
- return sb.toString();
- }
- else
- {
- return "(" + Messages.UI_LABEL_READ_ONLY + ")"; //$NON-NLS-1$
- }
- }
-
- if (object instanceof Element)
- {
- return ((Element) object).getLocalName();
- }
- }
-
- return result;
- }
-
- private Object getObject(Object objects, boolean multiple[])
- {
- Assert.isNotNull(objects);
- Object object = null;
- return object;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AbstractExtensionsSection.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AbstractExtensionsSection.java
deleted file mode 100644
index 59ebc41567..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AbstractExtensionsSection.java
+++ /dev/null
@@ -1,491 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import java.util.List;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.action.MenuManager;
-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.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.events.MouseTrackAdapter;
-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.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xsd.ui.internal.common.commands.AddExtensionCommand;
-import org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo.AddExtensionsComponentDialog;
-import org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo.DOMExtensionDetailsContentProvider;
-import org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo.DOMExtensionItemEditManager;
-import org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo.DOMExtensionItemMenuListener;
-import org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo.ExtensionDetailsViewer;
-import org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo.ExtensionsSchemasRegistry;
-import org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo.SpecificationForExtensionsSchema;
-import org.w3c.dom.Element;
-
-public abstract class AbstractExtensionsSection extends AbstractSection
-{
- protected ExtensionDetailsViewer extensionDetailsViewer;
- protected TreeViewer extensionTreeViewer;
- protected ITreeContentProvider extensionTreeContentProvider;
- protected ILabelProvider extensionTreeLabelProvider;
- protected Label contentLabel;
- protected ISelectionChangedListener elementSelectionChangedListener;
- protected IDocumentChangedNotifier documentChangeNotifier;
- protected INodeAdapter internalNodeAdapter = new InternalNodeAdapter();
-
- private Composite page, pageBook2;
- private Button addButton, removeButton;
- private PageBook pageBook;
-
- /**
- *
- */
- public AbstractExtensionsSection()
- {
- super();
- }
-
- class InternalNodeAdapter implements INodeAdapter
- {
-
- public boolean isAdapterForType(Object type)
- {
- // we don't really need to implement this
- return true;
- }
-
- public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos)
- {
- extensionTreeViewer.refresh();
- }
- }
-
- public void createContents(Composite parent)
- {
- // TODO (cs) add assertion
- if (extensionTreeContentProvider == null)
- return;
-
- IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
- documentChangeNotifier = (IDocumentChangedNotifier)editor.getAdapter(IDocumentChangedNotifier.class);
-
- if (documentChangeNotifier != null)
- {
- documentChangeNotifier.addListener(internalNodeAdapter);
- }
-
- composite = getWidgetFactory().createFlatFormComposite(parent);
-
- GridLayout gridLayout = new GridLayout();
- gridLayout.marginTop = 0;
- gridLayout.marginBottom = 0;
- gridLayout.numColumns = 1;
- composite.setLayout(gridLayout);
-
- GridData gridData = new GridData();
-
- page = getWidgetFactory().createComposite(composite);
- gridLayout = new GridLayout();
- gridLayout.marginTop = 0;
- gridLayout.marginBottom = 0;
- gridLayout.numColumns = 1;
- page.setLayout(gridLayout);
-
- gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.verticalAlignment = GridData.FILL;
- gridData.horizontalAlignment = GridData.FILL;
- page.setLayoutData(gridData);
-
- pageBook = new PageBook(page, SWT.FLAT);
- gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.verticalAlignment = GridData.FILL;
- gridData.horizontalAlignment = GridData.FILL;
- pageBook.setLayoutData(gridData);
-
- pageBook2 = getWidgetFactory().createComposite(pageBook, SWT.FLAT);
-
- gridLayout = new GridLayout();
- gridLayout.marginHeight = 2;
- gridLayout.marginWidth = 2;
- gridLayout.numColumns = 1;
- pageBook2.setLayout(gridLayout);
-
- gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.verticalAlignment = GridData.FILL;
- gridData.horizontalAlignment = GridData.FILL;
- pageBook2.setLayoutData(gridData);
-
- SashForm sashForm = new SashForm(pageBook2, SWT.HORIZONTAL);
- gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.verticalAlignment = GridData.FILL;
- gridData.horizontalAlignment = GridData.FILL;
- sashForm.setLayoutData(gridData);
- sashForm.setForeground(ColorConstants.white);
- sashForm.setBackground(ColorConstants.white);
- Control[] children = sashForm.getChildren();
- for (int i = 0; i < children.length; i++)
- {
- children[i].setVisible(false);
- }
- Composite leftContent = getWidgetFactory().createComposite(sashForm, SWT.FLAT);
- gridLayout = new GridLayout();
- gridLayout.numColumns = 1;
- leftContent.setLayout(gridLayout);
-
- Section section = getWidgetFactory().createSection(leftContent, SWT.FLAT | Section.TITLE_BAR);
- section.setText("Extensions");
- section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- Composite tableAndButtonComposite = getWidgetFactory().createComposite(leftContent, SWT.FLAT);
- tableAndButtonComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
- gridLayout = new GridLayout();
- gridLayout.numColumns = 2;
- tableAndButtonComposite.setLayout(gridLayout);
-
- extensionTreeViewer = new TreeViewer(tableAndButtonComposite, SWT.FLAT | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.LINE_SOLID);
- MenuManager menuManager = new MenuManager();
- extensionTreeViewer.getTree().setMenu(menuManager.createContextMenu(extensionTreeViewer.getTree()));
- menuManager.addMenuListener(new DOMExtensionItemMenuListener(extensionTreeViewer));
-
- gridLayout = new GridLayout();
- gridLayout.numColumns = 1;
- extensionTreeViewer.getTree().setLayout(gridLayout);
- gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.verticalAlignment = GridData.FILL;
- gridData.horizontalAlignment = GridData.FILL;
-
- extensionTreeViewer.getTree().setLayoutData(gridData);
- extensionTreeViewer.setContentProvider(extensionTreeContentProvider);
- extensionTreeViewer.setLabelProvider(extensionTreeLabelProvider);
- elementSelectionChangedListener = new ElementSelectionChangedListener();
- extensionTreeViewer.addSelectionChangedListener(elementSelectionChangedListener);
- extensionTreeViewer.getTree().addMouseTrackListener(new MouseTrackAdapter()
- {
- public void mouseHover(org.eclipse.swt.events.MouseEvent e)
- {
- ISelection selection = extensionTreeViewer.getSelection();
- if (selection instanceof StructuredSelection)
- {
- Object obj = ((StructuredSelection) selection).getFirstElement();
- if (obj instanceof Element)
- {
- Element element = (Element) obj;
- ExtensionsSchemasRegistry registry = getExtensionsSchemasRegistry();
- // ApplicationSpecificSchemaProperties[] properties =
- // registry.getAllApplicationSpecificSchemaProperties();
- // ApplicationSpecificSchemaProperties[] properties =
- // (ApplicationSpecificSchemaProperties[])
- // registry.getAllApplicationSpecificSchemaProperties().toArray(new
- // ApplicationSpecificSchemaProperties[0]);
- List properties = registry.getAllExtensionsSchemasContribution();
-
- int length = properties.size();
- for (int i = 0; i < length; i++)
- {
- SpecificationForExtensionsSchema current = (SpecificationForExtensionsSchema) properties.get(i);
- if (current.getNamespaceURI().equals(element.getNamespaceURI()))
- {
- extensionTreeViewer.getTree().setToolTipText(current.getDescription());
- break;
- }
- }
- }
- }
- };
-
- });
-
- Composite buttonComposite = getWidgetFactory().createComposite(tableAndButtonComposite, SWT.FLAT);
- //ColumnLayout columnLayout = new ColumnLayout();
- //buttonComposite.setLayout(columnLayout);
- buttonComposite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
- gridLayout = new GridLayout();
- gridLayout.marginTop = 0;
- gridLayout.marginBottom = 0;
- gridLayout.numColumns = 1;
- gridLayout.makeColumnsEqualWidth = true;
- buttonComposite.setLayout(gridLayout);
-
- addButton = getWidgetFactory().createButton(buttonComposite, "Add...", SWT.FLAT);
- addButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- addButton.addSelectionListener(this);
- addButton.setToolTipText("Add Extension Component");
- //addButton.setLayoutData(new ColumnLayoutData(ColumnLayoutData.FILL));
- addButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- removeButton = getWidgetFactory().createButton(buttonComposite, "Remove", SWT.FLAT);
- removeButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- removeButton.addSelectionListener(this);
- removeButton.setToolTipText("Remove Extension Component");
- //removeButton.setLayoutData(new ColumnLayoutData(ColumnLayoutData.FILL));
-
- Button up = getWidgetFactory().createButton(buttonComposite, "Up", SWT.FLAT);
- //up.setLayoutData(new ColumnLayoutData(ColumnLayoutData.FILL));
- up.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- Button down = getWidgetFactory().createButton(buttonComposite, "Down", SWT.FLAT);
- //down.setLayoutData(new ColumnLayoutData(ColumnLayoutData.FILL));
- down.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- Composite rightContent = getWidgetFactory().createComposite(sashForm, SWT.FLAT);
- Section section2 = getWidgetFactory().createSection(rightContent, SWT.FLAT | Section.TITLE_BAR);
- section2.setText("Extension Details");
- section2.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- //contentLabel = getWidgetFactory().createLabel(rightContent, "Content");
-
- Composite testComp = getWidgetFactory().createComposite(rightContent, SWT.FLAT);
-
- gridLayout = new GridLayout();
- gridLayout.marginTop = 0;
- gridLayout.marginBottom = 0;
- gridLayout.marginLeft = 0;
- gridLayout.marginRight = 0;
- gridLayout.numColumns = 1;
- gridLayout.marginHeight = 3;
- gridLayout.marginWidth = 3;
- rightContent.setLayout(gridLayout);
-
- gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.verticalAlignment = GridData.FILL;
- gridData.horizontalAlignment = GridData.FILL;
- rightContent.setLayoutData(gridData);
-
- gridLayout = new GridLayout();
- gridLayout.marginTop = 0;
- gridLayout.marginLeft = 0;
- gridLayout.marginRight = 0;
- gridLayout.marginBottom = 0;
- gridLayout.marginHeight = 3;
- gridLayout.marginWidth = 3;
- gridLayout.numColumns = 2;
- testComp.setLayout(gridLayout);
-
- gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.verticalAlignment = GridData.FILL;
- gridData.horizontalAlignment = GridData.FILL;
- testComp.setLayoutData(gridData);
-
- createElementContentWidget(testComp);
-
- int[] weights = { 50, 50 };
- sashForm.setWeights(weights);
-
- pageBook.showPage(pageBook2);
- }
-
- protected void createElementContentWidget(Composite parent)
- {
- extensionDetailsViewer = new ExtensionDetailsViewer(parent, getWidgetFactory());
- extensionDetailsViewer.setEditManager(new DOMExtensionItemEditManager());
- extensionDetailsViewer.setContentProvider(new DOMExtensionDetailsContentProvider());
- extensionDetailsViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- setListenerEnabled(false);
- if (input != null)
- {
- Tree tree = extensionTreeViewer.getTree();
- extensionDetailsViewer.setInput(null);
- tree.removeAll();
-
- extensionTreeViewer.setInput(input);
-
- if (tree.getSelectionCount() == 0 && tree.getItemCount() > 0)
- {
- TreeItem treeItem = tree.getItem(0);
- if (treeItem != null)
- {
- extensionDetailsViewer.setInput(treeItem.getData());
- extensionDetailsViewer.refresh();
- }
- }
- }
- setListenerEnabled(true);
-
- }
-
- public Composite getPage()
- {
- return page;
- }
-
- protected abstract AddExtensionCommand getAddExtensionCommand(Object o);
- protected abstract Command getRemoveExtensionCommand(Object o);
- protected abstract ExtensionsSchemasRegistry getExtensionsSchemasRegistry();
-
- protected AddExtensionsComponentDialog createAddExtensionsComponentDialog()
- {
- return new AddExtensionsComponentDialog(composite.getShell(), getExtensionsSchemasRegistry());
- }
-
- public void widgetSelected(SelectionEvent event)
- {
- if (event.widget == addButton)
- {
- ExtensionsSchemasRegistry registry = getExtensionsSchemasRegistry();
- AddExtensionsComponentDialog dialog = createAddExtensionsComponentDialog();
-
- List properties = registry.getAllExtensionsSchemasContribution();
-
- dialog.setInput(properties);
- dialog.setBlockOnOpen(true);
-
- if (dialog.open() == Window.OK)
- {
- Object newSelection = null;
- Object[] result = dialog.getResult();
- if (result != null)
- {
- SpecificationForExtensionsSchema extensionsSchemaSpec = (SpecificationForExtensionsSchema) result[1];
- AddExtensionCommand addExtensionCommand = getAddExtensionCommand(result[0]);
- if (addExtensionCommand != null)
- {
- addExtensionCommand.setSchemaProperties(extensionsSchemaSpec);
- if (getCommandStack() != null)
- {
- getCommandStack().execute(addExtensionCommand);
- newSelection = addExtensionCommand.getNewObject();
- }
- }
- }
- extensionTreeViewer.refresh();
- refresh();
- if (newSelection != null)
- {
- extensionTreeViewer.setSelection(new StructuredSelection(newSelection));
- }
- }
-
- }
- else if (event.widget == removeButton)
- {
- ISelection selection = extensionTreeViewer.getSelection();
-
- if (selection instanceof StructuredSelection)
- {
- Object o = ((StructuredSelection) selection).getFirstElement();
- Command command = getRemoveExtensionCommand(o);
- if (getCommandStack() != null)
- {
- getCommandStack().execute(command);
- extensionTreeViewer.setInput(input);
- extensionTreeViewer.refresh();
-
- if (extensionTreeViewer.getTree().getItemCount() > 0)
- {/*
- // TODO (cs) I think this code is intended to set a selection
- // now that an object can been removed ... need to fix this
- Object object = extensionTreeViewer.get
- if (object != null)
- {
- extensionTreeViewer.setSelection(new StructuredSelection(object));
- }
- */
- }
- else
- {
- extensionDetailsViewer.setInput(null);
- }
- }
- }
- }
- else if (event.widget == extensionTreeViewer.getTree())
- {
-
- }
- }
-
- public void widgetDefaultSelected(SelectionEvent event)
- {
-
- }
-
- public boolean shouldUseExtraSpace()
- {
- return true;
- }
-
- public void dispose()
- {
- if (documentChangeNotifier != null)
- documentChangeNotifier.removeListener(internalNodeAdapter);
- }
-
-
- Element selectedElement;
-
- class ElementSelectionChangedListener implements ISelectionChangedListener
- {
- public void selectionChanged(SelectionChangedEvent event)
- {
- ISelection selection = event.getSelection();
- if (selection instanceof StructuredSelection)
- {
- Object obj = ((StructuredSelection) selection).getFirstElement();
- if (obj instanceof Element)
- {
- selectedElement = (Element) obj;
- extensionDetailsViewer.setInput(obj);
- //extensionDetailsViewer.setASIElement(selectedElement);
- //extensionDetailsViewer.setCommandStack(getCommandStack());
- }
- }
- }
- }
-
- public ITreeContentProvider getExtensionTreeContentProvider()
- {
- return extensionTreeContentProvider;
- }
-
- public void setExtensionTreeContentProvider(ITreeContentProvider extensionTreeContentProvider)
- {
- this.extensionTreeContentProvider = extensionTreeContentProvider;
- }
-
- public ILabelProvider getExtensionTreeLabelProvider()
- {
- return extensionTreeLabelProvider;
- }
-
- public void setExtensionTreeLabelProvider(ILabelProvider extensionTreeLabelProvider)
- {
- this.extensionTreeLabelProvider = extensionTreeLabelProvider;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AbstractSection.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AbstractSection.java
deleted file mode 100644
index 6480f5e141..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AbstractSection.java
+++ /dev/null
@@ -1,366 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gef.commands.CommandStack;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.SubContributionManager;
-import org.eclipse.jface.action.SubStatusLineManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-import org.eclipse.xsd.XSDComponent;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-
-public abstract class AbstractSection extends AbstractPropertySection implements SelectionListener, Listener
-{
- protected Composite composite;
- protected PaintListener painter;
- protected XSDSchema xsdSchema;
- protected Object input;
- protected boolean isReadOnly;
- protected boolean listenerEnabled = true;
- protected boolean isSimple;
- protected CustomListener customListener = new CustomListener();
- protected IEditorPart owningEditor;
- private IStatusLineManager statusLine;
-
- public static final Image ICON_ERROR = XSDEditorPlugin.getDefault().getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_ERROR_TSK);
-
- public AbstractSection()
- {
- super();
- }
-
- public void createControls(Composite parent, TabbedPropertySheetPage aTabbedPropertySheetPage)
- {
- super.createControls(parent, aTabbedPropertySheetPage);
- isSimple = getIsSimple();
- createContents(parent);
- }
-
- protected abstract void createContents(Composite parent);
-
- protected PaintListener createPainter() {
- return new PaintListener() {
-
- public void paintControl(PaintEvent e) {
- Rectangle bounds = composite.getClientArea();
- GC gc = e.gc;
-
- gc.setForeground(gc.getBackground());
- gc.setBackground(getWidgetFactory().getColors().getColor(
- FormColors.TB_BG));
-
-// gc.fillGradientRectangle(4 + bounds.width / 2, 0,
-// bounds.width / 2 - 9, bounds.height, false);
-
- gc.setForeground(getWidgetFactory().getColors().getColor(
- FormColors.TB_BORDER));
-// gc.drawLine(bounds.width - 5, 0, bounds.width - 5,
-// bounds.height);
- }
-
- };
-
- }
-
- public void dispose()
- {
- if (composite != null && ! composite.isDisposed() && painter != null)
- composite.removePaintListener(painter);
-
- super.dispose();
- }
-
- public void setInput(IWorkbenchPart part, ISelection selection) {
- super.setInput(part, selection);
- isSimple = getIsSimple();
- Object input = ((IStructuredSelection)selection).getFirstElement();
- this.input = input;
-
- if (input instanceof XSDConcreteComponent)
- {
- xsdSchema = ((XSDConcreteComponent)input).getSchema();
- }
-
- // set owning editor of this section
- if (part!=null)
- {
- if (part instanceof IEditorPart)
- {
- owningEditor = (IEditorPart)part;
- }
- else
- {
- owningEditor = part.getSite().getWorkbenchWindow().getActivePage().getActiveEditor();
- }
- }
- if (xsdSchema == owningEditor.getAdapter(XSDSchema.class))
- {
- isReadOnly = false;
- }
- else
- {
- isReadOnly = true;
- }
-
- }
-
- public void refresh()
- {
- super.refresh();
-
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
- }
-
- public void applyAllListeners(Control control)
- {
- control.addListener(SWT.Modify, customListener);
- control.addListener(SWT.FocusOut, customListener);
- control.addListener(SWT.KeyDown, customListener);
- }
-
- public void applyModifyListeners(Control control)
- {
- control.addListener(SWT.Modify, customListener);
- control.addListener(SWT.FocusOut, customListener);
- }
-
- public void applyKeyListener(Control control)
- {
- control.addListener(SWT.KeyDown, customListener);
- }
-
- public void removeListeners(Control control)
- {
- control.removeListener(SWT.Modify, customListener);
- control.removeListener(SWT.FocusOut, customListener);
- control.removeListener(SWT.KeyDown, customListener);
- }
-
- public void doWidgetDefaultSelected(SelectionEvent e)
- {}
-
- public void doWidgetSelected(SelectionEvent e)
- {}
-
- public void widgetSelected(SelectionEvent e)
- {
- if (isListenerEnabled() &&
- input != null &&
- !isReadOnly)
- {
- doWidgetSelected(e);
- }
- }
-
- public void widgetDefaultSelected(SelectionEvent e)
- {
- if (isListenerEnabled() &&
- input != null &&
- !isReadOnly)
- {
- doWidgetDefaultSelected(e);
- }
- }
-
- /**
- * Get the value of listenerEnabled.
- * @return value of listenerEnabled.
- */
- public boolean isListenerEnabled()
- {
- return listenerEnabled;
- }
-
- /**
- * Set the value of listenerEnabled.
- * @param v Value to assign to listenerEnabled.
- */
- public void setListenerEnabled(boolean v)
- {
- this.listenerEnabled = v;
- }
-
- /**
- * Sent when an event that the receiver has registered for occurs.
- *
- * @param event the event which occurred
- */
- public void handleEvent(Event event)
- {
- if (isListenerEnabled() && !isReadOnly)
- {
- doHandleEvent(event);
- }
- }
-
- /**
- * Subclasses should override
- * @param event
- */
- protected void doHandleEvent(Event event)
- {
- }
-
- protected IEditorPart getActiveEditor()
- {
- IWorkbench workbench = PlatformUI.getWorkbench();
- IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
- IEditorPart editorPart = workbenchWindow.getActivePage().getActiveEditor();
- this.owningEditor = editorPart;
- return editorPart;
- }
-
- public CommandStack getCommandStack()
- {
- Object commandStack = owningEditor.getAdapter(CommandStack.class);
-
- if (commandStack==null)
- return null;
- else
- return (CommandStack)commandStack;
- }
-
- public boolean getIsSimple()
- {
- return false;
- }
-
-
-
- /**
- * Intended to display error messages.
- * @return
- */
- private IStatusLineManager getStatusLineManager()
- {
- if (statusLine==null && getPart()!=null)
- {
- if(getPart().getSite() instanceof IEditorSite)
- statusLine = ((IEditorSite)getPart().getSite()).getActionBars().getStatusLineManager();
- else if (getPart().getSite() instanceof IViewSite)
- statusLine = ((IViewSite)getPart().getSite()).getActionBars().getStatusLineManager();
-
- /*
- * We must manually set the visibility of the status line since the action bars are from the editor
- * which means the status line only shows up when the editor is in focus (by default).
- * Note only a SubStatusLineManager can set the visibility.
- */
- if (statusLine instanceof SubStatusLineManager)
- ((SubStatusLineManager)statusLine).setVisible(true);
- }
-
- return statusLine;
- }
-
- /**
- * Display an error message in the status line.
- * Call setErrorMessage(null) to clear the status line.
- * @param text
- */
- public void setErrorMessage(String text)
- {
- IStatusLineManager statusLine = getStatusLineManager();
-
- if (statusLine!=null)
- {
- if (text==null || text.length()<1)
- statusLine.setErrorMessage(null);
- else
- statusLine.setErrorMessage(ICON_ERROR, text);
-
- // ensure our message gets displayed
- if (statusLine instanceof SubContributionManager)
- ((SubContributionManager)statusLine).setVisible(true);
-
- statusLine.update(true);
- }
- }
-
-
- protected EObject getModel()
- {
- return (XSDComponent)input;
- }
-
-
- class CustomListener implements Listener
- {
- boolean handlingEvent = false;
- public void handleEvent(Event event)
- {
- if (isListenerEnabled() && !isReadOnly)
- {
- switch (event.type)
- {
- case SWT.KeyDown :
- {
- if (event.character == SWT.CR)
- {
- if (!handlingEvent)
- {
- handlingEvent = true;
- doHandleEvent(event);
- handlingEvent = false;
- }
- }
- break;
- }
- case SWT.FocusOut :
- {
- if (!handlingEvent)
- {
- handlingEvent = true;
- doHandleEvent(event);
- handlingEvent = false;
- }
- break;
- }
- }
- }
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AbstractSectionDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AbstractSectionDescriptor.java
deleted file mode 100644
index 381f61a957..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AbstractSectionDescriptor.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.IFilter;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.tabbed.ISection;
-import org.eclipse.ui.views.properties.tabbed.ISectionDescriptor;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.w3c.dom.Element;
-
-public class AbstractSectionDescriptor implements ISectionDescriptor
-{
- /**
- *
- */
- public AbstractSectionDescriptor()
- {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.ISectionDescriptor#getId()
- */
- public String getId()
- {
- return "";
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.ISectionDescriptor#getFilter()
- */
- public IFilter getFilter()
- {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.ISectionDescriptor#getInputTypes()
- */
- public List getInputTypes()
- {
- List list = new ArrayList();
- list.add(XSDConcreteComponent.class);
- return list;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.ISectionDescriptor#getSectionClass()
- */
- public ISection getSectionClass()
- {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.ISectionDescriptor#getTargetTab()
- */
- public String getTargetTab()
- {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
- */
- public boolean appliesTo(IWorkbenchPart part, ISelection selection)
- {
- Object object = null;
- if (selection instanceof StructuredSelection)
- {
- StructuredSelection structuredSelection = (StructuredSelection)selection;
- object = structuredSelection.getFirstElement();
- if (object instanceof XSDConcreteComponent || object instanceof Element)
- {
- return true;
- }
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.ISectionDescriptor#getAfterSection()
- */
- public String getAfterSection()
- {
- return "";
- }
-
-
- public int getEnablesFor()
- {
- return ENABLES_FOR_ANY;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AnnotationSection.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AnnotationSection.java
deleted file mode 100644
index f2cf3cf2a1..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AnnotationSection.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import java.io.IOException;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xsd.ui.internal.common.commands.AddDocumentationCommand;
-import org.eclipse.wst.xsd.ui.internal.common.util.XSDCommonUIUtils;
-import org.eclipse.xsd.XSDAnnotation;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class AnnotationSection extends AbstractSection
-{
- Text simpleText;
-
- public void createContents(Composite parent)
- {
- composite = getWidgetFactory().createFlatFormComposite(parent);
-
- simpleText = getWidgetFactory().createText(composite, "", SWT.V_SCROLL | SWT.H_SCROLL); //$NON-NLS-1$
- simpleText.addListener(SWT.Modify, this);
-
- FormData data = new FormData();
- data.left = new FormAttachment(0, 1);
- data.right = new FormAttachment(100, -1);
- data.top = new FormAttachment(0, 1);
- data.bottom = new FormAttachment(100, -1);
- simpleText.setLayoutData(data);
- }
-
- public AnnotationSection()
- {
- super();
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- super.refresh();
- setListenerEnabled(false);
- if (input instanceof XSDConcreteComponent)
- {
- XSDAnnotation xsdAnnotation = XSDCommonUIUtils.getInputXSDAnnotation((XSDConcreteComponent) input, false);
- setInitialText(xsdAnnotation);
- }
- setListenerEnabled(true);
- }
-
- public void doHandleEvent(Event event)
- {
- if (input instanceof XSDConcreteComponent)
- {
- if (event.widget == simpleText)
- {
- AddDocumentationCommand command = new AddDocumentationCommand("Add Documentation", null, (XSDConcreteComponent) input, simpleText.getText(), "");
- getCommandStack().execute(command);
- }
- }
-
- }
-
- public boolean shouldUseExtraSpace()
- {
- return true;
- }
-
- public void dispose()
- {
-
- }
-
- private void setInitialText(XSDAnnotation an)
- {
- if (an != null)
- {
- try
- {
- List documentationList = an.getUserInformation();
- if (documentationList.size() > 0)
- {
- Element docElement = (Element) documentationList.get(0);
- if (docElement != null)
- {
- simpleText.setText(doSerialize(docElement));
- }
- }
- }
- catch (Exception e)
- {
-
- }
- }
- else
- {
- simpleText.setText("");
- }
- }
-
- private String doSerialize(Element element) throws IOException
- {
- String source = "";
-
- Node firstChild = element.getFirstChild();
- Node lastChild = element.getLastChild();
- int start = 0;
- int end = 0;
-
- if (element instanceof IDOMElement)
- {
- IDOMElement domElement = (IDOMElement) element;
- IDOMModel model = domElement.getModel();
- IDOMDocument doc = model.getDocument();
-
- if (firstChild instanceof IDOMNode)
- {
- IDOMNode first = (IDOMNode) firstChild;
- start = first.getStartOffset();
- }
- if (lastChild instanceof IDOMNode)
- {
- IDOMNode last = (IDOMNode) lastChild;
- end = last.getEndOffset();
- }
- source = doc.getSource().substring(start, end);
- }
-
- return source;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/CommonDirectivesSection.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/CommonDirectivesSection.java
deleted file mode 100644
index f54d92f500..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/CommonDirectivesSection.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.wst.common.uriresolver.internal.util.URIHelper;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDRedefine;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDParser;
-
-public abstract class CommonDirectivesSection extends AbstractSection
-{
- Text schemaLocationText;
- Button wizardButton;
- StyledText errorText;
- Color red;
-
- // TODO: common up code with XSDSelectIncludeFileWizard
- public void doHandleEvent(Event event)
- {
- errorText.setText("");
- if (event.type == SWT.Modify)
- {
- if (event.widget == schemaLocationText)
- {
- String errorMessage = "";
- boolean isValidSchemaLocation = true;
- String xsdModelFile = schemaLocationText.getText();
- String namespace = "";
- XSDSchema externalSchema = null;
-
- if (xsdModelFile.length() == 0)
- {
- handleSchemaLocationChange(xsdModelFile, "", null);
- return;
- }
-
- try
- {
- IFile currentIFile = ((IFileEditorInput)getActiveEditor().getEditorInput()).getFile();
-
- URI newURI = URI.createURI(xsdModelFile);
- String xsdFile = URIHelper.getRelativeURI(newURI.toString(), currentIFile.getFullPath().toString());
- final String normalizedXSDFile = URIHelper.normalize(xsdFile, currentIFile.getLocation().toString(), "");
-
- XSDParser parser = new XSDParser();
- parser.parse(normalizedXSDFile);
-
- externalSchema = parser.getSchema();
-
- if (externalSchema != null)
- {
- String extNamespace = externalSchema.getTargetNamespace();
- if (extNamespace == null) extNamespace = "";
- namespace = extNamespace;
-
- if (externalSchema.getDiagnostics() != null &&
- externalSchema.getDiagnostics().size() > 0)
- {
- isValidSchemaLocation = false;
- errorMessage = XSDEditorPlugin.getResourceString("_UI_INCORRECT_XML_SCHEMA", xsdModelFile);
- }
- else
- {
- String currentNameSpace = xsdSchema.getTargetNamespace();
- if (input instanceof XSDInclude || input instanceof XSDRedefine)
- {
- // Check the namespace to make sure they are the same as current file
- if (extNamespace != null)
- {
- if (currentNameSpace != null && !extNamespace.equals(currentNameSpace))
- {
- errorMessage = XSDEditorPlugin.getResourceString("_UI_DIFFERENT_NAME_SPACE", xsdModelFile);
- isValidSchemaLocation = false;
- }
- }
- }
- else
- {
- // Check the namespace to make sure they are different from the current file
- if (extNamespace != null)
- {
- if (currentNameSpace != null && extNamespace.equals(currentNameSpace))
- {
- errorMessage = XSDEditorPlugin.getResourceString("_UI_SAME_NAME_SPACE", xsdModelFile);
- isValidSchemaLocation = false;
- }
- }
- }
- }
- }
- else
- {
- errorMessage = "Invalid file";
- isValidSchemaLocation = false;
- }
- }
- catch(Exception e)
- {
- errorMessage = "Invalid file";
- isValidSchemaLocation = false;
- }
- finally
- {
- if (!isValidSchemaLocation)
- {
- errorText.setText(errorMessage);
- int length = errorText.getText().length();
- red = new Color(null, 255, 0, 0);
- StyleRange style = new StyleRange(0, length, red, schemaLocationText.getBackground());
- errorText.setStyleRange(style);
- }
- else
- {
- handleSchemaLocationChange(xsdModelFile, namespace, externalSchema);
- }
- }
- }
- }
- }
-
- protected void handleSchemaLocationChange(String schemaFileString, String namespace, XSDSchema externalSchema)
- {
-
- }
-
-
- public void dispose()
- {
- super.dispose();
- if (red != null)
- {
- red.dispose();
- red = null;
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/EnumerationsSection.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/EnumerationsSection.java
deleted file mode 100644
index 84b27e2b2d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/EnumerationsSection.java
+++ /dev/null
@@ -1,404 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.gef.commands.CompoundCommand;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.common.ui.internal.viewers.NavigableTableViewer;
-import org.eclipse.wst.xsd.ui.internal.common.commands.AddEnumerationsCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.DeleteCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.SetXSDFacetValueCommand;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.widgets.EnumerationsDialog;
-import org.eclipse.xsd.XSDEnumerationFacet;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class EnumerationsSection extends AbstractSection
-{
- private EnumerationsTableViewer enumerationsTable;
- private Button addButton;
- private Button addManyButton;
- private Button deleteButton;
-
- /**
- *
- */
- public EnumerationsSection()
- {
- super();
- }
-
- public void widgetSelected(SelectionEvent e)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition) input;
-
- if (e.widget == addButton)
- {
- List enumList = st.getEnumerationFacets();
- StringBuffer newName = new StringBuffer("value1"); //$NON-NLS-1$
- int suffix = 1;
- for (Iterator i = enumList.iterator(); i.hasNext();)
- {
- XSDEnumerationFacet enumFacet = (XSDEnumerationFacet) i.next();
- String value = enumFacet.getLexicalValue();
- if (value != null)
- {
- if (value.equals(newName.toString()))
- {
- suffix++;
- newName = new StringBuffer("value" + String.valueOf(suffix)); //$NON-NLS-1$
- }
- }
- }
-
- AddEnumerationsCommand command = new AddEnumerationsCommand("Add Enumeration", (XSDSimpleTypeDefinition) input);
- command.setValue(newName.toString());
- getCommandStack().execute(command);
-
- enumerationsTable.refresh();
- int newItemIndex = enumerationsTable.getTable().getItemCount() - 1;
- enumerationsTable.editElement(enumerationsTable.getElementAt(newItemIndex), 0);
- }
- else if (e.widget == addManyButton)
- {
- Display display = Display.getCurrent();
- // if it is null, get the default one
- display = display == null ? Display.getDefault() : display;
- Shell parentShell = display.getActiveShell();
- EnumerationsDialog dialog = new EnumerationsDialog(parentShell);
- dialog.setBlockOnOpen(true);
- int result = dialog.open();
-
- if (result == Window.OK)
- {
- String text = dialog.getText();
- String delimiter = dialog.getDelimiter();
- StringTokenizer tokenizer = new StringTokenizer(text, delimiter);
- CompoundCommand compoundCommand = new CompoundCommand("Add Enumerations");
- while (tokenizer.hasMoreTokens())
- {
- String token = tokenizer.nextToken();
- if (dialog.isPreserveWhitespace() == false)
- {
- token = token.trim();
- }
- AddEnumerationsCommand command = new AddEnumerationsCommand("Add Enumerations", (XSDSimpleTypeDefinition) input);
- command.setValue(token);
- compoundCommand.add(command);
- }
- getCommandStack().execute(compoundCommand);
- }
- enumerationsTable.refresh();
- }
- else if (e.widget == deleteButton)
- {
- StructuredSelection selection = (StructuredSelection) enumerationsTable.getSelection();
- if (selection != null)
- {
- Iterator i = selection.iterator();
- CompoundCommand compoundCommand = new CompoundCommand("Delete Enumeration");
- while (i.hasNext())
- {
- Object obj = i.next();
- if (obj != null)
- {
- if (obj instanceof XSDEnumerationFacet)
- {
- XSDEnumerationFacet enumFacet = (XSDEnumerationFacet) obj;
-
- DeleteCommand deleteCommand = new DeleteCommand("Delete Enumeration", enumFacet);
- compoundCommand.add(deleteCommand);
- }
- }
- }
- getCommandStack().execute(compoundCommand);
- enumerationsTable.refresh();
- }
- }
- else if (e.widget == enumerationsTable.getTable())
- {
- StructuredSelection selection = (StructuredSelection) enumerationsTable.getSelection();
- if (selection.getFirstElement() != null)
- {
- deleteButton.setEnabled(true);
- }
- else
- {
- deleteButton.setEnabled(false);
- }
- }
-
- }
-
- public void widgetDefaultSelected(SelectionEvent e)
- {
-
- }
-
- public void createContents(Composite parent)
- {
- TabbedPropertySheetWidgetFactory factory = getWidgetFactory();
- composite = factory.createFlatFormComposite(parent);
-
- enumerationsTable = new EnumerationsTableViewer(getWidgetFactory().createTable(composite, SWT.MULTI | SWT.FULL_SELECTION));
- enumerationsTable.setInput(input);
- Table table = enumerationsTable.getTable();
- table.addSelectionListener(this);
-
- addButton = getWidgetFactory().createButton(composite, XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_ADD_BUTTON_LABEL"), SWT.PUSH); //$NON-NLS-1$
- addManyButton = getWidgetFactory().createButton(composite, XSDEditorPlugin.getXSDString("_UI_REGEX_WIZARD_ADD_BUTTON_LABEL") + "...", SWT.PUSH); //$NON-NLS-1$
- deleteButton = getWidgetFactory().createButton(composite, XSDEditorPlugin.getXSDString("_UI_ACTION_DELETE_INCLUDE"), SWT.PUSH); //$NON-NLS-1$
-
- FormData data2 = new FormData();
- data2.top = new FormAttachment(0, 0);
- data2.left = new FormAttachment(100, -100);
- data2.right = new FormAttachment(100, 0);
- // data2.width = 50;
- addButton.setLayoutData(data2);
- addButton.addSelectionListener(this);
-
- FormData data = new FormData();
- data.left = new FormAttachment(addButton, 0, SWT.LEFT);
- data.right = new FormAttachment(100, 0);
- data.top = new FormAttachment(addButton, 0);
- addManyButton.setLayoutData(data);
- addManyButton.addSelectionListener(this);
-
- data = new FormData();
- data.left = new FormAttachment(addButton, 0, SWT.LEFT);
- data.right = new FormAttachment(100, 0);
- data.top = new FormAttachment(addManyButton, 0);
- deleteButton.setLayoutData(data);
- deleteButton.setEnabled(false);
- deleteButton.addSelectionListener(this);
-
- data = new FormData();
- data.top = new FormAttachment(0, 0);
- data.left = new FormAttachment(0, 0);
- data.right = new FormAttachment(addButton, 0);
- data.bottom = new FormAttachment(100, 0);
- data.width = 50;
- table.setLayoutData(data);
- table.addListener(SWT.Resize, this);
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition) input;
-
- Iterator validFacets = st.getValidFacets().iterator();
-
- boolean isApplicable = false;
- while (validFacets.hasNext())
- {
- String aValidFacet = (String) validFacets.next();
- if (aValidFacet.equals(XSDConstants.ENUMERATION_ELEMENT_TAG))
- {
- isApplicable = true;
- }
- }
-
- if (isApplicable)
- {
- addButton.setEnabled(true);
- addManyButton.setEnabled(true);
- }
- else
- {
- addButton.setEnabled(false);
- addManyButton.setEnabled(false);
- }
- enumerationsTable.setInput(input);
- }
-
- public void handleEvent(Event event)
- {
- Table table = enumerationsTable.getTable();
- if (event.type == SWT.Resize && event.widget == table)
- {
- TableColumn tableColumn = table.getColumn(0);
- tableColumn.setWidth(table.getSize().x);
- }
- }
-
- public void dispose()
- {
- }
-
- public boolean shouldUseExtraSpace()
- {
- return true;
- }
-
- class EnumerationsTableViewer extends NavigableTableViewer implements ICellModifier
- {
- protected String[] columnProperties = { XSDConstants.ENUMERATION_ELEMENT_TAG };
-
- protected CellEditor[] cellEditors;
-
- Table table;
-
- public EnumerationsTableViewer(Table table)
- {
- super(table);
- table = getTable();
-
- table.setLinesVisible(true);
-
- setContentProvider(new EnumerationsTableContentProvider());
- setLabelProvider(new EnumerationsTableLabelProvider());
- setColumnProperties(columnProperties);
-
- setCellModifier(this);
-
- TableColumn column = new TableColumn(table, SWT.NONE, 0);
- column.setText(columnProperties[0]);
- column.setAlignment(SWT.LEFT);
- column.setResizable(true);
-
- cellEditors = new CellEditor[1];
-
- TableLayout layout = new TableLayout();
- ColumnWeightData data = new ColumnWeightData(100);
-
- layout.addColumnData(data);
- cellEditors[0] = new TextCellEditor(table);
-
- getTable().setLayout(layout);
- setCellEditors(cellEditors);
- }
-
- public boolean canModify(Object element, String property)
- {
- return true;
- }
-
- public void modify(Object element, String property, Object value)
- {
- if (element instanceof TableItem && (value != null))
- {
- TableItem item = (TableItem) element;
-
- XSDEnumerationFacet enumFacet = (XSDEnumerationFacet) item.getData();
- SetXSDFacetValueCommand command = new SetXSDFacetValueCommand("Set Enumeration Value", enumFacet);
- command.setValue((String) value);
- getCommandStack().execute(command);
- item.setData(enumFacet);
- item.setText((String) value);
- }
- }
-
- public Object getValue(Object element, String property)
- {
- if (element instanceof XSDEnumerationFacet)
- {
- XSDEnumerationFacet enumFacet = (XSDEnumerationFacet) element;
- String value = enumFacet.getLexicalValue();
- if (value == null)
- value = ""; //$NON-NLS-1$
- return value;
- }
- return ""; //$NON-NLS-1$
- }
-
- }
-
- class EnumerationsTableContentProvider implements IStructuredContentProvider
- {
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
- {
- }
-
- public java.lang.Object[] getElements(java.lang.Object inputElement)
- {
- java.util.List list = new ArrayList();
- if (inputElement instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition) inputElement;
- return st.getEnumerationFacets().toArray();
- }
- return list.toArray();
- }
-
- public void dispose()
- {
- }
- }
-
- class EnumerationsTableLabelProvider extends LabelProvider implements ITableLabelProvider
- {
- public EnumerationsTableLabelProvider()
- {
-
- }
-
- public Image getColumnImage(Object element, int columnIndex)
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDSimpleEnum.gif");
- }
-
- public String getColumnText(Object element, int columnIndex)
- {
- if (element instanceof XSDEnumerationFacet)
- {
- XSDEnumerationFacet enumFacet = (XSDEnumerationFacet) element;
- String value = enumFacet.getLexicalValue();
- if (value == null)
- value = "";
- return value;
- }
- return "";
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/ExtensionsSection.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/ExtensionsSection.java
deleted file mode 100644
index c891d9bfbb..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/ExtensionsSection.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.wst.xsd.ui.internal.common.commands.AddExtensionAttributeCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.AddExtensionCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.AddExtensionElementCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.RemoveExtensionAttributerCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.RemoveExtensionElementCommand;
-import org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo.DOMExtensionTreeLabelProvider;
-import org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo.ExtensionsSchemasRegistry;
-import org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo.XSDExtensionTreeContentProvider;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-import org.eclipse.xsd.XSDAnnotation;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class ExtensionsSection extends AbstractExtensionsSection
-{
- public ExtensionsSection()
- {
- super();
- setExtensionTreeLabelProvider(new DOMExtensionTreeLabelProvider());
- setExtensionTreeContentProvider(new XSDExtensionTreeContentProvider());
- }
-
- protected AddExtensionCommand getAddExtensionCommand(Object o)
- {
- AddExtensionCommand addExtensionCommand = null;
- if (o instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration element = (XSDElementDeclaration) o;
- addExtensionCommand = new AddExtensionElementCommand("Add AppInfo Element", (XSDConcreteComponent) input, element);
- }
- else if (o instanceof XSDAttributeDeclaration)
- {
- XSDAttributeDeclaration attribute = (XSDAttributeDeclaration) o;
- addExtensionCommand = new AddExtensionAttributeCommand("Add AppInfo Attribute", (XSDConcreteComponent) input, attribute);
- }
- return addExtensionCommand;
- }
-
- protected Command getRemoveExtensionCommand(Object o)
- {
- Command command = null;
- if (o instanceof Element)
- {
- XSDAnnotation xsdAnnotation = (XSDAnnotation) extensionTreeViewer.getInput();
- Node appInfoElement = ((Element) o).getParentNode();
- command = new RemoveExtensionElementCommand("Remove AppInfo Element", xsdAnnotation, appInfoElement);
- }
- else if (o instanceof Attr)
- {
- Element hostElement = ((Attr) o).getOwnerElement();
- command = new RemoveExtensionAttributerCommand("Remove AppInfo Attribute", hostElement, (Attr) o);
- }
- return command;
- }
-
- protected ExtensionsSchemasRegistry getExtensionsSchemasRegistry()
- {
- return XSDEditorPlugin.getDefault().getExtensionsSchemasRegistry();
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/FacetViewer.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/FacetViewer.java
deleted file mode 100644
index e13d74d745..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/FacetViewer.java
+++ /dev/null
@@ -1,559 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-//import java.util.ArrayList;
-//import java.util.Iterator;
-//import java.util.List;
-//
-//import org.eclipse.jface.viewers.CellEditor;
-//import org.eclipse.jface.viewers.ColumnWeightData;
-//import org.eclipse.jface.viewers.ICellModifier;
-//import org.eclipse.jface.viewers.ISelectionChangedListener;
-//import org.eclipse.jface.viewers.IStructuredContentProvider;
-//import org.eclipse.jface.viewers.ITableLabelProvider;
-//import org.eclipse.jface.viewers.LabelProvider;
-//import org.eclipse.jface.viewers.SelectionChangedEvent;
-//import org.eclipse.jface.viewers.StructuredSelection;
-//import org.eclipse.jface.viewers.TableLayout;
-//import org.eclipse.jface.viewers.TextCellEditor;
-//import org.eclipse.jface.viewers.Viewer;
-//import org.eclipse.swt.SWT;
-//import org.eclipse.swt.events.MouseEvent;
-//import org.eclipse.swt.events.MouseTrackAdapter;
-//import org.eclipse.swt.graphics.Image;
-//import org.eclipse.swt.graphics.Point;
-//import org.eclipse.swt.widgets.Composite;
-//import org.eclipse.swt.widgets.Table;
-//import org.eclipse.swt.widgets.TableColumn;
-//import org.eclipse.swt.widgets.TableItem;
-//import org.eclipse.wst.common.ui.internal.viewers.NavigableTableViewer;
-//import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-//import org.eclipse.wst.xsd.ui.internal.actions.DOMAttribute;
-//import org.eclipse.wst.xsd.ui.internal.properties.XSDComboBoxPropertyDescriptor;
-//import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-//import org.eclipse.xsd.XSDConstrainingFacet;
-//import org.eclipse.xsd.XSDFactory;
-//import org.eclipse.xsd.XSDMaxExclusiveFacet;
-//import org.eclipse.xsd.XSDMaxFacet;
-//import org.eclipse.xsd.XSDMaxInclusiveFacet;
-//import org.eclipse.xsd.XSDMinExclusiveFacet;
-//import org.eclipse.xsd.XSDMinFacet;
-//import org.eclipse.xsd.XSDMinInclusiveFacet;
-//import org.eclipse.xsd.XSDSimpleTypeDefinition;
-//import org.eclipse.xsd.util.XSDConstants;
-//import org.eclipse.xsd.util.XSDSchemaBuildingTools;
-//import org.w3c.dom.Element;
-
-public class FacetViewer //extends NavigableTableViewer implements ICellModifier
-{
-// public static final String FACET_NAME = XSDEditorPlugin.getXSDString("_UI_FACET_NAME"); // "Name";
-// public static final String FACET_VALUE = XSDEditorPlugin.getXSDString("_UI_FACET_VALUE"); // "Value";
-// public static final String FACET_OTHER = XSDEditorPlugin.getXSDString("_UI_FACET_FIXED"); // "Fixed";
-//
-// protected FacetsTableLabelProvider facetsTableLabelProvider = new FacetsTableLabelProvider();
-// protected FacetsTableContentProvider facetsTableContentProvider = new FacetsTableContentProvider();
-// protected String[] columnProperties = { FACET_NAME, FACET_VALUE, FACET_OTHER };
-// protected CellEditor[] cellEditors; // these cellEditors are used when
-// // non-whitespace facet is selected
-// protected CellEditor[] altCellEditors; // these cellEditors are used when
-// // whitespace facet is selected
-//
-// protected String[] whiteSpaceValues = new String[] { "", "preserve", "replace", "collapse" };
-// protected String[] trueFalseValues = new String[] { "", "false", "true" };
-//
-// /**
-// * @param parent
-// */
-// public FacetViewer(Composite parent)
-// {
-// super(new Table(parent, SWT.FULL_SELECTION | SWT.SINGLE));
-//
-// getTable().setLinesVisible(true);
-// getTable().setHeaderVisible(true);
-//
-// addSelectionChangedListener(new SelectionChangedListener());
-// getTable().addMouseTrackListener(new MyMouseTrackListener());
-//
-// setContentProvider(facetsTableContentProvider);
-// setLabelProvider(facetsTableLabelProvider);
-// setColumnProperties(columnProperties);
-//
-// setCellModifier(this);
-//
-// for (int i = 0; i < 3; i++)
-// {
-// TableColumn column = new TableColumn(getTable(), SWT.NONE, i);
-// column.setText(columnProperties[i]);
-// column.setAlignment(SWT.LEFT);
-// column.setResizable(true);
-// }
-//
-// cellEditors = new CellEditor[3];
-// altCellEditors = new CellEditor[3];
-//
-// TableLayout layout = new TableLayout();
-// ColumnWeightData data = new ColumnWeightData(60, 80, true);
-// layout.addColumnData(data);
-// cellEditors[0] = null;
-//
-// ColumnWeightData data2 = new ColumnWeightData(120, 80, true);
-// layout.addColumnData(data2);
-//
-// cellEditors[1] = new TextCellEditor(getTable());
-// XSDComboBoxPropertyDescriptor pd = new XSDComboBoxPropertyDescriptor("combo", "whitespace", whiteSpaceValues);
-// altCellEditors[1] = pd.createPropertyEditor(getTable());
-//
-// ColumnWeightData data3 = new ColumnWeightData(60, 60, true);
-// layout.addColumnData(data3);
-//
-// XSDComboBoxPropertyDescriptor pd2 = new XSDComboBoxPropertyDescriptor("combo", "other", trueFalseValues);
-// cellEditors[2] = pd2.createPropertyEditor(getTable());
-// altCellEditors[2] = pd2.createPropertyEditor(getTable());
-//
-// getTable().setLayout(layout);
-// setCellEditors(cellEditors);
-//
-// }
-//
-// /*
-// * (non-Javadoc)
-// *
-// * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object,
-// * java.lang.String)
-// */
-// public boolean canModify(Object element, String property)
-// {
-// return property.equals(FACET_VALUE) || property.equals(FACET_OTHER);
-// }
-//
-// /*
-// * (non-Javadoc)
-// *
-// * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object,
-// * java.lang.String)
-// */
-// public Object getValue(Object element, String property)
-// {
-// int column = 0;
-// if (property.equals(columnProperties[0]))
-// {
-// column = 0;
-// }
-// else if (property.equals(columnProperties[1]))
-// {
-// column = 1;
-// }
-// else if (property.equals(columnProperties[2]))
-// {
-// column = 2;
-// }
-//
-// return facetsTableLabelProvider.getColumnText(element, column);
-// }
-//
-// /*
-// * (non-Javadoc)
-// *
-// * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object,
-// * java.lang.String, java.lang.Object)
-// */
-// public void modify(Object element, String property, Object value)
-// {
-// XSDSimpleTypeDefinition xsdSimpleType = (XSDSimpleTypeDefinition) getInput();
-// TableItem item = (TableItem) element;
-// if (item != null)
-// {
-// Object o = item.getData();
-// if (o != null)
-// {
-// if (o instanceof String)
-// {
-// String facet = (String) o;
-//
-// Element simpleTypeElement = xsdSimpleType.getElement();
-// XSDDOMHelper xsdDOMHelper = new XSDDOMHelper();
-// Element derivedByElement = xsdDOMHelper.getDerivedByElement(simpleTypeElement);
-//
-// String prefix = simpleTypeElement.getPrefix();
-// prefix = (prefix == null) ? "" : (prefix + ":");
-//
-// Element childNodeElement = null;
-// DOMAttribute valueAttr = null;
-//
-// XSDConstrainingFacet targetFacet = getXSDConstrainingFacet(facet);
-//
-// String newValue = "";
-// if (value != null && value instanceof String)
-// {
-// newValue = (String) value;
-// }
-//
-// if (property.equals(columnProperties[1]))
-// {
-// if (targetFacet == null && newValue.length() > 0)
-// {
-// targetFacet = createFacet(facet);
-// childNodeElement = (derivedByElement.getOwnerDocument()).createElementNS(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, prefix + facet);
-// valueAttr = new DOMAttribute(XSDConstants.VALUE_ATTRIBUTE, newValue);
-// childNodeElement.setAttribute(valueAttr.getName(), valueAttr.getValue());
-// // add and format child
-// derivedByElement.appendChild(childNodeElement);
-// targetFacet.setElement(childNodeElement);
-// XSDDOMHelper.formatChild(childNodeElement);
-//
-// // XSDSchemaHelper.updateElement(xsdSimpleType);
-// }
-// if (targetFacet == null)
-// {
-// return;
-// }
-//
-// if (newValue.length() > 0)
-// {
-// targetFacet.setLexicalValue(newValue);
-//
-// if (targetFacet instanceof XSDMaxFacet || targetFacet instanceof XSDMinFacet)
-// {
-// if (targetFacet instanceof XSDMaxFacet)
-// {
-// if (targetFacet instanceof XSDMaxExclusiveFacet)
-// {
-// XSDMaxInclusiveFacet xsdMaxInclusiveFacet = xsdSimpleType.getMaxInclusiveFacet();
-// if (xsdMaxInclusiveFacet != null)
-// {
-// Element xsdMaxInclusiveFacetElement = xsdMaxInclusiveFacet.getElement();
-// XSDDOMHelper.removeNodeAndWhitespace(xsdMaxInclusiveFacetElement);
-// }
-// }
-// else if (targetFacet instanceof XSDMaxInclusiveFacet)
-// {
-// XSDMaxExclusiveFacet xsdMaxExclusiveFacet = xsdSimpleType.getMaxExclusiveFacet();
-// if (xsdMaxExclusiveFacet != null)
-// {
-// Element xsdMaxExclusiveFacetElement = xsdMaxExclusiveFacet.getElement();
-// XSDDOMHelper.removeNodeAndWhitespace(xsdMaxExclusiveFacetElement);
-// }
-// }
-// }
-// else if (targetFacet instanceof XSDMinFacet)
-// {
-// if (targetFacet instanceof XSDMinExclusiveFacet)
-// {
-// XSDMinInclusiveFacet xsdMinInclusiveFacet = xsdSimpleType.getMinInclusiveFacet();
-// if (xsdMinInclusiveFacet != null)
-// {
-// Element xsdMinInclusiveFacetElement = xsdMinInclusiveFacet.getElement();
-// XSDDOMHelper.removeNodeAndWhitespace(xsdMinInclusiveFacetElement);
-// }
-// }
-// else if (targetFacet instanceof XSDMinInclusiveFacet)
-// {
-// XSDMinExclusiveFacet xsdMinExclusiveFacet = xsdSimpleType.getMinExclusiveFacet();
-// if (xsdMinExclusiveFacet != null)
-// {
-// Element xsdMinExclusiveFacetElement = xsdMinExclusiveFacet.getElement();
-// XSDDOMHelper.removeNodeAndWhitespace(xsdMinExclusiveFacetElement);
-// }
-// }
-// }
-// }
-// }
-// else
-// // newValue.length == 0
-// {
-// Element targetFacetElement = targetFacet.getElement();
-// XSDDOMHelper.removeNodeAndWhitespace(targetFacetElement);
-// }
-// }
-// else if (property.equals(columnProperties[2]))
-// {
-// if (targetFacet != null)
-// {
-// if (newValue.length() > 0)
-// {
-// targetFacet.getElement().setAttribute(XSDConstants.FIXED_ATTRIBUTE, newValue);
-// }
-// else
-// {
-// targetFacet.getElement().removeAttribute(XSDConstants.FIXED_ATTRIBUTE);
-// }
-// }
-// }
-// xsdSimpleType.setElement(simpleTypeElement);
-// // xsdSimpleType.updateElement();
-// refresh();
-// }
-// }
-// }
-// }
-//
-// private XSDConstrainingFacet getXSDConstrainingFacet(String facetString)
-// {
-// XSDSimpleTypeDefinition xsdSimpleType = (XSDSimpleTypeDefinition) getInput();
-// List list = xsdSimpleType.getFacetContents();
-// if (list == null)
-// {
-// return null;
-// }
-// Iterator iter = list.iterator();
-// XSDConstrainingFacet targetFacet = null;
-//
-// while (iter.hasNext())
-// {
-// XSDConstrainingFacet xsdConstrainingFacet = (XSDConstrainingFacet) iter.next();
-// if (xsdConstrainingFacet.getFacetName().equals(facetString))
-// {
-// targetFacet = xsdConstrainingFacet;
-// break;
-// }
-// }
-// return targetFacet;
-// }
-//
-// private XSDConstrainingFacet createFacet(String facet)
-// {
-// XSDFactory factory = XSDSchemaBuildingTools.getXSDFactory();
-// XSDConstrainingFacet xsdFacet = null;
-// if (facet.equals("length"))
-// {
-// xsdFacet = factory.createXSDLengthFacet();
-// }
-// else if (facet.equals("minLength"))
-// {
-// xsdFacet = factory.createXSDMinLengthFacet();
-// }
-// else if (facet.equals("maxLength"))
-// {
-// xsdFacet = factory.createXSDMaxLengthFacet();
-// }
-// else if (facet.equals("minInclusive"))
-// {
-// xsdFacet = factory.createXSDMinInclusiveFacet();
-// }
-// else if (facet.equals("minExclusive"))
-// {
-// xsdFacet = factory.createXSDMinExclusiveFacet();
-// }
-// else if (facet.equals("maxInclusive"))
-// {
-// xsdFacet = factory.createXSDMaxInclusiveFacet();
-// }
-// else if (facet.equals("maxExclusive"))
-// {
-// xsdFacet = factory.createXSDMaxExclusiveFacet();
-// }
-//
-// else if (facet.equals("totalDigits"))
-// {
-// xsdFacet = factory.createXSDTotalDigitsFacet();
-// }
-// else if (facet.equals("fractionDigits"))
-// {
-// xsdFacet = factory.createXSDFractionDigitsFacet();
-// }
-// else if (facet.equals("whiteSpace"))
-// {
-// xsdFacet = factory.createXSDWhiteSpaceFacet();
-// }
-// return xsdFacet;
-// }
-//
-// /**
-// * Get the tooltip for the facet
-// */
-// public String getToolTip(String facet)
-// {
-// String key = "";
-// if (facet.equals("length"))
-// {
-// key = "_UI_TOOLTIP_LENGTH";
-// }
-// else if (facet.equals("minLength"))
-// {
-// key = "_UI_TOOLTIP_MIN_LEN";
-// }
-// else if (facet.equals("maxLength"))
-// {
-// key = "_UI_TOOLTIP_MAX_LEN";
-// }
-//
-// else if (facet.equals("minInclusive"))
-// {
-// key = "_UI_TOOLTIP_MIN_INCLUSIVE";
-// }
-// else if (facet.equals("minExclusive"))
-// {
-// key = "_UI_TOOLTIP_MIN_EXCLUSIVE";
-// }
-//
-// else if (facet.equals("maxInclusive"))
-// {
-// key = "_UI_TOOLTIP_MAX_INCLUSIVE";
-// }
-// else if (facet.equals("maxExclusive"))
-// {
-// key = "_UI_TOOLTIP_MAX_EXCLUSIVE";
-// }
-//
-// else if (facet.equals("totalDigits"))
-// {
-// key = "_UI_TOOLTIP_TOTAL_DIGITS";
-// }
-// else if (facet.equals("fractionDigits"))
-// {
-// key = "_UI_TOOLTIP_FRACTION_DIGITS";
-// }
-//
-// else if (facet.equals("whiteSpace"))
-// {
-// key = "_UI_TOOLTIP_WHITE_SPACE";
-// }
-//
-// return (key != null) ? XSDEditorPlugin.getXSDString(key) : "";
-// }
-//
-// /**
-// * This listener detects which row is selected and add a tool tip for that row
-// */
-// public class MyMouseTrackListener extends MouseTrackAdapter
-// {
-// public void mouseHover(MouseEvent e)
-// {
-// TableItem item = getTable().getItem(new Point(e.x, e.y));
-// if (item != null)
-// {
-// Object o = item.getData();
-// if (o != null)
-// {
-// String facetName = (String) o;
-// getTable().setToolTipText(getToolTip(facetName));
-// }
-// }
-// }
-// }
-//
-// /**
-// * Based on the selection, detects if it is a white space or not, and add the
-// * corresponding cell editors
-// */
-// public class SelectionChangedListener implements ISelectionChangedListener
-// {
-// public void selectionChanged(SelectionChangedEvent event)
-// {
-// Object selection = event.getSelection();
-// if (selection instanceof StructuredSelection)
-// {
-// Object o = ((StructuredSelection) selection).getFirstElement();
-// if (o != null)
-// {
-// String facet = (String) o;
-// if (facet.equals("whiteSpace"))
-// {
-// setCellEditors(altCellEditors);
-// }
-// else
-// {
-// setCellEditors(cellEditors);
-// }
-// }
-// }
-// }
-// }
-//
-// class FacetsTableContentProvider implements IStructuredContentProvider
-// {
-// protected String facet;
-//
-// public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-// {
-// }
-//
-// public java.lang.Object[] getElements(java.lang.Object inputElement)
-// {
-// List v = new ArrayList();
-// XSDSimpleTypeDefinition inputXSDSimpleType = (XSDSimpleTypeDefinition) inputElement;
-// XSDSimpleTypeDefinition base = inputXSDSimpleType.getPrimitiveTypeDefinition();
-//
-// if (base != null)
-// {
-// Iterator validFacets = inputXSDSimpleType.getValidFacets().iterator();
-// while (validFacets.hasNext())
-// {
-// String aValidFacet = (String) validFacets.next();
-// if (!(aValidFacet.equals("pattern") || aValidFacet.equals("enumeration")))
-// {
-// v.add(aValidFacet);
-// }
-// }
-// }
-// return v.toArray();
-// }
-//
-// public void dispose()
-// {
-// }
-// }
-//
-// class FacetsTableLabelProvider extends LabelProvider implements ITableLabelProvider
-// {
-// public Image getColumnImage(Object element, int columnIndex)
-// {
-// return null;
-// }
-//
-// public String getColumnText(Object element, int columnIndex)
-// {
-// if (element instanceof String)
-// {
-// String value = null;
-// XSDConstrainingFacet targetFacet = getXSDConstrainingFacet((String) element);
-// switch (columnIndex)
-// {
-// case 0:
-// {
-// value = (String) element;
-// break;
-// }
-// case 1:
-// {
-// if (targetFacet == null)
-// {
-// value = "";
-// }
-// else
-// {
-// value = targetFacet.getLexicalValue();
-// }
-//
-// break;
-// }
-// case 2:
-// {
-// if (targetFacet == null)
-// {
-// value = "";
-// }
-// else
-// {
-// Element elem = targetFacet.getElement();
-// value = elem.getAttribute(XSDConstants.FIXED_ATTRIBUTE);
-// if (value == null)
-// value = "";
-// }
-// }
-// }
-// return value;
-// }
-// return "";
-// }
-// }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/IDocumentChangedNotifier.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/IDocumentChangedNotifier.java
deleted file mode 100644
index d5fb565be8..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/IDocumentChangedNotifier.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-
-public interface IDocumentChangedNotifier
-{
- public void addListener(INodeAdapter adapter);
- public void removeListener(INodeAdapter adapter);
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/MultiplicitySection.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/MultiplicitySection.java
deleted file mode 100644
index 483d14e0f9..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/MultiplicitySection.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.wst.xsd.ui.internal.common.commands.UpdateMaxOccursCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.UpdateMinOccursCommand;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDParticleContent;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-
-public class MultiplicitySection extends AbstractSection
-{
- protected CCombo minCombo, maxCombo;
- protected Button listButton;
- protected Button requiredButton;
- protected boolean isRequired;
-
- public MultiplicitySection()
- {
- super();
- }
-
- protected void createContents(Composite parent)
- {
- }
-
-
- public void doHandleEvent(Event event)
- {
- if (event.widget == minCombo)
- {
- updateMinAttribute();
- }
- else if (event.widget == maxCombo)
- {
- updateMaxAttribute();
- }
- }
-
- public void doWidgetSelected(SelectionEvent e)
- {
- if (e.widget == minCombo)
- {
- updateMinAttribute();
- }
- else if (e.widget == maxCombo)
- {
- updateMaxAttribute();
- }
- }
-
- protected void updateMaxAttribute()
- {
- setErrorMessage(null);
- XSDParticle particle = null;
-
- if (input instanceof XSDParticleContent)
- {
- particle = getAssociatedParticle((XSDParticleContent) input);
- }
- if (particle != null)
- {
- String newValue = maxCombo.getText().trim();
-
- if (newValue.length() == 0)
- {
- particle.unsetMaxOccurs();
- return;
- }
- try
- {
- int newMax = 1;
- if (newValue.equals("unbounded") || newValue.equals("*")) //$NON-NLS-1$
- {
- newMax = XSDParticle.UNBOUNDED;
- }
- else
- {
- if (newValue.length() > 0)
- {
- newMax = Integer.parseInt(newValue);
- }
- }
- setListenerEnabled(false);
- UpdateMaxOccursCommand command = new UpdateMaxOccursCommand("Maximum Occurrence Change", particle, newMax);
- getCommandStack().execute(command);
- setListenerEnabled(true);
-
- }
- catch (NumberFormatException e)
- {
- setErrorMessage("Invalid value for maximum occurrence");
- }
- }
- }
-
- protected void updateMinAttribute()
- {
- setErrorMessage(null);
- XSDParticle particle = null;
-
- if (input instanceof XSDParticleContent)
- {
- particle = getAssociatedParticle((XSDParticleContent) input);
- }
- if (particle != null)
- {
- String newValue = minCombo.getText();
- isRequired = false;
- if (newValue.length() == 0)
- {
- particle.unsetMinOccurs();
- }
- try
- {
- int newMin = 1;
- if (newValue.equals("unbounded") || newValue.equals("*")) //$NON-NLS-1$
- {
- newMin = XSDParticle.UNBOUNDED;
- isRequired = true;
- }
- else
- {
- newMin = Integer.parseInt(newValue);
- isRequired = newMin > 0;
- }
- UpdateMinOccursCommand command = new UpdateMinOccursCommand("Minimum Occurrence Change", particle, newMin);
- getCommandStack().execute(command);
- }
- catch (NumberFormatException e)
- {
-
- }
- }
- }
-
- protected void refreshMinMax()
- {
- boolean refreshMinText = true;
- boolean refreshMaxText = true;
- if (minCombo.isFocusControl())
- {
- refreshMinText = false;
- }
- if (maxCombo.isFocusControl())
- {
- refreshMaxText = false;
- }
- if (refreshMinText)
- {
- minCombo.setText(""); //$NON-NLS-1$
- }
- if (refreshMaxText)
- {
- maxCombo.setText(""); //$NON-NLS-1$
- }
-
- if (input != null)
- {
- if (input instanceof XSDParticleContent)
- {
- XSDParticle particle = getAssociatedParticle((XSDParticleContent) input);
- if (particle != null)
- {
- // minText.setText(String.valueOf(particle.getMinOccurs()));
- // maxText.setText(String.valueOf(particle.getMaxOccurs()));
- Element element = particle.getElement();
- if (element != null)
- {
- String min = element.getAttribute(XSDConstants.MINOCCURS_ATTRIBUTE);
- String max = element.getAttribute(XSDConstants.MAXOCCURS_ATTRIBUTE);
- if (min != null && refreshMinText)
- {
- minCombo.setText(min);
- }
- if (max != null && refreshMaxText)
- {
- maxCombo.setText(max);
- }
- }
- }
- }
- }
- }
-
- protected XSDParticle getAssociatedParticle(XSDParticleContent particleContent)
- {
- XSDConcreteComponent xsdComp = particleContent.getContainer();
- if (xsdComp instanceof XSDParticle)
- {
- return (XSDParticle) xsdComp;
- }
- return null;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/SchemaLocationSection.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/SchemaLocationSection.java
deleted file mode 100644
index 54646d3001..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/SchemaLocationSection.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.common.ui.internal.viewers.ResourceFilter;
-import org.eclipse.wst.common.uriresolver.internal.util.URIHelper;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.wizards.XSDSelectIncludeFileWizard;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDRedefine;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.impl.XSDIncludeImpl;
-import org.eclipse.xsd.impl.XSDRedefineImpl;
-import org.w3c.dom.Element;
-
-public class SchemaLocationSection extends CommonDirectivesSection
-{
- IWorkbenchPart part;
-
- /**
- *
- */
- public SchemaLocationSection()
- {
- super();
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.wst.common.ui.properties.internal.provisional.TabbedPropertySheetWidgetFactory)
- */
- public void createContents(Composite parent)
- {
- composite = getWidgetFactory().createFlatFormComposite(parent);
-
- GridLayout gridLayout = new GridLayout();
- gridLayout.marginTop = 0;
- gridLayout.marginBottom = 0;
- gridLayout.numColumns = 3;
- composite.setLayout(gridLayout);
-
- GridData data = new GridData();
-
- // Create Schema Location Label
- CLabel schemaLocationLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_SCHEMA_LOCATION")); //$NON-NLS-1$
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
- schemaLocationLabel.setLayoutData(data);
-
- // Create Schema Location Text
- schemaLocationText = getWidgetFactory().createText(composite, "", SWT.NONE); //$NON-NLS-1$
- schemaLocationText.setEditable(true);
- applyAllListeners(schemaLocationText);
-
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- schemaLocationText.setLayoutData(data);
-
- // Create Wizard Button
- wizardButton = getWidgetFactory().createButton(composite, "", SWT.NONE); //$NON-NLS-1$
- wizardButton.setImage(XSDEditorPlugin.getXSDImage("icons/browsebutton.gif")); //$NON-NLS-1$
- data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
- wizardButton.setLayoutData(data);
- wizardButton.addSelectionListener(this);
-
- // error text
- errorText = new StyledText(composite, SWT.FLAT);
- errorText.setEditable(false);
- errorText.setEnabled(false);
- errorText.setText("");
-
- data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.horizontalSpan = 3;
- data.grabExcessHorizontalSpace = true;
- errorText.setLayoutData(data);
-
- }
-
- public void widgetSelected(SelectionEvent event)
- {
- if (event.widget == wizardButton)
- {
- Shell shell = Display.getCurrent().getActiveShell();
-
- IFile currentIFile = ((IFileEditorInput)getActiveEditor().getEditorInput()).getFile();
- ViewerFilter filter = new ResourceFilter(new String[] { ".xsd" }, //$NON-NLS-1$
- new IFile[] { currentIFile },
- null);
-
- XSDSelectIncludeFileWizard fileSelectWizard =
- new XSDSelectIncludeFileWizard(xsdSchema, true,
- XSDEditorPlugin.getXSDString("_UI_FILEDIALOG_SELECT_XML_SCHEMA"), //$NON-NLS-1$
- XSDEditorPlugin.getXSDString("_UI_FILEDIALOG_SELECT_XML_DESC"), //$NON-NLS-1$
- filter,
- (IStructuredSelection) getSelection());
-
- WizardDialog wizardDialog = new WizardDialog(shell, fileSelectWizard);
- wizardDialog.create();
- wizardDialog.setBlockOnOpen(true);
- int result = wizardDialog.open();
-
- String value = schemaLocationText.getText();
- if (result == Window.OK)
- {
- errorText.setText("");
- IFile selectedIFile = fileSelectWizard.getResultFile();
- String schemaFileString = value;
- if (selectedIFile != null)
- {
- schemaFileString = URIHelper.getRelativeURI(selectedIFile.getLocation(), currentIFile.getLocation());
- }
- else
- {
- schemaFileString = fileSelectWizard.getURL();
- }
-
- handleSchemaLocationChange(schemaFileString, fileSelectWizard.getNamespace(), null);
- refresh();
- }
- }
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- setListenerEnabled(false);
-
- Element element = null;
- if (input instanceof XSDInclude)
- {
- element = ((XSDIncludeImpl) input).getElement();
- }
- else if (input instanceof XSDRedefine)
- {
- element = ((XSDRedefineImpl) input).getElement();
- }
-
- if (element != null)
- {
- String location = ""; //$NON-NLS-1$
- location = element.getAttribute("schemaLocation"); //$NON-NLS-1$
- if (location == null)
- {
- location = "";
- }
- schemaLocationText.setText(location);
- }
-
- setListenerEnabled(true);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.ISection#shouldUseExtraSpace()
- */
- public boolean shouldUseExtraSpace()
- {
- return true;
- }
-
- protected void handleSchemaLocationChange(String schemaFileString, String namespace, XSDSchema externalSchema)
- {
- if (input instanceof XSDInclude)
- {
- Element element = ((XSDIncludeImpl) input).getElement();
- element.setAttribute("schemaLocation", schemaFileString); //$NON-NLS-1$
- }
- else if (input instanceof XSDRedefine)
- {
- Element element = ((XSDRedefineImpl) input).getElement();
- element.setAttribute("schemaLocation", schemaFileString); //$NON-NLS-1$
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/SimpleContentUnionMemberTypesDialog.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/SimpleContentUnionMemberTypesDialog.java
deleted file mode 100644
index 9c674cd3d3..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/SimpleContentUnionMemberTypesDialog.java
+++ /dev/null
@@ -1,311 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
-import org.eclipse.wst.xsd.ui.internal.widgets.TypeSection;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-
-
-public class SimpleContentUnionMemberTypesDialog extends Dialog implements SelectionListener
-{
- XSDSimpleTypeDefinition simpleType;
- /**
- * @param parentShell
- */
- public SimpleContentUnionMemberTypesDialog(Shell parentShell, XSDSimpleTypeDefinition simpleType)
- {
- super(parentShell);
- this.simpleType = simpleType;
- }
-
- Table table;
- TypeSection typeSection;
- Button addButton, removeButton;
- org.eclipse.swt.widgets.List memberTypesList;
-
- private String result;
-
- protected void configureShell(Shell shell)
- {
- super.configureShell(shell);
- }
-
- protected void buttonPressed(int buttonId)
- {
- if (buttonId == Dialog.OK)
- {
- StringBuffer sb = new StringBuffer();
- int length = memberTypesList.getItemCount();
- for (int i=0 ; i < length; i++)
- {
- sb.append(memberTypesList.getItem(i));
- if (i < length - 1)
- {
- sb.append(" ");
- }
- }
- result = sb.toString();
- }
- super.buttonPressed(buttonId);
- }
-
- public String getResult() { return result; }
-
- //
- // Create the controls
- //
- public Control createDialogArea(Composite parent)
- {
- Composite client = (Composite)super.createDialogArea(parent);
- getShell().setText("Union " + XSDConstants.MEMBERTYPES_ATTRIBUTE);
-
- Label instructions = new Label(client, SWT.LEFT | SWT.WRAP);
- instructions.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_SELECT_MEMBERTYPES"));
-
- Composite columnsComposite = new Composite(client, SWT.NONE);
- GridLayout ccGL = new GridLayout();
- ccGL.verticalSpacing = 0;
- ccGL.horizontalSpacing = 0;
- ccGL.marginHeight = 0;
- ccGL.marginWidth = 0;
- ccGL.makeColumnsEqualWidth = true;
- ccGL.numColumns = 3;
- columnsComposite.setLayout(ccGL);
-
- GridData ccGD = new GridData();
- ccGD.grabExcessHorizontalSpace = true;
- ccGD.horizontalAlignment = GridData.FILL;
- columnsComposite.setLayoutData(ccGD);
-
- typeSection = new TypeSection(columnsComposite);
- typeSection.setShowUserComplexType(false);
-
- typeSection.createClient(columnsComposite);
- typeSection.getSimpleType().setSelection(false);
- typeSection.getSimpleType().addSelectionListener(this);
- typeSection.getUserSimpleType().addSelectionListener(this);
-
- ViewUtility.createHorizontalFiller(columnsComposite, 1);
-
- Label memberListLabel = new Label(columnsComposite, SWT.LEFT);
- memberListLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES_VALUE"));
-
- Composite dataComposite = new Composite(client, SWT.NONE);
- GridLayout dcGL = new GridLayout();
- dcGL.verticalSpacing = 0;
- dcGL.marginHeight = 0;
- dcGL.marginWidth = 0;
- dcGL.numColumns = 3;
- dataComposite.setLayout(dcGL);
-
- GridData dcGD = new GridData();
- dcGD.grabExcessHorizontalSpace = true;
- dcGD.grabExcessVerticalSpace = true;
- dataComposite.setLayoutData(dcGD);
-
- table = new Table(dataComposite,
- SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- table.setHeaderVisible(false);
- table.setLinesVisible(true);
- GridData gd2 = new GridData();
- gd2.grabExcessHorizontalSpace = true;
- gd2.grabExcessVerticalSpace = true;
- gd2.horizontalAlignment = GridData.FILL;
- gd2.verticalAlignment = GridData.FILL;
- gd2.heightHint = 200;
- gd2.widthHint = 200;
- table.setLayoutData(gd2);
-
- // Fill table
- handleSetInput();
- table.getItemCount();
-
- TableColumn tc = new TableColumn(table, SWT.LEFT);
- tc.setWidth(200);
- tc.setResizable(true);
-
- Composite buttonComposite = new Composite(dataComposite, SWT.NONE);
- GridLayout bcGL = new GridLayout();
- bcGL.numColumns = 1;
- buttonComposite.setLayout(bcGL);
- addButton = new Button(buttonComposite, SWT.PUSH);
- addButton.setText(">");
- addButton.addSelectionListener(this);
- removeButton = new Button(buttonComposite, SWT.PUSH);
- removeButton.setText("<");
- removeButton.addSelectionListener(this);
-
- Composite listComposite = new Composite(dataComposite, SWT.NONE);
- GridLayout mtGL = new GridLayout();
- mtGL.numColumns = 1;
- mtGL.marginHeight = 0;
- mtGL.marginWidth = 0;
- mtGL.horizontalSpacing = 0;
- mtGL.verticalSpacing = 0;
- listComposite.setLayout(mtGL);
-
- GridData mtGD = new GridData();
- mtGD.grabExcessHorizontalSpace = true;
- mtGD.grabExcessVerticalSpace = true;
- mtGD.verticalAlignment = GridData.FILL;
- mtGD.horizontalAlignment = GridData.FILL;
- listComposite.setLayoutData(mtGD);
-
- memberTypesList = new org.eclipse.swt.widgets.List(listComposite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- GridData mtlGD = new GridData();
- mtlGD.grabExcessHorizontalSpace = true;
- mtlGD.grabExcessVerticalSpace = true;
- mtlGD.verticalAlignment = GridData.FILL;
- mtlGD.horizontalAlignment = GridData.FILL;
- mtlGD.heightHint = 200;
- mtlGD.widthHint = 200;
- memberTypesList.setLayoutData(mtlGD);
-
- initializeMemberListContent();
- return client;
- }
-
- private void initializeMemberListContent()
- {
-// String result = element.getAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
-// if (result == null)
-// {
-// return;
-// }
-// StringTokenizer token = new StringTokenizer(result);
-// while (token.hasMoreTokens())
-// {
-// memberTypesList.add(token.nextToken());
-// }
- XSDSchema schema = simpleType.getSchema();
- for (Iterator i = simpleType.getMemberTypeDefinitions().iterator(); i.hasNext(); )
- {
- String name = ((XSDSimpleTypeDefinition)i.next()).getQName(schema);
- if (name != null)
- memberTypesList.add(name);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetSelected(SelectionEvent e)
- {
- if (e.widget == typeSection.getSimpleType() && typeSection.getSimpleType().getSelection())
- {
- populateBuiltInType();
- }
- else if (e.widget == typeSection.getUserSimpleType() && typeSection.getUserSimpleType().getSelection())
- {
- populateUserSimpleType(false);
- }
- else if (e.widget == addButton)
- {
- TableItem[] items = table.getItems();
- int selection = table.getSelectionIndex();
- if (items != null && items.length > 0 && selection >= 0)
- {
- String typeToAdd = items[selection].getData().toString();
- if (memberTypesList.indexOf(typeToAdd) < 0)
- {
- memberTypesList.add(items[selection].getData().toString());
- }
- }
- }
- else if (e.widget == removeButton)
- {
- String[] typesToRemove = memberTypesList.getSelection();
- for (int i=0; i < typesToRemove.length; i++)
- {
- memberTypesList.remove(typesToRemove[i]);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetDefaultSelected(SelectionEvent e)
- {
- }
-
- public void handleSetInput()
- {
- populateBuiltInType();
- }
-
- public void populateBuiltInType()
- {
- table.removeAll();
- List items = getBuiltInTypeNamesList();
- for (int i = 0; i < items.size(); i++)
- {
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(items.get(i).toString());
- item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
- item.setData(items.get(i));
- }
- }
-
- public void populateUserSimpleType(boolean showAnonymous)
- {
- table.removeAll();
- if (showAnonymous)
- {
- TableItem anonymousItem = new TableItem(table, SWT.NONE);
- anonymousItem.setText("**anonymous**");
- anonymousItem.setData("**anonymous**");
- }
- List items = getUserSimpleTypeNamesList();
- for (int i = 0; i < items.size(); i++)
- {
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(items.get(i).toString());
- item.setImage(XSDEditorPlugin.getXSDImage("icons/XSDSimpleType.gif"));
- item.setData(items.get(i));
- }
- }
-
- public java.util.List getBuiltInTypeNamesList()
- {
- TypesHelper helper = new TypesHelper(simpleType.getSchema());
- return helper.getBuiltInTypeNamesList();
- }
-
- public java.util.List getUserSimpleTypeNamesList()
- {
- TypesHelper helper = new TypesHelper(simpleType.getSchema());
- return helper.getUserSimpleTypeNamesList();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/SpecificConstraintsWidget.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/SpecificConstraintsWidget.java
deleted file mode 100644
index 1535f0b864..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/SpecificConstraintsWidget.java
+++ /dev/null
@@ -1,667 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.gef.commands.CommandStack;
-import org.eclipse.gef.commands.CompoundCommand;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-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.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.common.ui.internal.viewers.NavigableTableViewer;
-import org.eclipse.wst.xsd.ui.internal.common.commands.AddEnumerationsCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.ChangeToLocalSimpleTypeCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.DeleteCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.SetXSDFacetValueCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.UpdateXSDPatternFacetCommand;
-import org.eclipse.wst.xsd.ui.internal.common.util.XSDCommonUIUtils;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.widgets.EnumerationsDialog;
-import org.eclipse.wst.xsd.ui.internal.wizards.RegexWizard;
-import org.eclipse.xsd.XSDEnumerationFacet;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDFeature;
-import org.eclipse.xsd.XSDPatternFacet;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class SpecificConstraintsWidget implements SelectionListener, Listener
-{
- public static int ENUMERATION = 0;
- public static int PATTERN = 1;
-
- int kind;
- ConstraintsTableViewer constraintsTableViewer;
- Button addButton;
- Button addUsingDialogButton;
- Button deleteButton;
- Button editButton;
- Composite composite;
- boolean isEnabled;
- TabbedPropertySheetWidgetFactory factory;
- XSDSimpleTypeDefinition input;
- XSDFeature feature;
- boolean isReadOnly;
- CommandStack commandStack;
- XSDFacetSection facetSection;
-
- public SpecificConstraintsWidget(Composite composite, TabbedPropertySheetWidgetFactory factory, XSDFeature feature, XSDSimpleTypeDefinition input, XSDFacetSection facetSection)
- {
- this.factory = factory;
- this.input = input;
- this.composite = composite;
- this.feature = feature;
- this.facetSection = facetSection;
- createControl(composite);
- }
-
- public void setCommandStack(CommandStack commandStack)
- {
- this.commandStack = commandStack;
- }
-
- public void setIsReadOnly(boolean isReadOnly)
- {
- this.isReadOnly = isReadOnly;
- }
-
- public TabbedPropertySheetWidgetFactory getWidgetFactory()
- {
- return factory;
- }
-
- public Control getControl()
- {
- return composite;
- }
-
- public void setEnabled(boolean isEnabled)
- {
- this.isEnabled = isEnabled;
- addButton.setEnabled(isEnabled);
- addUsingDialogButton.setEnabled(isEnabled);
- editButton.setEnabled(isEnabled);
- constraintsTableViewer.getTable().setEnabled(isEnabled);
- composite.setEnabled(isEnabled);
- }
-
- public Control createControl(Composite parent)
- {
- composite = factory.createFlatFormComposite(parent);
- GridData data = new GridData();
-
- GridLayout gridLayout = new GridLayout();
- gridLayout.marginTop = 0;
- gridLayout.marginBottom = 0;
- gridLayout.numColumns = 2;
- composite.setLayout(gridLayout);
-
- constraintsTableViewer = new ConstraintsTableViewer(getWidgetFactory().createTable(composite, SWT.MULTI | SWT.FULL_SELECTION));
- constraintsTableViewer.setInput(input);
- Table table = constraintsTableViewer.getTable();
- table.addSelectionListener(this);
- data.horizontalAlignment = GridData.FILL;
- data.verticalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = true;
- data.widthHint = 150;
- data.grabExcessVerticalSpace = true;
- table.setLayoutData(data);
- table.addListener(SWT.Resize, this);
-
- Composite buttonComposite = getWidgetFactory().createComposite(composite, SWT.FLAT);
- GridLayout buttonCompositeLayout = new GridLayout();
- buttonCompositeLayout.marginTop = 0;
- buttonCompositeLayout.marginBottom = 0;
- buttonCompositeLayout.numColumns = 1;
- buttonComposite.setLayout(buttonCompositeLayout);
- data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = false;
- buttonComposite.setLayoutData(data);
-
-
- addButton = getWidgetFactory().createButton(buttonComposite, "Add", SWT.PUSH);
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- data.verticalAlignment = GridData.BEGINNING;
- addButton.setLayoutData(data);
- addButton.addSelectionListener(this);
-
- addUsingDialogButton = getWidgetFactory().createButton(buttonComposite, "Add...", SWT.PUSH);
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- data.verticalAlignment = GridData.BEGINNING;
- addUsingDialogButton.setLayoutData(data);
- addUsingDialogButton.addSelectionListener(this);
-
- editButton = getWidgetFactory().createButton(buttonComposite, "Edit...", SWT.PUSH);
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- editButton.setLayoutData(data);
- editButton.setEnabled(false);
- editButton.addSelectionListener(this);
-
-
- deleteButton = getWidgetFactory().createButton(buttonComposite, "Delete", SWT.PUSH);
-
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- deleteButton.setLayoutData(data);
- deleteButton.setEnabled(false);
- deleteButton.addSelectionListener(this);
-
-
- return composite;
- }
-
- public void handleEvent(Event event)
- {
- Table table = constraintsTableViewer.getTable();
- if (event.type == SWT.Resize && event.widget == table)
- {
- TableColumn tableColumn = table.getColumn(0);
- tableColumn.setWidth(table.getSize().x);
- }
- }
-
- public void setInput(Object input)
- {
- constraintsTableViewer.setInput(input);
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
-// constraintsTableViewer.refresh();
- }
-
- public void widgetSelected(SelectionEvent e)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition) input;
- Element element = st.getElement();
-
- if (e.widget == addButton)
- {
- List enumList = st.getEnumerationFacets();
- StringBuffer newName = new StringBuffer("value1"); //$NON-NLS-1$
- int suffix = 1;
- for (Iterator i = enumList.iterator(); i.hasNext();)
- {
- XSDEnumerationFacet enumFacet = (XSDEnumerationFacet) i.next();
- String value = enumFacet.getLexicalValue();
- if (value != null)
- {
- if (value.equals(newName.toString()))
- {
- suffix++;
- newName = new StringBuffer("value" + String.valueOf(suffix)); //$NON-NLS-1$
- }
- }
- }
-
- if (kind == ENUMERATION)
- {
- CompoundCommand compoundCommand = new CompoundCommand();
- XSDSimpleTypeDefinition targetSimpleType = null;
- if (feature != null)
- {
- XSDSimpleTypeDefinition anonymousSimpleType = XSDCommonUIUtils.getAnonymousSimpleType(feature, input);
- if (anonymousSimpleType == null)
- {
- anonymousSimpleType = XSDFactory.eINSTANCE.createXSDSimpleTypeDefinition();
- anonymousSimpleType.setBaseTypeDefinition(input);
-
- ChangeToLocalSimpleTypeCommand changeToAnonymousCommand = new ChangeToLocalSimpleTypeCommand("Change pattern", (XSDFeature) feature);
- changeToAnonymousCommand.setAnonymousSimpleType(anonymousSimpleType);
- compoundCommand.add(changeToAnonymousCommand);
- input = anonymousSimpleType;
- }
- targetSimpleType = anonymousSimpleType;
- }
- else
- {
- targetSimpleType = input;
- }
-
- AddEnumerationsCommand command = new AddEnumerationsCommand("Add Enumeration", targetSimpleType);
- command.setValue(newName.toString());
- compoundCommand.add(command);
- commandStack.execute(compoundCommand);
- setInput(input);
- constraintsTableViewer.refresh();
- int newItemIndex = constraintsTableViewer.getTable().getItemCount() - 1;
- constraintsTableViewer.editElement(constraintsTableViewer.getElementAt(newItemIndex), 0);
- }
- }
- else if (e.widget == addUsingDialogButton)
- {
- Display display = Display.getCurrent();
- // if it is null, get the default one
- display = display == null ? Display.getDefault() : display;
- Shell shell = display.getActiveShell();
-
- if (kind == PATTERN)
- {
- String initialValue = ""; //$NON-NLS-1$
- RegexWizard wizard = new RegexWizard(initialValue);
-
- WizardDialog wizardDialog = new WizardDialog(shell, wizard);
- wizardDialog.setBlockOnOpen(true);
- wizardDialog.create();
-
- int result = wizardDialog.open();
-
- if (result == Window.OK)
- {
- String newPattern = wizard.getPattern();
- CompoundCommand compoundCommand = new CompoundCommand();
- XSDSimpleTypeDefinition targetSimpleType = null;
- if (feature != null)
- {
- XSDSimpleTypeDefinition anonymousSimpleType = XSDCommonUIUtils.getAnonymousSimpleType(feature, input);
- if (anonymousSimpleType == null)
- {
- anonymousSimpleType = XSDFactory.eINSTANCE.createXSDSimpleTypeDefinition();
- anonymousSimpleType.setBaseTypeDefinition(input);
-
- ChangeToLocalSimpleTypeCommand changeToAnonymousCommand = new ChangeToLocalSimpleTypeCommand("Change pattern", (XSDFeature) feature);
- changeToAnonymousCommand.setAnonymousSimpleType(anonymousSimpleType);
- compoundCommand.add(changeToAnonymousCommand);
- input = anonymousSimpleType;
- }
- targetSimpleType = anonymousSimpleType;
- }
- else
- {
- targetSimpleType = input;
- }
-
- UpdateXSDPatternFacetCommand command = new UpdateXSDPatternFacetCommand("Add pattern", targetSimpleType, UpdateXSDPatternFacetCommand.ADD);
- command.setValue(newPattern);
- setInput(input);
- compoundCommand.add(command);
- commandStack.execute(compoundCommand);
- facetSection.doSetInput();
- }
- constraintsTableViewer.refresh();
- }
- else
- {
- EnumerationsDialog dialog = new EnumerationsDialog(shell);
- dialog.setBlockOnOpen(true);
- int result = dialog.open();
-
- if (result == Window.OK)
- {
- String text = dialog.getText();
- String delimiter = dialog.getDelimiter();
- StringTokenizer tokenizer = new StringTokenizer(text, delimiter);
- CompoundCommand compoundCommand = new CompoundCommand("Add Enumerations");
-
- XSDSimpleTypeDefinition targetSimpleType = null;
- if (feature != null)
- {
- XSDSimpleTypeDefinition anonymousSimpleType = XSDCommonUIUtils.getAnonymousSimpleType(feature, input);
- if (anonymousSimpleType == null)
- {
- anonymousSimpleType = XSDFactory.eINSTANCE.createXSDSimpleTypeDefinition();
- anonymousSimpleType.setBaseTypeDefinition(input);
-
- ChangeToLocalSimpleTypeCommand changeToAnonymousCommand = new ChangeToLocalSimpleTypeCommand("", (XSDFeature) feature);
- changeToAnonymousCommand.setAnonymousSimpleType(anonymousSimpleType);
- compoundCommand.add(changeToAnonymousCommand);
- input = anonymousSimpleType;
- }
- targetSimpleType = anonymousSimpleType;
- }
- else
- {
- targetSimpleType = input;
- }
-
- while (tokenizer.hasMoreTokens())
- {
- String token = tokenizer.nextToken();
- if (dialog.isPreserveWhitespace() == false)
- {
- token = token.trim();
- }
- AddEnumerationsCommand command = new AddEnumerationsCommand("Add Enumerations", targetSimpleType);
- command.setValue(token);
- compoundCommand.add(command);
- }
- commandStack.execute(compoundCommand);
- }
- //setInput(input);
- facetSection.doSetInput();
- constraintsTableViewer.refresh();
- }
- }
- else if (e.widget == deleteButton)
- {
- StructuredSelection selection = (StructuredSelection) constraintsTableViewer.getSelection();
- CompoundCommand compoundCommand = new CompoundCommand();
- if (selection != null)
- {
- Iterator i = selection.iterator();
- if (selection.size() > 0)
- {
- compoundCommand.setLabel("Delete Constraints");
- }
- else
- {
- compoundCommand.setLabel("Delete Pattern");
- }
- while (i.hasNext())
- {
- Object obj = i.next();
- if (obj != null)
- {
- if (obj instanceof XSDPatternFacet)
- {
- UpdateXSDPatternFacetCommand command = new UpdateXSDPatternFacetCommand("", input, UpdateXSDPatternFacetCommand.DELETE);
- command.setPatternToEdit((XSDPatternFacet)obj);
- compoundCommand.add(command);
- }
- else if (obj instanceof XSDEnumerationFacet)
- {
- XSDEnumerationFacet enumFacet = (XSDEnumerationFacet) obj;
- DeleteCommand deleteCommand = new DeleteCommand("Delete Enumeration", enumFacet);
- compoundCommand.add(deleteCommand);
- }
- }
- }
- commandStack.execute(compoundCommand);
- constraintsTableViewer.refresh();
-
- if (constraintsTableViewer.getTable().getItemCount() == 0)
- {
- editButton.setEnabled(false);
- deleteButton.setEnabled(false);
- }
- }
- }
- else if (e.widget == editButton)
- {
- StructuredSelection selection = (StructuredSelection) constraintsTableViewer.getSelection();
- if (selection != null)
- {
- Object obj = selection.getFirstElement();
- if (obj instanceof XSDPatternFacet)
- {
- XSDPatternFacet pattern = (XSDPatternFacet) obj;
- String initialValue = pattern.getLexicalValue();
- if (initialValue == null)
- {
- initialValue = ""; //$NON-NLS-1$
- }
-
- Shell shell = Display.getCurrent().getActiveShell();
-
- RegexWizard wizard = new RegexWizard(initialValue);
-
- WizardDialog wizardDialog = new WizardDialog(shell, wizard);
- wizardDialog.setBlockOnOpen(true);
- wizardDialog.create();
-
- int result = wizardDialog.open();
-
- if (result == Window.OK)
- {
- String newPattern = wizard.getPattern();
- element.setAttribute(XSDConstants.VALUE_ATTRIBUTE, newPattern);
- pattern.setLexicalValue(newPattern);
- constraintsTableViewer.refresh();
- }
- }
- }
- }
- else if (e.widget == constraintsTableViewer.getTable())
- {
- StructuredSelection selection = (StructuredSelection) constraintsTableViewer.getSelection();
- if (selection.getFirstElement() != null)
- {
- editButton.setEnabled(true);
- deleteButton.setEnabled(true);
- }
- else
- {
- editButton.setEnabled(false);
- deleteButton.setEnabled(false);
- }
- }
- }
-
- public void widgetDefaultSelected(SelectionEvent e)
- {
-
- }
-
-
- public void setConstraintKind(int kind)
- {
- this.kind = kind;
- constraintsTableViewer.setInput(input);
- constraintsTableViewer.refresh();
- }
-
- public void doModify(Object element, String property, Object value)
- {
- if (element instanceof TableItem && (value != null))
- {
- TableItem item = (TableItem) element;
-
- if (item.getData() instanceof XSDPatternFacet)
- {
- XSDPatternFacet patternFacet = (XSDPatternFacet) item.getData();
- patternFacet.setLexicalValue((String) value);
-
- item.setData(patternFacet);
- item.setText((String) value);
- }
- else if (item.getData() instanceof XSDEnumerationFacet)
- {
- XSDEnumerationFacet enumFacet = (XSDEnumerationFacet) item.getData();
- SetXSDFacetValueCommand command = new SetXSDFacetValueCommand("Set Enumeration Value", enumFacet);
- command.setValue((String) value);
- commandStack.execute(command);
- item.setData(enumFacet);
- item.setText((String) value);
- }
- }
- }
-
- public Object doGetValue(Object element, String property)
- {
- if (element instanceof XSDPatternFacet)
- {
- XSDPatternFacet patternFacet = (XSDPatternFacet) element;
- String value = patternFacet.getLexicalValue();
- if (value == null)
- value = ""; //$NON-NLS-1$
- return value;
- }
- else if (element instanceof XSDEnumerationFacet)
- {
- XSDEnumerationFacet enumFacet = (XSDEnumerationFacet) element;
- String value = enumFacet.getLexicalValue();
- if (value == null)
- value = ""; //$NON-NLS-1$
- return value;
- }
-
- return ""; //$NON-NLS-1$
- }
-
- class ConstraintsTableViewer extends NavigableTableViewer implements ICellModifier
- {
- protected String[] columnProperties = { "Pattern" };
-
- protected CellEditor[] cellEditors;
-
- Table table;
-
- public ConstraintsTableViewer(Table table)
- {
- super(table);
- table = getTable();
-
- table.setLinesVisible(true);
-
- setContentProvider(new ConstraintsContentProvider());
- setLabelProvider(new ConstraintsTableLabelProvider());
- setColumnProperties(columnProperties);
-
- setCellModifier(this);
-
- TableColumn column = new TableColumn(table, SWT.NONE, 0);
- column.setText(columnProperties[0]);
- column.setAlignment(SWT.LEFT);
- column.setResizable(true);
-
- cellEditors = new CellEditor[1];
-
- TableLayout layout = new TableLayout();
- ColumnWeightData data = new ColumnWeightData(100);
-
- layout.addColumnData(data);
- cellEditors[0] = new TextCellEditor(table);
-
- getTable().setLayout(layout);
- setCellEditors(cellEditors);
- }
-
- public boolean canModify(Object element, String property)
- {
- return true;
- }
-
- public void modify(Object element, String property, Object value)
- {
- doModify(element, property, value);
- }
-
- public Object getValue(Object element, String property)
- {
- return doGetValue(element, property);
- }
-
- }
-
- class ConstraintsContentProvider implements IStructuredContentProvider
- {
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
- {
- }
-
- public java.lang.Object[] getElements(java.lang.Object inputElement)
- {
- java.util.List list = new ArrayList();
- if (inputElement instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition) inputElement;
- if (kind == PATTERN)
- {
- return st.getPatternFacets().toArray();
- }
- else
- {
- return st.getEnumerationFacets().toArray();
- }
- }
- return list.toArray();
- }
-
- public void dispose()
- {
- }
- }
-
- class ConstraintsTableLabelProvider extends LabelProvider implements ITableLabelProvider
- {
- public ConstraintsTableLabelProvider()
- {
-
- }
-
- public Image getColumnImage(Object element, int columnIndex)
- {
- if (kind == PATTERN)
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDSimplePattern.gif"); //$NON-NLS-1$
- }
- else
- {
- return XSDEditorPlugin.getXSDImage("icons/XSDSimpleEnum.gif");
- }
- }
-
- public String getColumnText(Object element, int columnIndex)
- {
- if (element instanceof XSDPatternFacet)
- {
- XSDPatternFacet pattern = (XSDPatternFacet) element;
- String value = pattern.getLexicalValue();
- if (value == null)
- value = ""; //$NON-NLS-1$
- return value;
- }
- else if (element instanceof XSDEnumerationFacet)
- {
- XSDEnumerationFacet enumFacet = (XSDEnumerationFacet) element;
- String value = enumFacet.getLexicalValue();
- if (value == null)
- value = "";
- return value;
- }
- return ""; //$NON-NLS-1$
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDActionManager.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDActionManager.java
deleted file mode 100644
index b31fa6c429..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDActionManager.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.commands.CommandStack;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.ui.internal.XMLUIMessages;
-import org.eclipse.wst.xml.ui.internal.actions.EditAttributeAction;
-import org.eclipse.wst.xml.ui.internal.contentoutline.XMLNodeActionManager;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class XSDActionManager extends XMLNodeActionManager {
-
- private CommandStack commandStack;
-
- public XSDActionManager(IStructuredModel model, Viewer viewer) {
- super(model, viewer);
- }
-
- public void setCommandStack(CommandStack commandStack) {
- this.commandStack = commandStack;
- }
-
- protected Action createAddCDataSectionAction(Node parent, int index)
- {
- return null;
- }
-
- protected Action createAddPCDataAction(Node parent, CMDataType dataType, int index) {
- return null;
- }
-
-
- protected void contributeAddDocumentChildActions(IMenuManager menu, Document document, int ic, int vc) {
- }
-
- protected void contributeEditGrammarInformationActions(IMenuManager menu, Node node) {
- }
-
- protected void contributePIAndCommentActions(IMenuManager menu, Document document, int index) {
- }
-
- protected void contributePIAndCommentActions(IMenuManager menu, Element parentElement, CMElementDeclaration parentEd, int index) {
- }
-
- protected void contributeTextNodeActions(IMenuManager menu, Element parentElement, CMElementDeclaration parentEd, int index) {
- super.contributeTextNodeActions(menu, parentElement, parentEd, index);
- }
-
- protected Action createAddAttributeAction(Element parent, CMAttributeDeclaration ad) {
- Action action = null;
- if (ad == null) {
- action = new EditAttributeAction(this, parent, null, XMLUIMessages._UI_MENU_NEW_ATTRIBUTE, XMLUIMessages._UI_MENU_NEW_ATTRIBUTE_TITLE); //$NON-NLS-1$ //$NON-NLS-2$
- } else {
- action = new AddNodeAction(ad, parent, -1);
- }
-
- WrapperCommand command = new WrapperCommand(action, parent, ad);
- WrapperAction wrapperAction = new WrapperAction(command);
- return wrapperAction;
- }
-
- class WrapperAction extends Action
- {
- WrapperCommand command;
-
- public WrapperAction(WrapperCommand command)
- {
- super();
- this.command = command;
- }
-
- public String getText()
- {
- return command.getAction().getText();
- }
-
- public void run()
- {
- // Some editors may not use a command stack
- if (commandStack != null)
- {
- commandStack.execute(command);
- }
- else
- {
- command.execute();
- }
- }
- }
-
- class WrapperCommand extends Command
- {
- Action action;
- Element parent;
- CMAttributeDeclaration ad;
- public WrapperCommand(Action action, Element parent, CMAttributeDeclaration ad)
- {
- super();
- this.action = action;
- this.parent = parent;
- this.ad = ad;
- }
-
- public String getLabel()
- {
- return action.getText();
- }
-
- public Action getAction()
- {
- return action;
- }
-
- public void execute()
- {
- action.run();
- }
-
- public void undo() {
-
-// ((Element)parent).removeAttribute(ad.getAttrName());
-
- getModel().getUndoManager().undo();
-
- }
-
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDAttributeDeclarationSection.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDAttributeDeclarationSection.java
deleted file mode 100644
index a83f758f6c..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDAttributeDeclarationSection.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import org.apache.xerces.util.XMLChar;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-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.Event;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.xsd.ui.internal.common.commands.UpdateNameCommand;
-import org.eclipse.wst.xsd.ui.internal.editor.Messages;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class XSDAttributeDeclarationSection extends AbstractSection
-{
- protected Text nameText;
- protected Text typeCombo;
- protected Button button;
- boolean isAttributeReference;
-
- public XSDAttributeDeclarationSection()
- {
- super();
- }
-
- protected void createContents(Composite parent)
- {
- composite = getWidgetFactory().createFlatFormComposite(parent);
-
- String typeLabel = Messages.UI_LABEL_TYPE; //$NON-NLS-1$
-
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 3;
- composite.setLayout(gridLayout);
-
- // ------------------------------------------------------------------
- // NameLabel
- // ------------------------------------------------------------------
- GridData data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
- CLabel nameLabel = getWidgetFactory().createCLabel(composite, "Name:"); //$NON-NLS-1$
- nameLabel.setLayoutData(data);
-
- // ------------------------------------------------------------------
- // NameText
- // ------------------------------------------------------------------
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- nameText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
- nameText.setLayoutData(data);
- applyAllListeners(nameText);
-
- // ------------------------------------------------------------------
- // DummyLabel
- // ------------------------------------------------------------------
- data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
- getWidgetFactory().createCLabel(composite, ""); //$NON-NLS-1$
-
- // ------------------------------------------------------------------
- // typeLabel
- // ------------------------------------------------------------------
- getWidgetFactory().createCLabel(composite, typeLabel); //$NON-NLS-1$
-
- // ------------------------------------------------------------------
- // typeCombo
- // ------------------------------------------------------------------
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
-
- typeCombo = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
- typeCombo.setEditable(false);
- // baseTypeCombo.addListener(SWT.Modify, this);
- typeCombo.setLayoutData(data);
-
- // ------------------------------------------------------------------
- // BaseTypeButton
- // ------------------------------------------------------------------
- data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
-
- button = getWidgetFactory().createButton(composite, "", SWT.PUSH);
- button.setImage(XSDEditorPlugin.getXSDImage("icons/browsebutton.gif"));
- button.addSelectionListener(this);
- button.setLayoutData(data);
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- super.refresh();
-
- setListenerEnabled(false);
-
- // refresh name
-
- nameText.setText("");
- if (input instanceof XSDAttributeDeclaration)
- {
- XSDAttributeDeclaration namedComponent = ((XSDAttributeDeclaration) input).getResolvedAttributeDeclaration();
-
- String name = namedComponent.getName();
- if (name != null)
- {
- nameText.setText(name);
- }
- }
-
- // refresh type
-
- typeCombo.setText(""); //$NON-NLS-1$
- if (input != null)
- {
- if (input instanceof XSDAttributeDeclaration)
- {
- XSDAttributeDeclaration xsdAttribute = ((XSDAttributeDeclaration) input).getResolvedAttributeDeclaration();
- isAttributeReference = ((XSDAttributeDeclaration)input).isAttributeDeclarationReference();
- XSDTypeDefinition typeDef = xsdAttribute.getTypeDefinition();
- boolean isAnonymous = xsdAttribute.getAnonymousTypeDefinition() != null;
-
- if (isAnonymous)
- {
- typeCombo.setText("**anonymous**"); //$NON-NLS-1$
- }
- else
- {
- String typeName = ""; //$NON-NLS-1$
- if (typeDef != null)
- {
- typeName = typeDef.getQName(xsdSchema);
- if (typeName == null)
- {
- typeName = ""; //$NON-NLS-1$
- }
- typeCombo.setText(typeName);
- }
- else
- {
- typeCombo.setText(Messages.UI_NO_TYPE); //$NON-NLS-1$
- }
- }
- }
- }
-
- setListenerEnabled(true);
- }
-
- public boolean shouldUseExtraSpace()
- {
- return false;
- }
-
- protected void doHandleEvent(Event event)
- {
- super.doHandleEvent(event);
- if (event.widget == nameText)
- {
- if (!nameText.getEditable())
- return;
-
- String newValue = nameText.getText().trim();
- if (input instanceof XSDAttributeDeclaration)
- {
- XSDAttributeDeclaration namedComponent = ((XSDAttributeDeclaration) input).getResolvedAttributeDeclaration();
-
- if (!validateSection())
- return;
-
- Command command = null;
-
- // Make sure an actual name change has taken place
- String oldName = namedComponent.getName();
- if (!newValue.equals(oldName))
- {
- command = new UpdateNameCommand("Rename", namedComponent, newValue);
- }
-
- if (command != null && getCommandStack() != null)
- {
- getCommandStack().execute(command);
- }
-
- if (isAttributeReference)
- {
- XSDAttributeDeclaration attrRef = (XSDAttributeDeclaration)input;
- String qname = attrRef.getResolvedAttributeDeclaration().getQName();
- attrRef.getElement().setAttribute(XSDConstants.REF_ATTRIBUTE, qname);
-
-// TypesHelper helper = new TypesHelper(xsdSchema);
-// List items = new ArrayList();
-// items = helper.getGlobalElements();
-// items.add(0, "");
-// componentNameCombo.setItems((String [])items.toArray(new String[0]));
-//
-// refreshRefCombo();
- }
-
- }
- }
- }
-
- protected boolean validateSection()
- {
- if (nameText == null || nameText.isDisposed())
- return true;
-
- setErrorMessage(null);
-
- String name = nameText.getText().trim();
-
- // validate against NCName
- if (name.length() < 1 || !XMLChar.isValidNCName(name))
- {
- setErrorMessage("Error Invalid Name");
- return false;
- }
-
- return true;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDAttributeGroupDefinitionSection.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDAttributeGroupDefinitionSection.java
deleted file mode 100644
index 1d9ba905bf..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDAttributeGroupDefinitionSection.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class XSDAttributeGroupDefinitionSection extends AbstractSection
-{
- protected CCombo refCombo;
-
- public XSDAttributeGroupDefinitionSection()
- {
- super();
- }
-
- protected void createContents(Composite parent)
- {
- composite = getWidgetFactory().createFlatFormComposite(parent);
-
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 2;
- composite.setLayout(gridLayout);
-
- // ------------------------------------------------------------------
- // Ref Label
- // ------------------------------------------------------------------
- GridData data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
- CLabel refLabel = getWidgetFactory().createCLabel(composite, XSDConstants.REF_ATTRIBUTE + ":"); //$NON-NLS-1$
- refLabel.setLayoutData(data);
-
- // ------------------------------------------------------------------
- // Ref Combo
- // ------------------------------------------------------------------
-
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
-
- refCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
- refCombo.addSelectionListener(this);
- refCombo.setLayoutData(data);
- }
-
- public void refresh()
- {
- super.refresh();
-
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
-
- setListenerEnabled(false);
-
- if (input instanceof XSDNamedComponent)
- {
- XSDNamedComponent namedComponent = (XSDNamedComponent)input;
- Element element = namedComponent.getElement();
- if (element != null)
- {
- String attrValue = element.getAttribute(XSDConstants.REF_ATTRIBUTE);
- if (attrValue == null)
- {
- attrValue = "";
- }
- refCombo.setText(attrValue);
- }
- }
-
- setListenerEnabled(true);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDComplexTypeSection.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDComplexTypeSection.java
deleted file mode 100644
index d7229635d5..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDComplexTypeSection.java
+++ /dev/null
@@ -1,360 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import org.apache.xerces.util.XMLChar;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-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.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.xsd.ui.internal.common.commands.UpdateNameCommand;
-import org.eclipse.wst.xsd.ui.internal.editor.Messages;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDDerivationMethod;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class XSDComplexTypeSection extends AbstractSection implements SelectionListener
-{
- protected Text nameText;
- protected Text baseTypeCombo;
- protected CCombo derivedByCombo;
- protected Button button;
- private String derivedByChoicesComboValues[] = { "", XSDConstants.RESTRICTION_ELEMENT_TAG, XSDConstants.EXTENSION_ELEMENT_TAG };
-
- public XSDComplexTypeSection()
- {
- super();
- }
-
- /**
- * Contents of the property tab
- *
- * NameLabel NameText DummyLabel BaseTypeLabel BaseTypeCombo BaseTypeButton
- * DerivedByLabel DerivedByCombo
- */
- public void createContents(Composite parent)
- {
- composite = getWidgetFactory().createFlatFormComposite(parent);
-
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 3;
- composite.setLayout(gridLayout);
-
- // ------------------------------------------------------------------
- // NameLabel
- // ------------------------------------------------------------------
- GridData data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
- CLabel nameLabel = getWidgetFactory().createCLabel(composite, "Name:"); //$NON-NLS-1$
- nameLabel.setLayoutData(data);
-
- // ------------------------------------------------------------------
- // NameText
- // ------------------------------------------------------------------
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- nameText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
- nameText.setLayoutData(data);
- applyAllListeners(nameText);
-
- // ------------------------------------------------------------------
- // DummyLabel
- // ------------------------------------------------------------------
- data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
- getWidgetFactory().createCLabel(composite, ""); //$NON-NLS-1$
-
- // ------------------------------------------------------------------
- // BaseTypeLabel
- // ------------------------------------------------------------------
-
- getWidgetFactory().createCLabel(composite, Messages.UI_LABEL_INHERIT_FROM); //$NON-NLS-1$
-
- // ------------------------------------------------------------------
- // BaseTypeCombo
- // ------------------------------------------------------------------
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
-
- baseTypeCombo = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
- baseTypeCombo.setEditable(false);
- // baseTypeCombo.addListener(SWT.Modify, this);
- baseTypeCombo.setLayoutData(data);
-
- // ------------------------------------------------------------------
- // BaseTypeButton
- // ------------------------------------------------------------------
- data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
-
- button = getWidgetFactory().createButton(composite, "", SWT.PUSH);
- button.setImage(XSDEditorPlugin.getXSDImage("icons/browsebutton.gif"));
- button.addSelectionListener(this);
- button.setLayoutData(data);
-
- // ------------------------------------------------------------------
- // DerivedByLabel
- // ------------------------------------------------------------------
- data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
-
- CLabel derivedByLabel = getWidgetFactory().createCLabel(composite, Messages.UI_LABEL_INHERIT_BY); //$NON-NLS-1$
- derivedByLabel.setLayoutData(data);
-
- // ------------------------------------------------------------------
- // DerivedByCombo
- // ------------------------------------------------------------------
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
-
- derivedByCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
- derivedByCombo.setLayoutData(data);
- derivedByCombo.setItems(derivedByChoicesComboValues);
- // derivedByCombo.addSelectionListener(this);
-
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- super.refresh();
- if (Display.getCurrent() == null)
- return;
-
- setListenerEnabled(false);
-
- try
- {
- nameText.setText("");
- baseTypeCombo.setText(""); //$NON-NLS-1$
-
- if (input instanceof XSDComplexTypeDefinition)
- {
- XSDComplexTypeDefinition complexType = (XSDComplexTypeDefinition) input;
- String name = complexType.getName();
- if (name == null)
- name = "";
-
- boolean isAnonymousType = name.equals("") ? true : false;
- if (isAnonymousType)
- {
- nameText.setText("**anonymous**"); //$NON-NLS-1$
- nameText.setEditable(false);
- }
- else
- {
- nameText.setText(name);
- nameText.setEditable(true);
- }
-
- XSDTypeDefinition baseTypeDefinition = complexType.getBaseTypeDefinition();
- String baseType = ""; //$NON-NLS-1$
- if (baseTypeDefinition != null)
- {
- baseType = baseTypeDefinition.getName();
- if (baseType == null)
- {
- baseType = "";
- }
- }
- baseTypeCombo.setText(baseType);
-
- derivedByCombo.setText(""); //$NON-NLS-1$
- int derivationMethod = complexType.getDerivationMethod().getValue();
- if (derivationMethod == XSDDerivationMethod.EXTENSION)
- {
- derivedByCombo.setText(XSDConstants.EXTENSION_ELEMENT_TAG);
- }
- else if (derivationMethod == XSDDerivationMethod.RESTRICTION)
- {
- derivedByCombo.setText(XSDConstants.RESTRICTION_ELEMENT_TAG);
- }
- }
-
- }
- finally
- {
- setListenerEnabled(true);
- }
- }
-
- /**
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(SelectionEvent)
- */
- public void widgetSelected(SelectionEvent e)
- {
-// XSDComplexTypeDefinition xsdComplexType = (XSDComplexTypeDefinition) input;
-// Element ctElement = xsdComplexType.getElement();
- if (e.widget == button)
- {
-// Shell shell = Display.getCurrent().getActiveShell();
-// Element element = null;
-// if (xsdComplexType.getContent() != null)
-// {
-// element = xsdComplexType.getContent().getElement();
-// }
-
- // SimpleContentBaseTypeOptionsDialog dialog = new
- // SimpleContentBaseTypeOptionsDialog(shell, element, BASE_TYPE_ID,
- // xsdComplexType.getSchema());
- // dialog.setBlockOnOpen(true);
- // dialog.create();
- // int result = dialog.open();
-
-// IFile currentIFile = ((IFileEditorInput) getActiveEditor().getEditorInput()).getFile();
-
-// XSDSchema schema = xsdComplexType.getSchema();
-
- // issuec (cs) need to move the common.ui's selection dialog
- /*
- XSDComponentSelectionProvider provider = new XSDComponentSelectionProvider(currentIFile, schema);
- XSDComponentSelectionDialog dialog = new XSDComponentSelectionDialog(shell, Messages.UI_LABEL_SET_TYPE, provider);
- provider.setDialog(dialog);
- dialog.setBlockOnOpen(true);
- dialog.create();
- int result = dialog.open();
-
- if (result == Window.OK)
- {
- XMLComponentSpecification spec = dialog.getSelection();
- XSDSetTypeHelper helper = new XSDSetTypeHelper(currentIFile, schema);
- helper.addImportIfNecessary(element, spec);
-
- String typeString = helper.getPrefixedTypeName(spec);
-
- String derivedBy = "";
- int derivationMethod = xsdComplexType.getDerivationMethod().getValue();
- if (derivationMethod == XSDDerivationMethod.EXTENSION)
- {
- derivedBy = XSDConstants.EXTENSION_ELEMENT_TAG;
- }
- else if (derivationMethod == XSDDerivationMethod.RESTRICTION)
- {
- derivedBy = XSDConstants.RESTRICTION_ELEMENT_TAG;
- }
-
- SetBaseTypeAction setBaseTypeAction = new SetBaseTypeAction("_UI_LABEL_SET_BASE_TYPE"); //$NON-NLS-1$
- setBaseTypeAction.setXSDSchema(xsdSchema);
- setBaseTypeAction.setComplexTypeElement(ctElement);
- setBaseTypeAction.setType(typeString);
- setBaseTypeAction.setDerivedBy(derivedBy);
- setBaseTypeAction.performAction();
-
- }
- refresh();
- // }
- // else if (e.widget == derivedByCombo)
- // {
- // Element contentModelElement =
- // getDomHelper().getContentModelFromParent(ctElement);
- // String baseType = getDomHelper().getBaseType(contentModelElement);
- // beginRecording(XSDEditorPlugin.getXSDString("_UI_DERIVEDBY_CHANGE"),
- // ctElement); //$NON-NLS-1$
- // if (contentModelElement != null)
- // {
- // getDomHelper().changeDerivedByType(contentModelElement,
- // derivedByCombo.getText(), baseType);
- // }
- // endRecording(ctElement);
- */
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.ISection#shouldUseExtraSpace()
- */
- public boolean shouldUseExtraSpace()
- {
- return false;
- }
-
- public void dispose()
- {
- super.dispose();
- }
-
- public void doHandleEvent(Event event)
- {
- super.doHandleEvent(event);
- if (event.widget == nameText)
- {
- if (!nameText.getEditable())
- return;
-
- String newValue = nameText.getText().trim();
- if (input instanceof XSDNamedComponent)
- {
- XSDNamedComponent namedComponent = (XSDNamedComponent) input;
-
- if (!validateSection())
- return;
-
- Command command = null;
-
- // Make sure an actual name change has taken place
- String oldName = namedComponent.getName();
- if (!newValue.equals(oldName))
- {
- command = new UpdateNameCommand("Rename", namedComponent, newValue);
- }
-
- if (command != null && getCommandStack() != null)
- {
- getCommandStack().execute(command);
- }
- // doReferentialIntegrityCheck(namedComponent, newValue);
- }
- }
- }
-
- protected boolean validateSection()
- {
- if (nameText == null || nameText.isDisposed())
- return true;
-
- setErrorMessage(null);
-
- String name = nameText.getText().trim();
-
- // validate against NCName
- if (name.length() < 1 || !XMLChar.isValidNCName(name))
- {
- setErrorMessage("Error Invalid Name");
- return false;
- }
-
- return true;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDElementDeclarationSection.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDElementDeclarationSection.java
deleted file mode 100644
index 98b263a96e..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDElementDeclarationSection.java
+++ /dev/null
@@ -1,551 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.xerces.util.XMLChar;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-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.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.common.ui.internal.search.dialogs.ComponentSearchListDialog;
-import org.eclipse.wst.common.ui.internal.search.dialogs.ComponentSearchListDialogConfiguration;
-import org.eclipse.wst.common.ui.internal.search.dialogs.ComponentSpecification;
-import org.eclipse.wst.common.ui.internal.search.dialogs.ScopedComponentSearchListDialog;
-import org.eclipse.wst.xsd.ui.internal.common.commands.UpdateMaxOccursCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.UpdateMinOccursCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.UpdateNameCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.UpdateTypeReferenceCommand;
-import org.eclipse.wst.xsd.ui.internal.dialogs.NewTypeButtonHandler;
-import org.eclipse.wst.xsd.ui.internal.editor.Messages;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.editor.search.XSDComponentDescriptionProvider;
-import org.eclipse.wst.xsd.ui.internal.editor.search.XSDTypesSearchListProvider;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class XSDElementDeclarationSection extends MultiplicitySection
-{
- protected Text nameText;
- protected Text typeCombo;
- protected Button typesBrowseButton;
- protected CCombo componentNameCombo;
- boolean isElementReference;
-
- private XSDTypeDefinition typeDefinition;
-
- public XSDElementDeclarationSection()
- {
- super();
- }
-
- /**
- * Contents of the property tab
- */
- public void createContents(Composite parent)
- {
- composite = getWidgetFactory().createFlatFormComposite(parent);
- TabbedPropertySheetWidgetFactory factory = getWidgetFactory();
-
- String typeLabel = Messages.UI_LABEL_TYPE; //$NON-NLS-1$
-
- GridData data = new GridData();
-
- GridLayout gridLayout = new GridLayout();
- gridLayout.marginTop = 0;
- gridLayout.marginBottom = 0;
- gridLayout.numColumns = 3;
- composite.setLayout(gridLayout);
-
- // ------------------------------------------------------------------
- // NameLabel
- // ------------------------------------------------------------------
-
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
- CLabel nameLabel = factory.createCLabel(composite, "Name:");
- nameLabel.setLayoutData(data);
-
- // ------------------------------------------------------------------
- // NameText
- // ------------------------------------------------------------------
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- nameText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
- nameText.setLayoutData(data);
- applyAllListeners(nameText);
-
- // ------------------------------------------------------------------
- // DummyLabel
- // ------------------------------------------------------------------
- data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
- getWidgetFactory().createCLabel(composite, ""); //$NON-NLS-1$
-
- // ------------------------------------------------------------------
- // Ref Label
- // ------------------------------------------------------------------
- if (isElementReference)
- {
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
- CLabel refLabel = getWidgetFactory().createCLabel(composite, "Reference:");
- refLabel.setLayoutData(data);
-
- // ------------------------------------------------------------------
- // Ref Combo
- // ------------------------------------------------------------------
-
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
-
- componentNameCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
- componentNameCombo.addSelectionListener(this);
- componentNameCombo.setLayoutData(data);
-
- data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
-
- getWidgetFactory().createCLabel(composite, ""); //$NON-NLS-1$
- }
-
- // ------------------------------------------------------------------
- // typeLabel
- // ------------------------------------------------------------------
- getWidgetFactory().createCLabel(composite, typeLabel);
-
- // ------------------------------------------------------------------
- // typeCombo
- // ------------------------------------------------------------------
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
-
- typeCombo = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
- typeCombo.setEditable(false);
- typeCombo.setLayoutData(data);
-
- // ------------------------------------------------------------------
- // BaseTypeButton
- // ------------------------------------------------------------------
- data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
-
- typesBrowseButton = getWidgetFactory().createButton(composite, "", SWT.PUSH);
- typesBrowseButton.setImage(XSDEditorPlugin.getXSDImage("icons/browsebutton.gif"));
- typesBrowseButton.addSelectionListener(this);
- typesBrowseButton.setLayoutData(data);
-
- // ------------------------------------------------------------------
- // min/max button modifiers
- // ------------------------------------------------------------------
-
- data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
-
- getWidgetFactory().createCLabel(composite, ""); //$NON-NLS-1$
-
- Composite modifierComposite = getWidgetFactory().createComposite(composite, SWT.FLAT);
- GridLayout gridLayout2 = new GridLayout();
- gridLayout2.marginLeft = 0;
- gridLayout2.marginRight = 0;
- gridLayout2.marginTop = 0;
- gridLayout2.marginBottom = 0;
- gridLayout2.numColumns = 2;
- modifierComposite.setLayout(gridLayout2);
- modifierComposite.setLayoutData(data);
- requiredButton = getWidgetFactory().createButton(modifierComposite, "Required", SWT.CHECK | SWT.FLAT); //$NON-NLS-1$
- requiredButton.addSelectionListener(this);
-
- listButton = getWidgetFactory().createButton(modifierComposite, "Array", SWT.CHECK | SWT.FLAT); //$NON-NLS-1$
- listButton.addSelectionListener(this);
-
- getWidgetFactory().createCLabel(composite, ""); //$NON-NLS-1$
-
- // ------------------------------------------------------------------
- // min property
- // ------------------------------------------------------------------
-
- getWidgetFactory().createCLabel(composite, Messages.UI_LABEL_MINOCCURS);
-
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
-
- minCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
- minCombo.setLayoutData(data);
- minCombo.add("0"); //$NON-NLS-1$
- minCombo.add("1"); //$NON-NLS-1$
- applyModifyListeners(minCombo);
- minCombo.addSelectionListener(this);
-
- // ------------------------------------------------------------------
- // DummyLabel
- // ------------------------------------------------------------------
- data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
- getWidgetFactory().createCLabel(composite, ""); //$NON-NLS-1$
-
- // ------------------------------------------------------------------
- // max property
- // ------------------------------------------------------------------
- getWidgetFactory().createCLabel(composite, Messages.UI_LABEL_MAXOCCURS);
-
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
-
- maxCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
- maxCombo.setLayoutData(data);
- maxCombo.add("0"); //$NON-NLS-1$
- maxCombo.add("1"); //$NON-NLS-1$
- maxCombo.add("unbounded"); //$NON-NLS-1$
- applyModifyListeners(maxCombo);
- maxCombo.addSelectionListener(this);
- }
-
- public void setInput(IWorkbenchPart part, ISelection selection)
- {
- super.setInput(part, selection);
- setListenerEnabled(false);
- init();
- relayout();
-
- if (isElementReference)
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- List items = new ArrayList();
- items = helper.getGlobalElements();
- items.add(0, "");
- componentNameCombo.setItems((String [])items.toArray(new String[0]));
- }
- setListenerEnabled(true);
- }
-
- protected void init()
- {
- if (input instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration xsdElementDeclaration = (XSDElementDeclaration) input;
- isElementReference = xsdElementDeclaration.isElementDeclarationReference();
-
- typeDefinition = xsdElementDeclaration.getResolvedElementDeclaration().getTypeDefinition();
- }
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- super.refresh();
-
- setListenerEnabled(false);
-
- XSDElementDeclaration xsdElementDeclaration = ((XSDElementDeclaration) input).getResolvedElementDeclaration();
-
- // refresh name
- nameText.setText("");
- typeCombo.setText(""); //$NON-NLS-1$
- typesBrowseButton.setEnabled(true);
- String name = xsdElementDeclaration.getName();
- if (name != null)
- {
- nameText.setText(name);
- }
-
- if (isElementReference)
- {
- refreshRefCombo();
- }
-
- // refresh type
- if (input != null)
- {
- if (input instanceof XSDElementDeclaration)
- {
- boolean isAnonymous = xsdElementDeclaration.getAnonymousTypeDefinition() != null;
- //XSDTypeDefinition typeDef = XSDUtils.getResolvedType(xsdElementDeclaration);
- XSDTypeDefinition typeDef = xsdElementDeclaration.getResolvedElementDeclaration().getTypeDefinition();
-
- String typeName = ""; //$NON-NLS-1$
- if (typeDef != null)
- typeName = typeDef.getQName(xsdSchema);
-
- if (typeName == null)
- {
- typeName = ""; //$NON-NLS-1$
- }
-
- if (isAnonymous)
- {
- typeCombo.setText("**anonymous**"); //$NON-NLS-1$
- }
- else
- {
- if (typeDefinition != null)
- {
- typeCombo.setText(typeName);
- }
- else
- {
- typeCombo.setText(Messages.UI_NO_TYPE); //$NON-NLS-1$
- }
- }
- }
- }
-
- // refresh min max
- refreshMinMax();
-
- setListenerEnabled(true);
-
- }
-
- public boolean shouldUseExtraSpace()
- {
- return false;
- }
-
- public void doWidgetSelected(SelectionEvent e)
- {
- if (e.widget == typesBrowseButton)
- {
- Shell shell = Display.getCurrent().getActiveShell();
- IFile currentIFile = ((IFileEditorInput) getActiveEditor().getEditorInput()).getFile();
-
- /** Initialize the Set types Dialog */
- final XSDTypesSearchListProvider searchListProvider =
- new XSDTypesSearchListProvider(currentIFile, new XSDSchema[] {xsdSchema} );
- ComponentSearchListDialogConfiguration configuration = new ComponentSearchListDialogConfiguration();
- configuration.setDescriptionProvider(new XSDComponentDescriptionProvider() );
- configuration.setSearchListProvider(searchListProvider);
- configuration.setNewComponentHandler(new NewTypeButtonHandler());
- ComponentSearchListDialog dialog = new ScopedComponentSearchListDialog(shell, XSDEditorPlugin.getXSDString("_UI_LABEL_SET_TYPE"), configuration);
- //dialog.setFilterLabel("Text:");
-
- if (input instanceof XSDAttributeDeclaration)
- {
- searchListProvider.showComplexTypes(false);
- }
-
- dialog.setBlockOnOpen(true);
- dialog.create();
-
- if (dialog.open() == Window.OK)
- {
- //String newType = (String) dialog.getSelection().getAttributeInfo("name");
- //String nsType = (String) dialog.getSelection().getTargetNamespace();
-
- ComponentSpecification selection = dialog.getSelectedComponent();
- String newType = selection.getName();
- String namespace = selection.getQualifier();
-
- UpdateTypeReferenceCommand command = new UpdateTypeReferenceCommand((XSDElementDeclaration) input, xsdSchema.resolveTypeDefinition(namespace, newType));
- getCommandStack().execute(command);
-
- init();
- relayout();
- }
- }
- else if (e.widget == listButton)
- {
- int maxOccurs = (listButton.getSelection() ? XSDParticle.UNBOUNDED : 1);
- if (input instanceof XSDElementDeclaration)
- {
- XSDParticle particle = (XSDParticle) ((XSDElementDeclaration) input).eContainer();
- UpdateMaxOccursCommand command = new UpdateMaxOccursCommand("Update Maximum Occurence", particle, maxOccurs);
- getCommandStack().execute(command);
- if (maxOccurs == -1)
- maxCombo.setText("*");
- else
- maxCombo.setText("");
- }
- }
- else if (e.widget == requiredButton)
- {
- int minOccurs = requiredButton.getSelection() ? 1 : 0;
- if (input instanceof XSDElementDeclaration)
- {
- XSDParticle particle = (XSDParticle) ((XSDElementDeclaration) input).eContainer();
- UpdateMinOccursCommand command = new UpdateMinOccursCommand("Update Minimum Occurrence", particle, minOccurs);
- getCommandStack().execute(command);
- }
- minCombo.setText("" + minOccurs);
- }
- else if (e.widget == componentNameCombo)
- {
- String newValue = componentNameCombo.getText();
- String newName = newValue.substring(newValue.indexOf(":") + 1);
- if (isElementReference)
- {
- XSDElementDeclaration elementRef = (XSDElementDeclaration)input;
- elementRef.getElement().setAttribute(XSDConstants.REF_ATTRIBUTE, newValue);
- nameText.setText(newName);
- //refresh();
- }
-
- }
- else if (e.widget == maxCombo)
- {
- updateMaxAttribute();
- }
- else if (e.widget == minCombo)
- {
- updateMinAttribute();
- }
-
- }
-
- protected void relayout()
- {
- Composite parentComposite = composite.getParent();
- parentComposite.getParent().setRedraw(false);
-
- if (parentComposite != null && !parentComposite.isDisposed())
- {
- Control[] children = parentComposite.getChildren();
- for (int i = 0; i < children.length; i++)
- {
- children[i].dispose();
- }
- }
-
- // Now initialize the new handler
- createContents(parentComposite);
- parentComposite.getParent().layout(true, true);
-
- // Now turn painting back on
- parentComposite.getParent().setRedraw(true);
- refresh();
- }
-
- public void doHandleEvent(Event event)
- {
- super.doHandleEvent(event);
- if (event.widget == nameText)
- {
- String newValue = nameText.getText().trim();
- if (input instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration namedComponent = ((XSDElementDeclaration) input).getResolvedElementDeclaration();
- if (!validateSection())
- return;
-
- Command command = null;
-
- // Make sure an actual name change has taken place
- String oldName = namedComponent.getName();
- if (!newValue.equals(oldName))
- {
- command = new UpdateNameCommand("Rename", namedComponent, newValue);
- }
-
- if (command != null && getCommandStack() != null)
- {
- getCommandStack().execute(command);
- }
-
- // doReferentialIntegrityCheck(namedComponent, newValue);
- }
- }
- else if (event.widget == minCombo)
- {
- requiredButton.setSelection(isRequired);
- }
-
- }
-
- protected boolean validateSection()
- {
- if (nameText == null || nameText.isDisposed())
- return true;
-
- setErrorMessage(null);
-
- String name = nameText.getText().trim();
-
- // validate against NCName
- if (name.length() < 1 || !XMLChar.isValidNCName(name))
- {
- setErrorMessage("Invalid name");
- return false;
- }
-
- return true;
- }
-
- public void dispose()
- {
- if (typesBrowseButton != null && !typesBrowseButton.isDisposed())
- typesBrowseButton.removeSelectionListener(this);
- if (componentNameCombo != null && !componentNameCombo.isDisposed())
- componentNameCombo.removeSelectionListener(this);
- if (minCombo != null && !minCombo.isDisposed())
- minCombo.removeSelectionListener(this);
- if (maxCombo != null && !maxCombo.isDisposed())
- maxCombo.removeSelectionListener(this);
- if (requiredButton != null && !requiredButton.isDisposed())
- requiredButton.removeSelectionListener(this);
- if (listButton != null && !listButton.isDisposed())
- listButton.removeSelectionListener(this);
- super.dispose();
- }
-
- protected void refreshRefCombo()
- {
- componentNameCombo.setText("");
- typesBrowseButton.setEnabled(false);
-
- XSDElementDeclaration namedComponent = (XSDElementDeclaration) input;
- Element element = namedComponent.getElement();
- if (element != null)
- {
- String attrValue = element.getAttribute(XSDConstants.REF_ATTRIBUTE);
- if (attrValue == null)
- {
- attrValue = "";
- }
- componentNameCombo.setText(attrValue);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDFacetSection.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDFacetSection.java
deleted file mode 100644
index 823f1c53c0..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDFacetSection.java
+++ /dev/null
@@ -1,912 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.commands.CompoundCommand;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-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.Event;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.common.commands.ChangeToLocalSimpleTypeCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.UpdateNumericBoundsFacetCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.UpdateStringLengthFacetCommand;
-import org.eclipse.wst.xsd.ui.internal.common.commands.UpdateXSDWhiteSpaceFacetCommand;
-import org.eclipse.wst.xsd.ui.internal.common.util.XSDCommonUIUtils;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDFeature;
-import org.eclipse.xsd.XSDLengthFacet;
-import org.eclipse.xsd.XSDMaxExclusiveFacet;
-import org.eclipse.xsd.XSDMaxFacet;
-import org.eclipse.xsd.XSDMaxInclusiveFacet;
-import org.eclipse.xsd.XSDMaxLengthFacet;
-import org.eclipse.xsd.XSDMinExclusiveFacet;
-import org.eclipse.xsd.XSDMinFacet;
-import org.eclipse.xsd.XSDMinInclusiveFacet;
-import org.eclipse.xsd.XSDMinLengthFacet;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.XSDWhiteSpace;
-import org.eclipse.xsd.XSDWhiteSpaceFacet;
-import org.eclipse.xsd.util.XSDConstants;
-
-public class XSDFacetSection extends AbstractSection
-{
- private String minLengthString, maxLengthString, titleString;
- Font titleFont;
- CLabel title;
- Label minLengthLabel;
- Text minLengthText;
- Label maxLengthLabel;
- Text maxLengthText;
- Group simpleTypeModifierGroup;
- String simpleTypeModifierGroupTitle = "";
- Button collapseWhitespaceButton;
- Button useEnumerationsButton, usePatternsButton;
- Button minimumInclusiveCheckbox;
- Button maximumInclusiveCheckbox;
- boolean isNumericBaseType;
- private XSDTypeDefinition typeDefinition;
- private XSDSimpleTypeDefinition xsdSimpleTypeDefinition;
- private XSDElementDeclaration xsdElementDeclaration;
- private XSDAttributeDeclaration xsdAttributeDeclaration;
- private XSDFeature xsdFeature;
- boolean hasMaxMinFacets;
-
- SpecificConstraintsWidget constraintsWidget;
-
- public XSDFacetSection()
- {
- super();
- }
-
- protected void createContents(Composite parent)
- {
- TabbedPropertySheetWidgetFactory factory = getWidgetFactory();
- composite = factory.createFlatFormComposite(parent);
-
- GridLayout gridLayout = new GridLayout();
- gridLayout.marginTop = 0;
- gridLayout.marginBottom = 0;
- gridLayout.numColumns = 1;
- composite.setLayout(gridLayout);
-
- title = factory.createCLabel(composite, ""); //$NON-NLS-1$
- FontData fontData = composite.getFont().getFontData()[0];
- int height = fontData.getHeight();
- fontData.setHeight(height + 2);
- fontData.setStyle(SWT.BOLD);
- titleFont = new Font(null, fontData);
- title.setFont(titleFont);
- title.setText(titleString + (isReadOnly ? " - ReadOnly" : ""));
-
- Composite facetComposite = factory.createComposite(composite, SWT.FLAT);
-
- GridData data = new GridData();
- gridLayout = new GridLayout();
- gridLayout.marginTop = 0;
- gridLayout.marginBottom = 0;
- gridLayout.numColumns = 2;
- facetComposite.setLayout(gridLayout);
- data.grabExcessVerticalSpace = true;
- data.grabExcessHorizontalSpace = true;
- data.verticalAlignment = GridData.FILL;
- data.horizontalAlignment = GridData.FILL;
- facetComposite.setLayoutData(data);
-
- data = new GridData();
- data.grabExcessVerticalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- data.verticalAlignment = GridData.FILL;
-
- simpleTypeModifierGroup = getWidgetFactory().createGroup(facetComposite, simpleTypeModifierGroupTitle);
- GridLayout groupGrid = new GridLayout();
- groupGrid.marginTop = 0;
- groupGrid.marginBottom = 0;
- groupGrid.numColumns = 1;
- simpleTypeModifierGroup.setLayoutData(data);
- simpleTypeModifierGroup.setLayout(groupGrid);
-
- Composite simpleTypeModifierComposite = getWidgetFactory().createFlatFormComposite(simpleTypeModifierGroup);
- data = new GridData();
- data.grabExcessVerticalSpace = true;
- data.verticalAlignment = GridData.FILL;
- data.horizontalAlignment = GridData.FILL;
-
- GridLayout grid = new GridLayout();
- grid.marginTop = 0;
- grid.marginBottom = 0;
- grid.numColumns = 3;
- simpleTypeModifierComposite.setLayout(grid);
- simpleTypeModifierComposite.setLayoutData(data);
- if (hasMaxMinFacets)
- {
- minLengthLabel = factory.createLabel(simpleTypeModifierComposite, minLengthString);
- minLengthText = factory.createText(simpleTypeModifierComposite, "");
- applyAllListeners(minLengthText);
-
- GridData minGridData = new GridData();
- minGridData.widthHint = 100;
- minLengthText.setLayoutData(minGridData);
- minimumInclusiveCheckbox = factory.createButton(simpleTypeModifierComposite, "Inclusive", SWT.CHECK);
- minimumInclusiveCheckbox.addSelectionListener(this);
-
- maxLengthLabel = factory.createLabel(simpleTypeModifierComposite, maxLengthString);
- maxLengthText = factory.createText(simpleTypeModifierComposite, "");
- applyAllListeners(maxLengthText);
-
- GridData maxGridData = new GridData();
- maxGridData.widthHint = 100;
- maxLengthText.setLayoutData(maxGridData);
-
- maximumInclusiveCheckbox = factory.createButton(simpleTypeModifierComposite, "Inclusive", SWT.CHECK);
- maximumInclusiveCheckbox.addSelectionListener(this);
-
- minimumInclusiveCheckbox.setVisible(isNumericBaseType);
- maximumInclusiveCheckbox.setVisible(isNumericBaseType);
- }
- collapseWhitespaceButton = factory.createButton(simpleTypeModifierComposite, "Collapse whitespace", SWT.CHECK);
- collapseWhitespaceButton.addSelectionListener(this);
-
- Group specificValueConstraintsGroup = factory.createGroup(facetComposite, "Specific constraint values");
- gridLayout = new GridLayout();
- gridLayout.marginTop = 0;
- gridLayout.marginBottom = 0;
- gridLayout.numColumns = 2;
- specificValueConstraintsGroup.setLayout(gridLayout);
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.grabExcessVerticalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- data.verticalAlignment = GridData.FILL;
- specificValueConstraintsGroup.setLayoutData(data);
-
- Composite compositeForButtons = factory.createFlatFormComposite(specificValueConstraintsGroup);
- gridLayout = new GridLayout();
- gridLayout.marginTop = 0;
- gridLayout.verticalSpacing = 1;
- gridLayout.marginBottom = 0;
- gridLayout.numColumns = 1;
- compositeForButtons.setLayout(gridLayout);
- data = new GridData();
- data.verticalAlignment = GridData.BEGINNING;
- compositeForButtons.setLayoutData(data);
-
- factory.createCLabel(compositeForButtons, "Restrict values by:");
-// useDefinedValuesButton = factory.createButton(compositeForButtons, "Only permit certain values", SWT.CHECK);
-// useDefinedValuesButton.addSelectionListener(this);
-
- Composite compositeForRadioButtons = factory.createFlatFormComposite(compositeForButtons);
- gridLayout = new GridLayout();
- gridLayout.marginTop = 0;
- gridLayout.marginLeft = 0;
- gridLayout.marginBottom = 0;
- gridLayout.numColumns = 1;
- compositeForRadioButtons.setLayout(gridLayout);
- useEnumerationsButton = factory.createButton(compositeForRadioButtons, "Enumerations", SWT.RADIO);
- useEnumerationsButton.addSelectionListener(this);
- usePatternsButton = factory.createButton(compositeForRadioButtons, "Patterns", SWT.RADIO);
- usePatternsButton.addSelectionListener(this);
-
- constraintsWidget = new SpecificConstraintsWidget(specificValueConstraintsGroup, factory, (input instanceof XSDFeature) ? (XSDFeature)input : null, xsdSimpleTypeDefinition, this);
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.grabExcessVerticalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- data.verticalAlignment = GridData.FILL;
- constraintsWidget.getControl().setLayoutData(data);
- }
-
- public void doSetInput()
- {
- setInput(getPart(), getSelection());
- }
-
- public void setInput(IWorkbenchPart part, ISelection selection)
- {
- super.setInput(part, selection);
- init();
-
- XSDSchema schemaOfType = null;
-
- if (!isReadOnly)
- {
- schemaOfType = xsdSimpleTypeDefinition.getSchema();
- }
- if (schemaOfType == owningEditor.getAdapter(XSDSchema.class))
- {
- isReadOnly = false;
- }
- else
- {
- if (!XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001.equals(xsdSimpleTypeDefinition.getTargetNamespace()))
- isReadOnly = true;
- }
- if (hasMaxMinFacets)
- {
- title.setText(titleString + (isReadOnly ? " - ReadOnly" : ""));
- }
- relayout();
- constraintsWidget.setCommandStack(getCommandStack());
- }
-
- protected void init()
- {
- hasMaxMinFacets = false;
- try
- {
- updateInput();
-
- if (xsdSimpleTypeDefinition != null)
- {
- XSDSimpleTypeDefinition targetST = xsdSimpleTypeDefinition;
- XSDSimpleTypeDefinition basePrimitive = xsdSimpleTypeDefinition.getPrimitiveTypeDefinition();
- if (basePrimitive != null)
- targetST = basePrimitive;
- else
- targetST = xsdSimpleTypeDefinition.getBaseTypeDefinition();
-
- minLengthString = "";
- maxLengthString = "";
- if (targetST.getValidFacets().contains("length"))
- {
- minLengthString = "Minimum length:";
- maxLengthString = "Maximum length:";
- simpleTypeModifierGroupTitle = "Constraints on length of " + targetST.getName();
- isNumericBaseType = false;
- hasMaxMinFacets = true;
- }
- else if (targetST.getValidFacets().contains("maxInclusive"))
- {
- simpleTypeModifierGroupTitle = "Constraints on value of " + targetST.getName();
- minLengthString = "Minimum value:";
- maxLengthString = "Maximum value:";
- isNumericBaseType = true;
- hasMaxMinFacets = true;
- }
- else
- {
- simpleTypeModifierGroupTitle = "Constraints on " + (basePrimitive != null ? basePrimitive.getName() : "anyType");
- }
- }
- }
- catch(Exception e)
- {
- }
- }
-
- private void updateInput()
- {
- if (input instanceof XSDFeature)
- {
- xsdFeature = (XSDFeature) input;
- typeDefinition = xsdFeature.getResolvedFeature().getType();
- XSDTypeDefinition anonymousTypeDefinition = null;
- if (xsdFeature instanceof XSDElementDeclaration)
- {
- xsdElementDeclaration = (XSDElementDeclaration)xsdFeature;
- anonymousTypeDefinition = xsdElementDeclaration.getResolvedElementDeclaration().getAnonymousTypeDefinition();
- }
- else if (xsdFeature instanceof XSDAttributeDeclaration)
- {
- xsdAttributeDeclaration = (XSDAttributeDeclaration)xsdFeature;
- anonymousTypeDefinition = xsdAttributeDeclaration.getResolvedAttributeDeclaration().getAnonymousTypeDefinition();
- }
-
- if (typeDefinition instanceof XSDSimpleTypeDefinition)
- {
- xsdSimpleTypeDefinition = (XSDSimpleTypeDefinition) typeDefinition;
- }
-
- if (anonymousTypeDefinition instanceof XSDSimpleTypeDefinition)
- {
- xsdSimpleTypeDefinition = (XSDSimpleTypeDefinition)anonymousTypeDefinition;
- }
-
- if (xsdSimpleTypeDefinition != null)
- titleString = "Type: " + (anonymousTypeDefinition != null ? "(" + xsdElementDeclaration.getResolvedElementDeclaration().getName() + "Type)" : xsdSimpleTypeDefinition.getName()) + " , Base: " + xsdSimpleTypeDefinition.getPrimitiveTypeDefinition().getName();
- }
- else if (input instanceof XSDSimpleTypeDefinition)
- {
- xsdSimpleTypeDefinition = (XSDSimpleTypeDefinition) input;
- titleString = "Type: " + xsdSimpleTypeDefinition.getName() + " , Base: " + xsdSimpleTypeDefinition.getPrimitiveTypeDefinition().getName();
- }
- }
-
- public void refresh()
- {
- super.refresh();
- init();
- setListenerEnabled(false);
-
- collapseWhitespaceButton.setSelection(false);
- XSDWhiteSpaceFacet whitespaceFacet = xsdSimpleTypeDefinition.getWhiteSpaceFacet();
- if (whitespaceFacet != null)
- {
- if (xsdSimpleTypeDefinition.getFacetContents().contains(whitespaceFacet))
- {
- if (XSDWhiteSpace.COLLAPSE_LITERAL.equals(whitespaceFacet.getValue()))
- {
- if (!XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001.equals(xsdSimpleTypeDefinition.getTargetNamespace()))
- {
- collapseWhitespaceButton.setSelection(true);
- }
- }
- }
- }
-
- if (hasMaxMinFacets)
- {
- minLengthLabel.setText(minLengthString);
- maxLengthLabel.setText(maxLengthString);
-
- if (!isNumericBaseType)
- refreshStringLength();
- else
- refreshValueLengths();
- }
-
- if (xsdSimpleTypeDefinition.getEnumerationFacets().size() > 0)
- {
- usePatternsButton.setSelection(false);
- useEnumerationsButton.setSelection(true);
- constraintsWidget.setConstraintKind(SpecificConstraintsWidget.ENUMERATION);
- constraintsWidget.addButton.setEnabled(true);
- }
- else if (xsdSimpleTypeDefinition.getPatternFacets().size() > 0)
- {
- usePatternsButton.setSelection(true);
- useEnumerationsButton.setSelection(false);
- constraintsWidget.setConstraintKind(SpecificConstraintsWidget.PATTERN);
- constraintsWidget.addButton.setEnabled(false);
- }
- else
- {
- usePatternsButton.setSelection(false);
- useEnumerationsButton.setSelection(true);
- constraintsWidget.setConstraintKind(SpecificConstraintsWidget.ENUMERATION);
- constraintsWidget.addButton.setEnabled(true);
- }
- constraintsWidget.setInput(xsdSimpleTypeDefinition);
-
- setListenerEnabled(true);
- }
-
- protected void relayout()
- {
- Composite parent = composite.getParent();
- parent.getParent().setRedraw(false);
-
- if (parent != null && !parent.isDisposed())
- {
- Control[] children = parent.getChildren();
- for (int i = 0; i < children.length; i++)
- {
- children[i].dispose();
- }
- }
- createContents(parent);
- parent.getParent().layout(true, true);
- parent.getParent().setRedraw(true);
- refresh();
- }
-
- public void dispose()
- {
- if (titleFont != null && !titleFont.isDisposed())
- titleFont.dispose();
- titleFont = null;
-
- if (minimumInclusiveCheckbox != null && !minimumInclusiveCheckbox.isDisposed())
- minimumInclusiveCheckbox.removeSelectionListener(this);
- if (maximumInclusiveCheckbox != null && !maximumInclusiveCheckbox.isDisposed())
- maximumInclusiveCheckbox.removeSelectionListener(this);
-
- if (collapseWhitespaceButton != null && !collapseWhitespaceButton.isDisposed())
- collapseWhitespaceButton.removeSelectionListener(this);
-
- if (maxLengthText != null && !maxLengthText.isDisposed())
- removeListeners(maxLengthText);
- if (minLengthText != null && !minLengthText.isDisposed())
- removeListeners(minLengthText);
-
- super.dispose();
- }
-
- public void refreshStringLength()
- {
- XSDMinLengthFacet minLengthFacet = xsdSimpleTypeDefinition.getMinLengthFacet();
- XSDMaxLengthFacet maxLengthFacet = xsdSimpleTypeDefinition.getMaxLengthFacet();
- XSDLengthFacet lengthFacet = xsdSimpleTypeDefinition.getLengthFacet();
-
- try
- {
- if (minLengthFacet != null)
- {
- int minLengthValue = minLengthFacet.getValue();
- if (minLengthValue >= 0)
- {
- minLengthText.setText(Integer.toString(minLengthValue));
- }
- else
- {
- minLengthText.setText(""); //$NON-NLS-1$
- }
- }
- if (maxLengthFacet != null)
- {
- int maxLength = maxLengthFacet.getValue();
- if (maxLength >= 0)
- {
- maxLengthText.setText(Integer.toString(maxLength));
- }
- else
- {
- maxLengthText.setText(""); //$NON-NLS-1$
- }
- }
- if (lengthFacet != null)
- {
- int length = lengthFacet.getValue();
- if (length >= 0)
- {
- minLengthText.setText(Integer.toString(length));
- maxLengthText.setText(Integer.toString(length));
- }
- }
- }
- catch (Exception e)
- {
-
- }
-
- }
-
- public void refreshValueLengths()
- {
- XSDSimpleTypeDefinition type = xsdSimpleTypeDefinition;
- XSDMinFacet minFacet = type.getMinFacet();
- XSDMaxFacet maxFacet = type.getMaxFacet();
-
- minimumInclusiveCheckbox.removeSelectionListener(this);
- maximumInclusiveCheckbox.removeSelectionListener(this);
- try
- {
- minLengthText.setText(""); //$NON-NLS-1$
- maxLengthText.setText(""); //$NON-NLS-1$
-
- minimumInclusiveCheckbox.setSelection(false);
- minimumInclusiveCheckbox.setEnabled(false);
- if (minFacet != null)
- {
- if (minFacet.getElement().getNodeName().equals(XSDConstants.MINEXCLUSIVE_ELEMENT_TAG) ||
- minFacet.getElement().getNodeName().equals(XSDConstants.MININCLUSIVE_ELEMENT_TAG))
- {
- minLengthText.setText(minFacet.getLexicalValue());
- minimumInclusiveCheckbox.setSelection(minFacet.isInclusive());
- minimumInclusiveCheckbox.setEnabled(true);
- }
- }
-
- maximumInclusiveCheckbox.setSelection(false);
- maximumInclusiveCheckbox.setEnabled(false);
- if (maxFacet != null)
- {
- if (maxFacet.getElement().getNodeName().equals(XSDConstants.MAXEXCLUSIVE_ELEMENT_TAG) ||
- maxFacet.getElement().getNodeName().equals(XSDConstants.MAXINCLUSIVE_ELEMENT_TAG))
- {
- maxLengthText.setText(maxFacet.getLexicalValue());
- maximumInclusiveCheckbox.setSelection(maxFacet.isInclusive());
- maximumInclusiveCheckbox.setEnabled(true);
- }
- }
- }
- finally
- {
- minimumInclusiveCheckbox.addSelectionListener(this);
- maximumInclusiveCheckbox.addSelectionListener(this);
- }
- }
-
- protected void doHandleEvent(Event event)
- {
- super.doHandleEvent(event);
- Command command = null;
- boolean doUpdateMax = false, doUpdateMin = false;
-
- String minValue = minLengthText.getText().trim();
- String maxValue = maxLengthText.getText().trim();
-
- XSDLengthFacet lengthFacet = xsdSimpleTypeDefinition.getLengthFacet();
- XSDMinLengthFacet minLengthFacet = xsdSimpleTypeDefinition.getMinLengthFacet();
- XSDMaxLengthFacet maxLengthFacet = xsdSimpleTypeDefinition.getMaxLengthFacet();
-
- XSDMinInclusiveFacet minInclusiveFacet = xsdSimpleTypeDefinition.getMinInclusiveFacet();
- XSDMinExclusiveFacet minExclusiveFacet = xsdSimpleTypeDefinition.getMinExclusiveFacet();
- XSDMaxInclusiveFacet maxInclusiveFacet = xsdSimpleTypeDefinition.getMaxInclusiveFacet();
- XSDMaxExclusiveFacet maxExclusiveFacet = xsdSimpleTypeDefinition.getMaxExclusiveFacet();
-
- String currentMinInclusive = null, currentMinExclusive = null, currentMaxInclusive = null, currentMaxExclusive = null;
- if (minInclusiveFacet != null)
- {
- currentMinInclusive = minInclusiveFacet.getLexicalValue();
- }
- if (minExclusiveFacet != null)
- {
- currentMinExclusive = minExclusiveFacet.getLexicalValue();
- }
- if (maxInclusiveFacet != null)
- {
- currentMaxInclusive = maxInclusiveFacet.getLexicalValue();
- }
- if (maxExclusiveFacet != null)
- {
- currentMaxExclusive = maxExclusiveFacet.getLexicalValue();
- }
-
-
- String currentLength = null, currentMin = null, currentMax = null;
- if (lengthFacet != null)
- {
- currentLength = lengthFacet.getLexicalValue();
- }
- if (minLengthFacet != null)
- {
- currentMin = minLengthFacet.getLexicalValue();
- }
- if (maxLengthFacet != null)
- {
- currentMax = maxLengthFacet.getLexicalValue();
- }
-
- if (event.widget == minLengthText)
- {
- try
- {
- if (minValue.length() > 0)
- {
- if (!isNumericBaseType)
- {
- Number big = new BigInteger(minValue);
- big.toString();
- if (minLengthFacet != null)
- {
- if (minValue.equals(currentMin) || minValue.equals(currentLength))
- return;
- }
- else
- {
- if (maxValue != null && minValue.equals(maxValue) && lengthFacet != null)
- {
- return;
- }
- }
- }
- else
- {
- if (xsdSchema.getSchemaForSchema().resolveSimpleTypeDefinition("double").equals(xsdSimpleTypeDefinition) ||
- xsdSchema.getSchemaForSchema().resolveSimpleTypeDefinition("float").equals(xsdSimpleTypeDefinition) ||
- xsdSchema.getSchemaForSchema().resolveSimpleTypeDefinition("decimal").equals(xsdSimpleTypeDefinition))
- {
- BigDecimal bigDecimal = new BigDecimal(minValue);
- bigDecimal.toString();
- if ( (currentMinInclusive != null && minValue.equals(currentMinInclusive)) ||
- (currentMinExclusive != null && minValue.equals(currentMinExclusive)) )
- {
- return;
- }
- }
- else
- {
- Number big = new BigInteger(minValue);
- big.toString();
- }
- minimumInclusiveCheckbox.setEnabled(true);
- }
- }
- else
- {
- if (!isNumericBaseType)
- {
- if (currentMin == null && currentLength == null)
- return;
- }
- else
- {
- if (currentMinInclusive == null && minimumInclusiveCheckbox.getSelection())
- {
- return;
- }
- else if (currentMinExclusive == null && !minimumInclusiveCheckbox.getSelection())
- {
- return;
- }
- }
- minimumInclusiveCheckbox.setEnabled(false);
- minValue = null;
- }
- doUpdateMin = true;
- }
- catch (NumberFormatException e)
- {
- // TODO show error message
- doUpdateMin = false;
- }
- }
- if (event.widget == maxLengthText)
- {
- try
- {
- if (maxValue.length() > 0)
- {
- if (!isNumericBaseType)
- {
- Number big = new BigInteger(maxValue);
- big.toString();
- if (maxLengthFacet != null)
- {
- if (maxValue.equals(currentMax) || maxValue.equals(currentLength))
- return;
- }
- else
- {
- if (minValue != null && maxValue.equals(minValue) && lengthFacet != null)
- {
- return;
- }
- }
- }
- else
- {
- if (xsdSchema.getSchemaForSchema().resolveSimpleTypeDefinition("double").equals(xsdSimpleTypeDefinition) ||
- xsdSchema.getSchemaForSchema().resolveSimpleTypeDefinition("float").equals(xsdSimpleTypeDefinition) ||
- xsdSchema.getSchemaForSchema().resolveSimpleTypeDefinition("decimal").equals(xsdSimpleTypeDefinition))
- {
- BigDecimal bigDecimal = new BigDecimal(maxValue);
- bigDecimal.toString();
- }
- else
- {
- Number big = new BigInteger(maxValue);
- big.toString();
- }
- maximumInclusiveCheckbox.setEnabled(true);
- }
- }
- else
- {
- if (!isNumericBaseType)
- {
- if (currentMax == null && currentLength == null)
- return;
- }
- else
- {
- if (currentMaxInclusive == null && maximumInclusiveCheckbox.getSelection())
- {
- return;
- }
- else if (currentMaxExclusive == null && !maximumInclusiveCheckbox.getSelection())
- {
- return;
- }
- maximumInclusiveCheckbox.setEnabled(false);
- }
- maxValue = null;
- }
-
- doUpdateMax = true;
- }
- catch (NumberFormatException e)
- {
- doUpdateMax = false;
- // TODO show error message
- }
- }
-
- if (XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001.equals(xsdSimpleTypeDefinition.getTargetNamespace()) && (doUpdateMax || doUpdateMin))
- {
- XSDSimpleTypeDefinition anonymousSimpleType = null;
- CompoundCommand compoundCommand = new CompoundCommand();
- ChangeToLocalSimpleTypeCommand changeToAnonymousCommand = null;
- if (input instanceof XSDFeature)
- {
- anonymousSimpleType = XSDCommonUIUtils.getAnonymousSimpleType((XSDFeature)input, xsdSimpleTypeDefinition);
- if (anonymousSimpleType == null)
- {
- anonymousSimpleType = XSDFactory.eINSTANCE.createXSDSimpleTypeDefinition();
- anonymousSimpleType.setBaseTypeDefinition(xsdSimpleTypeDefinition);
-
- changeToAnonymousCommand = new ChangeToLocalSimpleTypeCommand("Constrain length", (XSDFeature)input);
- changeToAnonymousCommand.setAnonymousSimpleType(anonymousSimpleType);
- compoundCommand.add(changeToAnonymousCommand);
- }
-
- if (!isNumericBaseType)
- {
- UpdateStringLengthFacetCommand updateCommand = new UpdateStringLengthFacetCommand("", anonymousSimpleType);
- if (doUpdateMax)
- {
- updateCommand.setMax(maxValue);
- }
- if (doUpdateMin)
- {
- updateCommand.setMin(minValue);
- }
- compoundCommand.add(updateCommand);
- }
- else
- {
- UpdateNumericBoundsFacetCommand updateCommand = new UpdateNumericBoundsFacetCommand("Update bounds", anonymousSimpleType, minimumInclusiveCheckbox.getSelection(), maximumInclusiveCheckbox.getSelection());
- if (doUpdateMax)
- {
- updateCommand.setMax(maxValue);
- }
- if (doUpdateMin)
- {
- updateCommand.setMin(minValue);
- }
- compoundCommand.add(updateCommand);
- }
- command = compoundCommand;
- getCommandStack().execute(command);
- }
- else if (input instanceof XSDSimpleTypeDefinition)
- {
- if (!isNumericBaseType)
- {
- UpdateStringLengthFacetCommand updateCommand = new UpdateStringLengthFacetCommand("", xsdSimpleTypeDefinition);
- if (doUpdateMax)
- {
- updateCommand.setMax(maxValue);
- }
- if (doUpdateMin)
- {
- updateCommand.setMin(minValue);
- }
- command = updateCommand;
- }
- else
- {
- UpdateNumericBoundsFacetCommand updateCommand = new UpdateNumericBoundsFacetCommand("Update bounds", xsdSimpleTypeDefinition, minimumInclusiveCheckbox.getSelection(), maximumInclusiveCheckbox.getSelection());
- if (doUpdateMax)
- {
- updateCommand.setMax(maxValue);
- }
- if (doUpdateMin)
- {
- updateCommand.setMin(minValue);
- }
- command = updateCommand;
- }
- getCommandStack().execute(command);
- }
- }
- else
- {
- if (!isNumericBaseType)
- {
- UpdateStringLengthFacetCommand updateCommand = new UpdateStringLengthFacetCommand("", xsdSimpleTypeDefinition);
- if (doUpdateMax)
- {
- updateCommand.setMax(maxValue);
- }
- if (doUpdateMin)
- {
- updateCommand.setMin(minValue);
- }
- getCommandStack().execute(updateCommand);
- }
- else
- {
- UpdateNumericBoundsFacetCommand updateCommand = new UpdateNumericBoundsFacetCommand("Update bounds", xsdSimpleTypeDefinition, minimumInclusiveCheckbox.getSelection(), maximumInclusiveCheckbox.getSelection());
- if (doUpdateMax)
- {
- updateCommand.setMax(maxValue);
- }
- if (doUpdateMin)
- {
- updateCommand.setMin(minValue);
- }
- getCommandStack().execute(updateCommand);
- }
-
- }
- setInput(getPart(), getSelection());
- }
-
- public void widgetSelected(SelectionEvent e)
- {
- if (e.widget == collapseWhitespaceButton)
- {
- CompoundCommand compoundCommand = new CompoundCommand();
- XSDSimpleTypeDefinition anonymousSimpleType = null;
- if (XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001.equals(xsdSimpleTypeDefinition.getTargetNamespace()))
- {
- if (input instanceof XSDFeature)
- {
- anonymousSimpleType = XSDCommonUIUtils.getAnonymousSimpleType((XSDFeature)input, xsdSimpleTypeDefinition);
- if (anonymousSimpleType == null)
- {
- anonymousSimpleType = XSDFactory.eINSTANCE.createXSDSimpleTypeDefinition();
- anonymousSimpleType.setBaseTypeDefinition(xsdSimpleTypeDefinition);
-
- ChangeToLocalSimpleTypeCommand changeToAnonymousCommand = new ChangeToLocalSimpleTypeCommand("Constrain length", (XSDFeature)input);
- changeToAnonymousCommand.setAnonymousSimpleType(anonymousSimpleType);
- compoundCommand.add(changeToAnonymousCommand);
- }
-
- UpdateXSDWhiteSpaceFacetCommand whiteSpaceCommand = new UpdateXSDWhiteSpaceFacetCommand("Collapse whitespace", anonymousSimpleType, collapseWhitespaceButton.getSelection());
- compoundCommand.add(whiteSpaceCommand);
-
- getCommandStack().execute(compoundCommand);
- }
- setInput(getPart(), getSelection());
- }
- else
- {
- UpdateXSDWhiteSpaceFacetCommand whiteSpaceCommand = new UpdateXSDWhiteSpaceFacetCommand("Collapse whitespace", xsdSimpleTypeDefinition, collapseWhitespaceButton.getSelection());
- getCommandStack().execute(whiteSpaceCommand);
- }
- }
- else if (e.widget == minimumInclusiveCheckbox)
- {
- String minValue = minLengthText.getText().trim();
- if (minValue.length() == 0) minValue = null;
-
- UpdateNumericBoundsFacetCommand updateCommand = new UpdateNumericBoundsFacetCommand("Update bounds", xsdSimpleTypeDefinition, minimumInclusiveCheckbox.getSelection(), maximumInclusiveCheckbox.getSelection());
- updateCommand.setMin(minValue);
-
- if (minValue != null)
- getCommandStack().execute(updateCommand);
- }
- else if (e.widget == maximumInclusiveCheckbox)
- {
- String maxValue = maxLengthText.getText().trim();
- if (maxValue.length() == 0) maxValue = null;
- UpdateNumericBoundsFacetCommand updateCommand = new UpdateNumericBoundsFacetCommand("Update bounds", xsdSimpleTypeDefinition, minimumInclusiveCheckbox.getSelection(), maximumInclusiveCheckbox.getSelection());
- updateCommand.setMax(maxValue);
- if (maxValue != null)
- getCommandStack().execute(updateCommand);
- }
- else if (e.widget == useEnumerationsButton)
- {
- constraintsWidget.addButton.setEnabled(true);
- if (isListenerEnabled())
- constraintsWidget.setConstraintKind(SpecificConstraintsWidget.ENUMERATION);
- }
- else if (e.widget == usePatternsButton)
- {
- constraintsWidget.addButton.setEnabled(false);
- if (isListenerEnabled())
- constraintsWidget.setConstraintKind(SpecificConstraintsWidget.PATTERN);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDFacetSectionFilter.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDFacetSectionFilter.java
deleted file mode 100644
index bdc57c5a8d..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDFacetSectionFilter.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import org.eclipse.jface.viewers.IFilter;
-import org.eclipse.xsd.XSDFeature;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-
-public class XSDFacetSectionFilter implements IFilter
-{
- public boolean select(Object toTest)
- {
- if (toTest instanceof XSDFeature)
- {
- XSDTypeDefinition type = ((XSDFeature)toTest).getResolvedFeature().getType();
- if (type instanceof XSDSimpleTypeDefinition)
- {
- return true;
- }
- }
- else if (toTest instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition)toTest;
- if (st.eContainer() instanceof XSDSchema ||
- st.eContainer() instanceof XSDFeature)
- {
- return true;
- }
- }
- return false;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDModelGroupDefinitionSection.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDModelGroupDefinitionSection.java
deleted file mode 100644
index 6b2c8e116c..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDModelGroupDefinitionSection.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.xerces.util.XMLChar;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.xsd.ui.internal.common.commands.UpdateNameCommand;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-
-public class XSDModelGroupDefinitionSection extends AbstractSection
-{
- protected Text nameText;
- protected CCombo componentNameCombo;
- boolean isReference;
-
- public XSDModelGroupDefinitionSection()
- {
- super();
- }
-
- protected void createContents(Composite parent)
- {
- composite = getWidgetFactory().createFlatFormComposite(parent);
-
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 2;
- composite.setLayout(gridLayout);
-
- if (isReference)
- {
- // ------------------------------------------------------------------
- // Ref Label
- // ------------------------------------------------------------------
- GridData data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
- CLabel refLabel = getWidgetFactory().createCLabel(composite, XSDConstants.REF_ATTRIBUTE + ":"); //$NON-NLS-1$
- refLabel.setLayoutData(data);
-
- // ------------------------------------------------------------------
- // Ref Combo
- // ------------------------------------------------------------------
-
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
-
- componentNameCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
- componentNameCombo.addSelectionListener(this);
- componentNameCombo.setLayoutData(data);
- }
- else
- {
- // ------------------------------------------------------------------
- // NameLabel
- // ------------------------------------------------------------------
- GridData data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
- CLabel nameLabel = getWidgetFactory().createCLabel(composite, "Name:");
- nameLabel.setLayoutData(data);
-
- // ------------------------------------------------------------------
- // NameText
- // ------------------------------------------------------------------
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- nameText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
- nameText.setLayoutData(data);
- nameText.addListener(SWT.Modify, this);
- }
- }
-
- public void refresh()
- {
- super.refresh();
-
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
-
- setListenerEnabled(false);
-
- XSDNamedComponent namedComponent = (XSDNamedComponent) input;
-
- if (isReference)
- {
- Element element = namedComponent.getElement();
- if (element != null)
- {
- String attrValue = element.getAttribute(XSDConstants.REF_ATTRIBUTE);
- if (attrValue == null)
- {
- attrValue = "";
- }
- componentNameCombo.setText(attrValue);
- }
- }
- else
- {
- // refresh name
- nameText.setText("");
-
- String name = namedComponent.getName();
- if (name != null)
- {
- nameText.setText(name);
- }
- }
-
- setListenerEnabled(true);
- }
-
- public void setInput(IWorkbenchPart part, ISelection selection)
- {
- super.setInput(part, selection);
- init();
- relayout();
-
- if (isReference)
- {
- TypesHelper helper = new TypesHelper(xsdSchema);
- List items = new ArrayList();
- items = helper.getModelGroups();
- items.add(0, "");
- componentNameCombo.setItems((String [])items.toArray(new String[0]));
- }
- }
-
- protected void init()
- {
- if (input instanceof XSDModelGroupDefinition)
- {
- XSDModelGroupDefinition group = (XSDModelGroupDefinition) input;
- isReference = group.isModelGroupDefinitionReference();
- }
- }
-
- protected void relayout()
- {
- Composite parentComposite = composite.getParent();
- parentComposite.getParent().setRedraw(false);
-
- if (parentComposite != null && !parentComposite.isDisposed())
- {
- Control[] children = parentComposite.getChildren();
- for (int i = 0; i < children.length; i++)
- {
- children[i].dispose();
- }
- }
-
- // Now initialize the new handler
- createContents(parentComposite);
- parentComposite.getParent().layout(true, true);
-
- // Now turn painting back on
- parentComposite.getParent().setRedraw(true);
- refresh();
- }
-
- public void doHandleEvent(Event event)
- {
- super.doHandleEvent(event);
- if (event.widget == nameText)
- {
- String newValue = nameText.getText().trim();
- if (input instanceof XSDNamedComponent)
- {
- XSDNamedComponent namedComponent = (XSDNamedComponent) input;
- if (!validateSection())
- return;
-
- Command command = null;
-
- // Make sure an actual name change has taken place
- String oldName = namedComponent.getName();
- if (!newValue.equals(oldName))
- {
- command = new UpdateNameCommand("Rename", namedComponent, newValue);
- }
-
- if (command != null && getCommandStack() != null)
- {
- getCommandStack().execute(command);
- }
- // doReferentialIntegrityCheck(namedComponent, newValue);
- }
- }
- }
-
- protected boolean validateSection()
- {
- if (nameText == null || nameText.isDisposed())
- return true;
-
- setErrorMessage(null);
-
- String name = nameText.getText().trim();
-
- // validate against NCName
- if (name.length() < 1 || !XMLChar.isValidNCName(name))
- {
- setErrorMessage("Invalid name");
- return false;
- }
-
- return true;
- }
-
- public void widgetSelected(SelectionEvent e)
- {
- if (e.widget == componentNameCombo)
- {
- String newValue = componentNameCombo.getText();
- if (input instanceof XSDNamedComponent)
- {
- XSDNamedComponent namedComponent = (XSDNamedComponent)input;
- Element element = namedComponent.getElement();
-
- if (namedComponent instanceof XSDModelGroupDefinition)
- {
- element.setAttribute(XSDConstants.REF_ATTRIBUTE, newValue);
- }
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDModelGroupSection.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDModelGroupSection.java
deleted file mode 100644
index afea7e1480..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDModelGroupSection.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.xsd.ui.internal.common.commands.UpdateContentModelCommand;
-import org.eclipse.wst.xsd.ui.internal.editor.Messages;
-import org.eclipse.xsd.XSDCompositor;
-import org.eclipse.xsd.XSDModelGroup;
-
-public class XSDModelGroupSection extends MultiplicitySection
-{
- protected CCombo modelGroupCombo;
- private String[] modelGroupComboValues = { "sequence", "choice", "all" }; //$NON-NLS-1$
-
- public XSDModelGroupSection()
- {
- super();
- }
-
- public void createContents(Composite parent)
- {
- composite = getWidgetFactory().createFlatFormComposite(parent);
-
- String typeLabel = Messages.UI_LABEL_TYPE; //$NON-NLS-1$
-
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 2;
- composite.setLayout(gridLayout);
-
- // ------------------------------------------------------------------
- // NameLabel
- // ------------------------------------------------------------------
- GridData data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
- CLabel nameLabel = getWidgetFactory().createCLabel(composite, "Kind:"); //$NON-NLS-1$
- nameLabel.setLayoutData(data);
-
- // ------------------------------------------------------------------
- // NameText
- // ------------------------------------------------------------------
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- modelGroupCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
- modelGroupCombo.setLayoutData(data);
- modelGroupCombo.addSelectionListener(this);
- modelGroupCombo.setItems(modelGroupComboValues);
-
- // ------------------------------------------------------------------
- // min property
- // ------------------------------------------------------------------
- getWidgetFactory().createCLabel(composite, Messages.UI_LABEL_MINOCCURS);
-
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
-
- minCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
- minCombo.setLayoutData(data);
- minCombo.add("0"); //$NON-NLS-1$
- minCombo.add("1"); //$NON-NLS-1$
- minCombo.addListener(SWT.Modify, this);
- minCombo.addSelectionListener(this);
-
- // ------------------------------------------------------------------
- // max property
- // ------------------------------------------------------------------
- getWidgetFactory().createCLabel(composite, Messages.UI_LABEL_MAXOCCURS);
-
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
-
- maxCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
- maxCombo.setLayoutData(data);
- maxCombo.add("0"); //$NON-NLS-1$
- maxCombo.add("1"); //$NON-NLS-1$
- maxCombo.add("unbounded"); //$NON-NLS-1$
- maxCombo.addListener(SWT.Modify, this);
- maxCombo.addSelectionListener(this);
- }
-
-
- public void refresh()
- {
- super.refresh();
-
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
-
- setListenerEnabled(false);
-
- if (input != null)
- {
- if (input instanceof XSDModelGroup)
- {
- XSDModelGroup particle = (XSDModelGroup)input;
- String modelType = particle.getCompositor().getName();
- modelGroupCombo.setText(modelType);
- }
- }
-
- refreshMinMax();
-
- setListenerEnabled(true);
- }
-
- public void doWidgetSelected(SelectionEvent e)
- {
- XSDModelGroup particle = (XSDModelGroup)input;
- if (e.widget == modelGroupCombo)
- {
- XSDCompositor newValue = XSDCompositor.get(modelGroupCombo.getText());
- UpdateContentModelCommand command = new UpdateContentModelCommand("Content Model Change", particle, newValue);
- getCommandStack().execute(command);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDSchemaSection.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDSchemaSection.java
deleted file mode 100644
index 8a326d7062..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDSchemaSection.java
+++ /dev/null
@@ -1,455 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Map;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-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.Event;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
-import org.eclipse.wst.xsd.ui.internal.actions.XSDEditNamespacesAction;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.nsedit.TargetNamespaceChangeHandler;
-import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class XSDSchemaSection extends AbstractSection
-{
- IWorkbenchPart part;
- Text prefixText;
- Text targetNamespaceText;
- Button editButton;
- StyledText errorText;
- Color red;
-
- /**
- *
- */
- public XSDSchemaSection()
- {
- super();
- }
-
- /**
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite,
- * org.eclipse.wst.common.ui.properties.internal.provisional.TabbedPropertySheetWidgetFactory)
- */
- public void createContents(Composite parent)
- {
- composite = getWidgetFactory().createFlatFormComposite(parent);
-
- GridLayout gridLayout = new GridLayout();
- gridLayout.marginTop = 0;
- gridLayout.marginBottom = 0;
- gridLayout.numColumns = 2;
- composite.setLayout(gridLayout);
-
- GridData data = new GridData();
-
- // Create Prefix Label
- CLabel prefixLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_SCHEMA_PREFIX")); //$NON-NLS-1$
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
- prefixLabel.setLayoutData(data);
-
- // Create Prefix Text
- prefixText = getWidgetFactory().createText(composite, "", SWT.NONE); //$NON-NLS-1$
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- prefixText.setLayoutData(data);
- prefixText.addListener(SWT.Modify, this);
-
- // Create TargetNamespace Label
- CLabel targetNamespaceLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_TARGET_NAME_SPACE")); //$NON-NLS-1$
- data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
- targetNamespaceLabel.setLayoutData(data);
-
- // Create TargetNamespace Text
- targetNamespaceText = getWidgetFactory().createText(composite, "", SWT.NONE); //$NON-NLS-1$
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- targetNamespaceText.setLayoutData(data);
- targetNamespaceText.addListener(SWT.Modify, this);
-
- // Advanced Button
- editButton = getWidgetFactory().createButton(composite, XSDEditorPlugin.getXSDString("_UI_SECTION_ADVANCED_ATTRIBUTES") + "...", SWT.PUSH);
- data = new GridData(SWT.END, SWT.CENTER, true, false);
- data.horizontalSpan = 2;
- editButton.setLayoutData(data);
- editButton.addSelectionListener(this);
-
- // error text
- errorText = new StyledText(composite, SWT.FLAT);
- errorText.setEditable(false);
- errorText.setEnabled(false);
- errorText.setText("");
- data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.horizontalSpan = 2;
- data.grabExcessHorizontalSpace = true;
- errorText.setLayoutData(data);
-
- }
-
- /*
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.view.ITabbedPropertySection#refresh()
- */
- public void refresh()
- {
- setListenerEnabled(false);
-
- Element element = xsdSchema.getElement();
-
- if (element != null)
- {
- // Handle prefixText
- TypesHelper helper = new TypesHelper(xsdSchema);
- String aPrefix = helper.getPrefix(element.getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE), false);
-
- if (aPrefix != null && aPrefix.length() > 0)
- {
- prefixText.setText(aPrefix);
- }
- else
- {
- prefixText.setText(""); //$NON-NLS-1$
- }
-
- // Handle TargetNamespaceText
- String tns = element.getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE);
- if (tns != null && tns.length() > 0)
- {
- targetNamespaceText.setText(tns);
- }
- else
- {
- targetNamespaceText.setText(""); //$NON-NLS-1$
- }
- errorText.setText("");
- }
- setListenerEnabled(true);
- }
-
- public void doHandleEvent(Event event)
- {
- errorText.setText("");
- String prefixValue = prefixText.getText();
- String tnsValue = targetNamespaceText.getText();
- if (tnsValue.trim().length() == 0)
- {
- if (prefixValue.trim().length() > 0)
- {
- errorText.setText(XSDEditorPlugin.getXSDString("_ERROR_TARGET_NAMESPACE_AND_PREFIX"));
- int length = errorText.getText().length();
- red = new Color(null, 255, 0, 0);
- StyleRange style = new StyleRange(0, length, red, targetNamespaceText.getBackground());
- errorText.setStyleRange(style);
- return;
- }
- }
-
- if (event.widget == prefixText)
- {
- updateNamespaceInfo(prefixValue, tnsValue);
- }
- else if (event.widget == targetNamespaceText)
- {
- updateNamespaceInfo(prefixValue, tnsValue);
- }
- }
-
- public void doWidgetSelected(SelectionEvent e)
- {
- if (e.widget == editButton)
- {
- XSDEditNamespacesAction nsAction = new XSDEditNamespacesAction(XSDEditorPlugin.getXSDString("_UI_ACTION_EDIT_NAMESPACES"), xsdSchema.getElement(), null, xsdSchema); //$NON-NLS-1$
- nsAction.run();
- refresh();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.common.ui.properties.internal.provisional.ISection#shouldUseExtraSpace()
- */
- public boolean shouldUseExtraSpace()
- {
- return true;
- }
-
- private void updateNamespaceInfo(String newPrefix, String newTargetNamespace)
- {
- Element element = xsdSchema.getElement();
- DocumentImpl doc = (DocumentImpl) element.getOwnerDocument();
-
- String modelTargetNamespace = xsdSchema.getTargetNamespace();
- String oldNamespace = xsdSchema.getTargetNamespace();
-
- TypesHelper helper = new TypesHelper(xsdSchema);
- String oldPrefix = helper.getPrefix(element.getAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE), false);
-
- if (modelTargetNamespace == null)
- {
- modelTargetNamespace = ""; //$NON-NLS-1$
- }
-
- String targetNamespace = newTargetNamespace.trim();
- String prefix = newPrefix.trim();
-
- if (!validatePrefix(prefix) || !validateTargetNamespace(targetNamespace))
- {
- return;
- }
-
- if (prefix.length() > 0 && targetNamespace.length() == 0)
- {
- // can't have blank targetnamespace and yet specify a prefix
- return;
- }
-
- doc.getModel().beginRecording(this, XSDEditorPlugin.getXSDString("_UI_TARGETNAMESPACE_CHANGE")); //$NON-NLS-1$
- String xsdForXSDPrefix = xsdSchema.getSchemaForSchemaQNamePrefix();
- Map map = xsdSchema.getQNamePrefixToNamespaceMap();
-
- // Check if prefix is blank
- // if it is, then make sure we have a prefix
- // for schema for schema
- if (prefix.length() == 0)
- {
- // if prefix for schema for schema is blank
- // then set it to value specified in preference
- // and update ALL nodes with this prefix
- if (xsdForXSDPrefix == null || (xsdForXSDPrefix != null && xsdForXSDPrefix.trim().length() == 0))
- {
- // get preference prefix
- xsdForXSDPrefix = XSDEditorPlugin.getPlugin().getXMLSchemaPrefix();
- // get a unique prefix by checking what's in the map
-
- xsdForXSDPrefix = getUniqueSchemaForSchemaPrefix(xsdForXSDPrefix, map);
- element.setAttribute("xmlns:" + xsdForXSDPrefix, XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001); //$NON-NLS-1$
-
- updateAllNodes(element, xsdForXSDPrefix);
-
- // remove the old xmlns attribute for the schema for schema
- if (element.getAttribute("xmlns") != null && //$NON-NLS-1$
- element.getAttribute("xmlns").equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001)) //$NON-NLS-1$
- {
- element.removeAttribute("xmlns"); //$NON-NLS-1$
- }
- }
- }
-
- if (targetNamespace.length() > 0 || (targetNamespace.length() == 0 && prefix.length() == 0))
- {
- // clean up the old prefix for this schema
- if (oldPrefix != null && oldPrefix.length() > 0)
- {
- element.removeAttribute("xmlns:" + oldPrefix); //$NON-NLS-1$
- // element.setAttribute("xmlns:" + prefix, targetNamespace);
- // java.util.Map prefixToNameSpaceMap =
- // xsdSchema.getQNamePrefixToNamespaceMap();
- // prefixToNameSpaceMap.remove(oldPrefix);
- }
- else
- // if no prefix
- {
- if (element.getAttribute("xmlns") != null) //$NON-NLS-1$
- {
- if (!element.getAttribute("xmlns").equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001)) //$NON-NLS-1$
- {
- element.removeAttribute("xmlns"); //$NON-NLS-1$
- }
- }
- }
- }
-
- if (targetNamespace.length() > 0)
- {
- if (!modelTargetNamespace.equals(targetNamespace))
- {
- element.setAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE, targetNamespace);
- }
- // now set the new xmlns:prefix attribute
- if (prefix.length() > 0)
- {
- element.setAttribute("xmlns:" + prefix, targetNamespace); //$NON-NLS-1$
- }
- else
- {
- element.setAttribute("xmlns", targetNamespace); //$NON-NLS-1$
- }
- // set the targetNamespace attribute
- }
- else
- // else targetNamespace is blank
- {
- if (prefix.length() == 0)
- {
- element.removeAttribute(XSDConstants.TARGETNAMESPACE_ATTRIBUTE);
- }
- }
-
- // do our own referential integrity
- TargetNamespaceChangeHandler targetNamespaceChangeHandler = new TargetNamespaceChangeHandler(xsdSchema, oldNamespace, targetNamespace);
- targetNamespaceChangeHandler.resolve();
-
- updateElement(xsdSchema);
-
- doc.getModel().endRecording(this);
- }
-
- // issue (cs) I don't have a clue why we need to call this method
- //
- private static void updateElement(XSDConcreteComponent concreteComp)
- {
- try
- {
- concreteComp.updateElement();
- }
- catch (Exception e)
- {
- for (Iterator containments = concreteComp.eClass().getEAllReferences().iterator(); containments.hasNext(); )
- {
- EReference eReference = (EReference)containments.next();
- if (eReference.isContainment())
- {
- if (eReference.isMany())
- {
- for (Iterator objects = ((Collection)concreteComp.eGet(eReference)).iterator(); objects.hasNext(); )
- {
- XSDConcreteComponent xsdConcreteComponent = (XSDConcreteComponent)objects.next();
- try
- {
- xsdConcreteComponent.updateElement();
- }
- catch (Exception ex) {}
- }
- }
- else
- {
- XSDConcreteComponent xsdConcreteComponent = (XSDConcreteComponent)concreteComp.eGet(eReference);
- if (xsdConcreteComponent != null)
- {
- try
- {
- xsdConcreteComponent.updateElement();
- }
- catch (Exception ex) {}
- }
- }
- }
- }
- }
- }
- private String getUniqueSchemaForSchemaPrefix(String xsdForXSDPrefix, Map map)
- {
- if (xsdForXSDPrefix == null || (xsdForXSDPrefix != null && xsdForXSDPrefix.trim().length() == 0))
- {
- xsdForXSDPrefix = "xsd"; //$NON-NLS-1$
- }
- // ensure prefix is unique
- int prefixExtension = 1;
- while (map.containsKey(xsdForXSDPrefix) && prefixExtension < 100)
- {
- xsdForXSDPrefix = xsdForXSDPrefix + String.valueOf(prefixExtension);
- prefixExtension++;
- }
- return xsdForXSDPrefix;
- }
-
- private void updateAllNodes(Element element, String prefix)
- {
- element.setPrefix(prefix);
- NodeList list = element.getChildNodes();
- if (list != null)
- {
- for (int i = 0; i < list.getLength(); i++)
- {
- Node child = list.item(i);
- if (child != null && child instanceof Element)
- {
- child.setPrefix(prefix);
- if (child.hasChildNodes())
- {
- updateAllNodes((Element) child, prefix);
- }
- }
- }
- }
- }
-
- private boolean validateTargetNamespace(String ns)
- {
- // will allow blank namespace !!
- if (ns.equals(""))
- {
- return true;
- }
-
- String errorMessage = null;
- try
- {
- URI testURI = new URI(ns);
- testURI.isAbsolute();
- }
- catch (URISyntaxException e)
- {
- errorMessage = XSDEditorPlugin.getXSDString("_WARN_INVALID_TARGET_NAMESPACE"); //$NON-NLS-1$
- }
-
- if (errorMessage == null || errorMessage.length() == 0)
- {
- return true;
- }
- return false;
- }
-
- public void dispose()
- {
- super.dispose();
- if (red != null)
- {
- red.dispose();
- red = null;
- }
- }
-
- protected boolean validatePrefix(String prefix)
- {
- // TODO
- return true;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDSimpleTypeSection.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDSimpleTypeSection.java
deleted file mode 100644
index a3bd64c107..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDSimpleTypeSection.java
+++ /dev/null
@@ -1,646 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.apache.xerces.util.XMLChar;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-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.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.xsd.ui.internal.actions.CreateElementAction;
-import org.eclipse.wst.xsd.ui.internal.actions.DOMAttribute;
-import org.eclipse.wst.xsd.ui.internal.common.commands.UpdateNameCommand;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDVariety;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class XSDSimpleTypeSection extends AbstractSection
-{
- protected Text nameText;
- CCombo varietyCombo;
- Text typesText;
- CLabel typesLabel;
- Button button;
- XSDSimpleTypeDefinition memberTypeDefinition, itemTypeDefinition, baseTypeDefinition;
-
- public XSDSimpleTypeSection()
- {
- super();
- }
-
- protected void createContents(Composite parent)
- {
- TabbedPropertySheetWidgetFactory factory = getWidgetFactory();
- composite = factory.createFlatFormComposite(parent);
-
- GridData data = new GridData();
-
- GridLayout gridLayout = new GridLayout();
- gridLayout.marginTop = 0;
- gridLayout.marginBottom = 0;
- gridLayout.numColumns = 3;
- composite.setLayout(gridLayout);
-
- // ------------------------------------------------------------------
- // NameLabel
- // ------------------------------------------------------------------
-
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
- CLabel nameLabel = factory.createCLabel(composite, "Name:");
- nameLabel.setLayoutData(data);
-
- // ------------------------------------------------------------------
- // NameText
- // ------------------------------------------------------------------
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- nameText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
- nameText.setLayoutData(data);
- applyAllListeners(nameText);
-
- // ------------------------------------------------------------------
- // DummyLabel
- // ------------------------------------------------------------------
- getWidgetFactory().createCLabel(composite, ""); //$NON-NLS-1$
-
- // Variety Label
- CLabel label = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_VARIETY")); //$NON-NLS-1$
-
- // Variety Combo
- data = new GridData();
- data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
- data.grabExcessHorizontalSpace = false;
- label.setLayoutData(data);
-
- varietyCombo = getWidgetFactory().createCCombo(composite, SWT.FLAT);
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
-
- List list = XSDVariety.VALUES;
- Iterator iter = list.iterator();
- while (iter.hasNext())
- {
- varietyCombo.add(((XSDVariety) iter.next()).getName());
- }
- varietyCombo.addSelectionListener(this);
- varietyCombo.setLayoutData(data);
-
- // ------------------------------------------------------------------
- // DummyLabel
- // ------------------------------------------------------------------
- getWidgetFactory().createCLabel(composite, ""); //$NON-NLS-1$
-
- // ------------------------------------------------------------------
- // Types Label
- // ------------------------------------------------------------------
- typesLabel = getWidgetFactory().createCLabel(composite, XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES")); //$NON-NLS-1$
-
- // ------------------------------------------------------------------
- // Types Text
- // ------------------------------------------------------------------
- typesText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
- typesText.addListener(SWT.Modify, this);
- data = new GridData();
- data.grabExcessHorizontalSpace = true;
- data.horizontalAlignment = GridData.FILL;
- typesText.setLayoutData(data);
-
- button = getWidgetFactory().createButton(composite, "", SWT.PUSH); //$NON-NLS-1$
- button.setImage(XSDEditorPlugin.getXSDImage("icons/browsebutton.gif")); //$NON-NLS-1$
- button.addSelectionListener(this);
- }
-
- public void setInput(IWorkbenchPart part, ISelection selection)
- {
- super.setInput(part, selection);
- relayout();
- }
-
- protected void relayout()
- {
- Composite parentComposite = composite.getParent();
- parentComposite.getParent().setRedraw(false);
-
- if (parentComposite != null && !parentComposite.isDisposed())
- {
- Control[] children = parentComposite.getChildren();
- for (int i = 0; i < children.length; i++)
- {
- children[i].dispose();
- }
- }
-
- // Now initialize the new handler
- createContents(parentComposite);
- parentComposite.getParent().layout(true, true);
-
- // Now turn painting back on
- parentComposite.getParent().setRedraw(true);
- refresh();
- }
-
- public void refresh()
- {
- super.refresh();
-
- setListenerEnabled(false);
- if (isReadOnly)
- {
- composite.setEnabled(false);
- }
- else
- {
- composite.setEnabled(true);
- }
-
- nameText.setText("");
- varietyCombo.setText(""); //$NON-NLS-1$
- typesText.setText(""); //$NON-NLS-1$
- typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE_WITH_COLON")); //$NON-NLS-1$
-
- if (input instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition) input;
- String simpleTypeName = st.getName();
- if (simpleTypeName != null)
- {
- nameText.setText(simpleTypeName);
- }
- else
- {
- nameText.setText("**anonymous**");
- }
-
- String variety = st.getVariety().getName();
- int intVariety = st.getVariety().getValue();
-
- if (variety != null)
- {
- varietyCombo.setText(variety);
- if (intVariety == XSDVariety.ATOMIC)
- {
- baseTypeDefinition = st.getBaseTypeDefinition();
- String name = "";
- if (baseTypeDefinition != null)
- {
- name = baseTypeDefinition.getName();
- }
- typesText.setText(name);
- typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE_WITH_COLON")); //$NON-NLS-1$
- }
- else if (intVariety == XSDVariety.LIST)
- {
- itemTypeDefinition = st.getItemTypeDefinition();
- String name = "";
- if (itemTypeDefinition != null)
- {
- name = itemTypeDefinition.getName();
- }
- typesText.setText(name);
- typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_ITEM_TYPE")); //$NON-NLS-1$
- }
- else if (intVariety == XSDVariety.UNION)
- {
- List memberTypesList = st.getMemberTypeDefinitions();
- StringBuffer sb = new StringBuffer();
- for (Iterator i = memberTypesList.iterator(); i.hasNext();)
- {
- XSDSimpleTypeDefinition typeObject = (XSDSimpleTypeDefinition) i.next();
- String name = typeObject.getQName();
- if (name != null)
- {
- sb.append(name);
- if (i.hasNext())
- {
- sb.append(" "); //$NON-NLS-1$
- }
- }
- }
- String memberTypes = sb.toString();
- typesText.setText(memberTypes);
- typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES")); //$NON-NLS-1$
- }
- }
- }
- setListenerEnabled(true);
-
- }
-
- public void widgetSelected(SelectionEvent e)
- {
- if (e.widget == varietyCombo)
- {
- if (input != null)
- {
- if (input instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition) input;
- Element parent = st.getElement();
-
- String variety = varietyCombo.getText();
- if (variety.equals(XSDVariety.ATOMIC_LITERAL.getName()))
- {
- typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_BASE_TYPE_WITH_COLON")); //$NON-NLS-1$
- st.setVariety(XSDVariety.ATOMIC_LITERAL);
- addCreateElementActionIfNotExist(XSDConstants.RESTRICTION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_RESTRICTION"), parent, null); //$NON-NLS-1$
- }
- else if (variety.equals(XSDVariety.UNION_LITERAL.getName()))
- {
- typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES")); //$NON-NLS-1$
- st.setVariety(XSDVariety.UNION_LITERAL);
- addCreateElementActionIfNotExist(XSDConstants.UNION_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_UNION"), parent, null); //$NON-NLS-1$
- }
- else if (variety.equals(XSDVariety.LIST_LITERAL.getName()))
- {
- typesLabel.setText(XSDEditorPlugin.getXSDString("_UI_LABEL_ITEM_TYPE")); //$NON-NLS-1$
- st.setVariety(XSDVariety.LIST_LITERAL);
- addCreateElementActionIfNotExist(XSDConstants.LIST_ELEMENT_TAG, XSDEditorPlugin.getXSDString("_UI_ACTION_ADD_LIST"), parent, null); //$NON-NLS-1$
- }
- }
- }
- }
- else if (e.widget == button)
- {
-// Shell shell = Display.getCurrent().getActiveShell();
-// Element element = ((XSDConcreteComponent) input).getElement();
-// Dialog dialog = null;
-// String property = "";
-// Element secondaryElement = null;
-
-// IFile currentIFile = ((IFileEditorInput) getActiveEditor().getEditorInput()).getFile();
-
- // issue (cs) need to move to common.ui's selection dialog
- /*
- XSDComponentSelectionProvider provider = new XSDComponentSelectionProvider(currentIFile, xsdSchema);
- dialog = new XSDComponentSelectionDialog(shell, XSDEditorPlugin.getXSDString("_UI_LABEL_SET_TYPE"), provider);
- provider.setDialog((XSDComponentSelectionDialog) dialog);
-
- if (input instanceof XSDSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition) input;
- Element simpleTypeElement = st.getElement();
- if (st.getVariety() == XSDVariety.LIST_LITERAL)
- {
- Element listElement = (Element) itemTypeDefinition.getElement();
- // dialog = new TypesDialog(shell, listElement,
- // XSDConstants.ITEMTYPE_ATTRIBUTE, xsdSchema);
- // dialog.showComplexTypes = false;
- provider.showComplexTypes(false);
-
- secondaryElement = listElement;
- property = XSDConstants.ITEMTYPE_ATTRIBUTE;
- }
- else if (st.getVariety() == XSDVariety.ATOMIC_LITERAL)
- {
- Element derivedByElement = (Element) baseTypeDefinition.getElement();
- if (derivedByElement != null)
- {
- // dialog = new TypesDialog(shell, derivedByElement,
- // XSDConstants.BASE_ATTRIBUTE, xsdSchema);
- // dialog.showComplexTypes = false;
- provider.showComplexTypes(false);
-
- secondaryElement = derivedByElement;
- property = XSDConstants.BASE_ATTRIBUTE;
- }
- else
- {
- return;
- }
- }
- else if (st.getVariety() == XSDVariety.UNION_LITERAL)
- {
- SimpleContentUnionMemberTypesDialog unionDialog = new SimpleContentUnionMemberTypesDialog(shell, st);
- unionDialog.setBlockOnOpen(true);
- unionDialog.create();
-
- int result = unionDialog.open();
- if (result == Window.OK)
- {
- String newValue = unionDialog.getResult();
- // beginRecording(XSDEditorPlugin.getXSDString("_UI_LABEL_MEMBERTYPES_CHANGE"),
- // element); //$NON-NLS-1$
- Element unionElement = (Element) memberTypeDefinition.getElement();
- unionElement.setAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, newValue);
-
- if (newValue.length() > 0)
- {
- unionElement.setAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, newValue);
- }
- else
- {
- unionElement.removeAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
- }
- // endRecording(unionElement);
- refresh();
- }
- return;
- }
- else
- {
- property = "type";
- }
- }
- else
- {
- property = "type";
- }
- // beginRecording(XSDEditorPlugin.getXSDString("_UI_TYPE_CHANGE"),
- // element); //$NON-NLS-1$
- dialog.setBlockOnOpen(true);
- dialog.create();
- int result = dialog.open();
-
- if (result == Window.OK)
- {
- if (secondaryElement == null)
- {
- secondaryElement = element;
- }
- XSDSetTypeHelper helper = new XSDSetTypeHelper(currentIFile, xsdSchema);
- helper.setType(secondaryElement, property, ((XSDComponentSelectionDialog) dialog).getSelection());
-
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition) input;
- st.setElement(element);
- updateSimpleTypeFacets();*/
- }
- // endRecording(element);
-
- refresh();
- }
-
- public boolean shouldUseExtraSpace()
- {
- return false;
- }
-
- // issue (cs) this method seems to be utilizing 'old' classes, can we reimplement?
- // (e.g. ChangeElementAction, XSDDOMHelper, etc)
- protected boolean addCreateElementActionIfNotExist(String elementTag, String label, Element parent, Node relativeNode)
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition) input;
- List attributes = new ArrayList();
- String reuseType = null;
-
- // beginRecording(XSDEditorPlugin.getXSDString("_UI_LABEL_VARIETY_CHANGE"),
- // parent); //$NON-NLS-1$
- if (elementTag.equals(XSDConstants.RESTRICTION_ELEMENT_TAG))
- {
- Element listNode = getFirstChildNodeIfExists(parent, XSDConstants.LIST_ELEMENT_TAG, false);
- if (listNode != null)
- {
- reuseType = listNode.getAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE);
- XSDDOMHelper.removeNodeAndWhitespace(listNode);
- }
-
- Element unionNode = getFirstChildNodeIfExists(parent, XSDConstants.UNION_ELEMENT_TAG, false);
- if (unionNode != null)
- {
- String memberAttr = unionNode.getAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
- if (memberAttr != null)
- {
- StringTokenizer stringTokenizer = new StringTokenizer(memberAttr);
- reuseType = stringTokenizer.nextToken();
- }
- XSDDOMHelper.removeNodeAndWhitespace(unionNode);
- }
-
- if (reuseType == null)
- {
- reuseType = getBuiltInStringQName();
- }
- attributes.add(new DOMAttribute(XSDConstants.BASE_ATTRIBUTE, reuseType));
- st.setItemTypeDefinition(null);
- }
- else if (elementTag.equals(XSDConstants.LIST_ELEMENT_TAG))
- {
- Element restrictionNode = getFirstChildNodeIfExists(parent, XSDConstants.RESTRICTION_ELEMENT_TAG, false);
- if (restrictionNode != null)
- {
- reuseType = restrictionNode.getAttribute(XSDConstants.BASE_ATTRIBUTE);
- XSDDOMHelper.removeNodeAndWhitespace(restrictionNode);
- }
- Element unionNode = getFirstChildNodeIfExists(parent, XSDConstants.UNION_ELEMENT_TAG, false);
- if (unionNode != null)
- {
- String memberAttr = unionNode.getAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE);
- if (memberAttr != null)
- {
- StringTokenizer stringTokenizer = new StringTokenizer(memberAttr);
- reuseType = stringTokenizer.nextToken();
- }
- XSDDOMHelper.removeNodeAndWhitespace(unionNode);
- }
- attributes.add(new DOMAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE, reuseType));
- }
- else if (elementTag.equals(XSDConstants.UNION_ELEMENT_TAG))
- {
- Element listNode = getFirstChildNodeIfExists(parent, XSDConstants.LIST_ELEMENT_TAG, false);
- if (listNode != null)
- {
- reuseType = listNode.getAttribute(XSDConstants.ITEMTYPE_ATTRIBUTE);
- XSDDOMHelper.removeNodeAndWhitespace(listNode);
- }
- Element restrictionNode = getFirstChildNodeIfExists(parent, XSDConstants.RESTRICTION_ELEMENT_TAG, false);
- if (restrictionNode != null)
- {
- reuseType = restrictionNode.getAttribute(XSDConstants.BASE_ATTRIBUTE);
- XSDDOMHelper.removeNodeAndWhitespace(restrictionNode);
- }
- attributes.add(new DOMAttribute(XSDConstants.MEMBERTYPES_ATTRIBUTE, reuseType));
- st.setItemTypeDefinition(null);
- }
-
- if (getFirstChildNodeIfExists(parent, elementTag, false) == null)
- {
- Action action = addCreateElementAction(elementTag, label, attributes, parent, relativeNode);
- action.run();
- }
-
- st.setElement(parent);
- st.updateElement();
- // endRecording(parent);
- return true;
- }
-
- protected Action addCreateElementAction(String elementTag, String label, List attributes, Element parent, Node relativeNode)
- {
- CreateElementAction action = new CreateElementAction(label);
- action.setElementTag(elementTag);
- action.setAttributes(attributes);
- action.setParentNode(parent);
- action.setRelativeNode(relativeNode);
- return action;
- }
-
- protected Element getFirstChildNodeIfExists(Node parent, String elementTag, boolean isRef)
- {
- NodeList children = parent.getChildNodes();
- Element targetNode = null;
- for (int i = 0; i < children.getLength(); i++)
- {
- Node child = children.item(i);
- if (child != null && child instanceof Element)
- {
- if (XSDDOMHelper.inputEquals((Element) child, elementTag, isRef))
- {
- targetNode = (Element) child;
- break;
- }
- }
- }
- return targetNode;
- }
-
- protected String getBuiltInStringQName()
- {
- String stringName = "string"; //$NON-NLS-1$
-
- if (xsdSchema != null)
- {
- String schemaForSchemaPrefix = xsdSchema.getSchemaForSchemaQNamePrefix();
- if (schemaForSchemaPrefix != null && schemaForSchemaPrefix.length() > 0)
- {
- String prefix = xsdSchema.getSchemaForSchemaQNamePrefix();
- if (prefix != null && prefix.length() > 0)
- {
- stringName = prefix + ":" + stringName; //$NON-NLS-1$
- }
- }
- }
- return stringName;
- }
-
- private void updateSimpleTypeFacets()
- {
- XSDSimpleTypeDefinition st = (XSDSimpleTypeDefinition) input;
- Element simpleTypeElement = st.getElement();
- Element derivedByElement = baseTypeDefinition.getElement();
- if (derivedByElement != null)
- {
- List nodesToRemove = new ArrayList();
- NodeList childList = derivedByElement.getChildNodes();
- int length = childList.getLength();
- for (int i = 0; i < length; i++)
- {
- Node child = childList.item(i);
- if (child instanceof Element)
- {
- Element elementChild = (Element) child;
- if (!(elementChild.getLocalName().equals("pattern") || elementChild.getLocalName().equals("enumeration") || //$NON-NLS-1$
- XSDDOMHelper.inputEquals(elementChild, XSDConstants.SIMPLETYPE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals(elementChild, XSDConstants.ANNOTATION_ELEMENT_TAG, false)
- || XSDDOMHelper.inputEquals(elementChild, XSDConstants.ATTRIBUTE_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals(elementChild, XSDConstants.ATTRIBUTE_ELEMENT_TAG, true)
- || XSDDOMHelper.inputEquals(elementChild, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, false) || XSDDOMHelper.inputEquals(elementChild, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, true) || XSDDOMHelper.inputEquals(elementChild,
- XSDConstants.ANYATTRIBUTE_ELEMENT_TAG, false)))
- {
- nodesToRemove.add(child);
- }
- }
- }
- Iterator iter = nodesToRemove.iterator();
- while (iter.hasNext())
- {
- Element facetToRemove = (Element) iter.next();
- String facetName = facetToRemove.getLocalName();
- Iterator it = st.getValidFacets().iterator();
- boolean doRemove = true;
- while (it.hasNext())
- {
- String aValidFacet = (String) it.next();
- if (aValidFacet.equals(facetName))
- {
- doRemove = false;
- break;
- }
- }
- if (doRemove)
- {
- XSDDOMHelper.removeNodeAndWhitespace(facetToRemove);
- }
- }
- }
- }
- // TODO: Common this up with element declaration
- public void doHandleEvent(Event event)
- {
- if (event.widget == nameText)
- {
- String newValue = nameText.getText().trim();
- if (input instanceof XSDNamedComponent)
- {
- XSDNamedComponent namedComponent = (XSDNamedComponent)input;
- if (!validateSection())
- return;
-
- Command command = null;
-
- // Make sure an actual name change has taken place
- String oldName = namedComponent.getName();
- if (!newValue.equals(oldName))
- {
- command = new UpdateNameCommand("Rename", namedComponent, newValue);
- }
-
- if (command != null && getCommandStack() != null)
- {
- getCommandStack().execute(command);
- }
-
- }
- }
- }
-
- protected boolean validateSection()
- {
- if (nameText == null || nameText.isDisposed())
- return true;
-
- setErrorMessage(null);
-
- String name = nameText.getText().trim();
-
- // validate against NCName
- if (name.length() < 1 || !XMLChar.isValidNCName(name))
- {
- setErrorMessage("Invalid name");
- return false;
- }
-
- return true;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDTableTreeViewer.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDTableTreeViewer.java
deleted file mode 100644
index 962795b7f7..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/XSDTableTreeViewer.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections;
-
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.ui.internal.tabletree.XMLTableTreeContentProvider;
-import org.eclipse.wst.xml.ui.internal.tabletree.XMLTableTreeViewer;
-import org.w3c.dom.Element;
-
-public class XSDTableTreeViewer extends XMLTableTreeViewer
-{
-
- String filter = "";
-
- class XSDActionMenuListener implements IMenuListener
- {
- public void menuAboutToShow(IMenuManager menuManager)
- {
- // used to disable NodeSelection listening while running NodeAction
- // XSDActionManager nodeActionManager = new XSDActionManager(fModel,
- // XSDTableTreeViewer.this);
- // nodeActionManager.setCommandStack(commandStack);
- // nodeActionManager.fillContextMenu(menuManager, getSelection());
-
- // used to disable NodeSelection listening while running NodeAction
- // XMLNodeActionManager nodeActionManager = new
- // XMLNodeActionManager(((IDOMDocument) getInput()).getModel(),
- // XMLTableTreeViewer.this) {
- if (getInput() != null)
- {
- XSDActionManager nodeActionManager = new XSDActionManager(((IDOMDocument) (((Element) getInput()).getOwnerDocument())).getModel(), XSDTableTreeViewer.this);
- // nodeActionManager.setCommandStack(commandStack);
- nodeActionManager.fillContextMenu(menuManager, getSelection());
- }
-
- }
- }
-
- public XSDTableTreeViewer(Composite parent)
- {
- super(parent);
- // treeExtension.setCellModifier(null);
- getTree().setLinesVisible(true);
-
- // treeExtension = new XMLTreeExtension(getTree());
-
- // Reassign the content provider
- XMLTableTreeContentProvider provider = new MyContentProvider();
- // provider.addViewer(this);
-
- setContentProvider(provider);
- setLabelProvider(provider);
-
- // setViewerSelectionManager(new ViewerSelectionManagerImpl(null));
- }
-
- protected Object getRoot()
- {
- return super.getRoot();
- }
-
- public void setFilter(String filter)
- {
- this.filter = filter;
- }
-
- protected void createContextMenu()
- {
- // TODO Verify if this is okay to override the MenuManager
- MenuManager contextMenu = new MenuManager("#PopUp"); //$NON-NLS-1$
- contextMenu.add(new Separator("additions")); //$NON-NLS-1$
- contextMenu.setRemoveAllWhenShown(true);
-
- // This is the line we have to modify
- contextMenu.addMenuListener(new XSDActionMenuListener());
- Menu menu = contextMenu.createContextMenu(getControl());
- getControl().setMenu(menu);
- }
-
- boolean added = false;
-
- class MyContentProvider extends XMLTableTreeContentProvider
- {
-
- // public Object[] getChildren(Object element) {
- //
- // if (!added) {
- // if (element instanceof Element) {
- // added = true;
- // Element elem = (Element)element;
- // if (elem instanceof INodeNotifier) {
- // viewerNotifyingAdapterFactory.adapt((INodeNotifier) elem);
- // }
- // // return new Object[] {elem};
- // }
- // }
- // return super.getChildren(element);
- // }
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
- {
- added = false;
- if (oldInput instanceof Element)
- oldInput = ((Element) oldInput).getOwnerDocument();
-
- if (newInput instanceof Element)
- newInput = ((Element) newInput).getOwnerDocument();
- super.inputChanged(viewer, oldInput, newInput);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/AddExtensionsComponentDialog.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/AddExtensionsComponentDialog.java
deleted file mode 100644
index 538483c0a4..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/AddExtensionsComponentDialog.java
+++ /dev/null
@@ -1,566 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.xerces.dom.DocumentImpl;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.wst.xsd.contentmodel.internal.XSDImpl;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSchema;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-public class AddExtensionsComponentDialog extends SelectionDialog implements ISelectionChangedListener, SelectionListener
-{
- // when this dialog is created it needs to know which registry it is going to use,the WSDL or the XSD,
- // hence we need this field
- static ExtensionsSchemasRegistry registry;
-
- protected static final Image DEFAULT_ELEMENT_ICON = XSDEditorPlugin.getXSDImage("icons/XSDElement.gif");
- protected static final Image DEFAULT_ATTRIBUTE_ICON = XSDEditorPlugin.getXSDImage("icons/XSDAttribute.gif");
-
- /** A temporary Document in which we create temporary DOM element for each element in the
- * Element view. (required by LabelProvider) */
- protected static Document tempDoc = new DocumentImpl();
-
- Button addButton, removeButton, editButton;
-
- public AddExtensionsComponentDialog(Shell parent, ExtensionsSchemasRegistry registry)
- {
- super(parent);
- setTitle("Add Extension Components");
- setShellStyle(SWT.APPLICATION_MODAL | SWT.RESIZE | SWT.CLOSE);
-
- this.registry = registry;
- }
-
- private List fInput;
-
- private TableViewer categoryTableViewer, elementTableViewer;
- private ArrayList existingNames;
-
- private ViewerFilter elementTableViewerFilter;
-
- public void setInput(List input)
- {
- this.fInput = input;
- }
-
- protected Control createDialogArea(Composite container)
- {
- Composite parent = (Composite) super.createDialogArea(container);
-
- Composite categoryComposite = new Composite(parent, SWT.NONE);
- GridLayout gl = new GridLayout();
- gl.numColumns = 2;
- gl.marginHeight = 0;
- gl.marginWidth = 0;
- GridData data = new GridData(GridData.FILL_BOTH);
- categoryComposite.setLayoutData(data);
- categoryComposite.setLayout(gl);
-
- Label label = new Label(categoryComposite, SWT.LEFT);
- label.setText("Extension Categories:");
-
- new Label(categoryComposite, SWT.NONE);
-
- categoryTableViewer = new TableViewer(categoryComposite, getTableStyle());
- categoryTableViewer.setContentProvider(new CategoryContentProvider());
- categoryTableViewer.setLabelProvider(new CategoryLabelProvider());
- categoryTableViewer.setInput(fInput);
- categoryTableViewer.addSelectionChangedListener(this);
-
- GridData gd = new GridData(GridData.FILL_BOTH);
- Table table = categoryTableViewer.getTable();
- table.setLayoutData(gd);
- table.setFont(container.getFont());
-
- Composite buttonComposite = new Composite(categoryComposite, SWT.NONE);
- gl = new GridLayout();
- gl.makeColumnsEqualWidth = true;
- gl.numColumns = 1;
- data = new GridData();
- data.horizontalAlignment = SWT.FILL;
- buttonComposite.setLayoutData(data);
- buttonComposite.setLayout(gl);
-
- addButton = new Button(buttonComposite, SWT.PUSH);
- addButton.setText("Add...");
- addButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- addButton.addSelectionListener(this);
-
- removeButton = new Button(buttonComposite, SWT.PUSH);
- removeButton.setText("Remove");
- removeButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- removeButton.addSelectionListener(this);
-
- editButton = new Button(buttonComposite, SWT.PUSH);
- editButton.setText("Edit");
- editButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- editButton.addSelectionListener(this);
-
- List initialSelection = getInitialElementSelections();
- if (initialSelection != null)
- categoryTableViewer.setSelection(new StructuredSelection(initialSelection));
-
- Label elementLabel = new Label(categoryComposite, SWT.LEFT);
- elementLabel.setText("Available components to Add:");
-
- new Label(categoryComposite, SWT.NONE);
-
- elementTableViewer = new TableViewer(categoryComposite, getTableStyle());
- elementTableViewer.setContentProvider(new ElementContentProvider());
- elementTableViewer.setLabelProvider(new ElementLabelProvider());
- elementTableViewer.setInput(null);
- elementTableViewer.addDoubleClickListener(new IDoubleClickListener()
- {
- public void doubleClick(DoubleClickEvent event)
- {
- okPressed();
- }
- });
- if ( elementTableViewerFilter != null){
- elementTableViewer.addFilter(elementTableViewerFilter);
- }
-
- gd = new GridData(GridData.FILL_BOTH);
- table = elementTableViewer.getTable();
- table.setLayoutData(gd);
- table.setFont(container.getFont());
-
- elementTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- getButton(IDialogConstants.OK_ID).setEnabled(true);
- }
- });
-
- return parent;
- }
-
- public void create()
- {
- super.create();
- if (categoryTableViewer.getTable().getItemCount() > 0)
- {
- categoryTableViewer.getTable().select(0);
- categoryTableViewer.setSelection(new StructuredSelection(categoryTableViewer.getElementAt(0)));
- }
-
- // Setup the list of category names that already exist
- existingNames = new ArrayList();
- TableItem[] categoryNames = categoryTableViewer.getTable().getItems();
- for (int i = 0; i < categoryNames.length; i++ ){
- existingNames.add(categoryNames[i].getText());
- }
-
- getButton(IDialogConstants.OK_ID).setEnabled(false);
- }
-
- public void addElementsTableFilter(ViewerFilter filter){
- elementTableViewerFilter = filter;
- }
-
- protected Point getInitialSize()
- {
- return getShell().computeSize(400, 300);
- }
-
- /**
- * Return the style flags for the table viewer.
- *
- * @return int
- */
- protected int getTableStyle()
- {
- return SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER;
- }
-
- /*
- * Overrides method from Dialog
- */
- protected void okPressed()
- {
- // Build a list of selected children.
- getShell().setCursor(new Cursor(getShell().getDisplay(), SWT.CURSOR_WAIT));
- IStructuredSelection elementSelection = (IStructuredSelection) elementTableViewer.getSelection();
- IStructuredSelection categorySelection = (IStructuredSelection) categoryTableViewer.getSelection();
- List result = new ArrayList();
- result.add(elementSelection.getFirstElement());
- result.add(categorySelection.getFirstElement());
- if (elementSelection.getFirstElement() != null)
- {
- setResult(result);
- }
- else
- {
- setResult(null);
- }
- super.okPressed();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetSelected(SelectionEvent e)
- {
- if (e.widget == addButton)
- {
- AddNewCategoryDialog addNewCategoryDialog
- = new AddNewCategoryDialog(getShell());
-
- addNewCategoryDialog.setUnavailableCategoryNames(existingNames);
-
- if ( addNewCategoryDialog.open() == Window.OK ){
- SpecificationForExtensionsSchema schemaSpec = addNewCategoryDialog.getExtensionsSchemaSpec();
-
- fInput.add(schemaSpec);
- existingNames.add(schemaSpec.getDisplayName());
-
- // refresh without updating labels of existing TableItems
- categoryTableViewer.refresh(false);
-
- categoryTableViewer.setSelection(new StructuredSelection(schemaSpec));
- getButton(IDialogConstants.OK_ID).setEnabled(false);
- }
- }
- else if (e.widget == removeButton)
- {
- TableItem[] selections = categoryTableViewer.getTable().getSelection();
- for (int i =0; i < selections.length; i++){
- fInput.remove(selections[i].getData() );
- }
- categoryTableViewer.refresh(false);
-
- elementTableViewer.setInput(null);
- elementTableViewer.refresh();
-
- // TODO auto select either the prev category, the next category or the first category in the Table
- getButton(IDialogConstants.OK_ID).setEnabled(false);
- }
- else if (e.widget == editButton)
- {
- // use this dialog not for adding but for editing purpose.
- AddNewCategoryDialog dialog = new AddNewCategoryDialog(getShell(), "Edit Category");
- if ( dialog.open() == Window.OK){
- TableItem[] selections = categoryTableViewer.getTable().getSelection();
- SpecificationForExtensionsSchema spec = (SpecificationForExtensionsSchema) selections[0].getData();
-
- spec.setDisplayName(dialog.getNewCategoryName());
- spec.setLocation(dialog.getCategoryLocation());
- categoryTableViewer.update(spec, null);
- refreshElementsViewer(spec);
- }
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetDefaultSelected(SelectionEvent event)
- {
-
- }
-
- public void selectionChanged(SelectionChangedEvent event)
- {
- if (event.getSource() == categoryTableViewer)
- {
- ISelection selection = event.getSelection();
- if (selection instanceof StructuredSelection)
- {
- Object obj = ((StructuredSelection) selection).getFirstElement();
- if (obj instanceof SpecificationForExtensionsSchema)
- {
- SpecificationForExtensionsSchema spec = (SpecificationForExtensionsSchema) obj;
-
- refreshElementsViewer(spec);
-
- if ( spec.isDefautSchema() ){
- editButton.setEnabled(false);
- removeButton.setEnabled(false);
- }
- else{
- editButton.setEnabled(true);
- removeButton.setEnabled(true);
- }
-
- getButton(IDialogConstants.OK_ID).setEnabled(false);
- }
- }
- }
- }
-
- private void refreshElementsViewer(SpecificationForExtensionsSchema spec) {
- XSDSchema xsdSchema = getASISchemaModel(spec);
-
- if (xsdSchema == null){
- MessageBox errDialog = new MessageBox(getShell(), SWT.ICON_ERROR);
- errDialog.setText("Invalid Category");
- errDialog.setMessage("The xsd file of the selected category cannot be parsed. \n"
- +"Please validate the file.");
- errDialog.open();
- return;
- }
-
- List allItems = buildInput(xsdSchema);
- elementTableViewer.setInput(allItems);
- }
-
- private static List buildInput(XSDSchema xsdSchema)
- {
- List elements = xsdSchema.getElementDeclarations();
- List attributes = xsdSchema.getAttributeDeclarations();
- String targetNamespace = xsdSchema.getTargetNamespace();
-
- // For safety purpose: We don't append 'attributes' to 'elements'
- // ArrayStoreException(or similar one) may occur
- List allItems = new ArrayList(attributes.size() + elements.size());
- {
- // getElementDeclarations returns a lot of elements from import
- // statement, we
- // only add non-imported elements here. (trung)
- for (int i = 0; i < elements.size(); i++)
- {
- XSDElementDeclaration currentElement = (XSDElementDeclaration) elements.get(i);
- if (currentElement.getTargetNamespace().equals(targetNamespace))
- allItems.add(currentElement);
- }
- // getAttributeDeclarations also returns a lot of elements from
- // import statement, we
- // only add non-imported elements here. (trung)
- for (int i = 0; i < attributes.size(); i++)
- {
- XSDAttributeDeclaration currentAttribute = (XSDAttributeDeclaration) attributes.get(i);
- if (currentAttribute.isGlobal() && currentAttribute.getTargetNamespace().equals(targetNamespace))
- allItems.add(currentAttribute);
- }
- }
- return allItems;
- }
-
-
- private static XSDSchema getASISchemaModel(SpecificationForExtensionsSchema extensionsSchemaSpec)
- {
- XSDSchema xsdSchema = XSDImpl.buildXSDModel(extensionsSchemaSpec.getLocation());
-
- // now that the .xsd file is read, we can retrieve the namespace of this xsd file
- // and set the namespace for 'properties'
- if ( extensionsSchemaSpec.getNamespaceURI() == null){
- extensionsSchemaSpec.setNamespaceURI( xsdSchema.getTargetNamespace());
- }
-
- return xsdSchema;
- }
-
- static class CategoryContentProvider implements IStructuredContentProvider
- {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
- */
- public Object[] getElements(Object inputElement)
- {
- SpecificationForExtensionsSchema[] extensionsSchemaSpecs = null;
- try
- {
- List inputList = (List) inputElement;
- extensionsSchemaSpecs = (SpecificationForExtensionsSchema[]) inputList.toArray(new SpecificationForExtensionsSchema[0]);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- return extensionsSchemaSpecs;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.IContentProvider#dispose()
- */
- public void dispose()
- {
- // Do nothing
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
- * java.lang.Object, java.lang.Object)
- */
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
- {
- // Do nothing
-
- }
- }
-
- static class CategoryLabelProvider extends LabelProvider
- {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
- */
- public Image getImage(Object element)
- {
- return XSDEditorPlugin.getXSDImage("icons/appinfo_category.gif");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
- */
- public String getText(Object element)
- {
- if (element instanceof SpecificationForExtensionsSchema)
- return ((SpecificationForExtensionsSchema) element).getDisplayName();
-
- return super.getText(element);
- }
- }
-
- static class ElementContentProvider implements IStructuredContentProvider
- {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
- */
- public Object[] getElements(Object inputElement)
- {
- if (inputElement instanceof List)
- {
- return ((List) inputElement).toArray();
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.IContentProvider#dispose()
- */
- public void dispose()
- {
- // Do nothing
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
- * java.lang.Object, java.lang.Object)
- */
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
- {
- // Do nothing
-
- }
- }
-
- static class ElementLabelProvider extends LabelProvider
- {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
- */
- public Image getImage(Object element)
- {
- if ( element instanceof XSDElementDeclaration){
-
- // Workaround trick: (trung) we create a temporary Dom element and put it in the label provider
- // to get the image.
- String namespace = ((XSDElementDeclaration) element).getSchema().getTargetNamespace();
- String name = ((XSDElementDeclaration) element).getName();
- Element tempElement = tempDoc.createElementNS(namespace, name);
- ILabelProvider lp = registry.getLabelProvider(tempElement);
- if (lp != null){
- Image img = lp.getImage(tempElement);
-
- if (img != null){
- return img;
- }
- }
- return DEFAULT_ELEMENT_ICON;
- }
- else if ( element instanceof XSDAttributeDeclaration){
- return DEFAULT_ATTRIBUTE_ICON;
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
- */
- public String getText(Object element)
- {
- if (element instanceof XSDElementDeclaration)
- return ((XSDElementDeclaration) element).getName();
- if (element instanceof XSDAttributeDeclaration )
- return ((XSDAttributeDeclaration) element).getName();
- return super.getText(element);
- }
- }
-
- public boolean close()
- {
- return super.close();
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/AddNewCategoryDialog.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/AddNewCategoryDialog.java
deleted file mode 100644
index 8e32319838..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/AddNewCategoryDialog.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-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.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.wst.common.ui.internal.dialogs.SelectSingleFileDialog;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-
-public class AddNewCategoryDialog extends Dialog
-{
-
- private static final String SCHEMA_LABEL = "Schema:";
- private static final String NAME_LABEL = "Name:";
- private String dialogTitle = "Add Category";
- private MenuManager browseMenu;
- private Label name;
- private Text nameText;
- private Label schema;
- private CLabel schemaDisplayer;
- private ToolBar browseToolBar;
- private ToolItem browseItem;
-
- private List invalidNames;
- private String appInfoSchemaLocation;
- private String categoryName;
- private CLabel errDisplayer;
-
- private boolean isCategoryNameValid;
-
- public AddNewCategoryDialog(Shell parentShell)
- {
- super(parentShell);
- }
-
- public AddNewCategoryDialog(Shell parentShell, String dialogTitle)
- {
- super(parentShell);
- this.dialogTitle = dialogTitle;
- }
-
- /**
- * receive a List of names which have already been added to the category list
- *
- * @param unavailNames
- * Array of unvailable names
- */
- public void setUnavailableCategoryNames(List unavailNames)
- {
- invalidNames = unavailNames;
- }
-
- public String getNewCategoryName()
- {
- return categoryName.trim();
- }
-
- public String getCategoryLocation()
- {
- return appInfoSchemaLocation;
- }
-
- public SpecificationForExtensionsSchema getExtensionsSchemaSpec(){
- SpecificationForExtensionsSchema schemaSpec = new SpecificationForExtensionsSchema();
- schemaSpec.setDisplayName(getNewCategoryName());
- schemaSpec.setLocation(getCategoryLocation());
-
- return schemaSpec;
- }
-
- // we initially disable the Ok button
- protected Control createButtonBar(Composite parent)
- {
- Control result = super.createButtonBar(parent);
- getButton(IDialogConstants.OK_ID).setEnabled(false);
- return result;
- }
-
- protected Control createDialogArea(Composite parent)
- {
- getShell().setText(dialogTitle);
-
- Composite mainComposite = (Composite) super.createDialogArea(parent);
- GridLayout layout = new GridLayout(3, false);
- layout.marginTop = 10;
- mainComposite.setLayout(layout);
- mainComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
- GridData data = new GridData();
- data.widthHint = 400;
-
- mainComposite.setLayoutData(data);
-
- // Line 1, name
- name = new Label(mainComposite, SWT.NONE);
- name.setText(NAME_LABEL);
-
- nameText = new Text(mainComposite, SWT.BORDER | SWT.SINGLE);
- nameText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- Button hidden = new Button(mainComposite, SWT.NONE);
- hidden.setVisible(false);
-
- // Line 2, schema
- schema = new Label(mainComposite, SWT.NONE);
- schema.setText(SCHEMA_LABEL);
-
- schemaDisplayer = new CLabel(mainComposite, SWT.BORDER | SWT.SINGLE);
- schemaDisplayer.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- browseToolBar = new ToolBar(mainComposite, SWT.FLAT);
- browseItem = new ToolItem(browseToolBar, SWT.NONE);
- // TODO: Should be able to get the image from the XML plugin. Don't need
- // to copy to XSDEditor icons folder like this.
- browseItem.setImage(XSDEditorPlugin.getXSDImage("icons/appinfo_browse.gif"));
-
- browseMenu = new MenuManager();
-
- BrowseInWorkspaceAction browseInWorkspace = new BrowseInWorkspaceAction();
- browseMenu.add(browseInWorkspace);
-
- BrowseCatalogAction browseCatalog = new BrowseCatalogAction();
- browseMenu.add(browseCatalog);
-
- browseItem.addSelectionListener(new SelectionAdapter()
- {
- public void widgetSelected(SelectionEvent e)
- {
- Menu menu = browseMenu.createContextMenu(getShell());
- Rectangle bounds = browseItem.getBounds();
- Point topLeft = new Point(bounds.x, bounds.y + bounds.height);
- topLeft = browseToolBar.toDisplay(topLeft);
- menu.setLocation(topLeft.x, topLeft.y);
- menu.setVisible(true);
- }
- });
-
- // Composite errComp = new Composite(mainComposite, SWT.NONE);
- // errComp.setBackground(org.eclipse.draw2d.ColorConstants.white);
- // errComp.setLayout(new GridLayout());
- errDisplayer = new CLabel(mainComposite, SWT.FLAT);
- // errDisplayer.setText("abd");
- GridData gd = new GridData(GridData.FILL_BOTH);
- gd.grabExcessHorizontalSpace = true;
- gd.horizontalSpan = 3;
- errDisplayer.setLayoutData(gd);
-
- // errComp.setLayoutData(gd);
- // errDisplayer.setLayoutData(gd);
- // errMsgContainer.setContent(errDisplayer);
-
- nameText.addModifyListener(new ModifyListener()
- {
- // track the nameText and enable/disable the OK button accordingly
- public void modifyText(ModifyEvent e)
- {
- categoryName = nameText.getText();
-
- // name is in the invalid List
- if (invalidNames != null)
- {
- if (invalidNames.contains(categoryName.trim()))
- {
- isCategoryNameValid = false;
-
- getButton(IDialogConstants.OK_ID).setEnabled(false);
- errDisplayer.setText("The name is already being used.");
- errDisplayer.setImage(XSDEditorPlugin.getXSDImage("icons/error_st_obj.gif"));
- return;
- }
- }
- // name is empty string
- if (categoryName.equals(""))
- {
- isCategoryNameValid = false;
-
- getButton(IDialogConstants.OK_ID).setEnabled(false);
- errDisplayer.setText("");
- errDisplayer.setImage(null);
- return;
- }
-
- /*
- * Enable the Ok button if the location field AND the name field are not
- * empty
- */
- if (!categoryName.equals(""))
- {
- isCategoryNameValid = true;
- errDisplayer.setText("");
- errDisplayer.setImage(null);
- }
- if (!appInfoSchemaLocation.equals(""))
- {
- getButton(IDialogConstants.OK_ID).setEnabled(true);
- }
- }
- });
-
- return parent;
- }
-
- protected void okPressed()
- {
- super.okPressed();
- }
-
- protected class BrowseInWorkspaceAction extends Action
- {
- private static final String XSD_FILE_EXTENSION = ".xsd";
-
- public BrowseInWorkspaceAction()
- {
- super("Workspace");
- }
-
- public void run()
- {
- SelectSingleFileDialog dialog = new SelectSingleFileDialog(getShell(), null, true);
- dialog.addFilterExtensions(new String[] { XSD_FILE_EXTENSION });
- dialog.create();
- dialog.setTitle("Select XSD file");
- dialog.setMessage("Choose an XSD file containing schema for your extensible components");
-
- if (dialog.open() == Window.OK)
- {
- IFile appInfoSchemaFile = dialog.getFile();
- if (appInfoSchemaFile != null)
- {
- // remove leading slash from the value to avoid the
- // whole leading slash ambiguity problem
- String uri = appInfoSchemaFile.getFullPath().toString();
- while (uri.startsWith("/") || uri.startsWith("\\")) { //$NON-NLS-1$ //$NON-NLS-2$
- uri = uri.substring(1);
- }
- appInfoSchemaLocation = uri.toString();
-
- appInfoSchemaLocation = "file://" + Platform.getLocation().toString() + "/" + appInfoSchemaLocation;
- // TODO... be careful how we construct the location
- // UNIX related issues here
-
- schemaDisplayer.setImage(XSDEditorPlugin.getXSDImage("icons/XSDFile.gif"));
- schemaDisplayer.setText(uri);
-
- // Enable the OK button if we should..
- if (isCategoryNameValid)
- {
- getButton(IDialogConstants.OK_ID).setEnabled(true);
- errDisplayer.setText("");
- errDisplayer.setImage(null);
- }
- }
- }
- }
- }
-
- protected class BrowseCatalogAction extends Action
- {
- public BrowseCatalogAction()
- {
- super("Catalog");
- }
-
- public void run()
- {
- SelectFromCatalogDialog dialog = new SelectFromCatalogDialog(getShell());
- // dialog.open();
- if (dialog.open() == Window.OK)
- {
- appInfoSchemaLocation = dialog.getCurrentSelectionLocation();
-
- schemaDisplayer.setImage(XSDEditorPlugin.getXSDImage("icons/xmlcatalog_obj.gif"));
- schemaDisplayer.setText(dialog.getCurrentSelectionNamespace());
-
- // Enable the OK button if we should..
- if (isCategoryNameValid && !appInfoSchemaLocation.equals(""))
- {
- getButton(IDialogConstants.OK_ID).setEnabled(true);
- errDisplayer.setText("");
- errDisplayer.setImage(null);
- }
- }
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionDetailsContentProvider.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionDetailsContentProvider.java
deleted file mode 100644
index b4568b359f..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionDetailsContentProvider.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo;
-
-import java.util.Collection;
-import java.util.HashMap;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-
-
-public class DOMExtensionDetailsContentProvider implements ExtensionDetailsContentProvider
-{
- private static Object[] EMPTY_ARRAY = {};
- private static String[] EMPTY_STRING_ARRAY = {};
- public Object[] getItems(Object input)
- {
- HashMap resultMap = new HashMap();
- if (input instanceof Element)
- {
- Element element = (Element)input;
- NamedNodeMap attributes = element.getAttributes();
- for (int i = 0; i < attributes.getLength(); i++)
- {
- Attr attr = (Attr)attributes.item(i);
- if (!"xmlns".equals(attr.getName()) && !"xmlns".equals(attr.getPrefix()))
- {
- resultMap.put(attr.getName(), new DOMExtensionItem(attr));
- }
- }
- ModelQuery modelQuery = ModelQueryUtil.getModelQuery(element.getOwnerDocument());
- if (modelQuery != null)
- {
- CMElementDeclaration ed = modelQuery.getCMElementDeclaration(element);
- if (ed != null)
- {
- CMNamedNodeMap attrMap = ed.getAttributes();
- if (attrMap != null)
- {
- int attrMapLength = attrMap.getLength();
- for (int i = 0; i < attrMapLength; i++)
- {
- CMAttributeDeclaration ad = (CMAttributeDeclaration) attrMap.item(i);
- if (resultMap.get(ad.getNodeName()) == null)
- {
- resultMap.put(ad.getNodeName(), new DOMExtensionItem(element, ad));
- }
- }
- }
- //
- int contentType = ed.getContentType();
- if ((contentType == CMElementDeclaration.PCDATA ||
- contentType == CMElementDeclaration.PCDATA) &&
- ed.getDataType() != null)
- {
- resultMap.put("text()", new DOMExtensionItem(element, ed));
- }
- }
- }
- Collection collection = resultMap.values();
- DOMExtensionItem[] items = new DOMExtensionItem[collection.size()];
- resultMap.values().toArray(items);
- return items;
- }
- else if (input instanceof Attr)
- {
- Attr attr = (Attr)input;
- DOMExtensionItem item = new DOMExtensionItem(attr);
- DOMExtensionItem[] items = {item};
- return items;
- }
- return EMPTY_ARRAY;
- }
-
-
- public String getName(Object item)
- {
- if (item instanceof DOMExtensionItem)
- {
- return ((DOMExtensionItem)item).getName();
- }
- return "";
- }
-
- public String getValue(Object item)
- {
- if (item instanceof DOMExtensionItem)
- {
- return ((DOMExtensionItem)item).getValue();
- }
- return "";
- }
-
- public String[] getPossibleValues(Object item)
- {
- if (item instanceof DOMExtensionItem)
- {
- return ((DOMExtensionItem)item).getPossibleValues();
- }
- return EMPTY_STRING_ARRAY;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionItem.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionItem.java
deleted file mode 100644
index 2f8be97d21..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionItem.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xsd.ui.internal.common.commands.UpdateAttributeValueCommand;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-class DOMExtensionItem
-{
- Node node;
- Element parent;
- CMNode cmNode;
-
- DOMExtensionItem(Node node)
- {
- this.node = node;
- }
-
- DOMExtensionItem(Element parent, CMElementDeclaration ed)
- {
- this.parent = parent;
- this.cmNode = ed;
- }
-
- DOMExtensionItem(Element parent, CMAttributeDeclaration ad)
- {
- this.parent = parent;
- this.cmNode = ad;
- }
-
- public String getName()
- {
- if (node instanceof Attr)
- {
- Attr attr = (Attr)node;
- return attr.getName();
- }
- else if (cmNode instanceof CMAttributeDeclaration)
- {
- CMAttributeDeclaration ad = (CMAttributeDeclaration)cmNode;
- return ad.getNodeName() + "*";
- }
- else if (cmNode instanceof CMDataType)
- {
- return "text()";
- }
- return "";
- }
-
- public String getValue()
- {
- if (node instanceof Attr)
- {
- Attr attr = (Attr)node;
- return attr.getValue();
- }
- return "";
- }
-
- public String[] getPossibleValues()
- {
- String[] result = {};
- if (node instanceof Attr)
- {
- Attr attr = (Attr)node;
- ModelQuery modelQuery = ModelQueryUtil.getModelQuery(attr.getOwnerDocument());
- if (modelQuery != null)
- {
- CMAttributeDeclaration ad = modelQuery.getCMAttributeDeclaration(attr);
- if (ad != null)
- {
- result = modelQuery.getPossibleDataTypeValues(attr.getOwnerElement(), ad);
- }
- }
- }
- else if (parent != null)
- {
- if (cmNode == null || cmNode instanceof CMDataType)
- {
- // TODO
- //
- }
- else if (cmNode instanceof CMAttributeDeclaration)
- {
- CMAttributeDeclaration ad = (CMAttributeDeclaration)cmNode;
- ModelQuery modelQuery = ModelQueryUtil.getModelQuery(parent.getOwnerDocument());
- if (modelQuery != null)
- {
- result = modelQuery.getPossibleDataTypeValues(parent, ad);
- }
- }
- }
- return result;
- }
-
- public Command getUpdateValueCommand(String newValue)
- {
- if (node instanceof Attr)
- {
- Attr attr = (Attr)node;
- return new UpdateAttributeValueCommand(attr.getOwnerElement(), attr.getNodeName(), newValue);
- }
- else if (parent != null)
- {
- if (cmNode == null || cmNode instanceof CMDataType)
- {
- // in this case we need to update the parent's text
- //
- }
- else if (cmNode instanceof CMAttributeDeclaration)
- {
- // TODO (cs) add namespace prefix to attribute name if req'd
- //
- CMAttributeDeclaration ad = (CMAttributeDeclaration)cmNode;
- return new UpdateAttributeValueCommand(parent, ad.getAttrName(), newValue);
- }
- }
- return null;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionItemEditManager.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionItemEditManager.java
deleted file mode 100644
index 6c771e1c65..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionItemEditManager.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Widget;
-
-public class DOMExtensionItemEditManager implements ExtensionItemEditManager
-{
- public void handleEdit(Object item, Widget widget)
- {
- if (item instanceof DOMExtensionItem)
- {
- DOMExtensionItem extensionItem = (DOMExtensionItem)item;
- String value = null;
- if (widget instanceof Text)
- {
- Text text = (Text)widget;
- value = text.getText();
- }
- else if (widget instanceof CCombo)
- {
- CCombo combo = (CCombo)widget;
- int index = combo.getSelectionIndex();
- if (index != -1)
- {
- value = combo.getItem(index);
- }
- }
- if (value != null)
- {
- Command command = extensionItem.getUpdateValueCommand(value);
- if (command != null)
- {
- // TODO (cs) add command stack handling stuff
- command.execute();
- }
- }
- }
- }
-
- public Control createCustomButtonControl(Composite composite, Object item)
- {
- Button button = new Button(composite, SWT.NONE);
- button.setText("...");
- return button;
- }
-
- public Control createCustomTextControl(Composite composite, Object item)
- {
- return null;
- }
-
- public String getButtonControlStyle(Object object)
- {
- /*
- DOMExtensionItem item = (DOMExtensionItem)object;
- if (item.getName().startsWith("n"))
- {
- return ExtensionItemEditManager.STYLE_CUSTOM;
- }*/
- return ExtensionItemEditManager.STYLE_NONE;
- }
-
- public String getTextControlStyle(Object object)
- {
- DOMExtensionItem item = (DOMExtensionItem)object;
- String[] values = item.getPossibleValues();
-
- if (values != null && values.length > 1)
- {
- return ExtensionItemEditManager.STYLE_COMBO;
- }
- return ExtensionItemEditManager.STYLE_TEXT;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionItemMenuListener.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionItemMenuListener.java
deleted file mode 100644
index 1c8bcf55d9..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionItemMenuListener.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.core.internal.document.ElementImpl;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.ui.internal.contentoutline.XMLNodeActionManager;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class DOMExtensionItemMenuListener implements IMenuListener
-{
- TreeViewer treeViewer;
-
- public DOMExtensionItemMenuListener(TreeViewer treeViewer)
- {
- this.treeViewer = treeViewer;
- }
-
- public void menuAboutToShow(IMenuManager manager)
- {
- manager.removeAll();
- ISelection selection = treeViewer.getSelection();
- if (selection instanceof IStructuredSelection)
- {
- IStructuredSelection structuredSelection = (IStructuredSelection) selection;
- if (structuredSelection.getFirstElement() instanceof ElementImpl)
- {
- ElementImpl elementImpl = (ElementImpl) structuredSelection.getFirstElement();
- IDOMDocument domDocument = (IDOMDocument) elementImpl.getOwnerDocument();
- InternalNodeActionManager actionManager = new InternalNodeActionManager(domDocument.getModel(), treeViewer);
- actionManager.fillContextMenu(manager, structuredSelection);
- }
- }
- }
-
-
- class InternalNodeActionManager extends XMLNodeActionManager
- {
- public InternalNodeActionManager(IStructuredModel model, Viewer viewer)
- {
- super(model, viewer);
- }
-
- public void contributeActions(IMenuManager menu, List selection)
- {
- //menu.add(new Action("there"){});
- try
- {
- int editMode = modelQuery.getEditMode();
- int ic = ModelQuery.INCLUDE_CHILD_NODES;
- int vc = (editMode == ModelQuery.EDIT_MODE_CONSTRAINED_STRICT) ? ModelQuery.VALIDITY_STRICT : ModelQuery.VALIDITY_NONE;
- List implicitlySelectedNodeList = null;
-
- if (selection.size() == 1)
- {
- Node node = (Node) selection.get(0);
- // contribute add child actions
- contributeAddChildActions(menu, node, ic, vc);
- }
- if (selection.size() > 0)
- {
- implicitlySelectedNodeList = getSelectedNodes(selection, true);
- // contribute delete actions
- contributeDeleteActions(menu, implicitlySelectedNodeList, ic, vc);
- }
- }
- catch(Exception e)
- {
- menu.add(new Action(e.getMessage()){});
- }
- /*
- if (selection.size() > 0)
- {
- // contribute replace actions
- contributeReplaceActions(menu, implicitlySelectedNodeList, ic, vc);
- }*/
- }
-
- protected void contributeAddChildActions(IMenuManager menu, Node node, int ic, int vc)
- {
- int nodeType = node.getNodeType();
- if (nodeType == Node.ELEMENT_NODE)
- {
- // 'Add Child...' and 'Add Attribute...' actions
- //
- Element element = (Element) node;
- MyMenuManager newMenu = new MyMenuManager("New"){
- public boolean isVisible() { return true; }
- };//$NON-NLS-1$
- newMenu.setVisible(true);
- menu.add(newMenu);
-
- CMElementDeclaration ed = modelQuery.getCMElementDeclaration(element);
- if (ed != null)
- {
- List modelQueryActionList = new ArrayList();
- // add insert child node actions
- //
- modelQueryActionList = new ArrayList();
- modelQuery.getInsertActions(element, ed, -1, ic, vc, modelQueryActionList);
- addActionHelper(newMenu, modelQueryActionList);
- }
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionTreeContentProvider.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionTreeContentProvider.java
deleted file mode 100644
index d76c5f3b77..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionTreeContentProvider.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class DOMExtensionTreeContentProvider implements ITreeContentProvider
-{
- protected String facet;
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
- {
- }
-
-
- public Object[] getChildren(Object parentElement)
- {
- if (parentElement instanceof Element)
- {
- Element element = (Element)parentElement;
- ArrayList list = new ArrayList();
- for (Node node = element.getFirstChild(); node != null; node = node.getNextSibling())
- {
- if (node.getNodeType() == Node.ELEMENT_NODE)
- {
- list.add(node);
- }
- }
- return list.toArray();
- }
- return Collections.EMPTY_LIST.toArray();
- }
-
- public boolean hasChildren(Object element)
- {
- Object[] children = getChildren(element);
- return children.length > 0;
- }
-
- public Object getParent(Object element)
- {
- return null;
- }
-
- public java.lang.Object[] getElements(java.lang.Object inputElement)
- {
- return getChildren(inputElement);
- }
-
- public void dispose()
- {
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionTreeLabelProvider.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionTreeLabelProvider.java
deleted file mode 100644
index 3f48f929c6..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/DOMExtensionTreeLabelProvider.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-
-public class DOMExtensionTreeLabelProvider extends LabelProvider
-{
- protected static final Image DEFAULT_ELEMENT_ICON = XSDEditorPlugin.getXSDImage("icons/XSDElement.gif");
- protected static final Image DEFAULT_ATTR_ICON = XSDEditorPlugin.getXSDImage("icons/XSDAttribute.gif");
-
- public DOMExtensionTreeLabelProvider()
- {
- }
-
- public Image getImage(Object element)
- {
- ExtensionsSchemasRegistry registry = XSDEditorPlugin.getDefault().getExtensionsSchemasRegistry();
- if (element instanceof Element)
- {
- Element domElement = (Element) element;
- ILabelProvider lp = registry.getLabelProvider(domElement);
- if (lp != null)
- {
- Image img = lp.getImage(domElement);
- if (img != null)
- return img;
- }
- return DEFAULT_ELEMENT_ICON;
- }
- if (element instanceof Attr)
- return DEFAULT_ATTR_ICON;
- return null;
- }
-
- public String getText(Object input)
- {
- if (input instanceof Element)
- {
- Element domElement = (Element) input;
- return domElement.getLocalName();
- }
- if ( input instanceof Attr){
- return ((Attr) input).getLocalName();
- }
- return "";
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/ExtensionDetailsContentProvider.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/ExtensionDetailsContentProvider.java
deleted file mode 100644
index 254d105ce4..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/ExtensionDetailsContentProvider.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo;
-
-public interface ExtensionDetailsContentProvider
-{
- Object[] getItems(Object input);
- String getName(Object item);
- String getValue(Object item);
- String[] getPossibleValues(Object item);
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/ExtensionDetailsViewer.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/ExtensionDetailsViewer.java
deleted file mode 100644
index 50568b4727..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/ExtensionDetailsViewer.java
+++ /dev/null
@@ -1,183 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
-
-public class ExtensionDetailsViewer extends Viewer
-{
- private final static String ITEM_DATA = "ITEM_DATA";
- Composite control;
- Composite composite;
- ExtensionDetailsContentProvider contentProvider;
- TabbedPropertySheetWidgetFactory widgetFactory;
- InternalFocusListener internalFocusListener;
- ExtensionItemEditManager editManager;
-
- public ExtensionDetailsViewer(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory)
- {
- this.widgetFactory = widgetFactory;
- control = widgetFactory.createComposite(parent);
- internalFocusListener = new InternalFocusListener();
- control.setLayout(new GridLayout());
- }
- public Control getControl()
- {
- return control;
- }
-
-
- public Object getInput()
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public ISelection getSelection()
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public void refresh()
- {
- // TODO Auto-generated method stub
-
- }
-
- public void setInput(Object input)
- {
- // TODO (cs) add assertions
- //
- if (editManager == null)
- return;
-
- if (contentProvider == null)
- return;
-
- if (composite != null)
- {/*
- for (Iterator i = controlsThatWeAreListeningTo.iterator(); i.hasNext(); )
- {
- Control control = (Control)i.next();
- if (control != null)
- {
- control.removeFocusListener(internalFocusListener);
- }
- } */
- composite.dispose();
- }
-
- composite = widgetFactory.createComposite(control);
- composite.setBackground(ColorConstants.white);
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 3;
- composite.setLayout(gridLayout);
- composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- Object[] items = contentProvider.getItems(input);
-
- for (int i = 0; i < items.length; i++)
- {
- Object item = items[i];
- String name = contentProvider.getName(item);
- String value = contentProvider.getValue(item);
- Label label = widgetFactory.createLabel(composite, name + ":");
- label.setLayoutData(new GridData());
-
- Control control = null;
- String style = editManager.getTextControlStyle(item);
-
- if (style == ExtensionItemEditManager.STYLE_COMBO)
- {
- CCombo combo = widgetFactory.createCCombo(composite);
- combo.setText(value);
- String[] values = contentProvider.getPossibleValues(item);
- for (int j = 0; j < values.length; j++)
- {
- combo.add(values[j]);
- }
- control = combo;
- }
- else if (style == ExtensionItemEditManager.STYLE_CUSTOM)
- {
- control = editManager.createCustomTextControl(composite, item);
- }
- else // (style == ExtensionItemEditManager.STYLE_TEXT)
- {
- Text text = widgetFactory.createText(composite,value);
- control = text;
- }
- control.setData(ITEM_DATA, item);
- control.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- control.addFocusListener(internalFocusListener);
-
- String buttongStyle = editManager.getButtonControlStyle(item);
- if (buttongStyle == ExtensionItemEditManager.STYLE_CUSTOM)
- {
- editManager.createCustomButtonControl(composite, item);
- }
- else
- {
- Control placeHolder = new Label(composite, SWT.NONE);
- placeHolder.setVisible(false);
- placeHolder.setEnabled(false);
- placeHolder.setLayoutData(new GridData());
- }
- }
- control.layout(true);
- }
-
- public void setSelection(ISelection selection, boolean reveal)
- {
- // TODO Auto-generated method stub
-
- }
- public ExtensionDetailsContentProvider getContentProvider()
- {
- return contentProvider;
- }
- public void setContentProvider(ExtensionDetailsContentProvider contentProvider)
- {
- this.contentProvider = contentProvider;
- }
-
- class InternalFocusListener implements FocusListener
- {
- public void focusGained(FocusEvent e)
- {
- }
-
- public void focusLost(FocusEvent e)
- {
- if (editManager != null)
- {
- Object item = e.widget.getData(ITEM_DATA);
- if (item != null)
- {
- editManager.handleEdit(item, e.widget);
- }
- }
- }
- }
-
- public ExtensionItemEditManager getEditManager()
- {
- return editManager;
- }
- public void setEditManager(ExtensionItemEditManager editManager)
- {
- this.editManager = editManager;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/ExtensionItemEditManager.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/ExtensionItemEditManager.java
deleted file mode 100644
index 40dda9f5d7..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/ExtensionItemEditManager.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Widget;
-
-public interface ExtensionItemEditManager
-{
- public final static String STYLE_NONE = "none";
- public final static String STYLE_TEXT = "text";
- public final static String STYLE_COMBO = "combo";
- public final static String STYLE_CUSTOM = "custom";
-
- void handleEdit(Object item, Widget widget);
- String getTextControlStyle(Object item);
- String getButtonControlStyle(Object item);
- Control createCustomTextControl(Composite composite, Object item);
- Control createCustomButtonControl(Composite composite, Object item);
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/ExtensionsSchemasRegistry.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/ExtensionsSchemasRegistry.java
deleted file mode 100644
index c917c853ed..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/ExtensionsSchemasRegistry.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalog;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalogEntry;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.INextCatalog;
-import org.w3c.dom.Element;
-
-public class ExtensionsSchemasRegistry
-{
- private static final String LOCATION_PREFIX = "platform:/plugin/";
- public static final String DESCRIPTION = "description";
- public static final String DISPLAYNAME = "displayName";
- public static final String NAMESPACEURI = "namespaceURI";
- public static final String XSDFILEURL = "xsdFileURL";
- public static final String LABELPROVIDER = "labelProviderClass";
-
- protected String extensionId;
-
- HashMap propertyMap;
- ArrayList nsURIProperties;
- private ICatalog systemCatalog;
-
- public ExtensionsSchemasRegistry(String appinfo_extensionid)
- {
- extensionId = appinfo_extensionid;
- }
-
- public List getAllExtensionsSchemasContribution()
- {
- // If we read the registry, then let's not do it again.
- if (nsURIProperties != null)
- {
- return nsURIProperties;
- }
- IConfigurationElement[] asiPropertiesList = Platform.getExtensionRegistry().getConfigurationElementsFor(extensionId);
-
- nsURIProperties = new ArrayList();
- propertyMap = new HashMap();
-
- boolean hasASIProperties = (asiPropertiesList != null) && (asiPropertiesList.length > 0);
-
- if (hasASIProperties)
- {
- for (int i = 0; i < asiPropertiesList.length; i++)
- {
- IConfigurationElement asiPropertiesElement = asiPropertiesList[i];
- String description = asiPropertiesElement.getAttribute(DESCRIPTION);
- String displayName = asiPropertiesElement.getAttribute(DISPLAYNAME);
- String namespaceURI = asiPropertiesElement.getAttribute(NAMESPACEURI);
- String xsdFileURL = asiPropertiesElement.getAttribute(XSDFILEURL);
- String labelProviderClass = asiPropertiesElement.getAttribute(LABELPROVIDER);
-
- if (displayName == null)
- {
- // If there is no display name, force the user
- // to manually create a name. Therefore, we ignore entry without
- // a display name.
- continue;
- }
-
- if (xsdFileURL == null)
- {
- xsdFileURL = locateFileUsingCatalog(namespaceURI);
- }
-
- SpecificationForExtensionsSchema extensionsSchemaSpec = createEntry();
- extensionsSchemaSpec.setDescription(description);
- extensionsSchemaSpec.setDisplayName(displayName);
- extensionsSchemaSpec.setNamespaceURI(namespaceURI);
- extensionsSchemaSpec.setDefautSchema();
-
- if (labelProviderClass != null)
- {
- String pluginId = asiPropertiesElement.getDeclaringExtension().getContributor().getName();
- ILabelProvider labelProvider = null;
- try
- {
- Class theClass = Platform.getBundle(pluginId).loadClass(labelProviderClass);
- if (theClass != null)
- {
- labelProvider = (ILabelProvider) theClass.newInstance();
- if (labelProvider != null)
- {
- propertyMap.put(namespaceURI, labelProvider);
- extensionsSchemaSpec.setLabelProvider(labelProvider);
- }
- }
- }
- catch (Exception e)
- {
-
- }
- }
- String plugin = asiPropertiesElement.getDeclaringExtension().getContributor().getName();
- extensionsSchemaSpec.setLocation(LOCATION_PREFIX + plugin + "/" + xsdFileURL);
-
- nsURIProperties.add(extensionsSchemaSpec);
- }
-
- }
- return nsURIProperties;
- }
-
- public ILabelProvider getLabelProvider(Element element)
- {
- String uri = element.getNamespaceURI();
- if (uri == null)
- uri = "";
-
- // Didn't retrieve the config elements yet.
- if (propertyMap == null)
- {
- getAllExtensionsSchemasContribution();
- }
-
- Object object = propertyMap.get(uri);
- if (object instanceof ILabelProvider)
- {
- return (ILabelProvider) object;
- }
- return null;
- }
-
- public SpecificationForExtensionsSchema createEntry()
- {
- return new SpecificationForExtensionsSchema();
- }
-
- /**
- * Returns the String location for the schema with the given namespaceURI by
- * looking at the XML catalog. We look only in the plugin specified entries of
- * the catalog.
- *
- * @param namespaceURI
- * @return String representing the location of the schema.
- */
- private String locateFileUsingCatalog(String namespaceURI)
- {
- retrieveCatalog();
-
- ICatalogEntry[] entries = systemCatalog.getCatalogEntries();
- for (int i = 0; i < entries.length; i++)
- {
- if (entries[i].getKey().equals(namespaceURI))
- return entries[i].getURI();
- }
-
- return null;
- }
-
- private void retrieveCatalog()
- {
- if (systemCatalog != null)
- return;
-
- ICatalog defaultCatalog = XMLCorePlugin.getDefault().getDefaultXMLCatalog();
- INextCatalog[] nextCatalogs = defaultCatalog.getNextCatalogs();
- for (int i = 0; i < nextCatalogs.length; i++)
- {
- INextCatalog catalog = nextCatalogs[i];
- ICatalog referencedCatalog = catalog.getReferencedCatalog();
- if (referencedCatalog != null)
- {
- if (XMLCorePlugin.SYSTEM_CATALOG_ID.equals(referencedCatalog.getId()))
- {
- systemCatalog = referencedCatalog;
- }
- }
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/SelectFromCatalogDialog.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/SelectFromCatalogDialog.java
deleted file mode 100644
index 1f2737a523..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/SelectFromCatalogDialog.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-import org.eclipse.wst.xml.core.internal.catalog.CatalogSet;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalog;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalogEntry;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.INextCatalog;
-import org.eclipse.wst.xml.ui.internal.catalog.XMLCatalogEntriesView;
-import org.eclipse.wst.xml.ui.internal.catalog.XMLCatalogEntryDetailsView;
-import org.eclipse.wst.xml.ui.internal.catalog.XMLCatalogMessages;
-import org.eclipse.wst.xml.ui.internal.catalog.XMLCatalogTreeViewer;
-
-public class SelectFromCatalogDialog extends Dialog
-{
-
- private ICatalog workingUserCatalog;
- private ICatalog userCatalog;
- private ICatalog defaultCatalog;
- private XMLCatalogEntriesView catalogEntriesView;
- private ICatalog systemCatalog;
-
- private String currentSelectionLocation;
- private String currentSelectionNamespace;
-
- public SelectFromCatalogDialog(Shell parentShell)
- {
- super(parentShell);
-
- defaultCatalog = XMLCorePlugin.getDefault().getDefaultXMLCatalog();
- INextCatalog[] nextCatalogs = defaultCatalog.getNextCatalogs();
- for (int i = 0; i < nextCatalogs.length; i++)
- {
- INextCatalog catalog = nextCatalogs[i];
- ICatalog referencedCatalog = catalog.getReferencedCatalog();
- if (referencedCatalog != null)
- {
- if (XMLCorePlugin.SYSTEM_CATALOG_ID.equals(referencedCatalog.getId()))
- {
- systemCatalog = referencedCatalog;
- }
- else if (XMLCorePlugin.USER_CATALOG_ID.equals(referencedCatalog.getId()))
- {
- userCatalog = referencedCatalog;
- }
- }
- }
- }
-
- protected Control createDialogArea(Composite parent)
- {
- // we create a working copy of the 'User Settings' for the Catalog
- // that we can modify
- CatalogSet tempCatalogSet = new CatalogSet();
- workingUserCatalog = tempCatalogSet.lookupOrCreateCatalog("working", ""); //$NON-NLS-1$ //$NON-NLS-2$
-
- // TODO: add entries from the nested catalogs as well
- workingUserCatalog.addEntriesFromCatalog(userCatalog);
-
- Composite composite = new Composite(parent, SWT.NULL);
- composite.setLayout(new GridLayout());
- GridData gridData = new GridData(GridData.FILL_BOTH);
- gridData.heightHint = 500;
- composite.setLayoutData(gridData);
- createCatalogEntriesView(composite);
- createCatalogDetailsView(composite);
-
- return composite;
- }
-
- protected void createCatalogEntriesView(Composite parent)
- {
- Group group = new Group(parent, SWT.NONE);
- group.setLayout(new GridLayout());
- GridData gridData = new GridData(GridData.FILL_BOTH);
- gridData.widthHint = 370;
- group.setLayoutData(gridData);
- group.setText(XMLCatalogMessages.UI_LABEL_USER_ENTRIES);
- group.setToolTipText(XMLCatalogMessages.UI_LABEL_USER_ENTRIES_TOOL_TIP);
-
- /*
- * create a subclass of XMLCatalogEntriesView which suppresses - the
- * creation of 'Add', 'Edit', 'Delete' buttons - any method involving the
- * above buttons
- */
- catalogEntriesView = new XMLCatalogEntriesView(group, workingUserCatalog, systemCatalog)
- {
- protected void createButtons(Composite parent)
- {
- }
-
- protected void updateWidgetEnabledState()
- {
- }
-
- };
-
- // Only XML Schema entry is selectable
- catalogEntriesView.setLayoutData(gridData);
- XMLCatalogTreeViewer catalogTreeViewer = ((XMLCatalogTreeViewer) catalogEntriesView.getViewer());
- catalogTreeViewer.resetFilters();
-
- catalogTreeViewer.addFilter(new XMLCatalogTableViewerFilter(new String[] { ".xsd" }));
- }
-
- // Bug in the filter of the XML plugin, have to give a correct version here
- // TODO: Waiting for the fix to be commited to XML plugin and
- // be used by constellation
- private class XMLCatalogTableViewerFilter extends ViewerFilter
- {
- private static final String W3_XMLSCHEMA_NAMESPACE = "http://www.w3.org/2001/";
- protected String[] extensions;
-
- public XMLCatalogTableViewerFilter(String[] extensions1)
- {
- this.extensions = extensions1;
- }
-
- public boolean isFilterProperty(Object element, Object property)
- {
- return false;
- }
-
- public boolean select(Viewer viewer, Object parent, Object element)
- {
- boolean result = false;
- if (element instanceof ICatalogEntry)
- {
- ICatalogEntry catalogEntry = (ICatalogEntry) element;
- for (int i = 0; i < extensions.length; i++)
- {
- // if the extension is correct and the namespace indicates
- // that this entry is not the W3 XML Schema
- if (catalogEntry.getURI().endsWith(extensions[i]) && !catalogEntry.getKey().startsWith(W3_XMLSCHEMA_NAMESPACE))
- {
- result = true;
- break;
- }
- }
- }
- else if (element.equals(XMLCatalogTreeViewer.PLUGIN_SPECIFIED_ENTRIES_OBJECT) || element.equals(XMLCatalogTreeViewer.USER_SPECIFIED_ENTRIES_OBJECT))
- {
- return true;
- }
- return result;
- }
- }
-
- protected void createCatalogDetailsView(Composite parent)
- {
- Group detailsGroup = new Group(parent, SWT.NONE);
- detailsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- detailsGroup.setLayout(new GridLayout());
- detailsGroup.setText(XMLCatalogMessages.UI_LABEL_DETAILS);
- final XMLCatalogEntryDetailsView detailsView = new XMLCatalogEntryDetailsView(detailsGroup);
- ISelectionChangedListener listener = new ISelectionChangedListener()
- {
- public void selectionChanged(SelectionChangedEvent event)
- {
- ISelection selection = event.getSelection();
- Object selectedObject = (selection instanceof IStructuredSelection) ? ((IStructuredSelection) selection).getFirstElement() : null;
- if (selectedObject instanceof ICatalogEntry)
- {
- ICatalogEntry entry = (ICatalogEntry) selectedObject;
- detailsView.setCatalogElement(entry);
- currentSelectionLocation = entry.getURI();
- currentSelectionNamespace = entry.getKey();
- }
- else
- {
- detailsView.setCatalogElement((ICatalogEntry) null);
- currentSelectionLocation = "";
- currentSelectionNamespace = "";
- }
- }
- };
- catalogEntriesView.getViewer().addSelectionChangedListener(listener);
- }
-
- public String getCurrentSelectionLocation()
- {
- return currentSelectionLocation;
- }
-
- public String getCurrentSelectionNamespace()
- {
- return currentSelectionNamespace;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/SpecificationForExtensionsSchema.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/SpecificationForExtensionsSchema.java
deleted file mode 100644
index cd8ee9a958..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/SpecificationForExtensionsSchema.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-
-public class SpecificationForExtensionsSchema
-{
- private String description;
- private String displayName;
- private String namespaceURI;
- private String location;
- private ILabelProvider labelProvider;
- private boolean isDefaultSchema = false;
-
- public SpecificationForExtensionsSchema()
- {
- super();
- }
-
- /**
- * @return Returns the description.
- */
- public String getDescription()
- {
- return description;
- }
-
- /**
- * @param description
- * The description to set.
- */
- public void setDescription(String description)
- {
- this.description = description;
- }
-
- /**
- * @return Returns the displayName.
- */
- public String getDisplayName()
- {
- return displayName;
- }
-
- /**
- * @param name
- * The displayName to set.
- */
- public void setDisplayName(String displayName)
- {
- this.displayName = displayName;
- }
-
- /**
- * @return Returns the namespaceURI.
- */
- public String getNamespaceURI()
- {
- return namespaceURI;
- }
-
- /**
- * @param namespaceURI
- * The namespaceURI to set.
- */
- public void setNamespaceURI(String namespaceURI)
- {
- this.namespaceURI = namespaceURI;
- }
-
- /**
- * @return Returns the location of the xsd file.
- */
- public String getLocation()
- {
- return location;
- }
-
- /**
- * @param location
- * The location to be set
- */
- public void setLocation(String location)
- {
- this.location = location;
- }
-
- public ILabelProvider getLabelProvider()
- {
- return labelProvider;
- }
-
- public void setLabelProvider(ILabelProvider labelProvider)
- {
- this.labelProvider = labelProvider;
- }
-
- public boolean isDefautSchema(){
- return isDefaultSchema ;
- }
-
- public void setDefautSchema(){
- isDefaultSchema = true;
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/XSDExtensionTreeContentProvider.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/XSDExtensionTreeContentProvider.java
deleted file mode 100644
index 981da6985c..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/appinfo/XSDExtensionTreeContentProvider.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.common.properties.sections.appinfo;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.wst.xsd.ui.internal.common.util.XSDCommonUIUtils;
-import org.eclipse.xsd.XSDAnnotation;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.util.XSDConstants;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class XSDExtensionTreeContentProvider extends DOMExtensionTreeContentProvider
-{
- public Object[] getElements(Object inputElement)
- {
- if (inputElement instanceof XSDConcreteComponent)
- {
- XSDConcreteComponent component = (XSDConcreteComponent) inputElement;
- List elementsAndAttributes = new ArrayList();
- /** Construct elements list */
- XSDAnnotation xsdAnnotation = XSDCommonUIUtils.getInputXSDAnnotation(component, false);
- if (xsdAnnotation != null)
- {
- List appInfoList = xsdAnnotation.getApplicationInformation();
- Element appInfoElement = null;
- if (appInfoList.size() > 0)
- {
- appInfoElement = (Element) appInfoList.get(0);
- }
- if (appInfoElement != null)
- {
- for (Iterator it = appInfoList.iterator(); it.hasNext();)
- {
- Object obj = it.next();
- if (obj instanceof Element)
- {
- Element appInfo = (Element) obj;
- NodeList nodeList = appInfo.getChildNodes();
- int length = nodeList.getLength();
- for (int i = 0; i < length; i++)
- {
- Node node = nodeList.item(i);
- if (node instanceof Element)
- {
- elementsAndAttributes.add(node);
- }
- }
- }
- }
- }
- }
- /** Construct attributes list */
- NamedNodeMap attributes = component.getElement().getAttributes();
- if (attributes != null)
- {
- // String defaultNamespace =
- // (String)component.getSchema().getQNamePrefixToNamespaceMap().get("");
- int length = attributes.getLength();
- for (int i = 0; i < length; i++)
- {
- Node oneAttribute = attributes.item(i);
- if (!isXmlnsAttribute(oneAttribute))
- {
- String namespace = oneAttribute.getNamespaceURI();
- boolean isExtension = true;
- if (namespace == null && oneAttribute.getPrefix() == null)
- {
- isExtension = false;
- }
- else if (!XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001.equals(namespace))
- {
- isExtension = true;
- }
- if (isExtension)
- {
- elementsAndAttributes.add(oneAttribute);
- }
- }
- }
- }
- return elementsAndAttributes.toArray();
- }
- return Collections.EMPTY_LIST.toArray();
- }
-
- private static boolean isXmlnsAttribute(Node attribute)
- {
- String prefix = attribute.getPrefix();
- if (prefix != null)
- {
- // this handle the xmlns:foo="blah" case
- return "xmlns".equals(prefix);
- }
- else
- {
- // this handles the xmlns="blah" case
- return "xmlns".equals(attribute.getNodeName());
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/util/XSDCommonUIUtils.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/util/XSDCommonUIUtils.java
deleted file mode 100644
index 6c3be88125..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/util/XSDCommonUIUtils.java
+++ /dev/null
@@ -1,471 +0,0 @@
-package org.eclipse.wst.xsd.ui.internal.common.util;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.wst.sse.core.internal.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xml.core.internal.provisional.format.FormatProcessorXML;
-import org.eclipse.xsd.XSDAnnotation;
-import org.eclipse.xsd.XSDAttributeDeclaration;
-import org.eclipse.xsd.XSDAttributeGroupDefinition;
-import org.eclipse.xsd.XSDAttributeUse;
-import org.eclipse.xsd.XSDComplexTypeContent;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDFacet;
-import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDFeature;
-import org.eclipse.xsd.XSDIdentityConstraintDefinition;
-import org.eclipse.xsd.XSDImport;
-import org.eclipse.xsd.XSDInclude;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDNotationDeclaration;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDRedefine;
-import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.XSDWildcard;
-import org.eclipse.xsd.XSDXPathDefinition;
-import org.eclipse.xsd.util.XSDConstants;
-import org.eclipse.xsd.util.XSDUtil;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class XSDCommonUIUtils
-{
- public XSDCommonUIUtils()
- {
- super();
- }
-
- public static XSDAnnotation getInputXSDAnnotation(XSDConcreteComponent input, boolean createIfNotExist)
- {
- XSDAnnotation xsdAnnotation = null;
- XSDFactory factory = XSDFactory.eINSTANCE;
- if (input instanceof XSDAttributeDeclaration)
- {
- XSDAttributeDeclaration xsdComp = (XSDAttributeDeclaration) input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDAttributeGroupDefinition)
- {
- XSDAttributeGroupDefinition xsdComp = (XSDAttributeGroupDefinition) input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDElementDeclaration)
- {
- XSDElementDeclaration xsdComp = (XSDElementDeclaration) input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDNotationDeclaration)
- {
- XSDNotationDeclaration xsdComp = (XSDNotationDeclaration) input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDXPathDefinition)
- {
- XSDXPathDefinition xsdComp = (XSDXPathDefinition) input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDModelGroup)
- {
- XSDModelGroup xsdComp = (XSDModelGroup) input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDModelGroupDefinition)
- {
- XSDModelGroupDefinition xsdComp = (XSDModelGroupDefinition) input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDIdentityConstraintDefinition)
- {
- XSDIdentityConstraintDefinition xsdComp = (XSDIdentityConstraintDefinition) input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDWildcard)
- {
- XSDWildcard xsdComp = (XSDWildcard) input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDSchema)
- {
- XSDSchema xsdComp = (XSDSchema) input;
- List list = xsdComp.getAnnotations();
- if (list.size() > 0)
- {
- xsdAnnotation = (XSDAnnotation) list.get(0);
- }
- else
- {
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- if (xsdComp.getContents() != null)
- {
- xsdComp.getContents().add(0, xsdAnnotation);
- }
- }
- }
- return xsdAnnotation;
- }
- else if (input instanceof XSDFacet)
- {
- XSDFacet xsdComp = (XSDFacet) input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDTypeDefinition)
- {
- XSDTypeDefinition xsdComp = (XSDTypeDefinition) input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDInclude)
- {
- XSDInclude xsdComp = (XSDInclude) input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDImport)
- {
- XSDImport xsdComp = (XSDImport) input;
- xsdAnnotation = xsdComp.getAnnotation();
- if (createIfNotExist && xsdAnnotation == null)
- {
- xsdAnnotation = factory.createXSDAnnotation();
- xsdComp.setAnnotation(xsdAnnotation);
- }
- }
- else if (input instanceof XSDRedefine)
- {
- XSDRedefine xsdComp = (XSDRedefine) input;
- List list = xsdComp.getAnnotations();
- if (list.size() > 0)
- {
- xsdAnnotation = (XSDAnnotation) list.get(0);
- }
- else
- {
- if (createIfNotExist && xsdAnnotation == null)
- {
- // ?
- }
- }
- return xsdAnnotation;
- }
- else if (input instanceof XSDAnnotation)
- {
- xsdAnnotation = (XSDAnnotation) input;
- }
-
- if (createIfNotExist)
- {
- formatAnnotation(xsdAnnotation);
- }
-
- return xsdAnnotation;
- }
-
- private static void formatAnnotation(XSDAnnotation annotation)
- {
- Element element = annotation.getElement();
- formatChild(element);
- }
-
- public static void formatChild(Node child)
- {
- if (child instanceof IDOMNode)
- {
- IDOMModel model = ((IDOMNode) child).getModel();
- try
- {
- // tell the model that we are about to make a big model change
- model.aboutToChangeModel();
-
- IStructuredFormatProcessor formatProcessor = new FormatProcessorXML();
- formatProcessor.formatNode(child);
- }
- finally
- {
- // tell the model that we are done with the big model change
- model.changedModel();
- }
- }
- }
-
- public static String createUniqueElementName(String prefix, List elements)
- {
- ArrayList usedNames = new ArrayList();
- for (Iterator i = elements.iterator(); i.hasNext();)
- {
- usedNames.add(getDisplayName((XSDNamedComponent) i.next()));
- }
-
- int i = 1;
- String testName = prefix + i++;
- while (usedNames.contains(testName))
- {
- testName = prefix + i++;
- }
- return testName;
- }
-
- public static String getDisplayName(XSDNamedComponent component)
- {
- if (component instanceof XSDTypeDefinition)
- return getDisplayNameFromXSDType((XSDTypeDefinition) component);
-
- if (component instanceof XSDFeature)
- {
- XSDFeature feature = (XSDFeature) component;
- if (feature.getName() != null)
- return feature.getName();
- else if (feature.getResolvedFeature() != null && feature.getResolvedFeature().getName() != null)
- return feature.getResolvedFeature().getName();
- }
-
- return component.getName();
-
- }
-
- public static String getDisplayNameFromXSDType(XSDTypeDefinition type)
- {
- return getDisplayNameFromXSDType(type, true);
- }
-
- public static String getDisplayNameFromXSDType(XSDTypeDefinition type, boolean returnPrimitiveParents)
- {
- if (type == null)
- return null;
-
- if (type.getName() == null || type.getName().length() == 0)
- {
- if (returnPrimitiveParents && isPrimitiveType(type))
- {
- return getDisplayNameFromXSDType(type.getBaseType());
- }
-
- EObject container = type.eContainer();
-
- while (container != null)
- {
- if (container instanceof XSDNamedComponent && ((XSDNamedComponent) container).getName() != null)
- {
- return ((XSDNamedComponent) container).getName();
- }
- container = container.eContainer();
- }
- return null;
- }
- else
- return type.getName();
- }
-
- public static boolean isPrimitiveType(XSDTypeDefinition type)
- {
- if (type instanceof XSDComplexTypeDefinition)
- return false;
-
- XSDTypeDefinition baseType = null;
- if (type != null)
- {
- baseType = type.getBaseType();
- XSDTypeDefinition origType = baseType; // KC: although invalid, we need to
- // prevent cycles and to avoid an
- // infinite loop
- while (baseType != null && !XSDUtil.isAnySimpleType(baseType) && !XSDUtil.isAnyType(baseType) && origType != baseType)
- {
- type = baseType;
- baseType = type.getBaseType();
- }
- baseType = type;
- }
- else
- {
- return false;
- }
-
- return (XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001.equals(baseType.getTargetNamespace()));
- }
-
- public static XSDSimpleTypeDefinition getAnonymousSimpleType(XSDFeature input, XSDSimpleTypeDefinition xsdSimpleTypeDefinition)
- {
- XSDSimpleTypeDefinition anonymousSimpleType = null;
- XSDTypeDefinition localType = null;
-
- if (input instanceof XSDElementDeclaration)
- {
- localType = ((XSDElementDeclaration) input).getAnonymousTypeDefinition();
- }
- else if (input instanceof XSDAttributeDeclaration)
- {
- localType = ((XSDAttributeDeclaration) input).getAnonymousTypeDefinition();
- }
-
- if (localType instanceof XSDSimpleTypeDefinition)
- {
- anonymousSimpleType = (XSDSimpleTypeDefinition) localType;
- }
- return anonymousSimpleType;
- }
-
- public static List getChildElements(XSDModelGroup group)
- {
- List children = new ArrayList();
- if (group == null) return children;
- for (Iterator i = group.getContents().iterator(); i.hasNext();)
- {
- XSDParticle next = (XSDParticle) i.next();
- if (next.getContent() instanceof XSDFeature)
- {
- children.add(next.getContent());
- }
- else if (next.getTerm() instanceof XSDModelGroup)
- {
- children.addAll(getChildElements((XSDModelGroup) next.getTerm()));
- }
- }
- return children;
- }
-
- public static List getAllAttributes(XSDComplexTypeDefinition xsdComplexType)
- {
- List attributes = getChildElements(xsdComplexType);
- attributes.addAll(getChildAttributes(xsdComplexType));
-
- return attributes;
- }
-
- public static List getInheritedAttributes(XSDComplexTypeDefinition ct)
- {
- List attrs = new ArrayList();
- XSDTypeDefinition parent = ct.getBaseTypeDefinition();
- if (parent != null && parent instanceof XSDComplexTypeDefinition && ct.isSetDerivationMethod())
- {
- attrs.addAll(getAllAttributes((XSDComplexTypeDefinition) parent));
- attrs.addAll(getInheritedAttributes((XSDComplexTypeDefinition) parent));
- }
-
- return attrs;
- }
-
- public static List getChildElements(XSDComplexTypeDefinition ct)
- {
- return getChildElements(getModelGroup(ct));
- }
-
- public static XSDModelGroup getModelGroup(XSDComplexTypeDefinition cType)
- {
- XSDParticle particle = cType.getComplexType();
-
- if (particle == null || particle.eContainer() != cType)
- return null;
-
- Object particleContent = particle.getContent();
- XSDModelGroup group = null;
-
- if (particleContent instanceof XSDModelGroupDefinition)
- group = ((XSDModelGroupDefinition) particleContent).getResolvedModelGroupDefinition().getModelGroup();
- else if (particleContent instanceof XSDModelGroup)
- group = (XSDModelGroup) particleContent;
-
- if (group == null)
- return null;
-
- if (group.getContents().isEmpty() || group.eResource() != cType.eResource())
- {
- XSDComplexTypeContent content = cType.getContent();
- if (content instanceof XSDParticle)
- group = (XSDModelGroup) ((XSDParticle) content).getContent();
- }
-
- return group;
- }
-
- public static List getChildAttributes(XSDComplexTypeDefinition ct)
- {
- EList attrContents = ct.getAttributeContents();
- List attrs = new ArrayList();
- for (int i = 0; i < attrContents.size(); i++)
- {
- Object next = attrContents.get(i);
-
- if (next instanceof XSDAttributeUse)
- {
- attrs.add(((XSDAttributeUse) next).getContent().getResolvedAttributeDeclaration());
- }
- else if (next instanceof XSDAttributeGroupDefinition)
- {
- //XSDAttributeGroupDefinition attrGroup = (XSDAttributeGroupDefinition) next;
- }
- }
- return attrs;
- }
-
-}

Back to the top