? copylibstask/test
Index: src/org/netbeans/modules/java/j2seproject/J2SEProject.java
===================================================================
RCS file: /cvs/java/j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProject.java,v
retrieving revision 1.73
diff -u -r1.73 J2SEProject.java
--- src/org/netbeans/modules/java/j2seproject/J2SEProject.java 9 Feb 2007 10:50:38 -0000 1.73
+++ src/org/netbeans/modules/java/j2seproject/J2SEProject.java 26 Feb 2007 13:40:57 -0000
@@ -49,6 +49,7 @@
import org.netbeans.modules.java.j2seproject.ui.customizer.J2SEProjectProperties;
import org.netbeans.modules.java.j2seproject.wsclient.J2SEProjectWebServicesClientSupport;
import org.netbeans.modules.java.j2seproject.jaxws.J2SEProjectJAXWSClientSupport;
+import org.netbeans.modules.java.j2seproject.queries.J2SEProjectEncodingQueryImpl;
import org.netbeans.modules.java.j2seproject.queries.BinaryForSourceQueryImpl;
import org.netbeans.modules.java.j2seproject.wsclient.J2SEProjectWebServicesSupportProvider;
import org.netbeans.modules.websvc.api.client.WebServicesClientSupport;
@@ -255,6 +256,7 @@
UILookupMergerSupport.createPrivilegedTemplatesMerger(),
UILookupMergerSupport.createRecommendedTemplatesMerger(),
LookupProviderSupport.createSourcesMerger(),
+ new J2SEProjectEncodingQueryImpl (evaluator()),
new J2SEPropertyEvaluatorImpl(evaluator()),
new BinaryForSourceQueryImpl(this.sourceRoots, this.testRoots, this.helper, this.eval) //Does not use APH to get/put properties/cfgdata
});
Index: src/org/netbeans/modules/java/j2seproject/J2SEProjectGenerator.java
===================================================================
RCS file: /cvs/java/j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProjectGenerator.java,v
retrieving revision 1.53
diff -u -r1.53 J2SEProjectGenerator.java
--- src/org/netbeans/modules/java/j2seproject/J2SEProjectGenerator.java 9 Jan 2007 13:59:04 -0000 1.53
+++ src/org/netbeans/modules/java/j2seproject/J2SEProjectGenerator.java 26 Feb 2007 13:40:57 -0000
@@ -21,12 +21,13 @@
import java.io.File;
import java.io.IOException;
-import java.util.Stack;
+import java.nio.charset.Charset;
import org.netbeans.api.java.platform.JavaPlatform;
import org.netbeans.api.java.platform.JavaPlatformManager;
import org.netbeans.api.project.Project;
import org.netbeans.api.project.ProjectManager;
import org.netbeans.api.java.project.JavaProjectConstants;
+import org.netbeans.api.queries.FileEncodingQuery;
import org.netbeans.modules.java.j2seproject.ui.customizer.J2SEProjectProperties;
import org.netbeans.spi.project.support.ant.AntProjectHelper;
import org.netbeans.spi.project.support.ant.EditableProperties;
@@ -37,7 +38,6 @@
import org.openide.filesystems.FileSystem;
import org.openide.filesystems.FileUtil;
import org.openide.filesystems.Repository;
-import org.openide.filesystems.FileStateInvalidException;
import org.openide.loaders.DataFolder;
import org.openide.loaders.DataObject;
import org.openide.modules.SpecificationVersion;
@@ -270,7 +270,8 @@
ep.setProperty(J2SEProjectProperties.JAVADOC_WINDOW_TITLE, ""); // NOI18N
ep.setProperty(J2SEProjectProperties.JAVADOC_ENCODING, ""); // NOI18N
ep.setProperty(J2SEProjectProperties.JAVADOC_ADDITIONALPARAM, ""); // NOI18N
-
+ Charset enc = FileEncodingQuery.getDefaultEncoding();
+ ep.setProperty(J2SEProjectProperties.PROJECT_ENCODING, enc.name());
if (manifestFile != null) {
ep.setProperty("manifest.file", manifestFile); // NOI18N
}
Index: src/org/netbeans/modules/java/j2seproject/queries/J2SEProjectEncodingQueryImpl.java
===================================================================
RCS file: src/org/netbeans/modules/java/j2seproject/queries/J2SEProjectEncodingQueryImpl.java
diff -N src/org/netbeans/modules/java/j2seproject/queries/J2SEProjectEncodingQueryImpl.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/org/netbeans/modules/java/j2seproject/queries/J2SEProjectEncodingQueryImpl.java 26 Feb 2007 13:40:57 -0000
@@ -0,0 +1,73 @@
+/*
+ * The contents of this file are subject to the terms of the Common Development
+ * and Distribution License (the License). You may not use this file except in
+ * compliance with the License.
+ *
+ * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
+ * or http://www.netbeans.org/cddl.txt.
+ *
+ * When distributing Covered Code, include this CDDL Header Notice in each file
+ * and include the License file at http://www.netbeans.org/cddl.txt.
+ * If applicable, add the following below the CDDL Header, with the fields
+ * enclosed by brackets [] replaced by your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * The Original Software is NetBeans. The Initial Developer of the Original
+ * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
+ * Microsystems, Inc. All Rights Reserved.
+ */
+
+package org.netbeans.modules.java.j2seproject.queries;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.nio.charset.Charset;
+import org.netbeans.api.queries.FileEncodingQuery;
+import org.netbeans.modules.java.j2seproject.ui.customizer.J2SEProjectProperties;
+import org.netbeans.spi.queries.FileEncodingQueryImplementation;
+import org.netbeans.spi.project.support.ant.PropertyEvaluator;
+import org.openide.filesystems.FileObject;
+
+/**
+ *
+ * @author Tomas Zezula
+ */
+public class J2SEProjectEncodingQueryImpl implements FileEncodingQueryImplementation, PropertyChangeListener {
+
+
+ private final PropertyEvaluator eval;
+ private Charset cache;
+
+ /** Creates a new instance of J2SEProjectEncodingQueryImpl */
+ public J2SEProjectEncodingQueryImpl(final PropertyEvaluator eval) {
+ assert eval != null;
+ this.eval = eval;
+ this.eval.addPropertyChangeListener(this);
+ }
+
+ public Charset getEncoding(FileObject file) {
+ assert file != null;
+ synchronized (this) {
+ if (cache != null) {
+ return cache;
+ }
+ }
+ String enc = eval.getProperty(J2SEProjectProperties.PROJECT_ENCODING);
+ synchronized (this) {
+ if (cache == null) {
+ cache = enc == null ? FileEncodingQuery.getDefaultEncoding() : Charset.forName(enc);
+ }
+ return cache;
+ }
+ }
+
+ public void propertyChange(PropertyChangeEvent event) {
+ String propName = event.getPropertyName();
+ if (propName == null || propName.equals(J2SEProjectProperties.PROJECT_ENCODING)) {
+ synchronized (this) {
+ cache = null;
+ }
+ }
+ }
+
+}
Index: src/org/netbeans/modules/java/j2seproject/resources/build-impl.xsl
===================================================================
RCS file: /cvs/java/j2seproject/src/org/netbeans/modules/java/j2seproject/resources/build-impl.xsl,v
retrieving revision 1.78
diff -u -r1.78 build-impl.xsl
--- src/org/netbeans/modules/java/j2seproject/resources/build-impl.xsl 9 Jan 2007 16:32:07 -0000 1.78
+++ src/org/netbeans/modules/java/j2seproject/resources/build-impl.xsl 26 Feb 2007 13:40:58 -0000
@@ -178,6 +178,7 @@
+
@@ -264,6 +265,7 @@
@{destdir}
@{debug}
${javac.deprecation}
+ ${project.encoding}
${javac.source}
${javac.target}
Index: src/org/netbeans/modules/java/j2seproject/ui/customizer/Bundle.properties
===================================================================
RCS file: /cvs/java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/Bundle.properties,v
retrieving revision 1.84
diff -u -r1.84 Bundle.properties
--- src/org/netbeans/modules/java/j2seproject/ui/customizer/Bundle.properties 8 Feb 2007 10:11:43 -0000 1.84
+++ src/org/netbeans/modules/java/j2seproject/ui/customizer/Bundle.properties 26 Feb 2007 13:40:58 -0000
@@ -497,6 +497,8 @@
# {0} - name of configuration
CustomizerRun.input.duplicate=Configuration {0} already exists.
+TXT_Encoding=&Encoding\:
+
CustomizerApplication.titleLabel.text=Title\:
CustomizerApplication.vendorLabel.text=Vendor\:
CustomizerApplication.panelDescLabel.text=Common Application Properties
Index: src/org/netbeans/modules/java/j2seproject/ui/customizer/CustomizerSources.form
===================================================================
RCS file: /cvs/java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/CustomizerSources.form,v
retrieving revision 1.7
diff -u -r1.7 CustomizerSources.form
--- src/org/netbeans/modules/java/j2seproject/ui/customizer/CustomizerSources.form 9 Nov 2005 15:06:17 -0000 1.7
+++ src/org/netbeans/modules/java/j2seproject/ui/customizer/CustomizerSources.form 26 Feb 2007 13:40:58 -0000
@@ -3,6 +3,7 @@