X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpeclipse/obfuscator/ObfuscatorIgnoreSet.java b/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpeclipse/obfuscator/ObfuscatorIgnoreSet.java deleted file mode 100644 index 3c323aa..0000000 --- a/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpeclipse/obfuscator/ObfuscatorIgnoreSet.java +++ /dev/null @@ -1,349 +0,0 @@ -/* - * (c) Copyright IBM Corp. 2000, 2001. - * All Rights Reserved. - */ -package net.sourceforge.phpeclipse.obfuscator; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.HashMap; -import java.util.Iterator; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.OutputKeys; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; - -import net.sourceforge.phpeclipse.PHPeclipsePlugin; - -import org.eclipse.core.runtime.CoreException; -import org.w3c.dom.Document; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.w3c.dom.Text; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; - -/** - * ObfuscatorIgnoreSet manages a collection of templates and - * makes them persistent. - */ -public class ObfuscatorIgnoreSet { - - // private static class TemplateComparator implements Comparator { - // public int compare(Object arg0, Object arg1) { - // if (arg0 == arg1) - // return 0; - // - // if (arg0 == null) - // return -1; - // - // Template template0= (Template) arg0; - // Template template1= (Template) arg1; - // - // return template0.getName().compareTo(template1.getName()); - // } - // } - - private static final String TEMPLATE_TAG = "ignore"; //$NON-NLS-1$ - - // private static final String NAME_ATTRIBUTE= "name"; //$NON-NLS-1$ - // private static final String DESCRIPTION_ATTRIBUTE= "description"; - // //$NON-NLS-1$ - // private static final String CONTEXT_ATTRIBUTE= "context"; //$NON-NLS-1$ - // private static final String ENABLED_ATTRIBUTE= "enabled"; //$NON-NLS-1$ - - // private List fTemplates= new ArrayList(); - private HashMap fIdentifierMap = new HashMap(); - - // private Comparator fTemplateComparator= new TemplateComparator(); - // private Template[] fSortedTemplates= new Template[0]; - - /** - * Convenience method for reading templates from a file. - * - * @see #addFromStream(InputStream) - */ - public void addFromFile(File file) throws CoreException { - InputStream stream = null; - - try { - stream = new FileInputStream(file); - addFromStream(stream); - - } catch (IOException e) { - throwReadException(e); - - } finally { - try { - if (stream != null) - stream.close(); - } catch (IOException e) { - } - } - } - - /** - * Reads templates from a XML stream and adds them to the template set. - */ - public void addFromStream(InputStream stream) throws CoreException { - try { - DocumentBuilderFactory factory = DocumentBuilderFactory - .newInstance(); - DocumentBuilder parser = factory.newDocumentBuilder(); - Document document = parser.parse(new InputSource(stream)); - NodeList elements = document.getElementsByTagName(TEMPLATE_TAG); - - int count = elements.getLength(); - for (int i = 0; i != count; i++) { - Node node = elements.item(i); - NamedNodeMap attributes = node.getAttributes(); - - if (attributes == null) - continue; - - // String name= getAttributeValue(attributes, NAME_ATTRIBUTE); - // String description= getAttributeValue(attributes, - // DESCRIPTION_ATTRIBUTE); - // String context= getAttributeValue(attributes, - // CONTEXT_ATTRIBUTE); - // Node enabledNode= attributes.getNamedItem(ENABLED_ATTRIBUTE); - - // if (name == null || description == null || context == null) - // throw new - // SAXException(ObfuscatorMessages.getString("TemplateSet.error.missing.attribute")); - // //$NON-NLS-1$ - - // boolean enabled= true; //(enabledNode == null) || - // (enabledNode.getNodeValue().equals("true")); //$NON-NLS-1$ - - StringBuffer buffer = new StringBuffer(); - NodeList children = node.getChildNodes(); - for (int j = 0; j != children.getLength(); j++) { - String value = children.item(j).getNodeValue(); - if (value != null) - buffer.append(value); - } - String pattern = buffer.toString().trim(); - fIdentifierMap.put(pattern, new PHPIdentifier(pattern, - PHPIdentifier.VARIABLE)); - // Template template= new Template(name, description, context, - // pattern); - // template.setEnabled(enabled); - // add(template); - } - - // sort(); - - } catch (ParserConfigurationException e) { - throwReadException(e); - } catch (IOException e) { - throwReadException(e); - } catch (SAXException e) { - throwReadException(e); - } - } - - private String getAttributeValue(NamedNodeMap attributes, String name) { - Node node = attributes.getNamedItem(name); - - return node == null ? null : node.getNodeValue(); - } - - /** - * Convenience method for saving to a file. - * - * @see #saveToStream(OutputStream) - */ - public void saveToFile(File file) throws CoreException { - OutputStream stream = null; - - try { - stream = new FileOutputStream(file); - saveToStream(stream); - } catch (IOException e) { - throwWriteException(e); - - } finally { - try { - if (stream != null) - stream.close(); - } catch (IOException e) { - } - } - } - - /** - * Saves the template set as XML. - */ - public void saveToStream(OutputStream stream) throws CoreException { - try { - DocumentBuilderFactory factory = DocumentBuilderFactory - .newInstance(); - DocumentBuilder builder = factory.newDocumentBuilder(); - Document document = builder.newDocument(); - - Node root = document.createElement("obfuscator"); // $NON-NLS-1$ - // //$NON-NLS-1$ - document.appendChild(root); - Iterator iter = fIdentifierMap.keySet().iterator(); - while (iter.hasNext()) { - // for (int i= 0; i != fTemplates.size(); i++) { - // Template template= (Template) fTemplates.get(i); - - Node node = document.createElement("ignore"); // $NON-NLS-1$ - // //$NON-NLS-1$ - root.appendChild(node); - - // NamedNodeMap attributes= node.getAttributes(); - // - // Attr name= document.createAttribute(NAME_ATTRIBUTE); - // name.setValue(template.getName()); - // attributes.setNamedItem(name); - // - // Attr description= - // document.createAttribute(DESCRIPTION_ATTRIBUTE); - // description.setValue(template.getDescription()); - // attributes.setNamedItem(description); - // - // Attr context= document.createAttribute(CONTEXT_ATTRIBUTE); - // context.setValue(template.getContextTypeName()); - // attributes.setNamedItem(context); - // - // Attr enabled= document.createAttribute(ENABLED_ATTRIBUTE); - // enabled.setValue(template.isEnabled() ? "true" : "false"); - // //$NON-NLS-1$ //$NON-NLS-2$ - // attributes.setNamedItem(enabled); - - Text pattern = document.createTextNode((String) iter.next()); - node.appendChild(pattern); - } - Transformer transformer = TransformerFactory.newInstance() - .newTransformer(); - transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$ - transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); //$NON-NLS-1$ - DOMSource source = new DOMSource(document); - StreamResult result = new StreamResult(stream); - - transformer.transform(source, result); - - } catch (ParserConfigurationException e) { - throwWriteException(e); - } catch (TransformerException e) { - throwWriteException(e); - } - // OutputFormat format = new OutputFormat(); - // format.setPreserveSpace(true); - // Serializer serializer = - // SerializerFactory.getSerializerFactory("xml").makeSerializer(stream, - // format); //$NON-NLS-1$ - // serializer.asDOMSerializer().serialize(document); - // - // } catch (ParserConfigurationException e) { - // throwWriteException(e); - // } catch (IOException e) { - // throwWriteException(e); - // } - } - - private static void throwReadException(Throwable t) throws CoreException { - PHPeclipsePlugin.log(t); - // IStatus status= new - // JavaUIStatus(JavaStatusConstants.TEMPLATE_IO_EXCEPTION, - // ObfuscatorMessages.getString("TemplateSet.error.read"), t); - // //$NON-NLS-1$ - // throw new JavaUIException(status); - } - - private static void throwWriteException(Throwable t) throws CoreException { - PHPeclipsePlugin.log(t); - // IStatus status= new - // JavaUIStatus(JavaStatusConstants.TEMPLATE_IO_EXCEPTION, - // ObfuscatorMessages.getString("TemplateSet.error.write"), t); - // //$NON-NLS-1$ - // throw new JavaUIException(status); - } - - /** - * Adds a template to the set. - */ - // public void add(Template template) { - // if (exists(template)) - // return; // ignore duplicate - // - // fTemplates.add(template); - // sort(); - // } - // private boolean exists(Template template) { - // for (Iterator iterator = fTemplates.iterator(); iterator.hasNext();) { - // Template anotherTemplate = (Template) iterator.next(); - // - // if (template.equals(anotherTemplate)) - // return true; - // } - // - // return false; - // } - // - // /** - // * Removes a template to the set. - // */ - // public void remove(Template template) { - // fTemplates.remove(template); - // sort(); - // } - // - /** - * Empties the set. - */ - public void clear() { - fIdentifierMap.clear(); - // fTemplates.clear(); - // sort(); - } - - // - // /** - // * Returns all templates. - // */ - // public Template[] getTemplates() { - // return (Template[]) fTemplates.toArray(new Template[fTemplates.size()]); - // } - - /** - * Returns all templates with a given name. - */ - // public Template[] getTemplates(String name) { - // ArrayList res= new ArrayList(); - // for (Iterator iterator= fTemplates.iterator(); iterator.hasNext();) { - // Template curr= (Template) iterator.next(); - // if (curr.getName().equals(name)) { - // res.add(curr); - // } - // } - // return (Template[]) res.toArray(new Template[res.size()]); - // } - // - // private void sort() { - // fSortedTemplates= (Template[]) fTemplates.toArray(new - // Template[fTemplates.size()]); - // Arrays.sort(fSortedTemplates, fTemplateComparator); - // } - /** - * @return - */ - public HashMap getIdentifierMap() { - return fIdentifierMap; - } - -}