Example usage for org.apache.hadoop.io Text Text

List of usage examples for org.apache.hadoop.io Text Text

Introduction

In this page you can find the example usage for org.apache.hadoop.io Text Text.

Prototype

public Text(byte[] utf8) 

Source Link

Document

Construct from a byte array.

Usage

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!")));
}