public static void main(String[] args) { System.out.println("CanModerate Client Tools 1.0"); try { System.out.println("version: " + CanModerateService.getVersion().version); System.out.println("server date: " + CanModerateService.getVersion().date); System.out.println("--------"); System.out.println("Open connection with Oauth keys"); RefreshTokenRequest refreshTokenRequest = new RefreshTokenRequest(); // fill outh parameters refreshTokenRequest.grant_type = "refresh_token"; refreshTokenRequest.client_id = "BBRALWUMGRRTNZIEQRWOQFET"; refreshTokenRequest.client_secret = "432526176353"; refreshTokenRequest.refresh_token = "84d0a86d-2354-416f-a249-e5451848b643"; RefreshTokenResponse refreshTokenResponse = CanModerateService.refreshToken(refreshTokenRequest); System.out.println("Access token: " + refreshTokenResponse.access_token); MessageRequest message = new MessageRequest(); message.clientIp = "10.0.0.1"; message.trackingId = UUID.randomUUID().toString(); message.message = "test message"; MessageResponse messageResponse = CanModerateService.validateMessage(refreshTokenResponse.access_token, message); System.out.println("Response trackingId: " + messageResponse.trackingId); for (MessageResult result : messageResponse.results) { System.out.println("Result: " + result.result + " type: " + result.vcType); } } catch (Exception e) { System.out.print("Error: "); System.out.println(e.getMessage()); } }
private void send(MessageStartView startView) { LogWriter.log( replica.getReplicaID(), "Sending message STARTVIEW to Replica " + receiverID + Constants.NEWLINE + startView.toString()); DataOutputStream dataOutput = null; try { dataOutput = new DataOutputStream(clientSocket.getOutputStream()); byte[] messageIDBytes = MyByteUtils.toByteArray(startView.getMessageID()); dataOutput.writeInt(messageIDBytes.length); dataOutput.write(messageIDBytes); byte[] viewNumberBytes = MyByteUtils.toByteArray(startView.getViewNumber()); dataOutput.writeInt(viewNumberBytes.length); dataOutput.write(viewNumberBytes); // log ReplicaLog log = startView.getLog(); if (log != null && log.size() > 0) { dataOutput.writeInt(log.size()); for (int i = 0; i < log.size(); i++) { // BEGINING OF REQUEST // -------------------------------------------------------------------- MessageRequest request = log.get(i).getRequest(); byte[] requestMessageIDBytes = MyByteUtils.toByteArray(request.getMessageID()); dataOutput.writeInt(requestMessageIDBytes.length); dataOutput.write(requestMessageIDBytes); byte[] operationIDBytes = MyByteUtils.toByteArray(request.getOperation().getOperationID()); dataOutput.writeInt(operationIDBytes.length); dataOutput.write(operationIDBytes); byte[] operationPathBytes = MyByteUtils.toByteArray(request.getOperation().getPath()); dataOutput.writeInt(operationPathBytes.length); dataOutput.write(operationPathBytes); if (request.getOperation().getOperationID() == 1) { byte[] operationFile = request.getOperation().getFile(); if (operationFile != null) { dataOutput.writeInt(operationFile.length); dataOutput.write(operationFile); } else { dataOutput.writeInt(1); byte[] nullFile = new byte[1]; nullFile[0] = 0; dataOutput.write(nullFile); } } byte[] clientIDBytes = MyByteUtils.toByteArray(request.getClientID()); dataOutput.writeInt(clientIDBytes.length); dataOutput.write(clientIDBytes); byte[] requestNumberBytes = MyByteUtils.toByteArray(request.getRequestNumber()); dataOutput.writeInt(requestNumberBytes.length); dataOutput.write(requestNumberBytes); byte[] requestViewNumberBytes = MyByteUtils.toByteArray(request.getViewNumber()); dataOutput.writeInt(requestViewNumberBytes.length); dataOutput.write(requestViewNumberBytes); // END OF REQUEST -------------------------------------------------------------------- // opNumber byte[] operationNumberBytes = MyByteUtils.toByteArray(log.get(i).getOperationNumber()); dataOutput.writeInt(operationNumberBytes.length); dataOutput.write(operationNumberBytes); // isCommited byte[] isCommitedBytes = MyByteUtils.toByteArray(log.get(i).isCommited()); dataOutput.writeInt(isCommitedBytes.length); dataOutput.write(isCommitedBytes); } } else { dataOutput.writeInt(0); dataOutput.writeInt(1); byte[] nullFile = new byte[1]; nullFile[0] = 0; dataOutput.write(nullFile); } byte[] lastCommitedBytes = MyByteUtils.toByteArray(startView.getLastCommited()); dataOutput.writeInt(lastCommitedBytes.length); dataOutput.write(lastCommitedBytes); } catch (IOException ex) { Logger.getLogger(ReplicaClientRunnable.class.getName()).log(Level.SEVERE, null, ex); } finally { try { dataOutput.flush(); dataOutput.close(); clientSocket.close(); } catch (IOException ex) { Logger.getLogger(ReplicaClientRunnable.class.getName()).log(Level.SEVERE, null, ex); } } }