Java tutorial
/* * Copyright (C) 2010 Stanford University * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package edu.stanford.junction.sample.sql; import java.net.URL; import java.util.HashMap; import java.util.Map; import org.json.JSONObject; import edu.stanford.junction.Junction; import edu.stanford.junction.JunctionMaker; import edu.stanford.junction.api.activity.ActivityScript; import edu.stanford.junction.api.activity.JunctionActor; import edu.stanford.junction.api.messaging.MessageHandler; import edu.stanford.junction.api.messaging.MessageHeader; import edu.stanford.junction.provider.xmpp.XMPPSwitchboardConfig; public class SQLActor extends JunctionActor { // JunctionManager extends/implements JunctionAPI public SQLActor() { super("database"); } public static void main(String[] argv) { try { System.out.println("Starting the database actor"); JSONObject activity = new JSONObject(); activity.put("sessionID", "sqlQuerySession"); activity.put("ad", "edu.stanford.prpl.junction.demo.sql"); XMPPSwitchboardConfig config = new XMPPSwitchboardConfig("prpl.stanford.edu"); JunctionMaker jm = JunctionMaker.getInstance(config); Junction jx = jm.newJunction(new ActivityScript(activity), new SQLActor()); /* try { Thread.sleep(3000); JSONObject msg = new JSONObject(); msg.put("query","select count(*) from jz_nodes"); jx.sendMessageToSession(msg); } catch (Exception e) { e.printStackTrace(); } */ Object dud = new Object(); synchronized (dud) { dud.wait(); } } catch (Exception e) { System.err.println("fail."); e.printStackTrace(); } } @Override public void onActivityStart() { // TODO Auto-generated method stub } static MessageHandler handler = null; @Override public void onMessageReceived(MessageHeader header, JSONObject message) { // hack to fix from updating to onMessageReceived vs getMessageHandler if (handler == null) handler = new QueryHandler(this); handler.onMessageReceived(header, message); } }