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()));
}
}
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();
}
}
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);
}
}
Aggregations