Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 72f79ab

Browse files
author
zhourenjian
committed
Add Simple Pipe library to new Java2Script Project wizard
1 parent 3537bae commit 72f79ab

File tree

4 files changed

+98
-30
lines changed

4 files changed

+98
-30
lines changed

src/net/sf/j2s/ui/launching/J2SLaunchingUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -538,10 +538,10 @@ private static void generateJ2SHeaderHTML(StringBuffer buf,
538538
buf.append("<html>\r\n");
539539
}
540540
buf.append("<head>\r\n");
541+
buf.append("<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"/>\r\n");
541542
buf.append("<title>");
542543
buf.append(mainType);
543544
buf.append("</title>\r\n");
544-
buf.append("<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"/>\r\n");
545545
buf.append(configuration.getAttribute(
546546
IJ2SLauchingConfiguration.HEAD_HEADER_HTML, ""));
547547

src/net/sf/j2s/ui/wizards/Java2ScriptAJAXProjectWizard.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ protected IClasspathEntry[] updateJavaLibraries(
5252
}
5353
list.add(JavaCore.newVariableEntry(new Path("AJAX_CORE"), new Path("AJAX_CORE_SRC"), null));
5454
list.add(JavaCore.newVariableEntry(new Path("AJAX_RPC"), new Path("AJAX_RPC_SRC"), null));
55+
list.add(JavaCore.newVariableEntry(new Path("AJAX_PIPE"), new Path("AJAX_PIPE_SRC"), null));
5556
return super.updateJavaLibraries((IClasspathEntry[]) list.toArray(new IClasspathEntry[list.size()]));
5657
}
5758

@@ -76,6 +77,13 @@ protected void updateJava2ScriptProject(String prjFolder, String binRelative) {
7677
+ classpath.substring(idx);
7778
needUpdate = true;
7879
}
80+
if (classpath.indexOf("AJAX_PIPE") == -1 && classpath.indexOf("ajaxpipe.jar") == -1) {
81+
int idx = classpath.lastIndexOf("<");
82+
classpath = classpath.substring(0, idx)
83+
+ "\t<classpathentry sourcepath=\"AJAX_PIPE_SRC\" kind=\"var\" path=\"AJAX_PIPE\"/>\r\n"
84+
+ classpath.substring(idx);
85+
needUpdate = true;
86+
}
7987
if (needUpdate) {
8088
try {
8189
FileOutputStream fos = new FileOutputStream(cpFile);

src/net/sf/j2s/ui/wizards/Java2ScriptSWTAJAXProjectWizard.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ protected IClasspathEntry[] updateJavaLibraries(
6161
list.add(JavaCore.newVariableEntry(new Path("ECLIPSE_SWT"), null, null));
6262
list.add(JavaCore.newVariableEntry(new Path("AJAX_SWT"), new Path("AJAX_SWT_SRC"), null));
6363
list.add(JavaCore.newVariableEntry(new Path("AJAX_RPC"), new Path("AJAX_RPC_SRC"), null));
64+
list.add(JavaCore.newVariableEntry(new Path("AJAX_PIPE"), new Path("AJAX_PIPE_SRC"), null));
6465
return super.updateJavaLibraries((IClasspathEntry[]) list.toArray(new IClasspathEntry[list.size()]));
6566
}
6667

@@ -93,6 +94,13 @@ protected void updateJava2ScriptProject(String prjFolder, String binRelative) {
9394
+ classpath.substring(idx);
9495
needUpdate = true;
9596
}
97+
if (classpath.indexOf("AJAX_PIPE") == -1 && classpath.indexOf("ajaxpipe.jar") == -1) {
98+
int idx = classpath.lastIndexOf("<");
99+
classpath = classpath.substring(0, idx)
100+
+ "\t<classpathentry sourcepath=\"AJAX_PIPE_SRC\" kind=\"var\" path=\"AJAX_PIPE\"/>\r\n"
101+
+ classpath.substring(idx);
102+
needUpdate = true;
103+
}
96104
if (needUpdate) {
97105
try {
98106
FileOutputStream fos = new FileOutputStream(cpFile);

src/net/sf/j2s/ui/wizards/Java2ScriptServletProjectWizard.java

Lines changed: 81 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import java.io.IOException;
1919
import java.net.URL;
2020
import java.util.ArrayList;
21-
import java.util.Arrays;
2221
import java.util.List;
2322

2423
import net.sf.j2s.ajax.AjaxPlugin;
@@ -28,12 +27,12 @@
2827
import net.sf.j2s.ui.launching.JavaRuntime;
2928
import net.sf.j2s.ui.property.FileUtil;
3029
import net.sf.j2s.ui.property.J2SClasspathModel;
30+
3131
import org.eclipse.core.runtime.IPath;
3232
import org.eclipse.core.runtime.Path;
3333
import org.eclipse.core.runtime.Platform;
3434
import org.eclipse.jdt.core.IClasspathEntry;
3535
import org.eclipse.jdt.core.JavaCore;
36-
import org.eclipse.jdt.internal.ui.wizards.buildpaths.CPVariableElement;
3736

3837
/**
3938
* @author zhou renjian
@@ -66,6 +65,7 @@ protected IClasspathEntry[] updateJavaLibraries(
6665
list.add(JavaCore.newVariableEntry(new Path("ECLIPSE_SWT"), null, null));
6766
list.add(JavaCore.newVariableEntry(new Path("AJAX_SWT"), new Path("AJAX_SWT_SRC"), null));
6867
list.add(JavaCore.newVariableEntry(new Path("AJAX_RPC"), new Path("AJAX_RPC_SRC"), null));
68+
list.add(JavaCore.newVariableEntry(new Path("AJAX_PIPE"), new Path("AJAX_PIPE_SRC"), null));
6969
return super.updateJavaLibraries((IClasspathEntry[]) list.toArray(new IClasspathEntry[list.size()]));
7070
}
7171

@@ -98,6 +98,13 @@ protected void updateJava2ScriptProject(String prjFolder, String binRelative) {
9898
+ classpath.substring(idx);
9999
needUpdate = true;
100100
}
101+
if (classpath.indexOf("AJAX_PIPE") == -1 && classpath.indexOf("ajaxpipe.jar") == -1) {
102+
int idx = classpath.lastIndexOf("<");
103+
classpath = classpath.substring(0, idx)
104+
+ "\t<classpathentry sourcepath=\"AJAX_PIPE_SRC\" kind=\"var\" path=\"AJAX_PIPE\"/>\r\n"
105+
+ classpath.substring(idx);
106+
needUpdate = true;
107+
}
101108
if (needUpdate) {
102109
try {
103110
FileOutputStream fos = new FileOutputStream(cpFile);
@@ -143,6 +150,22 @@ protected void updateJava2ScriptProject(String prjFolder, String binRelative) {
143150
e1.printStackTrace();
144151
}
145152

153+
newPath = Path.fromPortableString(root + "/ajaxpipe.jar");
154+
File pipeFile = new File(newPath.toOSString());
155+
156+
try {
157+
FileInputStream is = new FileInputStream(pipeFile);
158+
FileOutputStream os = new FileOutputStream(new File(lib, "ajaxpipe.jar"));
159+
byte[] buf = new byte[1024];
160+
int read = -1;
161+
while ((read = is.read(buf)) != -1) {
162+
os.write(buf, 0, read);
163+
}
164+
os.close();
165+
is.close();
166+
} catch (IOException e1) {
167+
e1.printStackTrace();
168+
}
146169
StringBuffer buildxml = new StringBuffer();
147170
buildxml.append("<?xml version=\"1.0\"?>\r\n");
148171
buildxml.append("<project name=\"java2script.servlet.pack\" default=\"pack.war\" basedir=\".\">\r\n");
@@ -269,41 +292,34 @@ protected void updateJava2ScriptProject(String prjFolder, String binRelative) {
269292
webxml.append("<web-app>\r\n");
270293
webxml.append(" <display-name>Java2Script</display-name>\r\n");
271294
webxml.append(" <description>Java2Script application</description>\r\n");
295+
296+
webxml.append(genereateServlet("simplerpc", "net.sf.j2s.ajax.SimpleRPCHttpServlet"));
297+
//webxml.append(genereateServlet("simplepiperpc", "net.sf.j2s.ajax.SimplePipeRPCHttpServlet"));
298+
webxml.append(genereateServlet("piperpc", "net.sf.j2s.ajax.CompoundPipeRPCHttpServlet"));
299+
272300
webxml.append(" <servlet>\r\n");
273-
webxml.append(" <servlet-name>simplerpc</servlet-name>\r\n");
274-
webxml.append(" <servlet-class>net.sf.j2s.ajax.SimpleRPCHttpServlet</servlet-class>\r\n");
275-
webxml.append(" <init-param>\r\n");
276-
webxml.append(" <param-name>simple.rpc.runnables</param-name>\r\n");
277-
webxml.append(" <!--\r\n");
278-
webxml.append(" Qualified names of inherited net.sf.j2s.ajax.SimpleRPCRunnable\r\n");
279-
webxml.append(" classes, seperated by \";\".\r\n");
280-
webxml.append(" -->\r\n");
281-
webxml.append(" <param-value>\r\n");
282-
webxml.append(" </param-value>\r\n");
283-
webxml.append(" </init-param>\r\n");
284-
webxml.append(" <init-param>\r\n");
285-
webxml.append(" <param-name>simple.rpc.xss.support</param-name>\r\n");
286-
webxml.append(" <param-value>true</param-value>\r\n");
287-
webxml.append(" </init-param>\r\n");
288-
webxml.append(" <!--\r\n");
289-
webxml.append(" <init-param>\r\n");
290-
webxml.append(" <param-name>simple.rpc.post.limit</param-name>\r\n");
291-
webxml.append(" <param-value>16777216</param-value>\r\n");
292-
webxml.append(" </init-param>\r\n");
293-
webxml.append(" <init-param>\r\n");
294-
webxml.append(" <param-name>simple.rpc.xss.max.parts</param-name>\r\n");
295-
webxml.append(" <param-value>8</param-value>\r\n");
296-
webxml.append(" </init-param>\r\n");
301+
webxml.append(" <servlet-name>simplepipe</servlet-name>\r\n");
302+
webxml.append(" <servlet-class>net.sf.j2s.ajax.SimplePipeHttpServlet</servlet-class>\r\n");
297303
webxml.append(" <init-param>\r\n");
298-
webxml.append(" <param-name>simple.rpc.xss.max.latency</param-name>\r\n");
299-
webxml.append(" <param-value>6000</param-value>\r\n");
304+
webxml.append(" <param-name>simple.pipe.query.timeout</param-name>\r\n");
305+
webxml.append(" <param-value>20000</param-value>\r\n");
300306
webxml.append(" </init-param>\r\n");
301-
webxml.append(" -->\r\n");
302307
webxml.append(" </servlet>\r\n");
308+
303309
webxml.append(" <servlet-mapping>\r\n");
304310
webxml.append(" <servlet-name>simplerpc</servlet-name>\r\n");
305311
webxml.append(" <url-pattern>/simplerpc</url-pattern>\r\n");
306312
webxml.append(" </servlet-mapping>\r\n");
313+
314+
webxml.append(" <servlet-mapping>\r\n");
315+
webxml.append(" <servlet-name>piperpc</servlet-name>\r\n");
316+
webxml.append(" <url-pattern>/piperpc</url-pattern>\r\n");
317+
webxml.append(" </servlet-mapping>\r\n");
318+
319+
webxml.append(" <servlet-mapping>\r\n");
320+
webxml.append(" <servlet-name>simplepipe</servlet-name>\r\n");
321+
webxml.append(" <url-pattern>/simplepipe</url-pattern>\r\n");
322+
webxml.append(" </servlet-mapping>\r\n");
307323
webxml.append("</web-app>\r\n");
308324
try {
309325
FileOutputStream fos = new FileOutputStream(new File(webinf, "web.xml"));
@@ -319,4 +335,40 @@ protected void updateJava2ScriptProject(String prjFolder, String binRelative) {
319335
e1.printStackTrace();
320336
}
321337
}
338+
339+
private String genereateServlet(String name, String clazz) {
340+
StringBuffer webxml = new StringBuffer();
341+
webxml.append(" <servlet>\r\n");
342+
webxml.append(" <servlet-name>" + name + "</servlet-name>\r\n");
343+
webxml.append(" <servlet-class>" + clazz + "</servlet-class>\r\n");
344+
webxml.append(" <init-param>\r\n");
345+
webxml.append(" <param-name>simple.rpc.runnables</param-name>\r\n");
346+
webxml.append(" <!--\r\n");
347+
webxml.append(" Qualified names of inherited net.sf.j2s.ajax.SimpleRPCRunnable\r\n");
348+
webxml.append(" classes, seperated by \";\".\r\n");
349+
webxml.append(" -->\r\n");
350+
webxml.append(" <param-value>\r\n");
351+
webxml.append(" </param-value>\r\n");
352+
webxml.append(" </init-param>\r\n");
353+
webxml.append(" <init-param>\r\n");
354+
webxml.append(" <param-name>simple.rpc.xss.support</param-name>\r\n");
355+
webxml.append(" <param-value>true</param-value>\r\n");
356+
webxml.append(" </init-param>\r\n");
357+
webxml.append(" <!--\r\n");
358+
webxml.append(" <init-param>\r\n");
359+
webxml.append(" <param-name>simple.rpc.post.limit</param-name>\r\n");
360+
webxml.append(" <param-value>16777216</param-value>\r\n");
361+
webxml.append(" </init-param>\r\n");
362+
webxml.append(" <init-param>\r\n");
363+
webxml.append(" <param-name>simple.rpc.xss.max.parts</param-name>\r\n");
364+
webxml.append(" <param-value>8</param-value>\r\n");
365+
webxml.append(" </init-param>\r\n");
366+
webxml.append(" <init-param>\r\n");
367+
webxml.append(" <param-name>simple.rpc.xss.max.latency</param-name>\r\n");
368+
webxml.append(" <param-value>6000</param-value>\r\n");
369+
webxml.append(" </init-param>\r\n");
370+
webxml.append(" -->\r\n");
371+
webxml.append(" </servlet>\r\n");
372+
return webxml.toString();
373+
}
322374
}

0 commit comments

Comments
 (0)