List<ChatAction> actionList = new ArrayList<ChatAction>();
synchronized(state) {
for (Map.
Entry<String, Set
<String
>> entry
: state.
entrySet()) { String channelName
= entry.
getKey(); Set<String> set = entry.getValue();
actionList.add(
ChatAction.newBuilder()
.setAction(ChatAction.ActionType.JOIN)
.setChannel(channelName)
.setNickname(nickname)
.build()
);
}
}
}
ChatState chatState = ChatState.newBuilder().addAllState(actionList).build();
}
ChatState chatState;
List<ChatAction> chatActions = chatState.getStateList();
synchronized(state) {
state.clear();
for (ChatAction chatAction : chatActions) {
String channelName
= chatAction.
getChannel(); String nickname
= chatAction.
getNickname(); if (!state.containsKey(channelName)) {
state.put(channelName, new TreeSet<String>());
}
state.get(channelName).add(nickname);
}
}
}
IHB1YmxpYyB2b2lkIGdldFN0YXRlKE91dHB1dFN0cmVhbSBvdXRwdXQpIHRocm93cyBFeGNlcHRpb24gewogICAgICAgIExpc3Q8Q2hhdEFjdGlvbj4gYWN0aW9uTGlzdCA9IG5ldyBBcnJheUxpc3Q8Q2hhdEFjdGlvbj4oKTsKCiAgICAgICAgc3luY2hyb25pemVkKHN0YXRlKSB7CiAgICAgICAgICAgIGZvciAoTWFwLkVudHJ5PFN0cmluZywgU2V0PFN0cmluZz4+IGVudHJ5IDogc3RhdGUuZW50cnlTZXQoKSkgewogICAgICAgICAgICAgICAgU3RyaW5nIGNoYW5uZWxOYW1lID0gZW50cnkuZ2V0S2V5KCk7CiAgICAgICAgICAgICAgICBTZXQ8U3RyaW5nPiBzZXQgPSBlbnRyeS5nZXRWYWx1ZSgpOwogICAgICAgICAgICAgICAgZm9yIChTdHJpbmcgbmlja25hbWUgOiBzZXQpIHsKICAgICAgICAgICAgICAgICAgICBhY3Rpb25MaXN0LmFkZCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYXRBY3Rpb24ubmV3QnVpbGRlcigpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zZXRBY3Rpb24oQ2hhdEFjdGlvbi5BY3Rpb25UeXBlLkpPSU4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zZXRDaGFubmVsKGNoYW5uZWxOYW1lKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2V0Tmlja25hbWUobmlja25hbWUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5idWlsZCgpCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQ2hhdFN0YXRlIGNoYXRTdGF0ZSA9IENoYXRTdGF0ZS5uZXdCdWlsZGVyKCkuYWRkQWxsU3RhdGUoYWN0aW9uTGlzdCkuYnVpbGQoKTsKICAgICAgICBVdGlsLm9iamVjdFRvU3RyZWFtKGNoYXRTdGF0ZSwgbmV3IERhdGFPdXRwdXRTdHJlYW0ob3V0cHV0KSk7CiAgICB9CgogICAgcHVibGljIHZvaWQgc2V0U3RhdGUoSW5wdXRTdHJlYW0gaW5wdXQpIHRocm93cyBFeGNlcHRpb24gewogICAgICAgIENoYXRTdGF0ZSBjaGF0U3RhdGU7CiAgICAgICAgY2hhdFN0YXRlID0gKENoYXRTdGF0ZSkgVXRpbC5vYmplY3RGcm9tU3RyZWFtKG5ldyBEYXRhSW5wdXRTdHJlYW0oaW5wdXQpKTsKICAgICAgICBMaXN0PENoYXRBY3Rpb24+IGNoYXRBY3Rpb25zID0gY2hhdFN0YXRlLmdldFN0YXRlTGlzdCgpOwoKICAgICAgICBzeW5jaHJvbml6ZWQoc3RhdGUpIHsKICAgICAgICAgICAgc3RhdGUuY2xlYXIoKTsKICAgICAgICAgICAgZm9yIChDaGF0QWN0aW9uIGNoYXRBY3Rpb24gOiBjaGF0QWN0aW9ucykgewogICAgICAgICAgICAgICAgU3RyaW5nIGNoYW5uZWxOYW1lID0gY2hhdEFjdGlvbi5nZXRDaGFubmVsKCk7CiAgICAgICAgICAgICAgICBTdHJpbmcgbmlja25hbWUgPSBjaGF0QWN0aW9uLmdldE5pY2tuYW1lKCk7CiAgICAgICAgICAgICAgICBpZiAoIXN0YXRlLmNvbnRhaW5zS2V5KGNoYW5uZWxOYW1lKSkgewogICAgICAgICAgICAgICAgICAgIHN0YXRlLnB1dChjaGFubmVsTmFtZSwgbmV3IFRyZWVTZXQ8U3RyaW5nPigpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHN0YXRlLmdldChjaGFubmVsTmFtZSkuYWRkKG5pY2tuYW1lKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICB9
Main.java:1: error: class, interface, or enum expected
public void getState(OutputStream output) throws Exception {
^
Main.java:4: error: class, interface, or enum expected
synchronized(state) {
^
Main.java:7: error: class, interface, or enum expected
Set<String> set = entry.getValue();
^
Main.java:8: error: class, interface, or enum expected
for (String nickname : set) {
^
Main.java:16: error: class, interface, or enum expected
}
^
Main.java:21: error: class, interface, or enum expected
Util.objectToStream(chatState, new DataOutputStream(output));
^
Main.java:22: error: class, interface, or enum expected
}
^
Main.java:24: error: class, interface, or enum expected
public void setState(InputStream input) throws Exception {
^
Main.java:26: error: class, interface, or enum expected
chatState = (ChatState) Util.objectFromStream(new DataInputStream(input));
^
Main.java:27: error: class, interface, or enum expected
List<ChatAction> chatActions = chatState.getStateList();
^
Main.java:29: error: class, interface, or enum expected
synchronized(state) {
^
Main.java:31: error: class, interface, or enum expected
for (ChatAction chatAction : chatActions) {
^
Main.java:33: error: class, interface, or enum expected
String nickname = chatAction.getNickname();
^
Main.java:34: error: class, interface, or enum expected
if (!state.containsKey(channelName)) {
^
Main.java:36: error: class, interface, or enum expected
}
^
Main.java:38: error: class, interface, or enum expected
}
^
16 errors