diff options
Diffstat (limited to 'bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util')
9 files changed, 0 insertions, 984 deletions
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDBatchNodeDelete.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDBatchNodeDelete.java deleted file mode 100644 index ab4b9dc91a..0000000000 --- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDBatchNodeDelete.java +++ /dev/null @@ -1,57 +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 - * Jens Lukowski/Innoopract - initial renaming/restructuring - * - *******************************************************************************/ -package org.eclipse.wst.dtd.core.internal.util; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.wst.dtd.core.internal.DTDFile; -import org.eclipse.wst.dtd.core.internal.DTDNode; - - -public class DTDBatchNodeDelete { - protected DTDFile dtdFile; - - protected List nodes = new ArrayList(); - - public DTDBatchNodeDelete(DTDFile dtdFile) { - this.dtdFile = dtdFile; - } - - public void addNode(DTDNode node) { - // first check if the node is contained by anyone - for (int i = 0; i < nodes.size(); i++) { - DTDNode currentNode = (DTDNode) nodes.get(i); - - if (currentNode.containsRange(node.getStartOffset(), node.getEndOffset())) { - // then no need to add the node to the list to be deleted - return; - } - - if (node.getStartOffset() < currentNode.getStartOffset() && node.getEndOffset() <= currentNode.getStartOffset()) { - nodes.add(i, node); - return; - } - } - // if we get here, then add it to the end - nodes.add(node); - } - - public void deleteNodes(Object requestor) { - for (int i = nodes.size() - 1; i >= 0; i--) { - DTDNode node = (DTDNode) nodes.get(i); - dtdFile.deleteNode(requestor, (DTDNode) nodes.get(i)); - } - nodes.clear(); - } -} diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDExternalReferenceRemover.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDExternalReferenceRemover.java deleted file mode 100644 index c03d2710f1..0000000000 --- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDExternalReferenceRemover.java +++ /dev/null @@ -1,145 +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 - * Jens Lukowski/Innoopract - initial renaming/restructuring - * - *******************************************************************************/ -package org.eclipse.wst.dtd.core.internal.util; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.wst.dtd.core.internal.Attribute; -import org.eclipse.wst.dtd.core.internal.AttributeList; -import org.eclipse.wst.dtd.core.internal.CMBasicNode; -import org.eclipse.wst.dtd.core.internal.DTDFile; -import org.eclipse.wst.dtd.core.internal.DTDNode; -import org.eclipse.wst.dtd.core.internal.Element; -import org.eclipse.wst.dtd.core.internal.Entity; - - -/* - * This class is responsible for updating the model when items are deleted or - * so that items referenced by it are cleaned up note that top level nodes are - * queued up for deletion so that iteration over the list of nodes from the - * dtdfile is not messed up. Note that when an external parmeter entity - * changes, the client of the model (e.g. editor) must be a DTDFileListener - * implementing the listener's interface to keep the model's referential - * integrity (See DTDModelImpl for example). - */ - -public class DTDExternalReferenceRemover extends DTDVisitor { - - protected DTDBatchNodeDelete batchDelete; - protected List externalElementsAndParmEntities = new ArrayList(); - - protected boolean isParmEntity = false; - - protected boolean isUpdating = false; - protected DTDNode nodeToDelete; - protected String oldRefName = ""; //$NON-NLS-1$ - protected Object requestor; - - public DTDExternalReferenceRemover() { - - } - - public synchronized void externalReferenceAboutToChange(Object requestor, Entity entity) { - if (isUpdating) { - return; - } - if (!entity.isParameterEntity() || !entity.isExternalEntity()) { - // if it is not an external parameter entity, ignore as well - return; - } - - isUpdating = true; - this.requestor = requestor; - - DTDFile dtdFile = entity.getDTDFile(); - if (batchDelete == null) { - batchDelete = new DTDBatchNodeDelete(dtdFile); - } - - // See the comment at the head of this file regarding - // external parameter entities. - // externalElementsAndParmEntities = - // dtdFile.getDTDModel().getExternalModels().getElementContentNames(entity.getPublicID(), - // dtdFile.getDTDModel().resolveID(entity.getPublicID(), - // entity.getSystemID())); - - visit(dtdFile); - - batchDelete.deleteNodes(requestor); - - isUpdating = false; - } - - public boolean isMatchingName(String name) { - return externalElementsAndParmEntities.contains(name); - } - - public void visitAttribute(Attribute attr) { - super.visitAttribute(attr); - String attrName = attr.getName(); - String attrType = attr.getType(); - - if (isParameterEntityRef(attrName)) { - if (isMatchingName(attrName)) { - attr.setName(requestor, "TempName"); //$NON-NLS-1$ - } - } - if (isParameterEntityRef(attrType)) { - if (isMatchingName(attrType)) { - attr.setType(requestor, Attribute.CDATA); - } - } - } - - public void visitAttributeList(AttributeList attList) { - super.visitAttributeList(attList); - String attListName = attList.getName(); - if (isParameterEntityRef(attListName)) { - if (isMatchingName(attListName)) { - attList.setName(requestor, "TempName"); //$NON-NLS-1$ - } - } - } - - public void visitElement(Element element) { - String elementName = element.getName(); - if (isParameterEntityRef(elementName)) { - if (isMatchingName(elementName)) { - element.setName(requestor, "TempName"); //$NON-NLS-1$ - } - } - super.visitElement(element); - } - - public void visitReference(CMBasicNode node) { - super.visitReference(node); - String refName = node.getName(); - if (isMatchingName(refName)) { - DTDNode parent = (DTDNode) node.getParentNode(); - batchDelete.addNode(node); - // parent.delete(requestor, node); - } - } - - // public void - // visitExternalParameterEntityReference(ParameterEntityReference - // parmEntityRef) - // { - // super.visitExternalParameterEntityReference(parmEntityRef); - // if (isParmEntity && parmEntityRef.getName().equals(oldRefName)) - // { - // nodesToDelete.add(parmEntityRef); - // } - // } -} diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDModelUpdater.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDModelUpdater.java deleted file mode 100644 index 21bf47691b..0000000000 --- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDModelUpdater.java +++ /dev/null @@ -1,135 +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 - * Jens Lukowski/Innoopract - initial renaming/restructuring - * - *******************************************************************************/ -package org.eclipse.wst.dtd.core.internal.util; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.wst.dtd.core.internal.Attribute; -import org.eclipse.wst.dtd.core.internal.AttributeList; -import org.eclipse.wst.dtd.core.internal.CMBasicNode; -import org.eclipse.wst.dtd.core.internal.DTDFile; -import org.eclipse.wst.dtd.core.internal.DTDNode; -import org.eclipse.wst.dtd.core.internal.Element; -import org.eclipse.wst.dtd.core.internal.Entity; -import org.eclipse.wst.dtd.core.internal.ParameterEntityReference; - - -// this class is responsible for updating the model when items -// are deleted or a external parm entity changes so that -// items referenced by it are cleaned up -// note that top level nodes are queued up for deletion so that -// iteration over the list of nodes from the dtdfile is not messed up -public class DTDModelUpdater extends DTDVisitor { - - protected boolean isParmEntity = false; - - protected boolean isUpdating = false; - - protected List nodesToDelete = new ArrayList(); - protected DTDNode nodeToDelete; - protected String oldRefName = ""; //$NON-NLS-1$ - protected Object requestor; - - public DTDModelUpdater() { - - } - - public synchronized void objectAboutToBeDeleted(Object requestor, DTDNode node) { - if (isUpdating) { - return; - } - if (!(node instanceof Entity || node instanceof Element)) { - // just ignore if it is not one of these - return; - } - if (node instanceof Entity && !((Entity) node).isParameterEntity()) { - // if it is not a parameter entity, ignore as well - return; - } - - - isUpdating = true; - this.requestor = requestor; - this.nodeToDelete = node; - oldRefName = node.getName(); - isParmEntity = false; - nodesToDelete.clear(); - - if (node instanceof Entity) { - isParmEntity = true; - oldRefName = "%" + oldRefName + ";"; //$NON-NLS-1$ //$NON-NLS-2$ - } - - DTDFile dtdFile = node.getDTDFile(); - visit(dtdFile); - - for (int i = 0; i < nodesToDelete.size(); i++) { - dtdFile.deleteNode(requestor, (DTDNode) nodesToDelete.get(i)); - } - - isUpdating = false; - } - - public void visitAttribute(Attribute attr) { - super.visitAttribute(attr); - if (isParmEntity) { - if (attr.getName().equals(oldRefName)) { - attr.setName(requestor, "TempName"); //$NON-NLS-1$ - } - if (attr.getType().equals(oldRefName)) { - attr.setType(requestor, Attribute.CDATA); - } - } - // check the attr name and the attr type to see if it - // needs updating - } - - public void visitAttributeList(AttributeList attList) { - super.visitAttributeList(attList); - if (attList.getName().equals(oldRefName)) { - if (isParmEntity) { - attList.setName(requestor, "TempName"); //$NON-NLS-1$ - } - else { - // save up for later deletion - nodesToDelete.add(attList); - } - } - } - - public void visitElement(Element element) { - if (isParmEntity) { - if (element.getName().equals(oldRefName)) { - element.setName(requestor, "TempName"); //$NON-NLS-1$ - } - } - super.visitElement(element); - } - - public void visitExternalParameterEntityReference(ParameterEntityReference parmEntityRef) { - super.visitExternalParameterEntityReference(parmEntityRef); - if (isParmEntity && parmEntityRef.getName().equals(oldRefName)) { - nodesToDelete.add(parmEntityRef); - } - } - - public void visitReference(CMBasicNode node) { - super.visitReference(node); - - if (node.getName().equals(oldRefName)) { - DTDNode parent = (DTDNode) node.getParentNode(); - parent.delete(requestor, node); - } - } -} diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDNotationReferenceRemover.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDNotationReferenceRemover.java deleted file mode 100644 index 35cbf8469f..0000000000 --- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDNotationReferenceRemover.java +++ /dev/null @@ -1,93 +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 - * Jens Lukowski/Innoopract - initial renaming/restructuring - * - *******************************************************************************/ -package org.eclipse.wst.dtd.core.internal.util; - -import java.util.Iterator; -import java.util.List; - -import org.eclipse.wst.dtd.core.internal.Attribute; -import org.eclipse.wst.dtd.core.internal.AttributeEnumList; -import org.eclipse.wst.dtd.core.internal.AttributeList; -import org.eclipse.wst.dtd.core.internal.DTDFile; -import org.eclipse.wst.dtd.core.internal.DTDNode; -import org.eclipse.wst.dtd.core.internal.Entity; -import org.eclipse.wst.dtd.core.internal.Notation; - - -public class DTDNotationReferenceRemover { - protected Notation notation; - protected String notationName; - - protected Object requestor; - - public DTDNotationReferenceRemover() { - - } - - public void notationAboutToBeDeleted(Object requestor, Notation notation) { - this.requestor = requestor; - this.notation = notation; - notationName = notation.getName(); - - visit(notation.getDTDFile()); - } - - public void visit(DTDFile file) { - List nodes = file.getNodes(); - for (int i = 0; i < nodes.size(); i++) { - DTDNode currentNode = (DTDNode) nodes.get(i); - if (currentNode instanceof Entity) { - visitEntity((Entity) currentNode); - } - else if (currentNode instanceof AttributeList) { - visitAttributeList((AttributeList) currentNode); - } - } - } - - public void visitAttribute(Attribute attr) { - if (attr.getType().equals(Attribute.ENUMERATED_NOTATION)) { - AttributeEnumList enumList = attr.getEnumList(); - List notationNames = enumList.getItems(); - Iterator iter = notationNames.iterator(); - boolean updateRequired = false; - while (iter.hasNext()) { - String notation = (String) iter.next(); - if (notation.equals(notationName)) { - updateRequired = true; - iter.remove(); - } - } - if (updateRequired) { - String[] newItems = new String[notationNames.size()]; - notationNames.toArray(newItems); - enumList.setItems(requestor, newItems); - } - } - } - - public void visitAttributeList(AttributeList attList) { - Attribute attr = (Attribute) attList.getFirstChild(); - while (attr != null) { - visitAttribute(attr); - attr = (Attribute) attr.getNextSibling(); - } - } - - public void visitEntity(Entity entity) { - if (entity.getNotationName().equals(notationName)) { - entity.setNotationName(requestor, ""); //$NON-NLS-1$ - } - } - -}// DTDNotationRemover diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDReferenceUpdater.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDReferenceUpdater.java deleted file mode 100644 index 26931d88db..0000000000 --- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDReferenceUpdater.java +++ /dev/null @@ -1,196 +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 - * Jens Lukowski/Innoopract - initial renaming/restructuring - * - *******************************************************************************/ -package org.eclipse.wst.dtd.core.internal.util; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.wst.dtd.core.internal.Attribute; -import org.eclipse.wst.dtd.core.internal.AttributeEnumList; -import org.eclipse.wst.dtd.core.internal.AttributeList; -import org.eclipse.wst.dtd.core.internal.CMBasicNode; -import org.eclipse.wst.dtd.core.internal.DTDFile; -import org.eclipse.wst.dtd.core.internal.DTDNode; -import org.eclipse.wst.dtd.core.internal.Element; -import org.eclipse.wst.dtd.core.internal.Entity; -import org.eclipse.wst.dtd.core.internal.Notation; -import org.eclipse.wst.dtd.core.internal.ParameterEntityReference; - - -// this class is responsible for updating any dtd node in -// response to a change in the node that they reference -public class DTDReferenceUpdater extends DTDVisitor { - protected boolean isNotation = false; - - protected boolean isParmEntity = false; - - protected boolean isUpdating = false; - protected String newName = ""; //$NON-NLS-1$ - protected String oldRefName = "", newRefName = ""; //$NON-NLS-1$ //$NON-NLS-2$ - protected DTDNode referencedNode = null; - - // the references List is a cache of the DTDNodes that are changed - // as a result of a call to nameAboutToChange(). The idea is that - // if a subsequent call comes in that changes the name of the same - // object for which this cache exists for, then we optimize the - // path by just walking the cache - private List references = new ArrayList(); - protected Object requestor; - - public DTDReferenceUpdater() { - - } - - public void clearCache() { - referencedNode = null; - references.clear(); - } - - public synchronized void nameAboutToChange(Object requestor, DTDNode referencedNode, String newName) { - if (isUpdating) { - return; - } - if (!(referencedNode instanceof Entity || referencedNode instanceof Element || referencedNode instanceof Notation)) { - // just ignore if it is not one of these - return; - } - if (referencedNode instanceof Entity && !((Entity) referencedNode).isParameterEntity()) { - // if it is not a parameter entity, ignore as well - return; - } - - isUpdating = true; - this.requestor = requestor; - oldRefName = referencedNode.getName(); - this.newName = newRefName = newName; - isParmEntity = false; - isNotation = referencedNode instanceof Notation; - - if (referencedNode instanceof Entity) { - isParmEntity = true; - oldRefName = "%" + oldRefName + ";"; //$NON-NLS-1$ //$NON-NLS-2$ - newRefName = "%" + newRefName + ";"; //$NON-NLS-1$ //$NON-NLS-2$ - } - - if (this.referencedNode != null) { - // check if the previous referenced node that was changed - // is the same as the one that is coming in. if so, just - // change the previous regions - if (this.referencedNode == referencedNode) { - quickUpdate(); - isUpdating = false; - return; - } - } - - // clear the cache if we get here - this.referencedNode = referencedNode; - references.clear(); - DTDFile dtdFile = referencedNode.getDTDFile(); - visit(dtdFile); - isUpdating = false; - } - - protected void quickUpdate() { - for (int i = 0; i < references.size(); i++) { - DTDNode node = (DTDNode) references.get(i); - if (node instanceof Element) { - visitElement((Element) node); - } - else if (node instanceof AttributeList) { - visitAttributeList((AttributeList) node); - } - else if (node instanceof Attribute) { - visitAttribute((Attribute) node); - } - else if (node instanceof CMBasicNode) { - visitReference((CMBasicNode) node); - } - else if (node instanceof ParameterEntityReference) { - visitExternalParameterEntityReference((ParameterEntityReference) node); - } - } - } - - public void visitAttribute(Attribute attr) { - super.visitAttribute(attr); - if (isParmEntity) { - // check the attr name and the attr type to see if it - // needs updating - if (attr.getName().equals(oldRefName)) { - attr.setName(requestor, newRefName); - references.add(attr); - } - if (attr.getType().equals(oldRefName)) { - attr.setType(requestor, newRefName); - references.add(attr); - } - } - else if (isNotation && attr.getType().equals(Attribute.ENUMERATED_NOTATION)) { - AttributeEnumList enumList = attr.getEnumList(); - List items = enumList.getItems(); - boolean updateNeeded = false; - for (int i = 0; i < items.size(); i++) { - String notationName = (String) items.get(i); - if (notationName.equals(oldRefName)) { - updateNeeded = true; - items.set(i, newName); - } - } - if (updateNeeded) { - String[] newItems = new String[items.size()]; - - enumList.setItems((String[]) items.toArray(newItems)); - } - } - - } - - public void visitAttributeList(AttributeList attList) { - if (!isNotation && attList.getName().equals(oldRefName)) { - attList.setName(requestor, newRefName); - references.add(attList); - } - super.visitAttributeList(attList); - } - - public void visitElement(Element element) { - if (isParmEntity) { - if (element.getName().equals(oldRefName)) { - element.setName(requestor, newRefName); - references.add(element); - } - } - super.visitElement(element); - } - - public void visitExternalParameterEntityReference(ParameterEntityReference parmEntityRef) { - super.visitExternalParameterEntityReference(parmEntityRef); - if (parmEntityRef.getName().equals(oldRefName)) { - parmEntityRef.setReferencedEntity(requestor, newName); - references.add(parmEntityRef); - } - } - - public void visitReference(CMBasicNode node) { - super.visitReference(node); - if (isParameterEntityRef(oldRefName) && !isParmEntity) { - return; - } - - if (node.getName().equals(oldRefName)) { - node.setName(requestor, newRefName); - references.add(node); - } - } -} diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDSAXParser.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDSAXParser.java deleted file mode 100644 index f758c718fa..0000000000 --- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDSAXParser.java +++ /dev/null @@ -1,125 +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 - * Jens Lukowski/Innoopract - initial renaming/restructuring - * - *******************************************************************************/ -package org.eclipse.wst.dtd.core.internal.util; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.parsers.SAXParser; - -import org.xml.sax.Parser; -import org.xml.sax.SAXException; -import org.xml.sax.SAXNotRecognizedException; -import org.xml.sax.SAXNotSupportedException; -import org.xml.sax.XMLReader; - -/** - * TODO: Kihup and Nitin, reevaluate the use and implementation of this class - */ - -// import org.apache.xerces.parsers.SAXParser; -// import org.apache.xerces.xni.Augmentations; -// import org.apache.xerces.xni.XMLLocator; -// import org.apache.xerces.xni.XMLString; -// import org.apache.xerces.xni.XNIException; -public class DTDSAXParser extends SAXParser { - - private List ignoredEntityRefs = new ArrayList(); - - // private XMLLocator locator; - // - public List getIgnoredEntityRefs() { - return ignoredEntityRefs; - } - - - /* - * (non-Javadoc) - * - * @see javax.xml.parsers.SAXParser#getParser() - */ - public Parser getParser() throws SAXException { - return null; - } - - /* - * (non-Javadoc) - * - * @see javax.xml.parsers.SAXParser#getProperty(java.lang.String) - */ - public Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException { - return null; - } - - /* - * (non-Javadoc) - * - * @see javax.xml.parsers.SAXParser#getXMLReader() - */ - public XMLReader getXMLReader() throws SAXException { - return null; - } - - boolean isEntityRef(String token) { - // Looking for the pattern "nnnn%nnnnn". - if (token.indexOf('%') != -1) - return true; // candidate for entity reference - else - return false; - } - - /* - * (non-Javadoc) - * - * @see javax.xml.parsers.SAXParser#isNamespaceAware() - */ - public boolean isNamespaceAware() { - return false; - } - - /* - * (non-Javadoc) - * - * @see javax.xml.parsers.SAXParser#isValidating() - */ - public boolean isValidating() { - return false; - } - - // TODO: never used - void registerEntityRef(String token) { - int index = token.lastIndexOf('%'); - if (index == -1) - return; - - String refName = token.substring(index, token.length()); - // System.out.println("entity ref name is: " + refName); - if (refName.indexOf(' ') != -1 || refName.indexOf('\t') != -1 || refName.indexOf('\n') != -1) - return; - else - // we found entity reference - ignoredEntityRefs.add(refName + ";"); //$NON-NLS-1$ - } - - /* - * (non-Javadoc) - * - * @see javax.xml.parsers.SAXParser#setProperty(java.lang.String, - * java.lang.Object) - */ - public void setProperty(String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException { - // TODO maybe needs implementing? - - } - -} diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDUniqueNameHelper.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDUniqueNameHelper.java deleted file mode 100644 index 9c339d8b50..0000000000 --- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDUniqueNameHelper.java +++ /dev/null @@ -1,95 +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 - * Jens Lukowski/Innoopract - initial renaming/restructuring - * - *******************************************************************************/ -package org.eclipse.wst.dtd.core.internal.util; - -import java.util.Iterator; -import java.util.List; - -import org.eclipse.wst.dtd.core.internal.Attribute; -import org.eclipse.wst.dtd.core.internal.CMBasicNode; -import org.eclipse.wst.dtd.core.internal.DTDFile; -import org.eclipse.wst.dtd.core.internal.Element; -import org.eclipse.wst.dtd.core.internal.Entity; -import org.eclipse.wst.dtd.core.internal.Notation; - - -public class DTDUniqueNameHelper { - - static public String getName(Object obj) { - if (obj instanceof Element) { - return ((Element) obj).getName(); - } - else if (obj instanceof Entity) { - return ((Entity) obj).getName(); - } - else if (obj instanceof Notation) { - return ((Notation) obj).getName(); - } - else if (obj instanceof Attribute) { - return ((Attribute) obj).getName(); - } - else if (obj instanceof CMBasicNode) // Model Group Content - { - return ((CMBasicNode) obj).getName(); - } - return ""; //$NON-NLS-1$ - } - - static public String getUniqueAttributeName(Element element) { - List attrs = element.getElementAttributes(); - return getUniqueName(attrs, "NewAttribute"); //$NON-NLS-1$ - } - - static public String getUniqueElementName(DTDFile dtdFile) { - List elements = dtdFile.getElementsAndParameterEntityReferences().getNodes(); - return getUniqueName(elements, "NewElement"); //$NON-NLS-1$ - } - - static public String getUniqueEntityName(DTDFile dtdFile) { - List entities = dtdFile.getEntities().getNodes(); - return getUniqueName(entities, "NewEntity"); //$NON-NLS-1$ - } - - static public String getUniqueName(List objs, String token) { - int counter = 1; - - boolean uniqueName = false; - while (!uniqueName) { - String newName = token + new Integer(counter++); - uniqueName = true; - Iterator iter = objs.iterator(); - while (iter.hasNext()) { - Object obj = iter.next(); - String objName = getName(obj); - if (objName.equals(newName)) { - uniqueName = false; - break; - } - } - if (uniqueName) { - return newName; - } - } - // we shouldn't get here - return "No Name found"; //$NON-NLS-1$ - } - - static public String getUniqueNotationName(DTDFile dtdFile) { - List notations = dtdFile.getNotations().getNodes(); - return getUniqueName(notations, "NewNotation"); //$NON-NLS-1$ - } - - public DTDUniqueNameHelper() { - } - -} // DTDUniqueNameHelper diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDVisitor.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDVisitor.java deleted file mode 100644 index d3e6d01c28..0000000000 --- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/DTDVisitor.java +++ /dev/null @@ -1,108 +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 - * Jens Lukowski/Innoopract - initial renaming/restructuring - * - *******************************************************************************/ -package org.eclipse.wst.dtd.core.internal.util; - -import java.util.List; - -import org.eclipse.wst.dtd.core.internal.Attribute; -import org.eclipse.wst.dtd.core.internal.AttributeList; -import org.eclipse.wst.dtd.core.internal.CMBasicNode; -import org.eclipse.wst.dtd.core.internal.CMGroupNode; -import org.eclipse.wst.dtd.core.internal.CMNode; -import org.eclipse.wst.dtd.core.internal.DTDFile; -import org.eclipse.wst.dtd.core.internal.DTDNode; -import org.eclipse.wst.dtd.core.internal.Element; -import org.eclipse.wst.dtd.core.internal.ParameterEntityReference; - - -public class DTDVisitor { - - public DTDVisitor() { - - } - - // utility method - public boolean isParameterEntityRef(String reference) { - if (reference.length() > 0) { - return reference.charAt(0) == '%' && reference.charAt(reference.length() - 1) == ';'; - } - return false; - } - - public void visit(DTDFile file) { - List nodes = file.getNodes(); - for (int i = 0; i < nodes.size(); i++) { - DTDNode currentNode = (DTDNode) nodes.get(i); - if (currentNode instanceof Element) { - visitElement((Element) currentNode); - } - else if (currentNode instanceof AttributeList) { - visitAttributeList((AttributeList) currentNode); - } - else if (currentNode instanceof ParameterEntityReference) { - visitExternalParameterEntityReference((ParameterEntityReference) currentNode); - } - } - } - - public void visitAttribute(Attribute attr) { - } - - public void visitAttributeList(AttributeList attList) { - // note that we don't visit attributes here because we - // want the element to visit them with it's consolidated list - // that it creates by gathering all attribute lists together - } - - public void visitAttributes(List attributes) { - int size = attributes.size(); - for (int i = 0; i < size; i++) { - Attribute attr = (Attribute) attributes.get(i); - visitAttribute(attr); - } - } - - public void visitContentNode(CMNode content) { - if (content instanceof CMBasicNode) { - CMBasicNode basicNode = (CMBasicNode) content; - if (basicNode.isReference()) { - visitReference(basicNode); - } - } - else if (content instanceof CMGroupNode) { - visitGroupNode((CMGroupNode) content); - } - } - - public void visitElement(Element element) { - CMNode content = element.getContentModel(); - visitContentNode(content); - visitAttributes(element.getElementAttributes()); - } - - public void visitExternalParameterEntityReference(ParameterEntityReference parmEntityRef) { - } - - public void visitGroupNode(CMGroupNode group) { - List children = group.getChildrenList(); - int size = children.size(); - for (int i = 0; i < size; i++) { - visitContentNode((CMNode) children.get(i)); - } - } - - public void visitReference(CMBasicNode node) { - } - - -} diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/LabelValuePair.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/LabelValuePair.java deleted file mode 100644 index f51d8728ca..0000000000 --- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/util/LabelValuePair.java +++ /dev/null @@ -1,30 +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 - * Jens Lukowski/Innoopract - initial renaming/restructuring - * - *******************************************************************************/ -package org.eclipse.wst.dtd.core.internal.util; - -import org.eclipse.jface.util.Assert; - -public class LabelValuePair { - - public String fLabel; - public Object fValue; - - /** - * Creates a new name/value item - */ - public LabelValuePair(String label, Object value) { - Assert.isTrue(label != null); - fLabel = label; - fValue = value; - } -} |