diff options
Diffstat (limited to 'bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddAttributeDeclarationCommand.java')
-rw-r--r-- | bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddAttributeDeclarationCommand.java | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddAttributeDeclarationCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddAttributeDeclarationCommand.java deleted file mode 100644 index 0430149d7d..0000000000 --- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AddAttributeDeclarationCommand.java +++ /dev/null @@ -1,140 +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.commands; - -import java.util.ArrayList; -import java.util.Iterator; - -import org.eclipse.xsd.XSDAttributeDeclaration; -import org.eclipse.xsd.XSDAttributeUse; -import org.eclipse.xsd.XSDComplexTypeDefinition; -import org.eclipse.xsd.XSDConcreteComponent; -import org.eclipse.xsd.XSDFactory; -import org.eclipse.xsd.XSDTypeDefinition; - -public class AddAttributeDeclarationCommand extends AbstractCommand -{ - XSDAttributeDeclaration refAttribute = null; - /** - * @param parent - */ - public AddAttributeDeclarationCommand(XSDConcreteComponent parent) - { - super(parent); - } - - public AddAttributeDeclarationCommand(XSDConcreteComponent parent, XSDAttributeDeclaration ref) - { - super(parent); - this.refAttribute = ref; - } - - - /* (non-Javadoc) - * @see org.eclipse.wst.xsd.ui.internal.commands.AbstractCommand#run() - */ - public void run() - { - XSDConcreteComponent parent = getParent(); - if (parent instanceof XSDComplexTypeDefinition) - { - XSDComplexTypeDefinition ct = (XSDComplexTypeDefinition)parent; - - XSDAttributeDeclaration attribute = XSDFactory.eINSTANCE.createXSDAttributeDeclaration(); - attribute.setName(getNewName("Attribute")); //$NON-NLS-1$ - attribute.setTypeDefinition(ct.getSchema().getSchemaForSchema().resolveSimpleTypeDefinition("string")); //$NON-NLS-1$ - - XSDAttributeUse attributeUse = XSDFactory.eINSTANCE.createXSDAttributeUse(); - attributeUse.setAttributeDeclaration(attribute); - attributeUse.setContent(attribute); - - if (ct.getAttributeContents() != null) - { - ct.getAttributeContents().add(attributeUse); - formatChild(attribute.getElement()); - } - } - } - - /* (non-Javadoc) - * @see org.eclipse.wst.xsd.ui.internal.commands.AbstractCommand#adopt(org.eclipse.xsd.XSDConcreteComponent) - */ - protected boolean adopt(XSDConcreteComponent model) - { - return false; - } - - ArrayList names; - - protected String getNewName(String description) - { - String candidateName = "New" + description; //$NON-NLS-1$ - XSDConcreteComponent parent = getParent(); - 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); - } - } - } - - } -} |