workspace-tree-widget/src/main/java/org/gcube/portlets/user/workspace/client/util/GroupNameUtilSeparator.java

92 lines
1.8 KiB
Java

package org.gcube.portlets.user.workspace.client.util;
/**
*
* @author Francesco Mangiacrapa francesco.mangiacrapaATisti.cnr.it
* May 8, 2014
*
*/
public class GroupNameUtilSeparator {
private String stringSeparator = "/";
/**
*
* @param separator - the string separator
*/
public GroupNameUtilSeparator(String separator) {
if(separator!=null && !separator.isEmpty())
this.stringSeparator = separator;
}
/**
* Return Either subsequence of name from separatorStartIndex (including separator) to end,
* or name passed in input if split.length < separatorStartIndex
* @see main
*
*
* @param name
* @param separatorStartIndex - start index must be 1
* @return
* @throws Exception
*/
public String getSubsequenceName(String name, int separatorStartIndex) throws Exception{
if(separatorStartIndex<1)
throw new Exception("Invalid start separator index: "+separatorStartIndex);
if(name==null)
throw new Exception("Invalid name: "+name);
String[] split = name.split(stringSeparator);
/*for (String sp : split) {
System.out.println("split: "+sp);
}*/
if(split==null || split.length==0)
return "";
String displayName ="";
if(split.length>separatorStartIndex){
for (int i = separatorStartIndex; i < split.length; i++) {
displayName+= stringSeparator+split[i];
}
}else
displayName = name;
return displayName;
}
/**
*
* @param args
*/
public static void main(String[] args) {
GroupNameUtilSeparator filter = new GroupNameUtilSeparator("/");
String name = "/gcube/devsec/devVRE";
try {
String displayedName = filter.getSubsequenceName(name, 2);
System.out.println("display name: "+displayedName);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}