| /******************************************************************************* |
| * 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.europa.tools.utils; |
| |
| import java.util.regex.Matcher; |
| import java.util.regex.Pattern; |
| |
| public class FullJarNameParser { |
| |
| private static final boolean DEBUG = false; |
| // simplified pattern: (ID) '_' (N '.' M '.' O '.' S) '.jar' |
| private String START_GROUP = "(";//$NON-NLS-1$ |
| private String END_GROUP = ")"; |
| private String UNDERSCORE = "_"; |
| private String BACKSLASH = "\\"; |
| private String LITERAL_PERIOD = BACKSLASH + "."; |
| private String ANYDIGITS = BACKSLASH + "d" + "*"; |
| private String ANY = ".*"; |
| private Pattern pattern = Pattern.compile(START_GROUP + ANY + END_GROUP + UNDERSCORE + START_GROUP + START_GROUP + ANYDIGITS + END_GROUP + LITERAL_PERIOD + START_GROUP + ANYDIGITS + END_GROUP + LITERAL_PERIOD + START_GROUP + ANYDIGITS + END_GROUP + START_GROUP + LITERAL_PERIOD + ANY + END_GROUP + "?" + END_GROUP + ".jar"); |
| |
| private String projectString; |
| private String versionString; |
| |
| |
| |
| public FullJarNameParser() { |
| super(); |
| } |
| |
| public boolean parse(String line) { |
| boolean result = false; |
| projectString = ""; |
| projectString = ""; |
| Matcher matcher = pattern.matcher(line); |
| |
| if (!matcher.matches()) { |
| System.out.println(); |
| System.out.println("\tthe line did not match parse rule: "); |
| System.out.println("\t" + line); |
| System.out.println(); |
| result = false; |
| } |
| else { |
| |
| projectString = matcher.group(1); |
| versionString = matcher.group(2); |
| if (DEBUG) { |
| System.out.println(projectString); |
| System.out.println(versionString); |
| System.out.println(); |
| } |
| result = true; |
| } |
| return result; |
| } |
| |
| |
| |
| public String getProjectString() { |
| return projectString; |
| } |
| |
| |
| |
| public String getVersionString() { |
| return versionString; |
| } |
| } |