List of usage examples for org.apache.hadoop.io Text Text
public Text(byte[] utf8)
From source file:com.asakusafw.dmdl.java.emitter.ProjectiveModelEmitterTest.java
License:Apache License
/** * projection test.// w w w. ja v a 2s . com */ @Test public void projection() { emitDrivers.add(new ProjectionDriver()); ModelLoader loader = generate(); Class<?> projection = loader.modelType("Projection"); ModelWrapper object = loader.newModel("Record"); assertThat(object.unwrap(), instanceOf(projection)); object.setInterfaceType(projection); object.set("hoge", 100); assertThat(object.get("hoge"), is((Object) 100)); object.set("foo", new Text("Hello, Projections!")); assertThat(object.get("foo"), is((Object) new Text("Hello, Projections!"))); }
From source file:com.asakusafw.dmdl.thundergate.driver.CacheSupportEmitterTest.java
License:Apache License
/** * with delete flag (text).//from ww w .j a va 2 s . c o m */ @Test public void cache_delete() { ModelLoader loaded = generateJava("cache_delete"); ModelWrapper model = loaded.newModel("Model"); assertThat(model.unwrap(), is(instanceOf(ThunderGateCacheSupport.class))); ThunderGateCacheSupport support = (ThunderGateCacheSupport) model.unwrap(); model.set("logical_delete_flag", new Text("Y")); assertThat(support.__tgc__Deleted(), is(true)); model.set("logical_delete_flag", new Text("N")); assertThat(support.__tgc__Deleted(), is(false)); model.set("logical_delete_flag", null); assertThat(support.__tgc__Deleted(), is(false)); }
From source file:com.asakusafw.dmdl.thundergate.driver.ModelInputDriverTest.java
License:Apache License
/** * input/output simple records.//from w ww . j av a2 s. c om * @throws Exception if test was failed */ @SuppressWarnings("unchecked") @Test public void simple_record() throws Exception { ModelLoader loader = generateJava("simple_record"); Class<?> type = loader.modelType("Simple"); assertThat(type.isAnnotationPresent(ModelInputLocation.class), is(true)); assertThat(type.isAnnotationPresent(ModelOutputLocation.class), is(true)); ModelWrapper object = loader.newModel("Simple"); DataOutputBuffer output = new DataOutputBuffer(); try (ModelOutput<Object> modelOut = (ModelOutput<Object>) type.getAnnotation(ModelOutputLocation.class) .value().getDeclaredConstructor(RecordEmitter.class) .newInstance(new TsvEmitter(new OutputStreamWriter(output, "UTF-8")))) { object.set("sid", 1L); object.set("value", new Text("hello")); modelOut.write(object.unwrap()); object.set("sid", 2L); object.set("value", new Text("world")); modelOut.write(object.unwrap()); object.set("sid", 3L); object.set("value", null); modelOut.write(object.unwrap()); } DataInputBuffer input = new DataInputBuffer(); input.reset(output.getData(), output.getLength()); try (ModelInput<Object> modelIn = (ModelInput<Object>) type.getAnnotation(ModelInputLocation.class).value() .getDeclaredConstructor(RecordParser.class) .newInstance(new TsvParser(new InputStreamReader(input, "UTF-8")))) { ModelWrapper copy = loader.newModel("Simple"); modelIn.readTo(copy.unwrap()); assertThat(copy.get("sid"), is((Object) 1L)); assertThat(copy.get("value"), is((Object) new Text("hello"))); modelIn.readTo(copy.unwrap()); assertThat(copy.get("sid"), is((Object) 2L)); assertThat(copy.get("value"), is((Object) new Text("world"))); modelIn.readTo(copy.unwrap()); assertThat(copy.get("sid"), is((Object) 3L)); assertThat(copy.getOption("value").isNull(), is(true)); assertThat(input.read(), is(-1)); } }
From source file:com.asakusafw.dmdl.thundergate.driver.ModelInputDriverTest.java
License:Apache License
/** * all primitive types.// w w w . ja v a2 s . co m * @throws Exception if test was failed */ @SuppressWarnings("unchecked") @Test public void primitives() throws Exception { ModelLoader loader = generateJava("primitives"); Class<?> type = loader.modelType("Primitives"); assertThat(type.isAnnotationPresent(ModelInputLocation.class), is(true)); assertThat(type.isAnnotationPresent(ModelOutputLocation.class), is(true)); ModelWrapper object = loader.newModel("Primitives"); object.set("type_boolean", true); object.set("type_byte", (byte) 64); object.set("type_short", (short) 256); object.set("type_int", 100); object.set("type_long", 200L); object.set("type_float", 300.f); object.set("type_double", 400.d); object.set("type_decimal", new BigDecimal("1234.567")); object.set("type_text", new Text("Hello, world!")); object.set("type_date", new Date(2011, 3, 31)); object.set("type_datetime", new DateTime(2011, 3, 31, 23, 30, 1)); DataOutputBuffer output = new DataOutputBuffer(); try (ModelOutput<Object> modelOut = (ModelOutput<Object>) type.getAnnotation(ModelOutputLocation.class) .value().getDeclaredConstructor(RecordEmitter.class) .newInstance(new TsvEmitter(new OutputStreamWriter(output, "UTF-8")))) { modelOut.write(object.unwrap()); modelOut.write(object.unwrap()); modelOut.write(object.unwrap()); } DataInputBuffer input = new DataInputBuffer(); input.reset(output.getData(), output.getLength()); try (ModelInput<Object> modelIn = (ModelInput<Object>) type.getAnnotation(ModelInputLocation.class).value() .getDeclaredConstructor(RecordParser.class) .newInstance(new TsvParser(new InputStreamReader(input, "UTF-8")))) { ModelWrapper copy = loader.newModel("Primitives"); modelIn.readTo(copy.unwrap()); assertThat(object.unwrap(), equalTo(copy.unwrap())); assertThat(input.read(), is(-1)); } }
From source file:com.asakusafw.dmdl.thundergate.emitter.JoinedModelGeneratorTest.java
License:Apache License
/** * simple join./*from ww w. ja va2 s. c o m*/ */ @Test public void simple() { TableModelDescription left = new TableModelBuilder("LEFT") .add(null, "SID", PropertyTypeKind.LONG, Attribute.PRIMARY_KEY) .add(null, "RIGHT_ID", PropertyTypeKind.LONG).add(null, "VALUE", new StringType(255)) .toDescription(); TableModelDescription right = new TableModelBuilder("RIGHT") .add(null, "SID", PropertyTypeKind.LONG, Attribute.PRIMARY_KEY) .add(null, "VALUE", new StringType(255)).toDescription(); JoinedModelDescription join = new JoinedModelBuilder("SIMPLE", left, "l", right, "r") .on("l.RIGHT_ID", "r.SID").add("ID", "r.SID").add("LEFT", "l.VALUE").add("RIGHT", "r.VALUE") .toDescription(); emitDmdl(RecordModelGenerator.generate(left)); emitDmdl(RecordModelGenerator.generate(right)); emitDmdl(JoinedModelGenerator.generate(join)); ModelLoader loader = generateJava(); loader.setNamespace(Constants.SOURCE_VIEW); ModelWrapper object = loader.newModel("Simple"); object.set("id", 127L); assertThat(object.get("id"), eq(127L)); object.set("left", new Text("Hello, left!")); assertThat(object.get("left"), eq(new Text("Hello, left!"))); object.set("right", new Text("Hello, right!")); assertThat(object.get("right"), eq(new Text("Hello, right!"))); Joined annotation = object.unwrap().getClass().getAnnotation(Joined.class); assertThat(annotation, not(nullValue())); assertThat(annotation.terms().length, is(2)); loader.setNamespace(Constants.SOURCE_TABLE); Joined.Term a = annotation.terms()[0]; assertThat(a.source(), eq(loader.modelType("Left"))); assertThat(a.mappings().length, is(2)); assertThat(a.mappings(), hasItemInArray(mapping("rightId", "id"))); assertThat(a.mappings(), hasItemInArray(mapping("value", "left"))); assertThat(a.shuffle(), is(grouping("rightId"))); Joined.Term b = annotation.terms()[1]; assertThat(b.source(), eq(loader.modelType("Right"))); assertThat(b.mappings().length, is(2)); assertThat(b.mappings(), hasItemInArray(mapping("sid", "id"))); assertThat(b.mappings(), hasItemInArray(mapping("value", "right"))); assertThat(b.shuffle(), is(grouping("sid"))); }
From source file:com.asakusafw.dmdl.thundergate.emitter.RecordModelGeneratorTest.java
License:Apache License
/** * simple table./*from ww w . ja v a2s . c om*/ */ @Test public void simple() { TableModelDescription table = new TableModelBuilder("SIMPLE").add("comment", "VALUE", new StringType(255)) .toDescription(); emitDmdl(RecordModelGenerator.generate(table)); ModelLoader loader = generateJava(); loader.setNamespace(Constants.SOURCE_TABLE); ModelWrapper object = loader.newModel("Simple"); object.set("value", new Text("Hello, world!")); assertThat(object.get("value"), eq(new Text("Hello, world!"))); }
From source file:com.asakusafw.dmdl.thundergate.emitter.RecordModelGeneratorTest.java
License:Apache License
/** * all types.// ww w.j a v a 2 s .c o m */ @Test public void primitives() { TableModelDescription table = new TableModelBuilder("SIMPLE") .add(null, "TYPE_BOOLEAN", PropertyTypeKind.BOOLEAN).add(null, "TYPE_BYTE", PropertyTypeKind.BYTE) .add(null, "TYPE_SHORT", PropertyTypeKind.SHORT).add(null, "TYPE_INT", PropertyTypeKind.INT) .add(null, "TYPE_LONG", PropertyTypeKind.LONG).add(null, "TYPE_DATE", PropertyTypeKind.DATE) .add(null, "TYPE_DATETIME", PropertyTypeKind.DATETIME).add(null, "TYPE_TEXT", new StringType(255)) .add(null, "TYPE_DECIMAL", new DecimalType(10, 10)).toDescription(); emitDmdl(RecordModelGenerator.generate(table)); ModelLoader loader = generateJava(); loader.setNamespace(Constants.SOURCE_TABLE); ModelWrapper object = loader.newModel("Simple"); object.set("type_boolean", true); assertThat(object.is("type_boolean"), eq(true)); object.set("type_byte", (byte) 64); assertThat(object.get("type_byte"), eq((byte) 64)); object.set("type_short", (short) 256); assertThat(object.get("type_short"), eq((short) 256)); object.set("type_int", 100); assertThat(object.get("type_int"), eq(100)); object.set("type_long", 200L); assertThat(object.get("type_long"), eq(200L)); object.set("type_decimal", new BigDecimal("1234.567")); assertThat(object.get("type_decimal"), eq(new BigDecimal("1234.567"))); object.set("type_text", new Text("Hello, world!")); assertThat(object.get("type_text"), eq(new Text("Hello, world!"))); object.set("type_date", new Date(2011, 3, 31)); assertThat(object.get("type_date"), eq(new Date(2011, 3, 31))); object.set("type_datetime", new DateTime(2011, 3, 31, 23, 30, 1)); assertThat(object.get("type_datetime"), eq(new DateTime(2011, 3, 31, 23, 30, 1))); }
From source file:com.asakusafw.dmdl.thundergate.emitter.RecordModelGeneratorTest.java
License:Apache License
/** * table with primary keys./*from w w w. ja v a 2s. c om*/ */ @Test public void primary_keys() { TableModelDescription table = new TableModelBuilder("SIMPLE") .add("SID", "SID", PropertyTypeKind.LONG, Attribute.PRIMARY_KEY) .add("comment", "VALUE", new StringType(255)).toDescription(); emitDmdl(RecordModelGenerator.generate(table)); ModelLoader loader = generateJava(); loader.setNamespace(Constants.SOURCE_TABLE); ModelWrapper object = loader.newModel("Simple"); object.set("sid", 257L); assertThat(object.get("sid"), eq(257L)); object.set("value", new Text("Hello, DMDL!")); assertThat(object.get("value"), eq(new Text("Hello, DMDL!"))); PrimaryKey pk = object.unwrap().getClass().getAnnotation(PrimaryKey.class); assertThat(pk, not(nullValue())); assertThat(pk.value(), is(new String[] { "sid" })); }
From source file:com.asakusafw.dmdl.thundergate.emitter.ThunderGateModelEmitterTest.java
License:Apache License
/** * simple table./* w w w .ja v a 2 s. c o m*/ * @throws Exception if test was failed */ @Test public void table() throws Exception { TableModelDescription table = new TableModelBuilder("SIMPLE").add("comment", "VALUE", new StringType(255)) .toDescription(); ThunderGateModelEmitter emitter = new ThunderGateModelEmitter(config()); emitter.emit(table); ModelLoader loader = generateJava(); loader.setNamespace(Constants.SOURCE_TABLE); ModelWrapper object = loader.newModel("Simple"); object.set("value", new Text("Hello, world!")); assertThat(object.get("value"), eq(new Text("Hello, world!"))); }
From source file:com.asakusafw.dmdl.thundergate.emitter.ThunderGateModelEmitterTest.java
License:Apache License
/** * simple join.// ww w. j a v a 2s. co m * @throws Exception if test was failed */ @Test public void join() throws Exception { TableModelDescription left = new TableModelBuilder("LEFT") .add(null, "SID", PropertyTypeKind.LONG, Attribute.PRIMARY_KEY) .add(null, "RIGHT_ID", PropertyTypeKind.LONG).add(null, "VALUE", new StringType(255)) .toDescription(); TableModelDescription right = new TableModelBuilder("RIGHT") .add(null, "SID", PropertyTypeKind.LONG, Attribute.PRIMARY_KEY) .add(null, "VALUE", new StringType(255)).toDescription(); JoinedModelDescription join = new JoinedModelBuilder("SIMPLE", left, "l", right, "r") .on("l.RIGHT_ID", "r.SID").add("ID", "r.SID").add("LEFT", "l.VALUE").add("RIGHT", "r.VALUE") .toDescription(); ThunderGateModelEmitter emitter = new ThunderGateModelEmitter(config()); emitter.emit(left); emitter.emit(right); emitter.emit(join); ModelLoader loader = generateJava(); loader.setNamespace(Constants.SOURCE_VIEW); ModelWrapper object = loader.newModel("Simple"); object.set("id", 127L); assertThat(object.get("id"), eq(127L)); object.set("left", new Text("Hello, left!")); assertThat(object.get("left"), eq(new Text("Hello, left!"))); object.set("right", new Text("Hello, right!")); assertThat(object.get("right"), eq(new Text("Hello, right!"))); }