| Home | Idea | Advantages of GoodDocFlow | Information for project manager | Installation | Demo | Price | Download | GoodDocFlow API | Conceptions | Russian |
Date:23-Aug-2008
Changies:
package ru.goodidea.client.jms;
import java.awt.event.ActionListener;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.naming.NamingException;
import javax.swing.JPanel;
import ru.goodidea.df.constructor.panel.DefaultPresentationPanel;
import ru.goodidea.df.constructor.panel.PanelBuilder;
import ru.goodidea.df.dictionary.Field;
import ru.goodidea.df.dto.DtoRole;
import ru.goodidea.doc.DefaultDocument;
public class Main extends AbstractDocProcessor implements ConnectionListener,MessageListener {
private final static String login="tester";
/**
* @param args
*/
public static void main(String[] args) {
Main m = new Main();
m.process();
System.out.println("END!!!");
}
private void process() {
ConnectionFactory cf = ConnectionFactory.getInstance();
cf.addConnectionListener(this);
cf.setHost("www.newgoodidea.com");
try {
cf.connect();
cf.Auth(login, "test");
for (DtoRole r : roles) {
System.out.println("ROLE:" + r);
}
init(this,login);
ConnectionDispatcher d = new ConnectionDispatcher();
Command cmd = new Command("GET CREATIVES",
Command.CMD_GET_CREATIVES);
d.send(cmd);
for (String pr : cf.getProjects().keySet()) {
System.out.println("PROJECT:" + pr);
}
//cf.diconnect();
} catch (NamingException e) {
e.printStackTrace();
} catch (JMSException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void disconnect() {
}
@Override
public void fireCheckoutFailed(String msgId, CompletitionTypes type) {
}
@Override
public void fireNewActivity(DefaultDocument document) {
System.out.println("Doc:" + document);
if("simple1".equals(document.getProjectName()))
{
JPanel p=new JPanel();
PanelBuilder pb=new PanelBuilder(p);
DefaultPresentationPanel dp=new DefaultPresentationPanel(pb,this);
Field fld= document.getFieldByName("num1");
fld.setValue(new Integer(10));
fld= document.getFieldByName("num2");
fld.setValue(new Integer(23));
document.init(document.getCurrentNodeindex(), ConnectionFactory.getInstance().getPersistanceService());//Init visual components. Not required for this test
// document.assignValueFromComponents(pb.getMap(), document);
boolean promoteStatus=document.execute(document.getCurrentNodeindex(), pb.getMap(),
dp, ConnectionFactory.getInstance().getPersistanceService());
if(promoteStatus&&document.promote(document.getCurrentNodeindex())) {
sendCommand(document);
}
}
}
@Override
public void fireProcessAccomplished() {
System.out.println("DONE!");
try {
Thread.currentThread().sleep(1000);//Wait until message be processed
ConnectionFactory.getInstance().diconnect();
} catch (Exception e) {
e.printStackTrace();
}
System.exit(-1);
}
@Override
public void fireProjectDisabled(String msgId) {
int t=0;
}
@Override
public void fireStatusChanged(String status) {
int t=0;
}
@Override
public List getActionListeners() {
return Collections.EMPTY_LIST;
}
@Override
public HashSet getReactors() {
return null;
}
@Override
public List getRoles() {
return roles;
}
@Override
public void setConnectedUserLogin(String login) {
}
@Override
public void setConnectedUserPassword(String password) {
}
@Override
public void setCurrentRole(DtoRole role) {
}
@Override
public void processed(String messegeId, CompletitionTypes type) {
try {
DefaultDocument doc=getIncomingDocument(messegeId);
if(doc==null)return;
JPanel p=new JPanel();
PanelBuilder pb=new PanelBuilder(p);
DefaultPresentationPanel dp=new DefaultPresentationPanel(pb,this);
dp.init(doc, null, ConnectionFactory.getInstance().getCurrentRole(), ConnectionFactory.getInstance().getPersistanceService());
switch(doc.getCurrentNodeindex()) {
case 3:
Field fld= doc.getFieldByName("message");
System.out.println("MESSAGE1:"+fld.getValue());
fld= doc.getFieldByName("str1");
fld.setValue("first");
fld= doc.getFieldByName("str2");
fld.setValue("SECOND");
boolean promoteStatus=doc.execute(doc.getCurrentNodeindex(), Collections.EMPTY_MAP,
dp, ConnectionFactory.getInstance().getPersistanceService());
if(promoteStatus&&doc.promote(doc.getCurrentNodeindex())) {
sendCommand(doc);
}
break;
case 5:
doc.init(doc.getCurrentNodeindex(), ConnectionFactory.getInstance().getPersistanceService());
fld= doc.getFieldByName("message");
System.out.println("MESSAGE2:"+fld.getValue());
fld= doc.getFieldByName("file1");
fld= doc.getFieldByName("file2");
promoteStatus=doc.execute(doc.getCurrentNodeindex(), pb.getMap(),
dp, ConnectionFactory.getInstance().getPersistanceService());
if(promoteStatus&&doc.promote(doc.getCurrentNodeindex())) {
sendCommand(doc);
}
break;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void showErrorMessage(String message) {
System.out.println("err msg:"+message);
}
@Override
public void showMessage(String message) {
System.out.println("msg:"+message);
}
@Override
public void onMessage(Message arg0) {
System.out.println("*******ON MESSAGE:"+arg0);
}
}
|
contact information:
Konstantin Pupkov df@goodidea.ru
icq:17631963 yahoo:www_goodidea_ru Copyright © 2004...2009 |