Changeset 5372 for trunk/gli/src/org/greenstone/gatherer/util
- Timestamp:
- 2003-08-29T16:27:45+12:00 (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gli/src/org/greenstone/gatherer/util/Codec.java
r5294 r5372 46 46 static final public String TEXT_TO_SHELL_UNIX = "TEXT_TO_SHELL_UNIX"; 47 47 static final public String TEXT_TO_SHELL_WINDOWS = "TEXT_TO_SHELL_WINDOWS"; 48 49 static final private int MAX_CACHE_SIZE = 100; 48 50 49 51 static private HashMap TRANSFORMS; 52 static private HashMap3D CACHE; 53 50 54 51 55 /** Static function called to construct TRANSFORMS mappings */ … … 142 146 TRANSFORMS.put(TEXT_TO_SHELL_WINDOWS, text_to_shell_windows); 143 147 text_to_shell_windows = null; 148 149 CACHE = new HashMap3D(); 144 150 } 145 151 146 152 static public String transform(String raw, String transform) { 147 String processed = raw; 148 String[] transforms = (String[]) TRANSFORMS.get(transform); 149 if(transforms != null) { 150 for(int i = 0; i < transforms.length; i = i + 2) { 151 String target = transforms[i]; 152 String result = transforms[i+1]; 153 processed = processed.replaceAll(target, result); 154 } 153 String processed = (String) CACHE.get(transform, raw); 154 if(processed == null) { 155 processed = raw; 156 String[] transforms = (String[]) TRANSFORMS.get(transform); 157 if(transforms != null) { 158 for(int i = 0; i < transforms.length; i = i + 2) { 159 String target = transforms[i]; 160 String result = transforms[i+1]; 161 processed = processed.replaceAll(target, result); 162 } 163 } 164 //Gatherer.println("*** Transform: " + transform + " ***"); 165 //Gatherer.println("*** Raw : '" + raw + "'"); 166 //Gatherer.println("*** Processed: '" + processed + "'"); 167 // If cache is at maximum size, empty it and start again 168 if(CACHE.size() == MAX_CACHE_SIZE) { 169 CACHE.clear(); 170 } 171 CACHE.put(transform, raw, processed); 155 172 } 156 //Gatherer.println("*** Transform: " + transform + " ***");157 //Gatherer.println("*** Raw : '" + raw + "'");158 //Gatherer.println("*** Processed: '" + processed + "'");159 173 return processed; 160 174 }
Note:
See TracChangeset
for help on using the changeset viewer.