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;
 
 
 import java.io.File;
 import java.net.URL;
 
 
 
 import static divconq.struct.StructUtil.*;
 
 public class TestYaml {
 
 	public static void main(String[] argsthrows Exception {
 		LocalEcho.main(args);
 	}
 	
 	public static void maincp(String[] args) {
 		CommonPath p = new CommonPath("/hi.txt");
 		..println("1: " + p);
 		p = new CommonPath("/lie/hi.txt");
 		..println("2: " + p);
 		//p = new CommonPath("/lie/./hi.txt");
 		//System.out.println("3: " + p);
 		p = new CommonPath("/lie/../hi.txt");
 		..println("4: " + p);
 	}
 	
 	/*
 	public static void main4(String[] args) {
 		ExecutorService pool = Executors.newSingleThreadExecutor();
 		
 		ResourceLeakDetector.setLevel(Level.PARANOID);
 		
 		Logger.init(null);
 		
 		FileSystemDriver localfs = new FileSystemDriver();
 		localfs.setRootFolder("C:/");
 		
 		FileCollection files = new FileCollection();
 		files.add(localfs.getReference("/Users/andy/Documents/writing/buck2/story.xml"));
 		files.add(localfs.getReference("/GreasySpoon/conf/mime.types"));
 		
 		FileSourceStream src = new FileSourceStream(pool, files);
		TarStream tar = new TarStream();
		GzipStream gz = new GzipStream();
		FileDestStream dest = new FileDestStream(localfs.getReference("/temp/test/files.tar.gz"));
		tar.setUpstream(src);
		gz.setUpstream(tar);
		dest.setUpstream(gz);
		dest.execute(new OperationCallback() {			
			@Override
			public void callback() {
				System.out.println("Done");
			}
		});
		try (Scanner scan = new Scanner(System.in)) {
			System.out.println("Press enter to close");
			scan.nextLine();
		}
		Logger.stop(new OperationResult());
		pool.shutdown();
	}
	*/
	public static void main3(String[] args) {		
		// create records, fields and lists easily
				field("Name""Fred"),
				field("Age", 49),
				field("FavoriteFoods"list("pizza""cereal""lima beans"))
		);
		// output as JSON
		rec.toString();
		// output as formatted JSON
		// validate the structure follows the schema
		rec.validate("dcTestPeopleExample");
	}
	public static void main2(String[] args) {
		FuncResult<CompositeStructjres = CompositeParser.parseJson("{ one: 'has', two: \"is\", three: [ 12, 44, 88 ], four: 12.55, five: false, six: null }");
		if (jres.hasErrors())
			..println("Error: " + jres.getMessage());
		else {
			..println("= " + out.toPrettyString());
			..println("a: " + out.getFieldAsDecimal("four"));
			..println("b: " + out.getFieldAsString("two"));
			..println("c: " + out.getFieldAsBoolean("five"));
			..println("d: " + out.getFieldAsList("three").getItemAsInteger(2));
		}		
	}
    
	public static void mainGroovService(String[] argsthrows Exception {
		..println("dude!");
				new FieldStruct("Age", 15)
		);
		Class<?> groovyClass = loader.parseClass(new File("./packages/dcTest/services/FirstGroovy.groovy"));
		for (Method m : groovyClass.getMethods()) {
			// to be a service operation you need to have an annotation and name starts with "handle" 
			if ((ann == null) || !m.getName().startsWith("handle"))
				continue;
			..println("Service handler: " + m.getName().substring(6) + " request type: " + ann.request().type());
		}
		/*
		// let's call some method on an instance
		GroovyObject groovyObject = (GroovyObject) groovyClass.newInstance();
		Object[] args2 = { rec };
		//for (MetaMethod m : groovyObject.getMetaClass().getMethods()) {
		//	System.out.println("M1: " + m.getName());
		//	System.out.println("M3: " + m.getSignature());
		//	System.out.println("M3: " + m.getDescriptor());
		//}
		@SuppressWarnings("unchecked")
		Closure<Object> res = (Closure<Object>)groovyObject.invokeMethod("printIt", args2);		
		res.call();
		*/
		TaskRun run = new TaskRun();
			public void completed(TaskRun or) {
				..println("Result of run: " + or.getResult());
			}
		});
		GroovyObject groovyObject = (GroovyObjectgroovyClass.newInstance();
		Object[] args2 = { run"tee shirt" };
		groovyObject.invokeMethod("handleEcho"args2);		
		..println("after: " + rec.getFieldAsInteger("Age"));
		Thread.sleep(5000);
		loader.close();
	}
	public static void mainJS(String[] argsthrows Exception {
		ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
		engine.eval(new FileReader("./packages/dcTest/scripts/hello1.js"));
		Invocable invocable = (Invocableengine;
				new FieldStruct("Age", 15)
		);
		Object result = invocable.invokeFunction("fun1""Peter Parker"rec);
		//System.out.println(result.getClass());
		..println("after: " + rec.getFieldAsInteger("Age"));
		Thread.sleep(5000);
		..println("after: " + rec.getFieldAsInteger("Age"));
	}
	static public Memory getRemote(String url) {
		try {
			Memory res = new Memory();
			URL obj = new URL(url);
	 
			// optional default is GET
			con.setRequestMethod("GET");
	 
			//add request header
			con.setRequestProperty("User-Agent""Mozilla/5.0");
	 
			//System.out.println("\nSending 'GET' request to URL : " + url);
			int responseCode = con.getResponseCode();
			//System.out.println("Response Code : " + responseCode);
			if (responseCode != 200)
				return null;
			is.close();
			return res;		
		}
		catch (Exception x) {
			..println("Error reading url: " + url + " - " + x);
		}
		return null;
	}
	static public void realmain() {
		/* TODO
		try {
			CharBuffer cb = CharBuffer.allocate(1024);
			InputStreamReader sr = new InputStreamReader(System.in, "UTF-8");
			sr.read(cb);
			String u = "0ä0"; 
			cb.flip();
			System.out.println("= " + cb.equals(u));
		}
		catch (Exception x) {
			System.out.println("Error: " + x);
		}
		*/
		String u = "avä73Dw??gT80Hgt"
		byte[] xb = Utf8Encoder.encode(u);
		..println(HexUtil.bufferToHex(xb));  // 6176c3a4373344773f3f67543830486774
														 
		System.exit(0);
		CommonPath ptest = new CommonPath("jump/and/stomp");
		..println("1: " + ptest.getFileName());
		..println("2: " + ptest.getName(0));
		..println("3: " + ptest.getName(1));
		..println("4: " + ptest.getName(2));
		..println("5: " + ptest.getParent());
		..println("6: " + ptest.subpath(0, 1));
		ptest = new CommonPath("jump");
		..println("1: " + ptest.getFileName());
		..println("2: " + ptest.getName(0));
		..println("5: " + ptest.getParent());
		..println("6: " + ptest.subpath(0, 1));
		ptest = new CommonPath("/jump");
		..println("1: " + ptest.getFileName());
		..println("2: " + ptest.getName(0));
		..println("5: " + ptest.getParent());
		..println("6: " + ptest.subpath(0, 1));
		ptest = new CommonPath("/jump/and/stomp");
		..println("1: " + ptest.getFileName());
		..println("2: " + ptest.getName(0));
		..println("3: " + ptest.getName(1));
		..println("4: " + ptest.getName(2));
		..println("5: " + ptest.getParent());
		..println("6: " + ptest.subpath(0, 1));
		System.exit(0);
    	Path file = Paths.get("..""lib""aws-java-sdk-1.3.21.1.jar");
        
        if (!Files.exists(file)) {
            ..println("File not found: " + file);
        	return;
        }
        
        if (!Files.isRegularFile(file)) {
        	..println("Not a file: " + file);
            return;
        }
            
        ..println("file good");
        
        final CountDownLatch latch = new CountDownLatch(1);
        
        try {
        	AsynchronousFileChannel sbc = AsynchronousFileChannel.open(file);
            final ByteBuffer buf = ByteBuffer.allocate(64 * 1024);
            sbc.read(buf, 0, sbcnew CompletionHandler<IntegerAsynchronousFileChannel>() {
            	long pos = 0;
            	
				public void completed(Integer resultAsynchronousFileChannel sbc) {
					if (result == -1) {
						try {
							sbc.close();
						catch (IOException x) {
						}
						latch.countDown();
						return;
					}
					if (result > 0) {
						this. += result;
			            
				        //ctx.writeAndFlush(new StreamMessage(buf));
						..println("get: " + buf.position());						
				        
				        buf.clear();
					}
					sbc.read(bufthis.sbcthis);
				}
				public void failed(Throwable xAsynchronousFileChannel sbc) {
					// TODO logging
					..println("error: " + x);
					try {
						sbc.close();
					catch (IOException x2) {
					}
					latch.countDown();
				}
			});
        } 
        catch (IOException x) {
            ..println("Server Stream failed to open file: " + x);
        }
        try {
			latch.await();
        catch (Exception x) {
		}
        
		//TestYaml.testSerial();
	}
	public static void testSerial() {
		ByteBuf bb = Unpooled.buffer();
		try {
			/*
			sb.startList();
			sb.startList();
			sb.value("a");
			//sb.value(null);
			//sb.value("b");
			sb.endList();
			sb.value("c");
			sb.startList();
			sb.value(null);
			sb.endList();
			sb.endList();
			*/
			sb.value("a");
			sb.value("b");
			sb.endList();
			sb.value(null);
			sb.value(22);
			sb.value(2.2);
			sb.value(2.2);
			sb.value(null);
			sb.value(22);
			sb.endList();
			sb.endList();
			sb.field("Name""ted");
			sb.field("Age", 7);
			sb.field("DOB"new DateTime(1998, 8, 3, 17, 12));
			sb.field("Sex""m");
			sb.field("Software");
			sb.value("Afterstep <& or \"");
			sb.value("CTWM this is an abcdefghijklmnopqrstuvwxy is an abcdefghijklmnopqrstuvwxy is /> an abcdefghijklmnopqrstuvwxy is \nan abcdefghijklmnopqrstuvwxy is \tan abcdefghijklmnopqrstuvwxy");
			sb.value("Oroborus");
			sb.endList();
			sb.field("Friends");
			sb.field("Name""macy");
			sb.field("Age", 6);
			sb.field("Sex""f");
			sb.field("Name""rich");
			sb.field("Age", 7);
			sb.field("Sex""m");
			sb.field("Foods");
			sb.value("Apple");
			sb.value("Cookie");
			sb.endList();
			sb.endList();
			sb.field("Name""kathy");
			sb.field("Father");
			sb.field("Name""Ted");
			sb.field("Age", 29);
			sb.field("Age");
			sb.field("DOB"new DateTime(1994, 3, 13, 8, 55));
			sb.field("Sex""f");
			sb.endList();
		}
		catch (Exception x) {
			..println("builder error: " + sb);
		}
		..println("built:\n" + Utf8Decoder.decode(bb));
		ListStruct list = (ListStructsb.toLocal();
		..println("item 2 name: " +  list.getItemAsRecord(1).getFieldAsString("Name"));
		//System.out.println("item 2: " +  list.getItem(1));
		System.exit(0);
	}
	public static void testJson() {
		try {
			sb.value("a");
			sb.value("b");
			sb.endList();
			sb.value(null);
			sb.value(22);
			sb.value(2.2);
			sb.value(2.2);
			sb.value(null);
			sb.value(22);
			sb.endList();
			sb.endList();
			sb.field("Name""ted");
			sb.field("Age", 7);
			sb.field("DOB"new DateTime(1998, 8, 3, 17, 12));
			sb.field("Sex""m");
			sb.field("Software");
			sb.value("Afterstep <& or \"");
			sb.value("CTWM this is an abcdefghijklmnopqrstuvwxy is an abcdefghijklmnopqrstuvwxy is /> an abcdefghijklmnopqrstuvwxy is \nan abcdefghijklmnopqrstuvwxy is \tan abcdefghijklmnopqrstuvwxy");
			sb.value("Oroborus");
			sb.endList();
			sb.field("Friends");
			sb.field("Name""macy");
			sb.field("Age", 6);
			sb.field("Sex""f");
			sb.field("Name""rich");
			sb.field("Age", 7);
			sb.field("Sex""m");
			sb.field("Foods");
			sb.value("Apple");
			sb.value("Cookie");
			sb.endList();
			sb.endList();
			sb.field("Name""kathy");
			sb.field("Father");
			sb.field("Name""Ted");
			sb.field("Age", 29);
			sb.field("Age");
			sb.field("DOB"new DateTime(1994, 3, 13, 8, 55));
			sb.field("Sex""f");
			sb.endList();
		}
		catch (Exception x) {
			..println("builder error: " + sb);
		}
		..println("built:\n" + sb.getMemory());
		ListStruct list = (ListStructsb.toLocal();
		..println("item 2 name: " +  list.getItemAsRecord(1).getFieldAsString("Name"));
		System.exit(0);
	}
	public static void testYaml() {
		Memory ydest = new Memory();
		OutputWrapper os = new OutputWrapper(ydest);
		try {
			sb.value("a");
			sb.value("b");
			sb.endList();
			sb.value(null);
			sb.value(22);
			sb.value(2.2);
			sb.value(2.2);
			sb.value(null);
			sb.value(22);
			sb.endList();
			sb.endList();
			sb.field("Name""ted");
			sb.field("Age", 7);
			sb.field("DOB"new DateTime(1998, 8, 3, 17, 12));
			sb.field("Sex""m");
			sb.field("Software");
			sb.value("Afterstep <& or \"");
			sb.value("CTWM this is an abcdefghijklmnopqrstuvwxy is an abcdefghijklmnopqrstuvwxy is /> an abcdefghijklmnopqrstuvwxy is \nan abcdefghijklmnopqrstuvwxy is \tan abcdefghijklmnopqrstuvwxy");
			sb.value("Oroborus");
			sb.endList();
			sb.field("Friends");
			sb.field("Name""macy");
			sb.field("Age", 6);
			sb.field("Sex""f");
			sb.field("Name""rich");
			sb.field("Age", 7);
			sb.field("Sex""m");
			sb.field("Foods");
			sb.value("Apple");
			sb.value("Cookie");
			sb.endList();
			sb.endList();
			sb.field("Name""kathy");
			sb.field("Father");
			sb.field("Name""Ted");
			sb.field("Age", 29);
			sb.field("Age");
			sb.field("DOB"new DateTime(1994, 3, 13, 8, 55));
			sb.field("Sex""f");
			sb.endList();
		}
		catch (Exception x) {
			..println("builder error: " + sb);
		}
		..println("built:\n" + ydest);
		//String yaml = "---\nboolean: !!bool \"true\"\ninteger: !!int \"3\"\nfloat: !!float \"3.14\"\nnull: !!null\nstr: !!str \"abc\"\n"
		//		+ "---\n- Afterstep\n- CTWM\n- Oroborus";
		//String yaml = "datetime: !!timestamp 2009-12-09T08:35:45.000Z\nboolean: !!bool \"true\"\ninteger: !!int \"3\"\nfloat: !!float \"3.14\"\nnull: !!null\nstr: !!str \"abc\"\n";
		ydest.setPosition(0);
		//System.out.println(CompositeParser.parseYaml(ydest).toString());
		System.exit(0);
	}
New to GrepCode? Check out our FAQ X