aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/Counter.java7
-rw-r--r--examples/Makefile2
-rw-r--r--examples/TestIvy.java11
-rw-r--r--examples/TestIvySwing.java26
-rw-r--r--examples/Translate.java37
-rw-r--r--examples/ivyTranslater.java49
6 files changed, 77 insertions, 55 deletions
diff --git a/examples/Counter.java b/examples/Counter.java
index 34ae576..3c4c93e 100644
--- a/examples/Counter.java
+++ b/examples/Counter.java
@@ -41,13 +41,12 @@ public class Counter implements IvyMessageListener, Runnable {
public static final String helpmsg = "usage: java Counter -[options]\n\t-b BUS\tspecifies the Ivy bus domain\n\t-q\tquiet, no tty output\n\t-d\tdebug\n\t-h\thelp\n";
- public Counter(String domain,boolean quiet) {
+ public Counter(String domain,boolean quiet) throws IvyException {
this.quiet=quiet;
for (int j=0;j<secCount.length;j++) {secCount[j]=0;}
bus = new Ivy("Counter","Counter ready",null);
System.out.println(bus.domains(domain));
System.out.println("stats:\t1s\t10s\t1m");
- bus.bindMsg(".*",this);
bus.bindMsg("^EXHAUSTED$",new IvyMessageListener(){
public void receive(IvyClient client,String[] args) {
isRunning=false;
@@ -74,7 +73,7 @@ public class Counter implements IvyMessageListener, Runnable {
totaldix+=secCount[counter]-secCount[moindix];
String s = "stats:\t"+ secCount[counter]+"\t"+totaldix+"\t"+totalminute;
if (!quiet) { System.out.println(s); }
- bus.sendMsg(s);
+ try { bus.sendMsg(s); } catch (IvyException ie) { }
moinune=(moinune+1)%secCount.length;
moindix=(moindix+1)%secCount.length;
counter=(counter+1)%secCount.length;
@@ -84,7 +83,7 @@ public class Counter implements IvyMessageListener, Runnable {
public void receive(IvyClient client,String[] args) { secCount[counter]++; }
- public static void main(String[] args) {
+ public static void main(String[] args) throws IvyException {
String domain=Ivy.getDomain(null);
Getopt opt = new Getopt("Counter",args,"b:dhq");
int c;
diff --git a/examples/Makefile b/examples/Makefile
index 84104a5..4918928 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -3,7 +3,7 @@
OBJS = $(SRCS:.java=.class)
NANOXMLPATH=/export/home/jestin/java/Jars/nanoxml-2.2.1.jar
-GNUPATH=/usr/share/java/repository:/usr/share/java/gnu.getopt.0.9.jar:/usr/share/java/gnu-regexp-1.1.3.jar
+GNUPATH=/usr/share/java/regexp.jar:/usr/share/java/gnu.getopt.jar
BUILDPATH=../lib/ivy-java.jar
ADD=$(GNUPATH):$(BUILDPATH):$(NANOXMLPATH)
diff --git a/examples/TestIvy.java b/examples/TestIvy.java
index 3ab0cc0..7bc96d0 100644
--- a/examples/TestIvy.java
+++ b/examples/TestIvy.java
@@ -45,7 +45,7 @@ class TestIvy extends Frame implements IvyApplicationListener,IvyMessageListener
regexp=tfRegex.getText();
tfBound.setText("Bound to: " +regexp);
regexp.trim();
- regexp_id = bus.bindMsg(regexp,TestIvy.this);
+ try { regexp_id = bus.bindMsg(regexp,TestIvy.this); } catch (IvyException ie) { }
tfRegex.setText("");
pack();
}
@@ -59,8 +59,11 @@ class TestIvy extends Frame implements IvyApplicationListener,IvyMessageListener
int count;
String tosend = tfSend.getText();
tfSend.setText("");
- count = bus.sendMsg(tosend);
- append("Sending '" + tosend + "' count " + count );
+ try { count = bus.sendMsg(tosend);
+ append("Sending '" + tosend + "' count " + count );
+ } catch (IvyException ie) {
+ append("*Error* cant't send " + tosend );
+ }
}
});
p.add(tfSend,BorderLayout.CENTER);
@@ -79,7 +82,7 @@ class TestIvy extends Frame implements IvyApplicationListener,IvyMessageListener
public void connect(IvyClient client) { append(client.getApplicationName() + " connected " ); }
public void disconnect(IvyClient client) { append(client.getApplicationName() + " disconnected " ); }
- public void die(IvyClient client, int id) { System.exit(0); }
+ public void die(IvyClient client, int id,String msgarg) { System.exit(0); }
public void directMessage(IvyClient client, int id, String arg) {
append(client.getApplicationName() + " direct Message "+ id + arg );
}
diff --git a/examples/TestIvySwing.java b/examples/TestIvySwing.java
index e7a9315..cb3eca5 100644
--- a/examples/TestIvySwing.java
+++ b/examples/TestIvySwing.java
@@ -141,8 +141,8 @@ class TestIvySwing extends JPanel implements IvyApplicationListener {
append(client.getApplicationName() + " disconnected " );
}
- public void die(IvyClient client, int id) {
- append(client.getApplicationName() + " die "+ id );
+ public void die(IvyClient client, int id,String msgarg) {
+ append(client.getApplicationName() + " die "+ id + " " + msgarg);
}
public void directMessage(IvyClient client, int id, String arg) {
@@ -175,9 +175,13 @@ class TestIvySwing extends JPanel implements IvyApplicationListener {
}
regexp=tfRegex.getText();
regexp.trim();
- regexp_id = bus.bindMsg(regexp,this);
- tfRegex.setText("");
- laRegex.setText(regexp);
+ try {
+ regexp_id = bus.bindMsg(regexp,this);
+ tfRegex.setText("");
+ laRegex.setText(regexp);
+ } catch (IvyException ie) {
+ System.out.println("RE error "+regexp); // this should not happen
+ }
}
public void receive(IvyClient client, String[] args) {
String out="client " + client.getApplicationName() + " envoie: [ ";
@@ -194,10 +198,14 @@ class TestIvySwing extends JPanel implements IvyApplicationListener {
int count;
String tosend = tfSend.getText();
tfSend.setText("");
- if ( (count = bus.sendMsg(tosend)) != 0 )
- append("Sending '" + tosend + "' count " + count );
- else
- append("not Sending '" + tosend + "' nobody cares");
+ try {
+ if ( (count = bus.sendMsg(tosend)) != 0 )
+ append("Sending '" + tosend + "' count " + count );
+ else
+ append("not Sending '" + tosend + "' nobody cares");
+ } catch (IvyException ie ) {
+ append("problem Sending '" + tosend + "'");
+ }
}
}
diff --git a/examples/Translate.java b/examples/Translate.java
index 738443c..43ed82f 100644
--- a/examples/Translate.java
+++ b/examples/Translate.java
@@ -5,16 +5,19 @@
*
* (c) CENA
*
+ * 1.2.6
+ * - goes apache jakarta regexp
+ *
*/
import fr.dgac.ivy.* ;
import java.io.* ;
-import gnu.regexp.* ;
+import org.apache.regexp.* ;
class Translate {
private Ivy bus;
- Translate(String filename) {
+ Translate(String filename) throws IvyException {
bus = new Ivy("Translater","Hello le monde",null);
parseFile(filename);
bus.bindMsg("^Bye$",new IvyMessageListener() {
@@ -33,16 +36,18 @@ class Translate {
try {
BufferedReader in = new BufferedReader(new FileReader(new File(filename)));
String s;
- RE regexp;
- regexp = new RE("\"([^\"]*)\" \"([^\"]*)\"");
+ RE re = new RE("\"([^\"]*)\" \"([^\"]*)\"");
while ( (s=in.readLine()) != null ) {
- REMatch result = regexp.getMatch(s);
- bus.bindMsg(result.toString(1),new TALK(result.toString(2)));
+ if (re.match(s)) {
+ System.out.println("binding " +re.getParen(1)+" and translating to " + re.getParen(2));
+ try {
+ bus.bindMsg(re.getParen(1),new TALK(re.getParen(2)));
+ } catch (IvyException ie) {
+ System.out.println(re.getParen(1)+" is not a valid PCRE regex");
+ }
+ }
}
in.close();
- } catch (REException ree) {
- System.out.println("regexp error");
- System.exit(-1);
} catch (FileNotFoundException fnfe) {
System.out.println("file "+filename+" not found. Good bye !");
System.exit(-1);
@@ -56,13 +61,21 @@ class Translate {
private String go;
TALK(String s) {go=s;}
public void receive(IvyClient client, String[] args) {
- bus.sendMsg(go);
+ try {
+ bus.sendMsg(go);
+ } catch (IvyException ie) {
+ }
}
}
public void receive(IvyClient client, String[] args) {
- bus.sendMsg("Bonjour"+((args.length>0)?args[0]:""));
+ try {
+ bus.sendMsg("Bonjour"+((args.length>0)?args[0]:""));
+ } catch (IvyException ie) {
+ }
}
- public static void main(String args[]) { new Translate("translation.txt"); }
+ public static void main(String args[]) throws IvyException {
+ new Translate("translation.txt");
+ }
}
diff --git a/examples/ivyTranslater.java b/examples/ivyTranslater.java
index 497ac87..5299338 100644
--- a/examples/ivyTranslater.java
+++ b/examples/ivyTranslater.java
@@ -1,46 +1,45 @@
/**
* Yet another Ivy java program example
*
- * This is the example from the documentations, it connects to the bus, and
- * translate the messages beginning with "Hello" by the same message, where
- * "Hello" is replaced by "Bonjour".
+ * This is the example from the documentation
*
* @author Yannick Jestin <jestin@cena.fr>
*
* (c) CENA
*
- * This program is distributed as is, under the LGPL licence, which should be
- * present in the package.
+ * This program is distributed as is
*
*/
import fr.dgac.ivy.* ;
class ivyTranslater implements IvyMessageListener {
- private Ivy bus;
+ private Ivy bus;
- ivyTranslater() {
- bus = new Ivy("IvyTranslater","Hello le monde",null);
- bus.bindMsg("^Hello(.*)",this);
- bus.bindMsg("^Bye$",new IvyMessageListener() {
- // callback for "Bye" message
- public void receive(IvyClient client,
- String[] args) {System.exit(0);}
- });
- try {
- // starts the bus on the default domain or IVY_DOMAIN property
- bus.start(null);
- } catch (IvyException ie) {
- System.err.println("can't run the Ivy bus" + ie.getMessage());
+ ivyTranslater() throws IvyException {
+ // initialization, name and ready message
+ bus = new Ivy("IvyTranslater","IvyTranslater Ready",null);
+ bus.bindMsg("^Hello(.*)",this);
+ bus.bindMsg("^Bye$",new IvyMessageListener() {
+ // callback for "Bye" message
+ public void receive(IvyClient client, String[] args) {
+ bus.stop();
}
- }
+ });
+ // starts the bus on the default domain
+ bus.start(null);
+ }
- // callback associated to the "Hello" messages"
- public void receive(IvyClient client, String[] args) {
+ // callback associated to the "Hello" messages"
+ public void receive(IvyClient client, String[] args) {
+ try {
bus.sendMsg("Bonjour"+((args.length>0)?args[0]:""));
+ } catch (IvyException ie) {
+ System.out.println("can't send my message !");
}
+ }
- public static void main(String args[]) {
- new ivyTranslater();
- }
+ public static void main(String args[]) throws IvyException {
+ new ivyTranslater();
+ }
}