/*******************************************************************************
* Copyright (c) 2011-2012 Nokia Corporation
* 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:
* Comarch team - initial API and implementation
*******************************************************************************/
package org.ned.client.utils;
import java.util.Enumeration;
import java.util.Random;
import java.util.Vector;
public class Utils {
private static Random rng = new Random();
public static String generateId() {
int id = 1000000 + rng.nextInt( 8999999 );
String sid = String.valueOf( id );
return ("id" + sid);
}
public static Vector split( String sb, String splitter ) {
Vector strings = new Vector( 4, 4 );
int splitterLength = splitter.length();
int initialIndex = 0;
int indexOfSplitter = sb.indexOf( splitter, initialIndex );
if ( -1 == indexOfSplitter ) {
strings.addElement( sb.trim() );
return strings;
}
while ( -1 != indexOfSplitter ) {
String substring = sb.substring( initialIndex, indexOfSplitter );
initialIndex = indexOfSplitter + splitterLength;
indexOfSplitter = sb.indexOf( splitter, indexOfSplitter + 1 );
strings.addElement( substring.trim() );
}
if ( initialIndex + splitterLength <= sb.length() ) {
String substring = sb.substring( initialIndex, sb.length() );
strings.addElement( substring.trim() );
}
return strings;
}
public static Version versionParser( String aVersionStr ) {
Vector versionNumbers = split( aVersionStr, "." );
Enumeration en = versionNumbers.elements();
Version version = new Version();
version.Major = en.hasMoreElements() ? getNumber( (String)en.nextElement() ) : 0;
version.Minor = en.hasMoreElements() ? getNumber( (String)en.nextElement() ) : 0;
version.Build = en.hasMoreElements() ? getNumber( (String)en.nextElement() ) : 0;
return version;
}
private static int getNumber( String numberStr ) {
if ( numberStr == null || numberStr.length() == 0 ) {
return 0;
} else {
try {
return Integer.parseInt( numberStr );
} catch ( NumberFormatException nfex ) {
return 0;
}
}
}
public static int countLines( String aMessage ) {
int lastPos = 0;
int count = 1;
while ( -1 != (lastPos = aMessage.indexOf( "\n", lastPos + 1 )) ) {
++count;
}
return count;
}
}