Search in sources :

Example 1 with MongoMetastoreException

use of org.apache.drill.metastore.mongo.exception.MongoMetastoreException in project drill by apache.

the class TablesOutputDataTransformer method execute.

@Override
public List<TableMetadataUnit> execute() {
    List<TableMetadataUnit> results = new ArrayList<>();
    for (Map<MethodHandle, Object> valueToSet : valuesToSet()) {
        TableMetadataUnit.Builder builder = TableMetadataUnit.builder();
        for (Map.Entry<MethodHandle, Object> entry : valueToSet.entrySet()) {
            try {
                entry.getKey().invokeWithArguments(builder, entry.getValue());
            } catch (Throwable e) {
                throw new MongoMetastoreException(String.format("Unable to invoke setter for [%s] using [%s]", TableMetadataUnit.Builder.class.getSimpleName(), entry.getKey()), e);
            }
        }
        results.add(builder.build());
    }
    return results;
}
Also used : TableMetadataUnit(org.apache.drill.metastore.components.tables.TableMetadataUnit) ArrayList(java.util.ArrayList) Map(java.util.Map) MongoMetastoreException(org.apache.drill.metastore.mongo.exception.MongoMetastoreException) MethodHandle(java.lang.invoke.MethodHandle)

Aggregations

MethodHandle (java.lang.invoke.MethodHandle)1 ArrayList (java.util.ArrayList)1 Map (java.util.Map)1 TableMetadataUnit (org.apache.drill.metastore.components.tables.TableMetadataUnit)1 MongoMetastoreException (org.apache.drill.metastore.mongo.exception.MongoMetastoreException)1