1818import java .io .IOException ;
1919import java .net .URL ;
2020import java .util .ArrayList ;
21- import java .util .Arrays ;
2221import java .util .List ;
2322
2423import net .sf .j2s .ajax .AjaxPlugin ;
2827import net .sf .j2s .ui .launching .JavaRuntime ;
2928import net .sf .j2s .ui .property .FileUtil ;
3029import net .sf .j2s .ui .property .J2SClasspathModel ;
30+
3131import org .eclipse .core .runtime .IPath ;
3232import org .eclipse .core .runtime .Path ;
3333import org .eclipse .core .runtime .Platform ;
3434import org .eclipse .jdt .core .IClasspathEntry ;
3535import 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