KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > web > project > queries > SourceLevelQueryImpl


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

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 /**
32  * Returns source level of project sources.
33  * @author David Konecny
34  */

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 JavaDoc getSourceLevel(FileObject javaFile) {
44         boolean platformExists = false;
45         String JavaDoc activePlatform = evaluator.getProperty ("platform.active"); //NOI18N
46
if (activePlatform != null && activePlatform.length()>0) {
47             JavaPlatform[] j2sePlatforms = JavaPlatformManager.getDefault().getPlatforms(null, new Specification("j2se",null)); //NOI18N
48
for (int i=0; i< j2sePlatforms.length; i++) {
49                 String JavaDoc antName = (String JavaDoc) j2sePlatforms[i].getProperties().get("platform.ant.name"); //NOI18N
50
if (antName != null && antName.equals(activePlatform)) {
51                     platformExists = true;
52                     break;
53                 }
54             }
55         }
56         if (platformExists) {
57             String JavaDoc sl = evaluator.getProperty("javac.source"); //NOI18N
58
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 JavaDoc sl = (String JavaDoc) props.get("default.javac.source"); //NOI18N
67
if (sl != null && sl.length() > 0) {
68                 return sl;
69             } else {
70                 return null;
71             }
72         }
73     }
74     
75 }
76
Popular Tags