import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import WebFlow.*; import WebFlow.event.*; import WebFlow.xml.*; import org.omg.CORBA.*; import WebFlow.QS.*; import WebFlow.hashtable.*; import java.lang.reflect.*; //import WebFlow.Util.*; import WebFlow.PSEscript; public class PSEcode extends HttpServlet { private ORB orb; private WebFlowContext ws = null; PrintWriter out; protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { doPost(req, res); } protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { System.out.println("start PSEcode"); out = res.getWriter(); String Application = req.getParameter("appl"); String xmlIOR = req.getParameter("xmlIOR"); String ProjectName = req.getParameter("Project"); String inputFile = req.getParameter("inputFile"); String SessionName = req.getParameter("Session"); int idx = Application.indexOf("."); String ApplicationName = Application.substring(0,idx); String[] args = new String[1]; args[0] = new String(""); orb = ORB.init(args, new java.util.Properties()); org.omg.CORBA.Object obj = orb.string_to_object(xmlIOR); XmlServer parser = XmlServerHelper.narrow(obj); String XmlInput = "/npac/home/webflow/WEBFLOW/JIGSAW/Jigsaw/WWW/"; XmlInput += "DESCRIPTORS/APPLICATION/"+Application; File f = new File(XmlInput); System.out.println("do real thing"); if(f.exists()) { if (parser.instantiateParser(XmlInput)) { String[] iHosts=parser.getInstalledHosts(); res.setContentType("text/html"); out.println(""); //JavaScript out.println(" "); System.out.println("JavaScript done"); out.println(""); out.println(""); out.println("
"); out.println("

Select host to run your application

"); out.println("

"); out.println("

Project: "+ProjectName+" Session: "+SessionName+"

"); out.println("Selected Application: "+ApplicationName+"

"); out.println("Selected Input File: "+inputFile+"

"); out.println("

"); out.println("
"); out.println(""); out.println("
"); out.println("
"); out.println("Choose Target Machine

"); out.println("

"); out.println(""); // Oops! This is cheatting! if(parser.isApplicationInstallable("osprey4.npac.syr.edu")) { out.println("This application can be installed by the user

"); } else { out.println("This application cannot be installed by the user

"); } out.println(""); out.println("

"); out.println(""); out.println("

"); out.println(""); out.println(""); } else { out.println(""); out.println(""); out.println("
"); out.println("

OOps, there are errors in XML file

"); out.println(""); out.println(""); } } else { out.println(""); out.println(""); out.println("
"); out.println("

OOps, file does not exist

"); out.println(XmlInput); out.println(""); out.println(""); } out.flush(); out.close(); } /* private void save(String data) throws IOException { // StringOutputStream output = // new StringOutputStream(new FileOutputStream(filename)); FileOutputStream foutput = new FileOutputStream(filename); foutput.write(data.getBytes()); foutput.close(); } */ void error(String msg) { //out.println(msg); } void status(String msg) { //out.println(msg); } public String getServletInfo() { return "By T. Haupt"; } public void CopyFile(String outfilename,String infilename) { try{ File inputFile = new File(infilename); File outputFile = new File(outfilename); FileReader in1 = new FileReader(inputFile); FileWriter out1 = new FileWriter(outputFile); int c; while ((c = in1.read()) != -1){ out1.write(c); } in1.close(); out1.close(); } catch (IOException e){ System.err.println("copying the file: "+e); } } }