Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /* ************************************************************************
  #
  #  DivConq
  #
  #  http://divconq.com/
  #
  #  Copyright:
  #    Copyright 2014 eTimeline, LLC. All rights reserved.
  #
 #  License:
 #    See the license.txt file in the project's top-level directory for details.
 #
 #  Authors:
 #    * Andy White
 #
 ************************************************************************ */
 package divconq.test.bus;
 
 
ONLY works with local session, does not work with remote sessions
 
 public class Backend implements ILocalCommandLine {
 	public void run(final Scanner scanfinal ApiSession api) {
 		HashMap<StringSocketInfolisteners = new HashMap<>();
 		HashMap<StringSocketInfoconnectors = new HashMap<>();
 		boolean running = true;
 		
 		while(running) {
 			try {
 				..println("-----------------------------------------------");
 				..println("   dcBackend Utilities");
 				..println("-----------------------------------------------");
 				..println("0)  Exit");
 				..println("1)  Add Listener");
 				..println("2)  Remove Listener");
 				..println("3)  Bus Status");
 				..println("4)  Tickle Hub");
 				..println("5)  Echo Hub");
 				..println("6)  Add Connector");
 				..println("7)  Remove Connector");
 				..println("8)  Encrypt/Util");
 				..println("9)  Initiate Upload");
 				..println("10) Initiate Download");
 				..println("12) Verify Self");
 
 				String opt = scan.nextLine();
 				
 				Long mopt = StringUtil.parseInt(opt);
 				
 				if (mopt == null)
 					continue;
 				
 				switch (mopt.intValue()) {
 				case 0:
 					running = false;
 					break;
 					
 				case 1: {
 					..println("Add port: ");
 					String port = scan.nextLine();
 					
 					if (listeners.containsKey(port))
 						..println("already listening");
 					else {
 						SocketInfo info = SocketInfo.buildLoopback((int)StringUtil.parseInt(port, 0), true);
 						
 						if (info.getPort() == 0)
 							..println("bad port");
 						else {
 							listeners.put(portinfo);
 							..println("listener added");
 						}
 					}
 					
 			        break;
 				}
 				case 2: {
					..println("Remove port: ");
					String port = scan.nextLine();
					if (!listeners.containsKey(port))
						..println("not listening to that port");
					else {
						SocketInfo info = listeners.remove(port);
						if (info == null)
							..println("bad port");
						else {
							..println("listener removed");
						}
					}
			        break;
				}
				case 3: {
					break;
				}
				case 4: {
					..println("To Hub: ");
					String to = scan.nextLine();
					Message msg = new Message("Status""Tickle""Test");
					msg.setToHub(to);
					break;
				}
				case 5: {
					..println("To Hub: ");
					String to = scan.nextLine();
					..println("Message: ");
					String data = scan.nextLine();
					Message msg = new Message("Status""Echo""Test"data + " - av73Dw??gT80Hgt");
					msg.setToHub(to);
					api.sendMessage(msgnew DumpCallback("Echo"));
					break;
				}
				case 6: {
					..println("Add hubid: ");
					String hubid = scan.nextLine();
					..println("Add port: ");
					String port = scan.nextLine();
					if (connectors.containsKey(hubid))
						..println("already connecting");
					else {
						SocketInfo info = SocketInfo.buildLoopback((int)StringUtil.parseInt(port, 0), true);
						info.setHubId(hubid);
						if ((info.getPort() == 0) || StringUtil.isEmpty(hubid))
							..println("bad connector");
						else {
							connectors.put(hubidinfo);
							..println("connector added");
						}
					}
			        break;
				}
				case 7: {
					..println("Remove hubid: ");
					String hubid = scan.nextLine();
					if (!connectors.containsKey(hubid))
						..println("not connecting to that port");
					else {
						SocketInfo info = connectors.remove(hubid);
						if (info == null)
							..println("bad connector");
						else {
							..println("connector removed");
						}
					}
			        break;
				}
				case 8: {
					Foreground.utilityMenu(scan);
					break;
				}
				case 9: {
					..println("File Name: ");
					final String fname = "D:\\dev\\divconq\\hub\\lib\\guava-14.0-rc1.jar"//scan.nextLine();
					..println("Save Path ([enter] for root): ");
					final String spath = scan.nextLine();
			    	
			    	final Path src = Paths.get(fname);
			    	CommonPath dest = new CommonPath(spath + "/" + src.getFileName());
			    	
			    	// TODO name
			    	Task uploadtask = TaskFactory.createUploadTask(api"x"srcdestnulltrue);
			    	
			    	..getWorkPool().submit(uploadtasknew TaskObserver() {
						public void completed(TaskRun or) {
							if (or.hasErrors())
								..println("Upload failed!");
							else
								..println("Upload worked!");
						}
					});
			    	
					break;
				}
				case 10: {
					/* TODO
					System.out.println("File Name: ");
					final String spath = scan.nextLine();
			    	final CommonPath src = new CommonPath(spath);
					System.out.println("Save Path: ");
					final Path dest = Paths.get(scan.nextLine(), src.getFileName());
			    	
					DataStreamApi dsapi = new DataStreamApi(api);
					dsapi.simpleDownloadAndVerify(src, dest, new OperationCallback() {
						// initializer is optional, it supports the progress bar, etc
						{
							this.addObserver(new Observer() {						
								@Override
								public void update(Observable or, Object area) {
									// TODO output progress
								}
							});
						}
						@Override
						public void callback() {
					    	if (this.hasErrors()) {
					    		System.out.println("Download Error: " + this.getMessage());
					    		return;
					    	}
					    	System.out.println("Download complete!");
						}
					});
			    	*/
					break;
				}
				case 11: {
					Message msg = new Message("Status""Echo""Test""Test 1");
					Message rmsg = api.sendMessage(msg);
					..println("Response 1: " + rmsg.getFieldAsString("Body"));
					msg = new Message("Status""Echo""Test""Test 2");
					rmsg = api.sendMessage(msg);
					..println("Response 2: " + rmsg.getFieldAsString("Body"));
					msg = new Message("Status""Echo""Test""Test 3");
					rmsg = api.sendMessage(msg);
					..println("Response 3: " + rmsg.getFieldAsString("Body"));
					msg = new Message("Status""Echo""Test""Test 4");
					rmsg = api.sendMessage(msg);
					..println("Response 4: " + rmsg.getFieldAsString("Body"));
					break;
				}
				case 12: {
					Message msg = new Message("Status""Info""Test");
					api.sendMessage(msgnew DumpCallback("Info"));
					break;
				}
				}
			}
			catch (Exception x) {
				..println("Cli Error: " + x);
			}
		}
	}
New to GrepCode? Check out our FAQ X