diff -r 000000000000 -r 522a326673b6 sysmodelmgr/com.symbian.smt.gui/src/com/symbian/smt/gui/Helper.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodelmgr/com.symbian.smt.gui/src/com/symbian/smt/gui/Helper.java Thu Mar 11 19:08:43 2010 +0200
@@ -0,0 +1,198 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+package com.symbian.smt.gui;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A helper class for general usage.
+ *
+ * @author barbararosi-schwartz
+ *
+ */
+public final class Helper {
+
+ /**
+ * Concatenates the strings in the provided array using the provided
+ * separator and returns the concatenated string.
+ *
+ * @param separator
+ * the separator to be used for the concatenation
+ * @param items
+ * the array of strings to be concatenated
+ * @return the concatenated String or an empty String if the provided array
+ * is null or empty.
+ */
+ public static String concatenateString(String separator, String[] items) {
+ StringBuilder joinedString = new StringBuilder();
+
+ if (items != null) {
+ for (String item : items) {
+ joinedString.append(item);
+ joinedString.append(separator);
+ }
+
+ if (joinedString.length() > 0) {
+ joinedString.deleteCharAt(joinedString.length() - 1);
+ }
+ }
+
+ return joinedString.toString();
+ }
+
+ /**
+ * Adds the absolute location represented by the provided rootLocation to
+ * the filenames
+ *
+ * @param filenames
+ * the String representing the relative filenames, separated by
+ * the provided separator
+ * @param rootLocation
+ * the String representing the location of the root of the
+ * filesystem that will turn the relative paths into absolute
+ * ones
+ * @param separator
+ * the String representing the separator that separates the file
+ * names
+ * @return the String representing the separator separated absolute
+ * filenames
+ */
+ public static String relative2AbsolutePaths(String filenames,
+ String rootLocation, String separator) {
+ String[] relativeNames = Helper.splitString(filenames, separator);
+ String[] absoluteNames = new String[relativeNames.length];
+ int i = 0;
+
+ for (String name : relativeNames) {
+ if (name.startsWith(".")) {
+ try {
+ name = new File(rootLocation + name).getCanonicalPath();
+ } catch (IOException e) {
+ Logger.log(e.getMessage(), e);
+ }
+ }
+
+ absoluteNames[i] = name;
+ i++;
+ }
+
+ return concatenateString(separator, absoluteNames);
+ }
+
+ /**
+ * Splits the provided concatenated string into its constituent parts based
+ * upon the provided separator and returns an array of the constituents. If
+ * the provided input is null or empty, returns an empty array.
+ *
+ * @param concatenatedString
+ * a String containing components separated by the given
+ * separator
+ * @param separator
+ * the separator used
+ * @return an array of String with the separate components or an empty array
+ * if concatenatedString
is null or empty
+ */
+ public static String[] splitString(String concatenatedString,
+ String separator) {
+ if (separator.equals("|")) {
+ separator = "\\|";
+ }
+
+ if (concatenatedString != null && concatenatedString.length() > 0) {
+ return concatenatedString.split(separator);
+ } else {
+ String[] empty = {};
+ return empty;
+ }
+ }
+
+ /**
+ * Converts the List of String objects into a String array. The opposite
+ * conversion is also provided by this class with method
+ * toListofStrings(String []).
+ *
+ * @param list
+ * the java.util.List of String objects to be converted (may be
+ * empty but cannot be null)
+ * @return the corresponding String array or an empty array if list is
+ * empty.
+ * @see #toListofStrings(String [])
+ */
+ public static final String[] toArrayOfStrings(List list) {
+ if (list == null) {
+ throw new IllegalArgumentException("Parameter list cannot be null.");
+ }
+
+ String[] array = new String[list.size()];
+
+ return list.toArray(array);
+ }
+
+ /**
+ * Converts the provided ResourcesEnums array into a java.util.List
+ * containing the args of the provided ResourceEnums.
+ *
+ * @param array
+ * the array of ResourcesEnums objects to be converted (may be
+ * empty but cannot be null)
+ * @return the corresponding List of String args or an empty List if array
+ * is empty
+ */
+ public static final List toListOfStrings(ResourcesEnums[] array) {
+ if (array == null) {
+ throw new IllegalArgumentException(
+ "Parameter array cannot be null.");
+ }
+
+ ArrayList arrayList = new ArrayList();
+
+ for (ResourcesEnums re : array) {
+ arrayList.add(re.arg());
+ }
+
+ return arrayList;
+ }
+
+ /**
+ * Converts the provided String array into a java.util.List. The opposite
+ * conversion is also provided by this class with method
+ * toArrayOfStrings(List).
+ *
+ * @param array
+ * the array of String objects to be converted (may be empty but
+ * cannot be null)
+ * @return the corresponding List of String objects or an empty List if
+ * array is empty
+ * @see #toArrayOfStrings(List)
+ */
+ public static final List toListOfStrings(String[] array) {
+ if (array == null) {
+ throw new IllegalArgumentException(
+ "Parameter array cannot be null.");
+ }
+
+ ArrayList arrayList = new ArrayList();
+
+ for (String s : array) {
+ arrayList.add(s);
+ }
+
+ return arrayList;
+ }
+
+}