Changeset 4214
- Timestamp:
- 05/15/08 13:00:39 (8 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
openmrs-modules/dss/metadata/config.xml
r4102 r4214 7 7 <id>dss</id> 8 8 <name>Dss</name> 9 <version>2.1 3</version>9 <version>2.14</version> 10 10 <package>org.openmrs.module.@MODULE_ID@</package> 11 11 <author>Vibha Anand and Tammy Dugan</author> openmrs-modules/dss/src/org/openmrs/module/dss/CompilingClassLoader.java
r3726 r4214 5 5 import java.net.URLClassLoader; 6 6 import java.text.SimpleDateFormat; 7 import java.util.ArrayList; 8 import java.util.Arrays; 7 9 import java.util.Collection; 8 10 import java.util.Date; 9 11 import java.util.HashSet; 10 12 import java.util.Iterator; 13 14 import javax.tools.JavaCompiler; 15 import javax.tools.JavaFileObject; 16 import javax.tools.StandardJavaFileManager; 17 import javax.tools.ToolProvider; 11 18 12 19 import org.apache.commons.logging.Log; … … 46 53 // specified in the 'javaFile' parameter. Return a true if 47 54 // the compilation worked, false otherwise. 48 private boolean compile(String javaFile) 49 { 55 private boolean compile(String javaFile) 56 { 57 System.out.println("CCL: Compiling " + javaFile + "..."); 58 59 AdministrationService adminService = Context.getAdministrationService(); 60 String property = adminService 61 .getGlobalProperty("dss.classRuleDirectory"); 62 String classDirectory = Util.processFileDirectory(property); 63 50 64 String classpath = getClasspath(); 51 52 // Let the user know what's going on 53 System.out.println("CCL: Compiling " + javaFile + "..."); 54 AdministrationService adminService = Context.getAdministrationService(); 55 String property = adminService.getGlobalProperty("dss.classRuleDirectory"); 56 57 String classDirectory = Util.processFileDirectory(property); 58 59 int errorCode = -1; 65 60 66 try 61 67 { 62 errorCode = com.sun.tools.javac.Main.compile(new String[] 63 { "-classpath", classpath, "-d", classDirectory, javaFile }); 68 String[] options = new String[] 69 { "-classpath", classpath, "-d", classDirectory }; 70 71 File file = new File(javaFile); 72 73 JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); 74 StandardJavaFileManager fileManager = compiler 75 .getStandardFileManager(null, null, null); 76 77 Iterable<? extends JavaFileObject> fileObjects = fileManager 78 .getJavaFileObjects(file); 79 boolean success = compiler.getTask(null, fileManager, null, 80 Arrays.asList(options), null, fileObjects).call(); 81 82 fileManager.close(); 83 return success; 64 84 } catch (Exception e) 65 85 { 66 log.error("Error compiling java rule file: "+javaFile,e); 67 } 68 69 return errorCode == 0; 86 log.error("Error compiling java rule file: " + javaFile, e); 87 } 88 return false; 70 89 } 71 90