public void handle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException, ServletException { initTransportListener(httpServletRequest); String query = httpServletRequest.getQueryString(); if (query != null) { if (query.indexOf("wsdl2") > 0 || query.indexOf("wsdl") > 0 || query.indexOf("xsd") > 0 || query.indexOf("policy") > 0) { processListService(httpServletRequest, httpServletResponse); } else { super.handle(httpServletRequest, httpServletResponse); } } else { super.handle(httpServletRequest, httpServletResponse); } }
protected void handleMessage(StringMessage msg) { // System.out.println("::: handling message :"+msg); String content = msg.getString(); StringTokenizer st = new StringTokenizer(content, " "); String token = st.nextToken(); if (token.equalsIgnoreCase("$url")) { token = st.nextToken(); AgentAddress ag = getAgentWithRole("system", "browser"); if (ag == null) { AbstractAgent a = AbstractMadkitBooter.getBooter() .makeJavaAgent(this, "agents.system.WebBrowserAgent", true); ag = a.getAddress(); if (ag == null) { System.err.println( "Error: cannot create WebBrowserAgent upon reception of a $url request"); } } sendMessage(ag, new StringMessage("$goto " + token)); } else if (token.equalsIgnoreCase("$message")) { try { String s = content.substring("$message".length() + 1, content.length()); AgentAddress ag = getAgentWithRole("system", "pager"); if (ag == null) { AbstractAgent a = AbstractMadkitBooter.getBooter().makeJavaAgent(this, "madkit.system.Pager", true); ag = a.getAddress(); if (ag == null) { System.err.println("Error: cannot create a Pager upon reception of a $message request"); } } sendMessage( ag, new StringMessage( "$display " + "Received a remote message from " + msg.getSender() + ": \n" + s)); } catch (Exception e) { } } }
final synchronized void tryMigration(KernelAddress destination, AgentAddress traveler) { AbstractAgent ref = Kernel.getReference(traveler); Message message = new SynchroMessage(ref); for (Iterator i = distantKernels.iterator(); i.hasNext(); ) { AgentAddress potentialReceiver = (AgentAddress) i.next(); if (potentialReceiver.getKernel().equals(destination)) { message.setReceiver(potentialReceiver); break; } } if (message.getReceiver() != null && ref != null) { // kernelAgent.callshook ... updateDistantOrgs(Kernel.MIGRATION,traveler,null,null,null); if (ref instanceof Agent) { ((Agent) ref).getAgentThread().stop(); ref.setCurrentKernel(null); // ref.messageBox=null; } getCurrentKernel().removeAgentFromOrganizations(traveler); getCurrentKernel().removeReferenceOf(traveler); message.setSender(getAddress()); sendDistantMessage(message); } }