diff options
Diffstat (limited to 'bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/CSVParser.java')
-rw-r--r-- | bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/CSVParser.java | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/CSVParser.java b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/CSVParser.java deleted file mode 100644 index 6f197ef40..000000000 --- a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/CSVParser.java +++ /dev/null @@ -1,76 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 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.equinox.internal.transforms; - -import java.io.*; -import java.net.URL; -import java.util.*; -import java.util.regex.Pattern; -import java.util.regex.PatternSyntaxException; -import org.eclipse.osgi.framework.log.FrameworkLogEntry; - -/** - * This class is used by the transformer hook to parse urls provided by transform developers that specifies the particular transforms that should be utilized for a particular transformer. - * TODO: factor this out into a new type of service the transformer uses. Then there could be CSV transforms, programatic transforms, etc. - */ -public class CSVParser { - - /** - * Parse the given url as a CSV file containing transform tuples. The tuples have the form: - * <pre> - * bundleRegex,pathRegex,transformerResource - * </pre> - * @param transformMapURL the map url - * @return an array of tuples derived from the contents of the file - * @throws IOException thrown if there are issues parsing the file - */ - public static TransformTuple[] parse(URL transformMapURL) throws IOException { - BufferedReader reader = new BufferedReader(new InputStreamReader(transformMapURL.openStream())); - String currentLine = null; - List list = new ArrayList(); - while ((currentLine = reader.readLine()) != null) { - if (currentLine.startsWith("#")) { //$NON-NLS-1$ - continue; - } - currentLine = currentLine.trim(); - if (currentLine.length() == 0) - continue; - StringTokenizer toker = new StringTokenizer(currentLine, ","); //$NON-NLS-1$ - try { - String bundlePatternString = toker.nextToken().trim(); - String pathPatternString = toker.nextToken().trim(); - String transformPath = toker.nextToken().trim(); - try { - Pattern bundlePattern = Pattern.compile(bundlePatternString); - Pattern pathPattern = Pattern.compile(pathPatternString); - URL transformerURL = new URL(transformMapURL, transformPath); - try { - transformerURL.openStream(); - TransformTuple tuple = new TransformTuple(); - tuple.bundlePattern = bundlePattern; - tuple.pathPattern = pathPattern; - tuple.transformerUrl = transformerURL; - list.add(tuple); - } catch (IOException e) { - TransformerHook.log(FrameworkLogEntry.ERROR, "Could not add transform :" + transformerURL.toString(), e); //$NON-NLS-1$ - } - } catch (PatternSyntaxException e) { - TransformerHook.log(FrameworkLogEntry.ERROR, "Could not add compile transform matching regular expression", e); //$NON-NLS-1$ - } - - } catch (NoSuchElementException e) { - TransformerHook.log(FrameworkLogEntry.ERROR, "Could not parse transform file record :" + currentLine, e); //$NON-NLS-1$ - } - } - return (TransformTuple[]) list.toArray(new TransformTuple[list.size()]); - } -} |