/** * Creates a data model from the raw content. * * @param content * the data definition * @return the data model instance */ public static DataStructureDataReplaceModel parseReplace(String location, String content) { DataStructureDataReplaceModel result = new DataStructureDataReplaceModel(); setContentModelAttributes(location, content, result, IDataStructureModel.TYPE_REPLACE); return result; }
/** * Creates a data model from the raw content. * * @param content * the data definition * @return the data model instance */ public static DataStructureDataDeleteModel parseDelete(String location, String content) { DataStructureDataDeleteModel result = new DataStructureDataDeleteModel(); setContentModelAttributes(location, content, result, IDataStructureModel.TYPE_DELETE); return result; }
/** * Creates a data model from the raw content. * * @param content * the data definition * @return the data model instance */ public static DataStructureDataUpdateModel parseUpdate(String location, String content) { DataStructureDataUpdateModel result = new DataStructureDataUpdateModel(); setContentModelAttributes(location, content, result, IDataStructureModel.TYPE_UPDATE); return result; }
private static void setViewAttributes(String location, DataStructureSchemaModel result, JsonObject structure, String type, DataStructureViewModel view) { view.setLocation(location); view.setName(structure.get("name").getAsString()); view.setType(type); view.setQuery(structure.get("columns").getAsJsonArray().get(0).getAsJsonObject().get("query").getAsString()); view.setCreatedAt(result.getCreatedAt()); view.setCreatedBy(result.getCreatedBy()); view.setHash(result.getHash()); }
private void addDataStructureModelsFromSchema(DataStructureSchemaModel schemaModel) { for (DataStructureTableModel tableModel : schemaModel.getTables()) { DATA_STRUCTURE_MODELS.put(tableModel.getName(), tableModel); } for (DataStructureViewModel viewModel : schemaModel.getViews()) { DATA_STRUCTURE_MODELS.put(viewModel.getName(), viewModel); } }
private static void setColumnAttributes(JsonObject column, DataStructureTableColumnModel columnModel) { columnModel.setName(column.get("name") != null && !column.get("name").isJsonNull() ? column.get("name").getAsString() : "unknown"); columnModel.setType(column.get("type") != null && !column.get("type").isJsonNull() ? column.get("type").getAsString() : "unknown"); columnModel.setLength(column.get("length") != null && !column.get("length").isJsonNull() ? column.get("length").getAsString() : null); columnModel.setPrimaryKey(column.get("primaryKey") != null && !column.get("primaryKey").isJsonNull() ? column.get("primaryKey").getAsBoolean() : false); columnModel.setUnique(column.get("unique") != null && !column.get("unique").isJsonNull() ? column.get("unique").getAsBoolean() : false); columnModel.setNullable(column.get("nullable") != null && !column.get("nullable").isJsonNull() ? column.get("nullable").getAsBoolean() : false); columnModel.setDefaultValue(column.get("defaultValue") != null && !column.get("defaultValue").isJsonNull() ? column.get("defaultValue").getAsString() : null); columnModel.setPrecision(column.get("precision") != null && !column.get("precision").isJsonNull() ? column.get("precision").getAsString() : null); columnModel.setScale(column.get("scale") != null && !column.get("scale").isJsonNull() ? column.get("scale").getAsString() : null); }
processing.add(dataStructureModel.getName()); List<DataStructureDependencyModel> dependencies = dataStructureModel.getDependencies(); for (DataStructureDependencyModel dependencyModel : dependencies) { String dependencyName = dependencyModel.getName(); if (input.containsKey(dependencyName)) { if (processing.contains(dependencyName)) { throw new DataStructureModelException(String.format("Cyclic dependency %s in %s", dataStructureModel.getName(), dependencyName)); followDependencies(input, output, external, processing, dependentModel); output.add(dependencyName); processing.remove(dataStructureModel.getName());
/** * Creates a data model from the raw content. * * @param content * the data definition * @return the data model instance */ public static DataStructureDataAppendModel parseAppend(String location, String content) { DataStructureDataAppendModel result = new DataStructureDataAppendModel(); setContentModelAttributes(location, content, result, IDataStructureModel.TYPE_APPEND); return result; }
/** * Creates a table model from the raw content. * * @param content * the table definition * @return the table model instance */ public static DataStructureTableModel parseTable(String content) { DataStructureTableModel result = GsonHelper.GSON.fromJson(content, DataStructureTableModel.class); result.setHash(DigestUtils.md5Hex(content)); return result; }
/** * Creates a view model from the raw content. * * @param content * the view definition * @return the view model instance */ public static DataStructureViewModel parseView(String content) { DataStructureViewModel result = GsonHelper.GSON.fromJson(content, DataStructureViewModel.class); result.setHash(DigestUtils.md5Hex(content)); return result; }
@Override public DataStructureTableModel parseTable(String json) { return DataStructureModelFactory.parseTable(json); }
@Override public DataStructureViewModel parseView(byte[] json) { return DataStructureModelFactory.parseView(json); }
@Override public DataStructureDataReplaceModel parseReplace(String location, String data) { return DataStructureModelFactory.parseReplace(location, data); }
@Override public DataStructureDataAppendModel parseAppend(String location, String data) { return DataStructureModelFactory.parseAppend(location, data); }
@Override public String toString() { return toJson(); }
@Override public DataStructureDataDeleteModel parseDelete(String location, String data) { return DataStructureModelFactory.parseDelete(location, data); }
@Override public DataStructureDataUpdateModel parseUpdate(String location, String data) { return DataStructureModelFactory.parseUpdate(location, data); }
public DataStructureSchemaModel parseSchema(String location, String content) { return DataStructureModelFactory.parseSchema(location, content); }
@Override public DataStructureTableModel parseTable(byte[] json) { return DataStructureModelFactory.parseTable(json); }
@Override public DataStructureViewModel parseView(String json) { return DataStructureModelFactory.parseView(json); }