Index: src/org/netbeans/modules/ant/freeform/FreeformFileEncodingQueryImpl.java =================================================================== RCS file: /cvs/ant/freeform/src/org/netbeans/modules/ant/freeform/FreeformFileEncodingQueryImpl.java,v retrieving revision 1.3 diff -u -r1.3 FreeformFileEncodingQueryImpl.java --- src/org/netbeans/modules/ant/freeform/FreeformFileEncodingQueryImpl.java 26 Sep 2007 21:14:51 -0000 1.3 +++ src/org/netbeans/modules/ant/freeform/FreeformFileEncodingQueryImpl.java 31 Oct 2007 12:05:19 -0000 @@ -67,6 +67,7 @@ private AntProjectHelper helper; private Map encodingsCache = null; // source folder -> encoding + private Charset projectEncoding = null; public FreeformFileEncodingQueryImpl(AntProjectHelper aph) { helper = aph; @@ -74,7 +75,7 @@ public Charset getEncoding(FileObject file) { synchronized (this) { - if (encodingsCache == null) { + if (encodingsCache == null || projectEncoding == null) { encodingsCache = computeEncodingsCache(); } for (Iterator> iter = encodingsCache.entrySet().iterator(); iter.hasNext(); ) { @@ -88,13 +89,22 @@ } } } + // #120508: return projectEncoding for any file under project folder + if (FileUtil.isParentOf(helper.getProjectDirectory(), file) && projectEncoding != null) { + return projectEncoding; + } } - // return null if no encoding for the file was found + // return null if no encoding for the file was found or the file wasn't under project dir return null; } private Map computeEncodingsCache() { Element data = Util.getPrimaryConfigurationData(helper); + Element encodingEl = Util.findElement(data, "encoding", Util.NAMESPACE); // NOI18N + if (encodingEl != null) { + String encodingName = Util.findText(encodingEl); + projectEncoding = (encodingName != null) ? Charset.forName(encodingName) : null; + } Element foldersEl = Util.findElement(data, "folders", Util.NAMESPACE); // NOI18N if (foldersEl == null) { return Collections.emptyMap(); @@ -128,6 +138,7 @@ // invalidate cache synchronized (this) { encodingsCache = null; + projectEncoding = null; } } Index: src/org/netbeans/modules/ant/freeform/resources/freeform-project-general-2.xsd =================================================================== RCS file: /cvs/ant/freeform/src/org/netbeans/modules/ant/freeform/resources/freeform-project-general-2.xsd,v retrieving revision 1.6 diff -u -r1.6 freeform-project-general-2.xsd --- src/org/netbeans/modules/ant/freeform/resources/freeform-project-general-2.xsd 12 Oct 2007 07:27:18 -0000 1.6 +++ src/org/netbeans/modules/ant/freeform/resources/freeform-project-general-2.xsd 31 Oct 2007 16:03:58 -0000 @@ -60,6 +60,8 @@ + +