diff --git a/websvc.rest/nbproject/project.xml b/websvc.rest/nbproject/project.xml --- a/websvc.rest/nbproject/project.xml +++ b/websvc.rest/nbproject/project.xml @@ -219,6 +219,15 @@ 1 1.22 + + + + org.netbeans.modules.queries + + + + 1 + 1.14 diff --git a/websvc.rest/src/org/netbeans/modules/websvc/rest/codegen/ClientStubsGenerator.java b/websvc.rest/src/org/netbeans/modules/websvc/rest/codegen/ClientStubsGenerator.java --- a/websvc.rest/src/org/netbeans/modules/websvc/rest/codegen/ClientStubsGenerator.java +++ b/websvc.rest/src/org/netbeans/modules/websvc/rest/codegen/ClientStubsGenerator.java @@ -50,6 +50,7 @@ import java.io.InputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; +import java.nio.charset.Charset; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; @@ -67,6 +68,7 @@ import org.openide.filesystems.FileLock; import org.openide.filesystems.FileObject; import org.netbeans.api.project.ProjectUtils; +import org.netbeans.api.queries.FileEncodingQuery; import org.netbeans.modules.websvc.rest.RestUtils; import org.openide.filesystems.FileUtil; import org.netbeans.modules.websvc.rest.codegen.model.ClientStubModel; @@ -146,7 +148,7 @@ private String folderName; private String baseUrl; private String proxyUrl; - private String baseEncoding = "UTF-8"; + private Charset baseEncoding; private FileObject rootFolder; public ClientStubsGenerator(FileObject rootFolder, String folderName, Project p, @@ -157,6 +159,7 @@ this.p = p; this.overwrite = overwrite; this.projectName = ProjectUtils.getInformation(getProject()).getName(); + this.baseEncoding = FileEncodingQuery.getEncoding(rootFolder); } public ClientStubsGenerator(FileObject rootFolder, String folderName, InputStream wis, @@ -166,6 +169,7 @@ this.wis = wis; this.overwrite = overwrite; this.projectName = "NewProject"; + this.baseEncoding = FileEncodingQuery.getEncoding(rootFolder); } public FileObject getRootFolder() { @@ -226,12 +230,8 @@ this.proxyUrl = proxyUrl; } - public String getBaseEncoding() { + public Charset getBaseEncoding() { return baseEncoding; - } - - public void setBaseEncoding(String baseEncoding) { - this.baseEncoding = baseEncoding; } private String getApplicationNameFromUrl(String url) { @@ -294,13 +294,6 @@ return appContext; } - private String findBaseEncoding(Project p) { - if(p == null) - return null; - FileObject projProp = p.getProjectDirectory().getFileObject("nbproject/project.properties"); - return getProperty(projProp, "source.encoding"); - } - private String getProperty(FileObject fo, String name) { if(fo == null) return null; @@ -374,8 +367,6 @@ setProxyUrl(url+".."+PROXY_URL); this.projectName = getApplicationNameFromUrl(url); } - if(targetPrj != null) - setBaseEncoding(findBaseEncoding(targetPrj)); List resourceList = getModel().getResources(); rjsDir = getStubFolder(); @@ -468,7 +459,7 @@ tr.addToken(MSG_Readme, NbBundle.getMessage(ClientStubsGenerator.class, MSG_Readme)); tr.addToken(MSG_TestPage, NbBundle.getMessage(ClientStubsGenerator.class, MSG_TestPage)); tr.addToken(MSG_JS_Readme_Content, NbBundle.getMessage(ClientStubsGenerator.class, MSG_JS_Readme_Content)); - tr.addToken(FILE_ENCODING_TOKEN, getBaseEncoding()); + tr.addToken(FILE_ENCODING_TOKEN, getBaseEncoding().name()); FileObject fo = createDataObjectFromTemplate(JS_TESTSTUBS_TEMPLATE, rjsDir, JS_TESTSTUBS, HTML, false); tr.replaceTokens(fo); @@ -567,7 +558,7 @@ } sb.append("\n"); } - OutputStreamWriter writer = new OutputStreamWriter(projectStub.getOutputStream(lock), "UTF-8"); + OutputStreamWriter writer = new OutputStreamWriter(projectStub.getOutputStream(lock), getBaseEncoding()); try { writer.write(sb.toString()); } finally { @@ -632,7 +623,7 @@ sb.append(line); sb.append("\n"); } - OutputStreamWriter writer = new OutputStreamWriter(restStub.getOutputStream(lock), "UTF-8"); + OutputStreamWriter writer = new OutputStreamWriter(restStub.getOutputStream(lock), getBaseEncoding()); try { writer.write(sb.toString()); } finally { @@ -674,7 +665,7 @@ sb.append(line); sb.append("\n"); } - OutputStreamWriter writer = new OutputStreamWriter(fo.getOutputStream(lock), "UTF-8"); + OutputStreamWriter writer = new OutputStreamWriter(fo.getOutputStream(lock), getBaseEncoding()); try { writer.write(sb.toString()); } finally { diff --git a/websvc.rest/src/org/netbeans/modules/websvc/rest/codegen/JMakiRestWidgetGenerator.java b/websvc.rest/src/org/netbeans/modules/websvc/rest/codegen/JMakiRestWidgetGenerator.java --- a/websvc.rest/src/org/netbeans/modules/websvc/rest/codegen/JMakiRestWidgetGenerator.java +++ b/websvc.rest/src/org/netbeans/modules/websvc/rest/codegen/JMakiRestWidgetGenerator.java @@ -286,7 +286,7 @@ tr.addToken(MSG_TestPage, NbBundle.getMessage(JMakiRestWidgetGenerator.class, MSG_TestPage)); tr.addToken(MSG_SelectResource, NbBundle.getMessage(JMakiRestWidgetGenerator.class, MSG_SelectResource)); tr.addToken(BASE_URL_TOKEN, getBaseUrl()); - tr.addToken(FILE_ENCODING_TOKEN, getBaseEncoding()); + tr.addToken(FILE_ENCODING_TOKEN, getBaseEncoding().name()); createFolder(rdjDir, DATA);//NoI18n FileObject widgetDir = createFolder(rdjDir, WIDGET);//NoI18n @@ -319,7 +319,7 @@ tr.addToken(MSG_Readme, NbBundle.getMessage(JMakiRestWidgetGenerator.class, MSG_Readme)); tr.addToken(MSG_TestPage, NbBundle.getMessage(JMakiRestWidgetGenerator.class, MSG_TestPage)); tr.addToken(MSG_JMaki_Readme_Content, NbBundle.getMessage(JMakiRestWidgetGenerator.class, MSG_JMaki_Readme_Content)); - tr.addToken(FILE_ENCODING_TOKEN, getBaseEncoding()); + tr.addToken(FILE_ENCODING_TOKEN, getBaseEncoding().name()); FileObject fo = createDataObjectFromTemplate(JMAKI_README_TEMPLATE, restDir, JMAKI_README, HTML, canOverwrite()); tr.replaceTokens(fo);