1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski package com.sun.star.wizards.common; 24*b1cdbd2cSJim Jagielski 25*b1cdbd2cSJim Jagielski import com.sun.star.lang.XMultiServiceFactory; 26*b1cdbd2cSJim Jagielski import com.sun.star.util.DateTime; 27*b1cdbd2cSJim Jagielski import com.sun.star.beans.PropertyValue; 28*b1cdbd2cSJim Jagielski import java.util.*; 29*b1cdbd2cSJim Jagielski import java.io.File; 30*b1cdbd2cSJim Jagielski 31*b1cdbd2cSJim Jagielski import com.sun.star.lib.util.UrlToFileMapper; 32*b1cdbd2cSJim Jagielski import java.io.IOException; 33*b1cdbd2cSJim Jagielski import java.net.MalformedURLException; 34*b1cdbd2cSJim Jagielski import java.net.URL; 35*b1cdbd2cSJim Jagielski 36*b1cdbd2cSJim Jagielski /** 37*b1cdbd2cSJim Jagielski * 38*b1cdbd2cSJim Jagielski * @author bc93774 39*b1cdbd2cSJim Jagielski */ 40*b1cdbd2cSJim Jagielski public class JavaTools 41*b1cdbd2cSJim Jagielski { 42*b1cdbd2cSJim Jagielski 43*b1cdbd2cSJim Jagielski /** Creates a new instance of JavaTools */ JavaTools()44*b1cdbd2cSJim Jagielski public JavaTools() 45*b1cdbd2cSJim Jagielski { 46*b1cdbd2cSJim Jagielski } 47*b1cdbd2cSJim Jagielski 48*b1cdbd2cSJim Jagielski /* 49*b1cdbd2cSJim Jagielski public static void main(String args[]) 50*b1cdbd2cSJim Jagielski { 51*b1cdbd2cSJim Jagielski String sPath = PropertyNames.EMPTY_STRING; 52*b1cdbd2cSJim Jagielski DateTime oDateTime = null; 53*b1cdbd2cSJim Jagielski long n; 54*b1cdbd2cSJim Jagielski String ConnectStr = "uno:socket,host=localhost,port=8100;urp,negotiate=0,forcesynchronous=1;StarOffice.NamingService"; //localhost ;Lo-1.Germany.sun.com; 10.16.65.155 55*b1cdbd2cSJim Jagielski try 56*b1cdbd2cSJim Jagielski { 57*b1cdbd2cSJim Jagielski XMultiServiceFactory xLocMSF = com.sun.star.wizards.common.Desktop.connect(ConnectStr); 58*b1cdbd2cSJim Jagielski if (xLocMSF != null) 59*b1cdbd2cSJim Jagielski { 60*b1cdbd2cSJim Jagielski System.out.println("Connected to " + ConnectStr); 61*b1cdbd2cSJim Jagielski oDateTime = getDateTime(9500000); 62*b1cdbd2cSJim Jagielski sPath = convertfromURLNotation("file:///E:/trash/Web%20Wizard.xcu"); 63*b1cdbd2cSJim Jagielski n = getMillis(oDateTime); 64*b1cdbd2cSJim Jagielski int a = 1; 65*b1cdbd2cSJim Jagielski } 66*b1cdbd2cSJim Jagielski } 67*b1cdbd2cSJim Jagielski catch (Exception exception) 68*b1cdbd2cSJim Jagielski { 69*b1cdbd2cSJim Jagielski exception.printStackTrace(System.out); 70*b1cdbd2cSJim Jagielski } 71*b1cdbd2cSJim Jagielski } 72*b1cdbd2cSJim Jagielski */ copyStringArray(String[] FirstArray)73*b1cdbd2cSJim Jagielski public static String[] copyStringArray(String[] FirstArray) 74*b1cdbd2cSJim Jagielski { 75*b1cdbd2cSJim Jagielski if (FirstArray != null) 76*b1cdbd2cSJim Jagielski { 77*b1cdbd2cSJim Jagielski String[] SecondArray = new String[FirstArray.length]; 78*b1cdbd2cSJim Jagielski System.arraycopy(FirstArray, 0, SecondArray, 0, FirstArray.length); 79*b1cdbd2cSJim Jagielski return SecondArray; 80*b1cdbd2cSJim Jagielski } 81*b1cdbd2cSJim Jagielski else 82*b1cdbd2cSJim Jagielski { 83*b1cdbd2cSJim Jagielski return null; 84*b1cdbd2cSJim Jagielski } 85*b1cdbd2cSJim Jagielski } 86*b1cdbd2cSJim Jagielski initializeArray(Object[] olist, Object ovalue)87*b1cdbd2cSJim Jagielski public static Object[] initializeArray(Object[] olist, Object ovalue) 88*b1cdbd2cSJim Jagielski { 89*b1cdbd2cSJim Jagielski for (int i = 0; i < olist.length; i++) 90*b1cdbd2cSJim Jagielski { 91*b1cdbd2cSJim Jagielski olist[i] = ovalue; 92*b1cdbd2cSJim Jagielski } 93*b1cdbd2cSJim Jagielski return olist; 94*b1cdbd2cSJim Jagielski } 95*b1cdbd2cSJim Jagielski initializeMultiDimArray(Object[][] olist, Object[] ovalue)96*b1cdbd2cSJim Jagielski public static Object[][] initializeMultiDimArray(Object[][] olist, Object[] ovalue) 97*b1cdbd2cSJim Jagielski { 98*b1cdbd2cSJim Jagielski for (int i = 0; i < olist.length; i++) 99*b1cdbd2cSJim Jagielski { 100*b1cdbd2cSJim Jagielski olist[i] = ovalue; 101*b1cdbd2cSJim Jagielski } 102*b1cdbd2cSJim Jagielski return olist; 103*b1cdbd2cSJim Jagielski } 104*b1cdbd2cSJim Jagielski ArrayOutOfMultiDimArray(String _sMultiDimArray[][], int _index)105*b1cdbd2cSJim Jagielski public static String[] ArrayOutOfMultiDimArray(String _sMultiDimArray[][], int _index) 106*b1cdbd2cSJim Jagielski { 107*b1cdbd2cSJim Jagielski String[] sRetArray = null; 108*b1cdbd2cSJim Jagielski if (_sMultiDimArray != null) 109*b1cdbd2cSJim Jagielski { 110*b1cdbd2cSJim Jagielski sRetArray = new String[_sMultiDimArray.length]; 111*b1cdbd2cSJim Jagielski for (int i = 0; i < _sMultiDimArray.length; i++) 112*b1cdbd2cSJim Jagielski { 113*b1cdbd2cSJim Jagielski sRetArray[i] = _sMultiDimArray[i][_index]; 114*b1cdbd2cSJim Jagielski } 115*b1cdbd2cSJim Jagielski } 116*b1cdbd2cSJim Jagielski return sRetArray; 117*b1cdbd2cSJim Jagielski } 118*b1cdbd2cSJim Jagielski initializeintArray(int FieldCount, int nValue)119*b1cdbd2cSJim Jagielski public static int[] initializeintArray(int FieldCount, int nValue) 120*b1cdbd2cSJim Jagielski { 121*b1cdbd2cSJim Jagielski int[] LocintArray = new int[FieldCount]; 122*b1cdbd2cSJim Jagielski for (int i = 0; i < LocintArray.length; i++) 123*b1cdbd2cSJim Jagielski { 124*b1cdbd2cSJim Jagielski LocintArray[i] = nValue; 125*b1cdbd2cSJim Jagielski } 126*b1cdbd2cSJim Jagielski return LocintArray; 127*b1cdbd2cSJim Jagielski } 128*b1cdbd2cSJim Jagielski 129*b1cdbd2cSJim Jagielski /**converts a list of Integer values included in an Integer vector to a list of int values 130*b1cdbd2cSJim Jagielski * 131*b1cdbd2cSJim Jagielski * 132*b1cdbd2cSJim Jagielski * @param _aIntegerVector 133*b1cdbd2cSJim Jagielski * @return 134*b1cdbd2cSJim Jagielski */ IntegerTointList(Vector<Integer> _aIntegerVector)135*b1cdbd2cSJim Jagielski public static int[] IntegerTointList(Vector<Integer> _aIntegerVector) 136*b1cdbd2cSJim Jagielski { 137*b1cdbd2cSJim Jagielski try 138*b1cdbd2cSJim Jagielski { 139*b1cdbd2cSJim Jagielski Integer[] nIntegerValues = new Integer[_aIntegerVector.size()]; 140*b1cdbd2cSJim Jagielski int[] nintValues = new int[_aIntegerVector.size()]; 141*b1cdbd2cSJim Jagielski _aIntegerVector.toArray(nIntegerValues); 142*b1cdbd2cSJim Jagielski for (int i = 0; i < nIntegerValues.length; i++) 143*b1cdbd2cSJim Jagielski { 144*b1cdbd2cSJim Jagielski nintValues[i] = nIntegerValues[i].intValue(); 145*b1cdbd2cSJim Jagielski } 146*b1cdbd2cSJim Jagielski return nintValues; 147*b1cdbd2cSJim Jagielski } 148*b1cdbd2cSJim Jagielski catch (RuntimeException e) 149*b1cdbd2cSJim Jagielski { 150*b1cdbd2cSJim Jagielski e.printStackTrace(System.out); 151*b1cdbd2cSJim Jagielski return null; 152*b1cdbd2cSJim Jagielski } 153*b1cdbd2cSJim Jagielski } 154*b1cdbd2cSJim Jagielski 155*b1cdbd2cSJim Jagielski /**converts a list of Boolean values included in a Boolean vector to a list of boolean values 156*b1cdbd2cSJim Jagielski * 157*b1cdbd2cSJim Jagielski * 158*b1cdbd2cSJim Jagielski * @param _aBooleanVector 159*b1cdbd2cSJim Jagielski * @return 160*b1cdbd2cSJim Jagielski */ BooleanTobooleanList(Vector<Boolean> _aBooleanVector)161*b1cdbd2cSJim Jagielski public static boolean[] BooleanTobooleanList(Vector<Boolean> _aBooleanVector) 162*b1cdbd2cSJim Jagielski { 163*b1cdbd2cSJim Jagielski try 164*b1cdbd2cSJim Jagielski { 165*b1cdbd2cSJim Jagielski Boolean[] bBooleanValues = new Boolean[_aBooleanVector.size()]; 166*b1cdbd2cSJim Jagielski boolean[] bbooleanValues = new boolean[_aBooleanVector.size()]; 167*b1cdbd2cSJim Jagielski _aBooleanVector.toArray(bBooleanValues); 168*b1cdbd2cSJim Jagielski for (int i = 0; i < bBooleanValues.length; i++) 169*b1cdbd2cSJim Jagielski { 170*b1cdbd2cSJim Jagielski bbooleanValues[i] = bBooleanValues[i].booleanValue(); 171*b1cdbd2cSJim Jagielski } 172*b1cdbd2cSJim Jagielski return bbooleanValues; 173*b1cdbd2cSJim Jagielski } 174*b1cdbd2cSJim Jagielski catch (RuntimeException e) 175*b1cdbd2cSJim Jagielski { 176*b1cdbd2cSJim Jagielski e.printStackTrace(System.out); 177*b1cdbd2cSJim Jagielski return null; 178*b1cdbd2cSJim Jagielski } 179*b1cdbd2cSJim Jagielski } 180*b1cdbd2cSJim Jagielski multiDimListToArray(String[][] multidimlist)181*b1cdbd2cSJim Jagielski public static String[] multiDimListToArray(String[][] multidimlist) 182*b1cdbd2cSJim Jagielski { 183*b1cdbd2cSJim Jagielski String[] retlist = new String[] 184*b1cdbd2cSJim Jagielski { 185*b1cdbd2cSJim Jagielski }; 186*b1cdbd2cSJim Jagielski retlist = new String[multidimlist.length]; 187*b1cdbd2cSJim Jagielski for (int i = 0; i < multidimlist.length; i++) 188*b1cdbd2cSJim Jagielski { 189*b1cdbd2cSJim Jagielski retlist[i] = multidimlist[i][0]; 190*b1cdbd2cSJim Jagielski } 191*b1cdbd2cSJim Jagielski return retlist; 192*b1cdbd2cSJim Jagielski } 193*b1cdbd2cSJim Jagielski getlongestArrayItem(String[] StringArray)194*b1cdbd2cSJim Jagielski public static String getlongestArrayItem(String[] StringArray) 195*b1cdbd2cSJim Jagielski { 196*b1cdbd2cSJim Jagielski String sLongestItem = PropertyNames.EMPTY_STRING; 197*b1cdbd2cSJim Jagielski int FieldCount = StringArray.length; 198*b1cdbd2cSJim Jagielski int iOldLength = 0; 199*b1cdbd2cSJim Jagielski int iCurLength = 0; 200*b1cdbd2cSJim Jagielski for (int i = 0; i < FieldCount; i++) 201*b1cdbd2cSJim Jagielski { 202*b1cdbd2cSJim Jagielski iCurLength = StringArray[i].length(); 203*b1cdbd2cSJim Jagielski if (iCurLength > iOldLength) 204*b1cdbd2cSJim Jagielski { 205*b1cdbd2cSJim Jagielski iOldLength = iCurLength; 206*b1cdbd2cSJim Jagielski sLongestItem = StringArray[i]; 207*b1cdbd2cSJim Jagielski } 208*b1cdbd2cSJim Jagielski } 209*b1cdbd2cSJim Jagielski return sLongestItem; 210*b1cdbd2cSJim Jagielski } 211*b1cdbd2cSJim Jagielski ArraytoString(String[] LocArray)212*b1cdbd2cSJim Jagielski public static String ArraytoString(String[] LocArray) 213*b1cdbd2cSJim Jagielski { 214*b1cdbd2cSJim Jagielski StringBuilder ResultString = new StringBuilder(PropertyNames.EMPTY_STRING); 215*b1cdbd2cSJim Jagielski int iLen = LocArray.length; 216*b1cdbd2cSJim Jagielski for (int i = 0; i < iLen; i++) 217*b1cdbd2cSJim Jagielski { 218*b1cdbd2cSJim Jagielski ResultString.append(LocArray[i]); 219*b1cdbd2cSJim Jagielski if (i < iLen - 1) 220*b1cdbd2cSJim Jagielski { 221*b1cdbd2cSJim Jagielski ResultString.append(PropertyNames.SEMI_COLON); 222*b1cdbd2cSJim Jagielski } 223*b1cdbd2cSJim Jagielski } 224*b1cdbd2cSJim Jagielski return ResultString.toString(); 225*b1cdbd2cSJim Jagielski } 226*b1cdbd2cSJim Jagielski 227*b1cdbd2cSJim Jagielski /** 228*b1cdbd2cSJim Jagielski * @author bc93774 229*b1cdbd2cSJim Jagielski * @param SearchList 230*b1cdbd2cSJim Jagielski * @param SearchString 231*b1cdbd2cSJim Jagielski * @return the index of the field that contains the string 'SearchString' or '-1' if not it is 232*b1cdbd2cSJim Jagielski * not contained within the array 233*b1cdbd2cSJim Jagielski */ FieldInList(String[] SearchList, String SearchString)234*b1cdbd2cSJim Jagielski public static int FieldInList(String[] SearchList, String SearchString) 235*b1cdbd2cSJim Jagielski { 236*b1cdbd2cSJim Jagielski int FieldLen = SearchList.length; 237*b1cdbd2cSJim Jagielski int retvalue = -1; 238*b1cdbd2cSJim Jagielski for (int i = 0; i < FieldLen; i++) 239*b1cdbd2cSJim Jagielski { 240*b1cdbd2cSJim Jagielski if (SearchList[i].compareTo(SearchString) == 0) 241*b1cdbd2cSJim Jagielski { 242*b1cdbd2cSJim Jagielski retvalue = i; 243*b1cdbd2cSJim Jagielski break; 244*b1cdbd2cSJim Jagielski } 245*b1cdbd2cSJim Jagielski } 246*b1cdbd2cSJim Jagielski return retvalue; 247*b1cdbd2cSJim Jagielski } 248*b1cdbd2cSJim Jagielski FieldInList(String[] SearchList, String SearchString, int StartIndex)249*b1cdbd2cSJim Jagielski public static int FieldInList(String[] SearchList, String SearchString, int StartIndex) 250*b1cdbd2cSJim Jagielski { 251*b1cdbd2cSJim Jagielski int FieldLen = SearchList.length; 252*b1cdbd2cSJim Jagielski int retvalue = -1; 253*b1cdbd2cSJim Jagielski if (StartIndex < FieldLen) 254*b1cdbd2cSJim Jagielski { 255*b1cdbd2cSJim Jagielski for (int i = StartIndex; i < FieldLen; i++) 256*b1cdbd2cSJim Jagielski { 257*b1cdbd2cSJim Jagielski if (SearchList[i].compareTo(SearchString) == 0) 258*b1cdbd2cSJim Jagielski { 259*b1cdbd2cSJim Jagielski retvalue = i; 260*b1cdbd2cSJim Jagielski break; 261*b1cdbd2cSJim Jagielski } 262*b1cdbd2cSJim Jagielski } 263*b1cdbd2cSJim Jagielski } 264*b1cdbd2cSJim Jagielski return retvalue; 265*b1cdbd2cSJim Jagielski } 266*b1cdbd2cSJim Jagielski FieldInTable(String[][] SearchList, String SearchString)267*b1cdbd2cSJim Jagielski public static int FieldInTable(String[][] SearchList, String SearchString) 268*b1cdbd2cSJim Jagielski { 269*b1cdbd2cSJim Jagielski int retvalue; 270*b1cdbd2cSJim Jagielski if (SearchList.length > 0) 271*b1cdbd2cSJim Jagielski { 272*b1cdbd2cSJim Jagielski int FieldLen = SearchList.length; 273*b1cdbd2cSJim Jagielski retvalue = -1; 274*b1cdbd2cSJim Jagielski for (int i = 0; i < FieldLen; i++) 275*b1cdbd2cSJim Jagielski { 276*b1cdbd2cSJim Jagielski if (SearchList[i][0] != null) 277*b1cdbd2cSJim Jagielski { 278*b1cdbd2cSJim Jagielski if (SearchList[i][0].compareTo(SearchString) == 0) 279*b1cdbd2cSJim Jagielski { 280*b1cdbd2cSJim Jagielski retvalue = i; 281*b1cdbd2cSJim Jagielski break; 282*b1cdbd2cSJim Jagielski } 283*b1cdbd2cSJim Jagielski } 284*b1cdbd2cSJim Jagielski } 285*b1cdbd2cSJim Jagielski } 286*b1cdbd2cSJim Jagielski else 287*b1cdbd2cSJim Jagielski { 288*b1cdbd2cSJim Jagielski retvalue = -1; 289*b1cdbd2cSJim Jagielski } 290*b1cdbd2cSJim Jagielski return retvalue; 291*b1cdbd2cSJim Jagielski } 292*b1cdbd2cSJim Jagielski FieldInIntTable(int[][] SearchList, int SearchValue)293*b1cdbd2cSJim Jagielski public static int FieldInIntTable(int[][] SearchList, int SearchValue) 294*b1cdbd2cSJim Jagielski { 295*b1cdbd2cSJim Jagielski int retvalue = -1; 296*b1cdbd2cSJim Jagielski for (int i = 0; i < SearchList.length; i++) 297*b1cdbd2cSJim Jagielski { 298*b1cdbd2cSJim Jagielski if (SearchList[i][0] == SearchValue) 299*b1cdbd2cSJim Jagielski { 300*b1cdbd2cSJim Jagielski retvalue = i; 301*b1cdbd2cSJim Jagielski break; 302*b1cdbd2cSJim Jagielski } 303*b1cdbd2cSJim Jagielski } 304*b1cdbd2cSJim Jagielski return retvalue; 305*b1cdbd2cSJim Jagielski } 306*b1cdbd2cSJim Jagielski FieldInIntTable(int[] SearchList, int SearchValue, int _startindex)307*b1cdbd2cSJim Jagielski public static int FieldInIntTable(int[] SearchList, int SearchValue, int _startindex) 308*b1cdbd2cSJim Jagielski { 309*b1cdbd2cSJim Jagielski int retvalue = -1; 310*b1cdbd2cSJim Jagielski for (int i = _startindex; i < SearchList.length; i++) 311*b1cdbd2cSJim Jagielski { 312*b1cdbd2cSJim Jagielski if (SearchList[i] == SearchValue) 313*b1cdbd2cSJim Jagielski { 314*b1cdbd2cSJim Jagielski retvalue = i; 315*b1cdbd2cSJim Jagielski break; 316*b1cdbd2cSJim Jagielski } 317*b1cdbd2cSJim Jagielski } 318*b1cdbd2cSJim Jagielski return retvalue; 319*b1cdbd2cSJim Jagielski } 320*b1cdbd2cSJim Jagielski FieldInIntTable(int[] SearchList, int SearchValue)321*b1cdbd2cSJim Jagielski public static int FieldInIntTable(int[] SearchList, int SearchValue) 322*b1cdbd2cSJim Jagielski { 323*b1cdbd2cSJim Jagielski return FieldInIntTable(SearchList, SearchValue, 0); 324*b1cdbd2cSJim Jagielski } 325*b1cdbd2cSJim Jagielski getArraylength(Object[] MyArray)326*b1cdbd2cSJim Jagielski public static int getArraylength(Object[] MyArray) 327*b1cdbd2cSJim Jagielski { 328*b1cdbd2cSJim Jagielski int FieldCount = 0; 329*b1cdbd2cSJim Jagielski if (MyArray != null) 330*b1cdbd2cSJim Jagielski { 331*b1cdbd2cSJim Jagielski FieldCount = MyArray.length; 332*b1cdbd2cSJim Jagielski } 333*b1cdbd2cSJim Jagielski return FieldCount; 334*b1cdbd2cSJim Jagielski } 335*b1cdbd2cSJim Jagielski 336*b1cdbd2cSJim Jagielski /** 337*b1cdbd2cSJim Jagielski * @author bc93774 338*b1cdbd2cSJim Jagielski * This function bubble sorts an array of with 2 dimensions. 339*b1cdbd2cSJim Jagielski * The default sorting order is the first dimension 340*b1cdbd2cSJim Jagielski * Only if sort2ndValue is True the second dimension is the relevant for the sorting order 341*b1cdbd2cSJim Jagielski */ bubblesortList(String[][] SortList)342*b1cdbd2cSJim Jagielski public static String[][] bubblesortList(String[][] SortList) 343*b1cdbd2cSJim Jagielski { 344*b1cdbd2cSJim Jagielski String DisplayDummy; 345*b1cdbd2cSJim Jagielski int SortCount = SortList[0].length; 346*b1cdbd2cSJim Jagielski int DimCount = SortList.length; 347*b1cdbd2cSJim Jagielski for (int s = 0; s < SortCount; s++) 348*b1cdbd2cSJim Jagielski { 349*b1cdbd2cSJim Jagielski for (int t = 0; t < SortCount - s - 1; t++) 350*b1cdbd2cSJim Jagielski { 351*b1cdbd2cSJim Jagielski if (SortList[0][t].compareTo(SortList[0][t + 1]) > 0) 352*b1cdbd2cSJim Jagielski { 353*b1cdbd2cSJim Jagielski for (int k = 0; k < DimCount; k++) 354*b1cdbd2cSJim Jagielski { 355*b1cdbd2cSJim Jagielski DisplayDummy = SortList[k][t]; 356*b1cdbd2cSJim Jagielski SortList[k][t] = SortList[k][t + 1]; 357*b1cdbd2cSJim Jagielski SortList[k][t + 1] = DisplayDummy; 358*b1cdbd2cSJim Jagielski } 359*b1cdbd2cSJim Jagielski } 360*b1cdbd2cSJim Jagielski } 361*b1cdbd2cSJim Jagielski } 362*b1cdbd2cSJim Jagielski return SortList; 363*b1cdbd2cSJim Jagielski } 364*b1cdbd2cSJim Jagielski 365*b1cdbd2cSJim Jagielski /** 366*b1cdbd2cSJim Jagielski * @param MainString 367*b1cdbd2cSJim Jagielski * @param Token 368*b1cdbd2cSJim Jagielski * @return 369*b1cdbd2cSJim Jagielski */ ArrayoutofString(String MainString, String Token)370*b1cdbd2cSJim Jagielski public static String[] ArrayoutofString(String MainString, String Token) 371*b1cdbd2cSJim Jagielski { 372*b1cdbd2cSJim Jagielski String[] StringArray; 373*b1cdbd2cSJim Jagielski if (!MainString.equals(PropertyNames.EMPTY_STRING)) 374*b1cdbd2cSJim Jagielski { 375*b1cdbd2cSJim Jagielski Vector StringVector = new Vector(); 376*b1cdbd2cSJim Jagielski String LocString = null; 377*b1cdbd2cSJim Jagielski int iIndex; 378*b1cdbd2cSJim Jagielski do 379*b1cdbd2cSJim Jagielski { 380*b1cdbd2cSJim Jagielski iIndex = MainString.indexOf(Token); 381*b1cdbd2cSJim Jagielski if (iIndex < 0) 382*b1cdbd2cSJim Jagielski { 383*b1cdbd2cSJim Jagielski StringVector.addElement(MainString); 384*b1cdbd2cSJim Jagielski } 385*b1cdbd2cSJim Jagielski else 386*b1cdbd2cSJim Jagielski { 387*b1cdbd2cSJim Jagielski StringVector.addElement(MainString.substring(0, iIndex)); 388*b1cdbd2cSJim Jagielski MainString = MainString.substring(iIndex + 1, MainString.length()); 389*b1cdbd2cSJim Jagielski } 390*b1cdbd2cSJim Jagielski } 391*b1cdbd2cSJim Jagielski while (iIndex >= 0); 392*b1cdbd2cSJim Jagielski int FieldCount = StringVector.size(); 393*b1cdbd2cSJim Jagielski StringArray = new String[FieldCount]; 394*b1cdbd2cSJim Jagielski StringVector.copyInto(StringArray); 395*b1cdbd2cSJim Jagielski } 396*b1cdbd2cSJim Jagielski else 397*b1cdbd2cSJim Jagielski { 398*b1cdbd2cSJim Jagielski StringArray = new String[0]; 399*b1cdbd2cSJim Jagielski } 400*b1cdbd2cSJim Jagielski return StringArray; 401*b1cdbd2cSJim Jagielski } 402*b1cdbd2cSJim Jagielski replaceSubString(String MainString, String NewSubString, String OldSubString)403*b1cdbd2cSJim Jagielski public static String replaceSubString(String MainString, String NewSubString, String OldSubString) 404*b1cdbd2cSJim Jagielski { 405*b1cdbd2cSJim Jagielski try 406*b1cdbd2cSJim Jagielski { 407*b1cdbd2cSJim Jagielski int NewIndex = 0; 408*b1cdbd2cSJim Jagielski int OldIndex = 0; 409*b1cdbd2cSJim Jagielski int NewSubLen = NewSubString.length(); 410*b1cdbd2cSJim Jagielski int OldSubLen = OldSubString.length(); 411*b1cdbd2cSJim Jagielski while (NewIndex != -1) 412*b1cdbd2cSJim Jagielski { 413*b1cdbd2cSJim Jagielski NewIndex = MainString.indexOf(OldSubString, OldIndex); 414*b1cdbd2cSJim Jagielski if (NewIndex != -1) 415*b1cdbd2cSJim Jagielski { 416*b1cdbd2cSJim Jagielski MainString = MainString.substring(0, NewIndex) + NewSubString + MainString.substring(NewIndex + OldSubLen); 417*b1cdbd2cSJim Jagielski OldIndex = NewIndex + NewSubLen; 418*b1cdbd2cSJim Jagielski } 419*b1cdbd2cSJim Jagielski } 420*b1cdbd2cSJim Jagielski return MainString; 421*b1cdbd2cSJim Jagielski } 422*b1cdbd2cSJim Jagielski catch (Exception exception) 423*b1cdbd2cSJim Jagielski { 424*b1cdbd2cSJim Jagielski exception.printStackTrace(System.out); 425*b1cdbd2cSJim Jagielski return null; 426*b1cdbd2cSJim Jagielski } 427*b1cdbd2cSJim Jagielski } 428*b1cdbd2cSJim Jagielski getFilenameOutOfPath(String sPath)429*b1cdbd2cSJim Jagielski public static String getFilenameOutOfPath(String sPath) 430*b1cdbd2cSJim Jagielski { 431*b1cdbd2cSJim Jagielski String[] Hierarchy = ArrayoutofString(sPath, "/"); 432*b1cdbd2cSJim Jagielski return Hierarchy[Hierarchy.length - 1]; 433*b1cdbd2cSJim Jagielski } 434*b1cdbd2cSJim Jagielski getFileDescription(String sPath)435*b1cdbd2cSJim Jagielski public static String getFileDescription(String sPath) 436*b1cdbd2cSJim Jagielski { 437*b1cdbd2cSJim Jagielski String sFilename = getFilenameOutOfPath(sPath); 438*b1cdbd2cSJim Jagielski String[] FilenameList = ArrayoutofString(sFilename, "."); 439*b1cdbd2cSJim Jagielski StringBuilder FileDescription = new StringBuilder(PropertyNames.EMPTY_STRING); 440*b1cdbd2cSJim Jagielski for (int i = 0; i < FilenameList.length - 1; i++) 441*b1cdbd2cSJim Jagielski { 442*b1cdbd2cSJim Jagielski FileDescription.append(FilenameList[i]); 443*b1cdbd2cSJim Jagielski } 444*b1cdbd2cSJim Jagielski return FileDescription.toString(); 445*b1cdbd2cSJim Jagielski } 446*b1cdbd2cSJim Jagielski convertfromURLNotation(String _sURLPath)447*b1cdbd2cSJim Jagielski public static String convertfromURLNotation(String _sURLPath) 448*b1cdbd2cSJim Jagielski { 449*b1cdbd2cSJim Jagielski String sPath = PropertyNames.EMPTY_STRING; 450*b1cdbd2cSJim Jagielski try 451*b1cdbd2cSJim Jagielski { 452*b1cdbd2cSJim Jagielski URL oJavaURL = new URL(_sURLPath); 453*b1cdbd2cSJim Jagielski File oFile = UrlToFileMapper.mapUrlToFile(oJavaURL); 454*b1cdbd2cSJim Jagielski sPath = oFile.getAbsolutePath(); 455*b1cdbd2cSJim Jagielski } 456*b1cdbd2cSJim Jagielski catch (MalformedURLException e) 457*b1cdbd2cSJim Jagielski { 458*b1cdbd2cSJim Jagielski e.printStackTrace(System.out); 459*b1cdbd2cSJim Jagielski } 460*b1cdbd2cSJim Jagielski catch (IOException e) 461*b1cdbd2cSJim Jagielski { 462*b1cdbd2cSJim Jagielski e.printStackTrace(System.out); 463*b1cdbd2cSJim Jagielski } 464*b1cdbd2cSJim Jagielski return sPath; 465*b1cdbd2cSJim Jagielski } 466*b1cdbd2cSJim Jagielski getDateTime(long timeMillis)467*b1cdbd2cSJim Jagielski public static DateTime getDateTime(long timeMillis) 468*b1cdbd2cSJim Jagielski { 469*b1cdbd2cSJim Jagielski java.util.Calendar cal = java.util.Calendar.getInstance(); 470*b1cdbd2cSJim Jagielski setTimeInMillis(cal, timeMillis); 471*b1cdbd2cSJim Jagielski DateTime dt = new DateTime(); 472*b1cdbd2cSJim Jagielski dt.Year = (short) cal.get(Calendar.YEAR); 473*b1cdbd2cSJim Jagielski dt.Day = (short) cal.get(Calendar.DAY_OF_MONTH); 474*b1cdbd2cSJim Jagielski dt.Month = (short) (cal.get(Calendar.MONTH) + 1); 475*b1cdbd2cSJim Jagielski dt.Hours = (short) cal.get(Calendar.HOUR); 476*b1cdbd2cSJim Jagielski dt.Minutes = (short) cal.get(Calendar.MINUTE); 477*b1cdbd2cSJim Jagielski dt.Seconds = (short) cal.get(Calendar.SECOND); 478*b1cdbd2cSJim Jagielski dt.HundredthSeconds = (short) cal.get(Calendar.MILLISECOND); 479*b1cdbd2cSJim Jagielski return dt; 480*b1cdbd2cSJim Jagielski } 481*b1cdbd2cSJim Jagielski getTimeInMillis(Calendar _calendar)482*b1cdbd2cSJim Jagielski public static long getTimeInMillis(Calendar _calendar) 483*b1cdbd2cSJim Jagielski { 484*b1cdbd2cSJim Jagielski java.util.Date dDate = _calendar.getTime(); 485*b1cdbd2cSJim Jagielski return dDate.getTime(); 486*b1cdbd2cSJim Jagielski } 487*b1cdbd2cSJim Jagielski setTimeInMillis(Calendar _calendar, long _timemillis)488*b1cdbd2cSJim Jagielski public static void setTimeInMillis(Calendar _calendar, long _timemillis) 489*b1cdbd2cSJim Jagielski { 490*b1cdbd2cSJim Jagielski java.util.Date dDate = new java.util.Date(); 491*b1cdbd2cSJim Jagielski dDate.setTime(_timemillis); 492*b1cdbd2cSJim Jagielski _calendar.setTime(dDate); 493*b1cdbd2cSJim Jagielski } 494*b1cdbd2cSJim Jagielski getMillis(DateTime time)495*b1cdbd2cSJim Jagielski public static long getMillis(DateTime time) 496*b1cdbd2cSJim Jagielski { 497*b1cdbd2cSJim Jagielski java.util.Calendar cal = java.util.Calendar.getInstance(); 498*b1cdbd2cSJim Jagielski cal.set(time.Year, time.Month, time.Day, time.Hours, time.Minutes, time.Seconds); 499*b1cdbd2cSJim Jagielski return getTimeInMillis(cal); 500*b1cdbd2cSJim Jagielski } 501*b1cdbd2cSJim Jagielski removeOutdatedFields(String[] baselist, String[] _complist)502*b1cdbd2cSJim Jagielski public static String[] removeOutdatedFields(String[] baselist, String[] _complist) 503*b1cdbd2cSJim Jagielski { 504*b1cdbd2cSJim Jagielski String[] retarray = new String[] 505*b1cdbd2cSJim Jagielski { 506*b1cdbd2cSJim Jagielski }; 507*b1cdbd2cSJim Jagielski if ((baselist != null) && (_complist != null)) 508*b1cdbd2cSJim Jagielski { 509*b1cdbd2cSJim Jagielski Vector retvector = new Vector(); 510*b1cdbd2cSJim Jagielski // String[] orderedcomplist = new String[_complist.length]; 511*b1cdbd2cSJim Jagielski // System.arraycopy(_complist, 0, orderedcomplist, 0, _complist.length); 512*b1cdbd2cSJim Jagielski for (int i = 0; i < baselist.length; i++) 513*b1cdbd2cSJim Jagielski // if (Arrays.binarySearch(orderedcomplist, baselist[i]) != -1) 514*b1cdbd2cSJim Jagielski { 515*b1cdbd2cSJim Jagielski if (FieldInList(_complist, baselist[i]) > -1) 516*b1cdbd2cSJim Jagielski { 517*b1cdbd2cSJim Jagielski retvector.add(baselist[i]); 518*b1cdbd2cSJim Jagielski // else 519*b1cdbd2cSJim Jagielski // here you could call the method of a defined interface to notify the calling method 520*b1cdbd2cSJim Jagielski // } 521*b1cdbd2cSJim Jagielski } 522*b1cdbd2cSJim Jagielski } 523*b1cdbd2cSJim Jagielski retarray = new String[retvector.size()]; 524*b1cdbd2cSJim Jagielski retvector.toArray(retarray); 525*b1cdbd2cSJim Jagielski } 526*b1cdbd2cSJim Jagielski return (retarray); 527*b1cdbd2cSJim Jagielski } 528*b1cdbd2cSJim Jagielski removeOutdatedFields(String[][] baselist, String[] _complist, int _compindex)529*b1cdbd2cSJim Jagielski public static String[][] removeOutdatedFields(String[][] baselist, String[] _complist, int _compindex) 530*b1cdbd2cSJim Jagielski { 531*b1cdbd2cSJim Jagielski String[][] retarray = new String[][] {}; 532*b1cdbd2cSJim Jagielski if ((baselist != null) && (_complist != null)) 533*b1cdbd2cSJim Jagielski { 534*b1cdbd2cSJim Jagielski if (baselist.length > 0) 535*b1cdbd2cSJim Jagielski { 536*b1cdbd2cSJim Jagielski Vector retvector = new Vector(); 537*b1cdbd2cSJim Jagielski for (int i = 0; i < baselist.length; i++) 538*b1cdbd2cSJim Jagielski { 539*b1cdbd2cSJim Jagielski String sValue = baselist[i][_compindex]; 540*b1cdbd2cSJim Jagielski if (FieldInList(_complist, sValue) != -1) 541*b1cdbd2cSJim Jagielski { 542*b1cdbd2cSJim Jagielski retvector.add(baselist[i]); 543*b1cdbd2cSJim Jagielski // else 544*b1cdbd2cSJim Jagielski // here you could call the method of a defined interface to notify the calling method 545*b1cdbd2cSJim Jagielski } 546*b1cdbd2cSJim Jagielski } 547*b1cdbd2cSJim Jagielski retarray = new String[retvector.size()][2]; 548*b1cdbd2cSJim Jagielski retvector.toArray(retarray); 549*b1cdbd2cSJim Jagielski } 550*b1cdbd2cSJim Jagielski } 551*b1cdbd2cSJim Jagielski return (retarray); 552*b1cdbd2cSJim Jagielski } 553*b1cdbd2cSJim Jagielski removeOutdatedFields(String[][] baselist, String[] _complist)554*b1cdbd2cSJim Jagielski public static String[][] removeOutdatedFields(String[][] baselist, String[] _complist) 555*b1cdbd2cSJim Jagielski { 556*b1cdbd2cSJim Jagielski return removeOutdatedFields(baselist, _complist, 0); 557*b1cdbd2cSJim Jagielski } 558*b1cdbd2cSJim Jagielski removeOutdatedFields(PropertyValue[][] baselist, String[] _complist)559*b1cdbd2cSJim Jagielski public static PropertyValue[][] removeOutdatedFields(PropertyValue[][] baselist, String[] _complist) 560*b1cdbd2cSJim Jagielski { 561*b1cdbd2cSJim Jagielski if ((baselist != null) && (_complist != null)) 562*b1cdbd2cSJim Jagielski { 563*b1cdbd2cSJim Jagielski ArrayList<PropertyValue[]> firstdimvector = new ArrayList<PropertyValue[]>(); 564*b1cdbd2cSJim Jagielski for (int n = 0; n < baselist.length; n++) 565*b1cdbd2cSJim Jagielski { 566*b1cdbd2cSJim Jagielski ArrayList<PropertyValue> secdimvector = new ArrayList<PropertyValue>(); 567*b1cdbd2cSJim Jagielski for (int m = 0; m < baselist[n].length; m++) 568*b1cdbd2cSJim Jagielski { 569*b1cdbd2cSJim Jagielski if (FieldInList(_complist, baselist[n][m].Name) > -1) 570*b1cdbd2cSJim Jagielski { 571*b1cdbd2cSJim Jagielski secdimvector.add(baselist[n][m]); 572*b1cdbd2cSJim Jagielski } 573*b1cdbd2cSJim Jagielski } 574*b1cdbd2cSJim Jagielski if (!secdimvector.isEmpty()) 575*b1cdbd2cSJim Jagielski { 576*b1cdbd2cSJim Jagielski PropertyValue[] internalArray = new PropertyValue[secdimvector.size()]; 577*b1cdbd2cSJim Jagielski secdimvector.toArray(internalArray); 578*b1cdbd2cSJim Jagielski firstdimvector.add(internalArray); 579*b1cdbd2cSJim Jagielski } 580*b1cdbd2cSJim Jagielski } 581*b1cdbd2cSJim Jagielski PropertyValue[][] retarray = new PropertyValue[firstdimvector.size()][]; 582*b1cdbd2cSJim Jagielski return firstdimvector.toArray(retarray); 583*b1cdbd2cSJim Jagielski } 584*b1cdbd2cSJim Jagielski return new PropertyValue[][] 585*b1cdbd2cSJim Jagielski { 586*b1cdbd2cSJim Jagielski }; 587*b1cdbd2cSJim Jagielski } 588*b1cdbd2cSJim Jagielski 589*b1cdbd2cSJim Jagielski /** 590*b1cdbd2cSJim Jagielski * searches a multidimensional array for duplicate fields. According to the following example 591*b1cdbd2cSJim Jagielski * SlaveFieldName1 ;SlaveFieldName2; SlaveFieldName3 592*b1cdbd2cSJim Jagielski * MasterFieldName1;MasterFieldName2;MasterFieldName3 593*b1cdbd2cSJim Jagielski * The entries SlaveFieldNameX and MasterFieldNameX are grouped together and then the created groups are compared 594*b1cdbd2cSJim Jagielski * If a group is duplicate the entry of the second group is returned. 595*b1cdbd2cSJim Jagielski * @param _scomplist 596*b1cdbd2cSJim Jagielski * @return 597*b1cdbd2cSJim Jagielski */ getDuplicateFieldIndex(String[][] _scomplist)598*b1cdbd2cSJim Jagielski public static int getDuplicateFieldIndex(String[][] _scomplist) 599*b1cdbd2cSJim Jagielski { 600*b1cdbd2cSJim Jagielski int retvalue = -1; 601*b1cdbd2cSJim Jagielski if (_scomplist.length > 0) 602*b1cdbd2cSJim Jagielski { 603*b1cdbd2cSJim Jagielski int fieldcount = _scomplist[0].length; 604*b1cdbd2cSJim Jagielski String[] sDescList = new String[fieldcount]; 605*b1cdbd2cSJim Jagielski for (int m = 0; m < fieldcount; m++) 606*b1cdbd2cSJim Jagielski { 607*b1cdbd2cSJim Jagielski for (int n = 0; n < _scomplist.length; n++) 608*b1cdbd2cSJim Jagielski { 609*b1cdbd2cSJim Jagielski if (n == 0) 610*b1cdbd2cSJim Jagielski { 611*b1cdbd2cSJim Jagielski sDescList[m] = ""; 612*b1cdbd2cSJim Jagielski } 613*b1cdbd2cSJim Jagielski sDescList[m] += _scomplist[n][m]; 614*b1cdbd2cSJim Jagielski } 615*b1cdbd2cSJim Jagielski } 616*b1cdbd2cSJim Jagielski return getDuplicateFieldIndex(sDescList); 617*b1cdbd2cSJim Jagielski } 618*b1cdbd2cSJim Jagielski return retvalue; 619*b1cdbd2cSJim Jagielski } 620*b1cdbd2cSJim Jagielski 621*b1cdbd2cSJim Jagielski /** 622*b1cdbd2cSJim Jagielski * not tested!!!!! 623*b1cdbd2cSJim Jagielski * @param scomplist 624*b1cdbd2cSJim Jagielski * @return 625*b1cdbd2cSJim Jagielski */ getDuplicateFieldIndex(String[] scomplist)626*b1cdbd2cSJim Jagielski public static int getDuplicateFieldIndex(String[] scomplist) 627*b1cdbd2cSJim Jagielski { 628*b1cdbd2cSJim Jagielski for (int n = 0; n < scomplist.length; n++) 629*b1cdbd2cSJim Jagielski { 630*b1cdbd2cSJim Jagielski String scurvalue = scomplist[n]; 631*b1cdbd2cSJim Jagielski for (int m = n; m < scomplist.length; m++) 632*b1cdbd2cSJim Jagielski { 633*b1cdbd2cSJim Jagielski if (m != n) 634*b1cdbd2cSJim Jagielski { 635*b1cdbd2cSJim Jagielski if (scurvalue.equals(scomplist[m])) 636*b1cdbd2cSJim Jagielski { 637*b1cdbd2cSJim Jagielski return m; 638*b1cdbd2cSJim Jagielski } 639*b1cdbd2cSJim Jagielski } 640*b1cdbd2cSJim Jagielski } 641*b1cdbd2cSJim Jagielski } 642*b1cdbd2cSJim Jagielski return -1; 643*b1cdbd2cSJim Jagielski } 644*b1cdbd2cSJim Jagielski getDuplicateFieldIndex(String[] _scomplist, String _fieldname)645*b1cdbd2cSJim Jagielski public static int getDuplicateFieldIndex(String[] _scomplist, String _fieldname) 646*b1cdbd2cSJim Jagielski { 647*b1cdbd2cSJim Jagielski int iduplicate = 0; 648*b1cdbd2cSJim Jagielski for (int n = 0; n < _scomplist.length; n++) 649*b1cdbd2cSJim Jagielski { 650*b1cdbd2cSJim Jagielski if (_scomplist[n].equals(_fieldname)) 651*b1cdbd2cSJim Jagielski { 652*b1cdbd2cSJim Jagielski iduplicate++; 653*b1cdbd2cSJim Jagielski if (iduplicate == 2) 654*b1cdbd2cSJim Jagielski { 655*b1cdbd2cSJim Jagielski return n; 656*b1cdbd2cSJim Jagielski } 657*b1cdbd2cSJim Jagielski } 658*b1cdbd2cSJim Jagielski } 659*b1cdbd2cSJim Jagielski return -1; 660*b1cdbd2cSJim Jagielski } 661*b1cdbd2cSJim Jagielski isEqual(PropertyValue firstPropValue, PropertyValue secPropValue)662*b1cdbd2cSJim Jagielski public static boolean isEqual(PropertyValue firstPropValue, PropertyValue secPropValue) 663*b1cdbd2cSJim Jagielski { 664*b1cdbd2cSJim Jagielski if (!firstPropValue.Name.equals(secPropValue.Name)) 665*b1cdbd2cSJim Jagielski { 666*b1cdbd2cSJim Jagielski return false; 667*b1cdbd2cSJim Jagielski //TODO replace 'equals' with AnyConverter.getType(firstpropValue).equals(secPropValue) to check content and Type 668*b1cdbd2cSJim Jagielski } 669*b1cdbd2cSJim Jagielski if (!firstPropValue.Value.equals(secPropValue.Value)) 670*b1cdbd2cSJim Jagielski { 671*b1cdbd2cSJim Jagielski return false; 672*b1cdbd2cSJim Jagielski } 673*b1cdbd2cSJim Jagielski return (firstPropValue.Handle == secPropValue.Handle); 674*b1cdbd2cSJim Jagielski } 675*b1cdbd2cSJim Jagielski getDuplicateFieldIndex(PropertyValue[][] ocomplist)676*b1cdbd2cSJim Jagielski public static int[] getDuplicateFieldIndex(PropertyValue[][] ocomplist) 677*b1cdbd2cSJim Jagielski { 678*b1cdbd2cSJim Jagielski for (int n = 0; n < ocomplist.length; n++) 679*b1cdbd2cSJim Jagielski { 680*b1cdbd2cSJim Jagielski PropertyValue[] ocurValue = ocomplist[n]; 681*b1cdbd2cSJim Jagielski for (int m = n; m < ocurValue.length; m++) 682*b1cdbd2cSJim Jagielski { 683*b1cdbd2cSJim Jagielski PropertyValue odetValue = ocurValue[m]; 684*b1cdbd2cSJim Jagielski for (int s = 0; s < ocurValue.length; s++) 685*b1cdbd2cSJim Jagielski { 686*b1cdbd2cSJim Jagielski if (s != m) 687*b1cdbd2cSJim Jagielski { 688*b1cdbd2cSJim Jagielski if (isEqual(odetValue, ocurValue[s])) 689*b1cdbd2cSJim Jagielski { 690*b1cdbd2cSJim Jagielski return new int[] 691*b1cdbd2cSJim Jagielski { 692*b1cdbd2cSJim Jagielski n, s 693*b1cdbd2cSJim Jagielski }; 694*b1cdbd2cSJim Jagielski } 695*b1cdbd2cSJim Jagielski } 696*b1cdbd2cSJim Jagielski } 697*b1cdbd2cSJim Jagielski } 698*b1cdbd2cSJim Jagielski } 699*b1cdbd2cSJim Jagielski return new int[] 700*b1cdbd2cSJim Jagielski { 701*b1cdbd2cSJim Jagielski -1, -1 702*b1cdbd2cSJim Jagielski }; 703*b1cdbd2cSJim Jagielski } 704*b1cdbd2cSJim Jagielski getSuffixNumber(String _sbasestring)705*b1cdbd2cSJim Jagielski public static String getSuffixNumber(String _sbasestring) 706*b1cdbd2cSJim Jagielski { 707*b1cdbd2cSJim Jagielski int suffixcharcount = 0; 708*b1cdbd2cSJim Jagielski for (int i = _sbasestring.length() - 1; i >= 0; i--) 709*b1cdbd2cSJim Jagielski { 710*b1cdbd2cSJim Jagielski char b = _sbasestring.charAt(i); 711*b1cdbd2cSJim Jagielski if ((b >= '0') && (b <= '9')) 712*b1cdbd2cSJim Jagielski { 713*b1cdbd2cSJim Jagielski suffixcharcount++; 714*b1cdbd2cSJim Jagielski } 715*b1cdbd2cSJim Jagielski else 716*b1cdbd2cSJim Jagielski { 717*b1cdbd2cSJim Jagielski break; 718*b1cdbd2cSJim Jagielski } 719*b1cdbd2cSJim Jagielski } 720*b1cdbd2cSJim Jagielski int istart = _sbasestring.length() - suffixcharcount; 721*b1cdbd2cSJim Jagielski return _sbasestring.substring(istart, _sbasestring.length()); 722*b1cdbd2cSJim Jagielski } 723*b1cdbd2cSJim Jagielski removefromList(String[] _sbaselist, String[] _sdellist)724*b1cdbd2cSJim Jagielski public static String[] removefromList(String[] _sbaselist, String[] _sdellist) 725*b1cdbd2cSJim Jagielski { 726*b1cdbd2cSJim Jagielski Vector tempbaselist = new Vector(); 727*b1cdbd2cSJim Jagielski for (int i = 0; i < _sbaselist.length; i++) 728*b1cdbd2cSJim Jagielski { 729*b1cdbd2cSJim Jagielski if (FieldInList(_sdellist, _sbaselist[i]) == -1) 730*b1cdbd2cSJim Jagielski { 731*b1cdbd2cSJim Jagielski tempbaselist.add(_sbaselist[i]); 732*b1cdbd2cSJim Jagielski } 733*b1cdbd2cSJim Jagielski } 734*b1cdbd2cSJim Jagielski String[] sretlist = new String[tempbaselist.size()]; 735*b1cdbd2cSJim Jagielski tempbaselist.toArray(sretlist); 736*b1cdbd2cSJim Jagielski return sretlist; 737*b1cdbd2cSJim Jagielski } 738*b1cdbd2cSJim Jagielski 739*b1cdbd2cSJim Jagielski /** 740*b1cdbd2cSJim Jagielski * compares two strings. If one of them is empty and the other one is null it also returns true 741*b1cdbd2cSJim Jagielski * @param sFirstString 742*b1cdbd2cSJim Jagielski * @param sSecondString 743*b1cdbd2cSJim Jagielski * @return 744*b1cdbd2cSJim Jagielski */ isSame(String sFirstString, String sSecondString)745*b1cdbd2cSJim Jagielski public static boolean isSame(String sFirstString, String sSecondString) 746*b1cdbd2cSJim Jagielski { 747*b1cdbd2cSJim Jagielski boolean bissame = false; 748*b1cdbd2cSJim Jagielski if (sFirstString == null) 749*b1cdbd2cSJim Jagielski { 750*b1cdbd2cSJim Jagielski if (sSecondString != null) 751*b1cdbd2cSJim Jagielski { 752*b1cdbd2cSJim Jagielski bissame = sSecondString.equals(PropertyNames.EMPTY_STRING); 753*b1cdbd2cSJim Jagielski } 754*b1cdbd2cSJim Jagielski else 755*b1cdbd2cSJim Jagielski { 756*b1cdbd2cSJim Jagielski bissame = true; 757*b1cdbd2cSJim Jagielski } 758*b1cdbd2cSJim Jagielski } 759*b1cdbd2cSJim Jagielski else 760*b1cdbd2cSJim Jagielski { 761*b1cdbd2cSJim Jagielski if (sFirstString.equals(PropertyNames.EMPTY_STRING)) 762*b1cdbd2cSJim Jagielski { 763*b1cdbd2cSJim Jagielski bissame = (sSecondString == null); 764*b1cdbd2cSJim Jagielski } 765*b1cdbd2cSJim Jagielski else if (sSecondString != null) 766*b1cdbd2cSJim Jagielski { 767*b1cdbd2cSJim Jagielski bissame = sFirstString.equals(sSecondString); 768*b1cdbd2cSJim Jagielski } 769*b1cdbd2cSJim Jagielski } 770*b1cdbd2cSJim Jagielski return bissame; 771*b1cdbd2cSJim Jagielski } 772*b1cdbd2cSJim Jagielski } 773