1 19 package org.netbeans.modules.web.project.queries; 20 21 import org.openide.filesystems.FileObject; 22 23 import org.netbeans.api.java.platform.JavaPlatform; 24 import org.netbeans.api.java.platform.JavaPlatformManager; 25 import org.netbeans.api.java.platform.Specification; 26 import org.netbeans.spi.java.queries.SourceLevelQueryImplementation; 27 import org.netbeans.spi.project.support.ant.PropertyEvaluator; 28 import org.netbeans.spi.project.support.ant.PropertyUtils; 29 import org.netbeans.spi.project.support.ant.EditableProperties; 30 31 35 public class SourceLevelQueryImpl implements SourceLevelQueryImplementation { 36 37 private final PropertyEvaluator evaluator; 38 39 public SourceLevelQueryImpl(PropertyEvaluator evaluator) { 40 this.evaluator = evaluator; 41 } 42 43 public String getSourceLevel(FileObject javaFile) { 44 boolean platformExists = false; 45 String activePlatform = evaluator.getProperty ("platform.active"); if (activePlatform != null && activePlatform.length()>0) { 47 JavaPlatform[] j2sePlatforms = JavaPlatformManager.getDefault().getPlatforms(null, new Specification("j2se",null)); for (int i=0; i< j2sePlatforms.length; i++) { 49 String antName = (String ) j2sePlatforms[i].getProperties().get("platform.ant.name"); if (antName != null && antName.equals(activePlatform)) { 51 platformExists = true; 52 break; 53 } 54 } 55 } 56 if (platformExists) { 57 String sl = evaluator.getProperty("javac.source"); if (sl != null && sl.length() > 0) { 59 return sl; 60 } else { 61 return null; 62 } 63 } 64 else { 65 EditableProperties props = PropertyUtils.getGlobalProperties(); 66 String sl = (String ) props.get("default.javac.source"); if (sl != null && sl.length() > 0) { 68 return sl; 69 } else { 70 return null; 71 } 72 } 73 } 74 75 } 76 | Popular Tags |