| 1 | package dmg.cells.nucleus ; |
| 2 | |
| 3 | import java.util.Date ; |
| 4 | import java.io.Serializable ; |
| 5 | |
| 6 | /** |
| 7 | * |
| 8 | * |
| 9 | * @author Patrick Fuhrmann |
| 10 | * @version 0.2, 19 Nov 2005 |
| 11 | */ |
| 12 | public class CellVersion implements Serializable { |
| 13 | |
| 14 | static final long serialVersionUID = 883744769418282912L; |
| 15 | |
| 16 | private String _version = "Unknown" ; |
| 17 | private String _release = "Unknown" ; |
| 18 | private String _revision = "Unknown" ; |
| 19 | |
| 20 | public CellVersion(){} |
| 21 | // public CellVersion( String version ){ |
| 22 | // _release = _revision = _version = version ; |
| 23 | // } |
| 24 | public CellVersion( String release , String revision ){ |
| 25 | _revision = cvsStripOff(revision) ; |
| 26 | _release = release ; |
| 27 | _version = _release+"("+_revision+")"; |
| 28 | } |
| 29 | private static String cvsStripOff( String rel ){ |
| 30 | int d1 = rel.indexOf("$Revision:") ; |
| 31 | if( d1 < 0 )return rel ; |
| 32 | String pre = ( d1 == 0 ) ? "" : rel.substring(0,d1); |
| 33 | String tmp = rel.substring( d1 + 1 ) ; |
| 34 | d1 = tmp.indexOf('$') ; |
| 35 | if( d1 < 10 )return rel ; |
| 36 | String tmp2 = tmp.substring( 9 , d1 ).trim() ; |
| 37 | if( tmp2.length() == 0 )return rel ; |
| 38 | String post = ( d1 == (tmp.length()-1) ) ? "" : tmp.substring(d1+1) ; |
| 39 | |
| 40 | return pre+tmp2+post ; |
| 41 | } |
| 42 | public String toString(){ return _version ; } |
| 43 | public String getRelease(){ return _release ; } |
| 44 | public String getRevision(){ return _revision ; } |
| 45 | |
| 46 | public static void main( String [] args )throws Exception { |
| 47 | System.out.println( cvsStripOff( args[0] ) ) ; |
| 48 | } |
| 49 | } |