Skip to content

Commit 371edcf

Browse files
committed
ADAP-207: updated channel example for adapter 9.2.0-SNAPSHOT
1 parent 2ad5cf9 commit 371edcf

2 files changed

Lines changed: 104 additions & 93 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
<dependency>
5959
<groupId>co.openfin</groupId>
6060
<artifactId>openfin-desktop-java-adapter</artifactId>
61-
<version>9.0.1-SNAPSHOT</version>
61+
<version>9.2.0-SNAPSHOT</version>
6262
</dependency>
6363
<dependency>
6464
<groupId>co.openfin</groupId>

src/main/java/com/openfin/desktop/demo/ChannelExample.java

Lines changed: 103 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -57,107 +57,118 @@ public void onChannelDisconnect(ConnectionEvent connectionEvent) {
5757
logger.info(String.format("provider receives channel disconnect event from %s ", connectionEvent.getUuid()));
5858
}
5959
});
60-
desktopConnection.getChannel(CHANNEL_NAME).create(new AsyncCallback<ChannelProvider>() {
61-
@Override
62-
public void onSuccess(ChannelProvider provider) {
63-
//provider created, register actions.
64-
AtomicInteger x = new AtomicInteger(0);
65-
66-
provider.register("getValue", new ChannelAction() {
67-
@Override
68-
public JSONObject invoke(String action, Object payload, JSONObject senderIdentity) {
69-
logger.info(String.format("provider processing action %s, payload=%s", action, payload.toString()));
70-
JSONObject obj = new JSONObject();
71-
obj.put("value", x.get());
72-
return obj;
73-
}
74-
});
75-
provider.register("increment", new ChannelAction() {
76-
@Override
77-
public JSONObject invoke(String action, Object payload, JSONObject senderIdentity) {
78-
logger.info(String.format("provider processing action %s, payload=%s", action, payload.toString()));
79-
JSONObject obj = new JSONObject();
80-
obj.put("value", x.incrementAndGet());
81-
provider.publish("event", obj, null);
82-
return obj;
60+
desktopConnection.getChannel(CHANNEL_NAME).createAsync().thenAccept(provider -> {
61+
provider.addProviderListener(new ChannelProviderListener() {
62+
@Override
63+
public void onClientConnect(ChannelClientConnectEvent connectionEvent) throws Exception {
64+
logger.info(String.format("provider receives client connect event from %s ", connectionEvent.getUuid()));
65+
JSONObject payload = (JSONObject) connectionEvent.getPayload();
66+
if (payload != null) {
67+
String name = payload.optString("name");
68+
if ("badguy".equals(name)) {
69+
// throw exception here to reject the connection
70+
throw new Exception("stay out");
71+
}
8372
}
84-
});
85-
provider.register("incrementBy", new ChannelAction() {
86-
@Override
87-
public JSONObject invoke(String action, Object payload, JSONObject senderIdentity) {
88-
logger.info(String.format("provider processing action %s, payload=%s", action, payload.toString()));
89-
int delta = ((JSONObject)payload).getInt("delta");
90-
JSONObject obj = new JSONObject();
91-
obj.put("value", x.addAndGet(delta));
92-
return obj;
93-
}
94-
});
95-
}
73+
}
74+
@Override
75+
public void onClientDisconnect(ChannelClientConnectEvent connectionEvent) {
76+
logger.info(String.format("provider receives channel disconnect event from %s ", connectionEvent.getUuid()));
77+
}
78+
});
79+
80+
//provider created, register actions.
81+
AtomicInteger x = new AtomicInteger(0);
82+
83+
provider.register("getValue", new ChannelAction() {
84+
@Override
85+
public JSONObject invoke(String action, Object payload, JSONObject senderIdentity) {
86+
logger.info(String.format("provider processing action %s, payload=%s", action, payload.toString()));
87+
JSONObject obj = new JSONObject();
88+
obj.put("value", x.get());
89+
return obj;
90+
}
91+
});
92+
provider.register("increment", new ChannelAction() {
93+
@Override
94+
public JSONObject invoke(String action, Object payload, JSONObject senderIdentity) {
95+
logger.info(String.format("provider processing action %s, payload=%s", action, payload.toString()));
96+
JSONObject obj = new JSONObject();
97+
obj.put("value", x.incrementAndGet());
98+
provider.publish("event", obj, null);
99+
return obj;
100+
}
101+
});
102+
provider.register("incrementBy", new ChannelAction() {
103+
@Override
104+
public JSONObject invoke(String action, Object payload, JSONObject senderIdentity) {
105+
logger.info(String.format("provider processing action %s, payload=%s", action, payload.toString()));
106+
int delta = ((JSONObject)payload).getInt("delta");
107+
JSONObject obj = new JSONObject();
108+
obj.put("value", x.addAndGet(delta));
109+
return obj;
110+
}
111+
});
96112
});
97113
}
98114

99115
/**
100116
* Create a channel client that invokes "getValue", "increment" and "incrementBy n" actions
101117
*/
102118
public void createChannelClient() {
103-
desktopConnection.getChannel(CHANNEL_NAME).connect(new AsyncCallback<ChannelClient>() {
104-
@Override
105-
public void onSuccess(ChannelClient client) {
106-
// register a channel event
107-
client.register("event", new ChannelAction() {
108-
@Override
109-
public JSONObject invoke(String action, Object payload, JSONObject senderIdentity) {
110-
logger.info("channel event {}", action);
111-
return null;
112-
}
113-
});
114-
115-
//connected to provider, invoke actions provided by the provider.
116-
//get current value
117-
client.dispatch("getValue", null, new AckListener() {
118-
@Override
119-
public void onSuccess(Ack ack) {
120-
logger.info("current value={}", ack.getJsonObject().getJSONObject("data").getJSONObject("result").getInt("value"));
121-
122-
//got current value, do increment
123-
client.dispatch("increment", null, new AckListener() {
124-
@Override
125-
public void onSuccess(Ack ack) {
126-
logger.info("after invoking increment, value={}", ack.getJsonObject().getJSONObject("data").getJSONObject("result").getInt("value"));
127-
128-
//let's do increatmentBy 10
129-
JSONObject payload = new JSONObject();
130-
payload.put("delta", 10);
131-
client.dispatch("incrementBy", payload, new AckListener() {
132-
@Override
133-
public void onSuccess(Ack ack) {
134-
logger.info("after invoking incrementBy, value={}", ack.getJsonObject().getJSONObject("data").getJSONObject("result").getInt("value"));
135-
136-
try {
137-
desktopConnection.disconnect();
138-
}
139-
catch (DesktopException e) {
140-
e.printStackTrace();
141-
}
119+
JSONObject payload = new JSONObject();
120+
payload.put("name", "java example");
121+
desktopConnection.getChannel(CHANNEL_NAME).connectAsync(false, payload).thenAccept(client -> {
122+
client.register("event", new ChannelAction() {
123+
@Override
124+
public JSONObject invoke(String action, Object payload, JSONObject senderIdentity) {
125+
logger.info("channel event {}", action);
126+
return null;
127+
}
128+
});
129+
130+
client.dispatch("getValue", null, new AckListener() {
131+
@Override
132+
public void onSuccess(Ack ack) {
133+
logger.info("current value={}", ack.getJsonObject().getJSONObject("data").getJSONObject("result").getInt("value"));
134+
135+
//got current value, do increment
136+
client.dispatch("increment", null, new AckListener() {
137+
@Override
138+
public void onSuccess(Ack ack) {
139+
logger.info("after invoking increment, value={}", ack.getJsonObject().getJSONObject("data").getJSONObject("result").getInt("value"));
140+
141+
//let's do increatmentBy 10
142+
JSONObject payload = new JSONObject();
143+
payload.put("delta", 10);
144+
client.dispatch("incrementBy", payload, new AckListener() {
145+
@Override
146+
public void onSuccess(Ack ack) {
147+
logger.info("after invoking incrementBy, value={}", ack.getJsonObject().getJSONObject("data").getJSONObject("result").getInt("value"));
148+
149+
try {
150+
desktopConnection.disconnect();
151+
} catch (DesktopException e) {
152+
e.printStackTrace();
142153
}
143-
144-
@Override
145-
public void onError(Ack ack) {
146-
}
147-
});
148-
}
149-
150-
@Override
151-
public void onError(Ack ack) {
152-
}
153-
});
154-
}
155-
156-
@Override
157-
public void onError(Ack ack) {
158-
}
159-
});
160-
}
154+
}
155+
156+
@Override
157+
public void onError(Ack ack) {
158+
}
159+
});
160+
}
161+
162+
@Override
163+
public void onError(Ack ack) {
164+
}
165+
});
166+
}
167+
168+
@Override
169+
public void onError(Ack ack) {
170+
}
171+
});
161172
});
162173
}
163174

0 commit comments

Comments
 (0)