/** * <copyright> * * Copyright (c) 2002-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 - Initial API and implementation * * </copyright> * * $Id: Util.java,v 1.2 2005/06/08 06:20:36 nickb Exp $ */ package com.sap.emf.importer.moin.rose.parser; import java.io.File; import java.util.StringTokenizer; /** */ public class Util { public final static String QUOTE = "\""; public final static int PATH_NOT_VALID = 0; public final static int DIRECTORY_NOT_FOUND = 1; public final static int PATH_OK = 2; public final static int NOT_A_DIRECTORY = 3; public static int isValidPath(String pathname) { File testDirectory; try { testDirectory = new File(pathname); } catch (NullPointerException e) { return PATH_NOT_VALID; } boolean exists = false; try { exists = testDirectory.exists(); } catch (SecurityException e) { return PATH_NOT_VALID; } boolean isDirectory = false; try { isDirectory = testDirectory.isDirectory(); } catch (SecurityException e) { return PATH_NOT_VALID; } if (!isDirectory) { if (exists) { return NOT_A_DIRECTORY; } else { return DIRECTORY_NOT_FOUND; } } return PATH_OK; } static public boolean createDirectory(String dirName) { try { File newDir = new File(dirName); if ((newDir.mkdirs())) { return true; } else { return false; } } catch (NullPointerException e) { return false; } catch (SecurityException e) { return false; } } static public String trimQuotes(String str) { int f_ind = str.indexOf(QUOTE); int l_ind = str.lastIndexOf(QUOTE); if (f_ind == -1) { return str; } else if (f_ind == l_ind) { return str.substring(f_ind + 1); } else { return str.substring(f_ind + 1, l_ind); } } static public String getType(String str) { return getWord(str, 1); } static public String getName(String str) { int ind_end = str.lastIndexOf(QUOTE); if (ind_end == -1) { return null; } String temp = str.substring(0, ind_end); int ind_start = temp.lastIndexOf(QUOTE); if (ind_start == -1) { return null; } String name = str.substring(ind_start + 1, ind_end); if (name.indexOf("$UNNAMED") != -1) { name = ""; } return name; } static public String getWord(String str, int n) { StringTokenizer st = new StringTokenizer(str); int i = 0; while (st.hasMoreTokens()) { i++; String tok = st.nextToken(); if (i == n) { return tok; } } return null; } static public String updateFileName(String fileName, String dilimiter) { String name = ""; while (true) { int ind = fileName.indexOf(dilimiter); if (ind == -1) { name += fileName; break; } name += (fileName.substring(0, ind) + File.separator); fileName = fileName.substring(ind + dilimiter.length()); } return name; } }