Search in sources :

Example 41 with XAttr

use of org.apache.hadoop.fs.XAttr in project hadoop by apache.

the class TestJsonUtil method testToXAttrMap.

@Test
public void testToXAttrMap() throws IOException {
    String jsonString = "{\"XAttrs\":[{\"name\":\"user.a1\",\"value\":\"0x313233\"}," + "{\"name\":\"user.a2\",\"value\":\"0x313131\"}]}";
    ObjectReader reader = new ObjectMapper().readerFor(Map.class);
    Map<?, ?> json = reader.readValue(jsonString);
    XAttr xAttr1 = (new XAttr.Builder()).setNameSpace(XAttr.NameSpace.USER).setName("a1").setValue(XAttrCodec.decodeValue("0x313233")).build();
    XAttr xAttr2 = (new XAttr.Builder()).setNameSpace(XAttr.NameSpace.USER).setName("a2").setValue(XAttrCodec.decodeValue("0x313131")).build();
    List<XAttr> xAttrs = Lists.newArrayList();
    xAttrs.add(xAttr1);
    xAttrs.add(xAttr2);
    Map<String, byte[]> xAttrMap = XAttrHelper.buildXAttrMap(xAttrs);
    Map<String, byte[]> parsedXAttrMap = JsonUtilClient.toXAttrs(json);
    Assert.assertEquals(xAttrMap.size(), parsedXAttrMap.size());
    Iterator<Entry<String, byte[]>> iter = xAttrMap.entrySet().iterator();
    while (iter.hasNext()) {
        Entry<String, byte[]> entry = iter.next();
        Assert.assertArrayEquals(entry.getValue(), parsedXAttrMap.get(entry.getKey()));
    }
}
Also used : Entry(java.util.Map.Entry) AclEntry(org.apache.hadoop.fs.permission.AclEntry) ObjectReader(com.fasterxml.jackson.databind.ObjectReader) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) XAttr(org.apache.hadoop.fs.XAttr) Test(org.junit.Test)

Example 42 with XAttr

use of org.apache.hadoop.fs.XAttr in project SSM by Intel-bigdata.

the class DBAdapter method getXattrTable.

private Map<String, byte[]> getXattrTable(String sql) throws SQLException {
    QueryHelper queryHelper = new QueryHelper(sql);
    ResultSet rs;
    List<XAttr> list = new LinkedList<>();
    try {
        rs = queryHelper.executeQuery();
        while (rs.next()) {
            XAttr xAttr = new XAttr.Builder().setNameSpace(XAttr.NameSpace.valueOf(rs.getString("namespace"))).setName(rs.getString("name")).setValue(rs.getBytes("value")).build();
            list.add(xAttr);
        }
        return XAttrHelper.buildXAttrMap(list);
    } finally {
        queryHelper.close();
    }
}
Also used : ResultSet(java.sql.ResultSet) LinkedList(java.util.LinkedList) XAttr(org.apache.hadoop.fs.XAttr)

Example 43 with XAttr

use of org.apache.hadoop.fs.XAttr in project SSM by Intel-bigdata.

the class DBAdapter method insertXattrTable.

public synchronized boolean insertXattrTable(Long fid, Map<String, byte[]> map) throws SQLException {
    String sql = "INSERT INTO xattr (fid, namespace, name, value) " + "VALUES (?, ?, ?, ?)";
    Connection conn = getConnection();
    PreparedStatement p = null;
    try {
        conn.setAutoCommit(false);
        p = conn.prepareStatement(sql);
        for (Map.Entry<String, byte[]> e : map.entrySet()) {
            XAttr xa = XAttrHelper.buildXAttr(e.getKey(), e.getValue());
            p.setLong(1, fid);
            p.setString(2, String.valueOf(xa.getNameSpace()));
            p.setString(3, xa.getName());
            p.setBytes(4, xa.getValue());
            p.addBatch();
        }
        int[] i = p.executeBatch();
        p.close();
        p = null;
        conn.commit();
        conn.setAutoCommit(true);
        if (i.length == map.size()) {
            return true;
        } else {
            return false;
        }
    } finally {
        if (p != null && !p.isClosed()) {
            p.close();
        }
        closeConnection(conn);
    }
}
Also used : Connection(java.sql.Connection) PreparedStatement(java.sql.PreparedStatement) HashMap(java.util.HashMap) Map(java.util.Map) XAttr(org.apache.hadoop.fs.XAttr)

Aggregations

XAttr (org.apache.hadoop.fs.XAttr)43 IOException (java.io.IOException)13 Test (org.junit.Test)7 HdfsProtos (org.apache.hadoop.hdfs.protocol.proto.HdfsProtos)5 FileNotFoundException (java.io.FileNotFoundException)4 XAttrProto (org.apache.hadoop.hdfs.protocol.proto.XAttrProtos.XAttrProto)4 InvalidProtocolBufferException (com.google.protobuf.InvalidProtocolBufferException)2 ByteArrayOutputStream (java.io.ByteArrayOutputStream)2 ArrayList (java.util.ArrayList)2 HadoopIllegalArgumentException (org.apache.hadoop.HadoopIllegalArgumentException)2 CipherSuite (org.apache.hadoop.crypto.CipherSuite)2 CryptoProtocolVersion (org.apache.hadoop.crypto.CryptoProtocolVersion)2 AccessControlException (org.apache.hadoop.security.AccessControlException)2 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)1 ObjectReader (com.fasterxml.jackson.databind.ObjectReader)1 VisibleForTesting (com.google.common.annotations.VisibleForTesting)1 ImmutableList (com.google.common.collect.ImmutableList)1 ByteArrayInputStream (java.io.ByteArrayInputStream)1 DataInputStream (java.io.DataInputStream)1 DataOutputStream (java.io.DataOutputStream)1