1 28 29 package com.idaremedia.antx.valueuri; 30 31 import org.apache.tools.ant.Project; 32 33 import com.idaremedia.antx.apis.Requester; 34 import com.idaremedia.antx.helpers.Tk; 35 import com.idaremedia.antx.starters.ValueURIHandlerSkeleton; 36 37 63 64 public final class TruncateStringURIHandler extends ValueURIHandlerSkeleton 65 { 66 67 70 public static final int MAXLEN= ShortenStringURIHandler.MAXLEN; 71 72 73 76 public static final int MINLEN= 1; 77 78 79 84 public String valueFrom(String uriFragment, String fullUri, Requester clnt) 85 { 86 final Project P = clnt.getProject(); 87 int maxlength = MAXLEN; 88 int dropped = ShortenStringURIHandler.RIGHT; 89 String longstring = uriFragment; 90 91 int i = longstring.indexOf("?"); 92 if (i>=0) { 93 longstring = longstring.substring(0,i++); 94 if (i<uriFragment.length()) { 95 String s; 96 int j = uriFragment.indexOf(",,",i); 97 if (j>=0) { 98 s = Tk.resolveString(P,uriFragment.substring(i,j),true); 99 maxlength = Tk.integerFrom(s,MAXLEN); 100 s = uriFragment.substring(j+2); 101 dropped = ShortenStringURIHandler.leftOrRight(s,dropped,P); 102 } else { 103 s = Tk.resolveString(P,uriFragment.substring(i),true); 104 maxlength = Tk.integerFrom(s,MAXLEN); 105 } 106 } 107 } 108 109 if (maxlength<MINLEN) { 110 maxlength=MINLEN; 111 } 112 longstring = Tk.resolveString(P,longstring,true); 113 final int strlen = longstring.length(); 114 if (strlen>maxlength) { 115 switch (dropped) { 116 case ShortenStringURIHandler.LEFT: { 117 int from = strlen-maxlength; 118 longstring= longstring.substring(from); 119 break; 120 } 121 default: { 122 longstring = longstring.substring(0,maxlength); 123 break; 124 } 125 } 126 } 127 return longstring; 128 } 129 } 130 131 | Popular Tags |