| 57 | } |
| 58 | |
| 59 | @Override |
| 60 | public void run() { |
| 61 | Notifier.INSTANSE.register(GroupSelectedEvent.class, new IEventHandler() { |
| 62 | @Override |
| 63 | public void handle(IEvent event) { |
| 64 | GroupSelectedEvent groupSelectedEvent = (GroupSelectedEvent) event; |
| 65 | selectedGroupId = groupSelectedEvent.getSelectedGroup().getId(); |
| 66 | } |
| 67 | }); |
| 68 | Notifier.INSTANSE.register(ArticleSelectedEvent.class, new IEventHandler() { |
| 69 | @Override |
| 70 | public void handle(IEvent event) { |
| 71 | selectedArticleId = ((ArticleSelectedEvent) event).getSelectedArticleId(); |
| 72 | } |
| 73 | }); |
| 74 | Notifier.INSTANSE.register(AuthUserEvent.class, new IEventHandler() { |
| 75 | @Override |
| 76 | public void handle(IEvent event) { |
| 77 | auth = ((AuthUserEvent) event).getAuth(); |
| 78 | } |
| 79 | }); |
| 80 | Notifier.INSTANSE.register(PostStartEvent.class, new IEventHandler() { |
| 81 | @Override |
| 82 | public void handle(IEvent event) { |
| 83 | isPost = true; |
| 84 | postParams = Lists.newLinkedList(); |
| 85 | } |
| 86 | }); |
| 87 | Notifier.INSTANSE.register(PostEndEvent.class, new IEventHandler() { |
| 88 | @Override |
| 89 | public void handle(IEvent event) { |
| 90 | isPost = false; |
| 91 | } |
| 92 | }); |
| 93 | |
| 94 | String line = StringUtils.EMPTY; |
| 95 | |
| 96 | try { |
| 97 | // Send greetings. Posting is not implemented yet. |
| 98 | send(Arrays.asList(NntpResponse.InitialGreetings.SERVICE_AVAILABLE_POSTING_ALLOWED)); |
| 99 | |
| 100 | while ((line = in.readLine()) != null) { |
| 101 | logger.l4("[C] " + line); |
| 102 | |
| 103 | Collection<String> response = Lists.newLinkedList(); |
| 104 | |
| 105 | if (line.equalsIgnoreCase(NntpResponse.END)) { |
| 106 | // end of post |
| 107 | response.addAll(process(NntpCommand.POST, postParams)); |
| 108 | } else { |
| 109 | if (isPost) { |
| 110 | // post in progress |
| 111 | postParams.add(line); |
| 112 | } else { |
| 113 | // casual line |
| 114 | response.addAll(process(line)); |
| 115 | } |
| 116 | } |