@Override public ImmutableSet<String> getTableNames(ElementType elementType, String elementId, Authorizations authorizations) { try (Handle handle = dbi.open()) { Query<String> rows = handle .createQuery( String.format( "select distinct %s from %s where %s = ? AND %s = ?", TABLE_NAME_COLUMN_NAME, tableName, ELEMENT_TYPE_COLUMN_NAME, ELEMENT_ID_COLUMN_NAME ) ) .bind(0, elementType.name()) .bind(1, elementId) .map(new TableNameResultSetMapper()); ImmutableSet.Builder<String> result = ImmutableSet.builder(); for (String tableName : rows) { result.add(tableName); } return result.build(); } }
private void addActionRequestBuilderForFlush( Element element, String extendedDataTableName, String rowId, UpdateRequestBuilder updateRequestBuilder ) { addActionRequestBuilderForFlush( ElementType.getTypeFromElement(element), element.getId(), extendedDataTableName, rowId, updateRequestBuilder ); }
@Override public ElementType convert(Class parameterType, String parameterName, String[] value) { return ElementType.valueOf(value[0].toUpperCase()); } }
ElementType type = ElementType.getTypeFromElement(element); if (type.equals(ElementType.VERTEX)) { return new ClientApiWorkspaceDiff.PropertyItem( type.name().toLowerCase(), element.getId(), VisalloProperties.CONCEPT_TYPE.getPropertyValue(element), } else { return new ClientApiWorkspaceDiff.PropertyItem( type.name().toLowerCase(), element.getId(), ((Edge) element).getLabel(),
@Override protected boolean isIncluded(ExtendedDataRow row) { ExtendedDataRowId rowId = row.getId(); return (elementType == null || elementType.equals(rowId.getElementType())) && (elementId == null || elementId.equals(rowId.getElementId())) && (tableName == null || tableName.equals(rowId.getTableName())); } };
@Override public int hashCode() { int result = elementType.hashCode(); result = 31 * result + elementId.hashCode(); result = 31 * result + tableName.hashCode(); result = 31 * result + rowId.hashCode(); return result; }
@Override public int compareTo(ExtendedDataRowId other) { int i = this.getElementType().compareTo(other.getElementType()); if (i != 0) { return i; } i = this.getElementId().compareTo(other.getElementId()); if (i != 0) { return i; } i = this.getTableName().compareTo(other.getTableName()); if (i != 0) { return i; } i = this.getRowId().compareTo(other.getRowId()); if (i != 0) { return i; } return 0; }
@Override protected boolean isIncluded(ExtendedDataRow row) { ExtendedDataRowId rowId = row.getId(); return (elementType == null || elementType.equals(rowId.getElementType())) && (elementId == null || elementId.equals(rowId.getElementId())) && (tableName == null || tableName.equals(rowId.getTableName())); } };
@Override public int hashCode() { int result = elementType.hashCode(); result = 31 * result + elementId.hashCode(); result = 31 * result + tableName.hashCode(); result = 31 * result + rowId.hashCode(); return result; }
@Override public int compareTo(ExtendedDataRowId other) { int i = this.getElementType().compareTo(other.getElementType()); if (i != 0) { return i; } i = this.getElementId().compareTo(other.getElementId()); if (i != 0) { return i; } i = this.getTableName().compareTo(other.getTableName()); if (i != 0) { return i; } i = this.getRowId().compareTo(other.getRowId()); if (i != 0) { return i; } return 0; }
protected Property getElementTypeProperty() { if (elementTypeProperty == null) { elementTypeProperty = new MutablePropertyImpl( ElementMutation.DEFAULT_KEY, ExtendedDataRow.ELEMENT_TYPE, getId().getElementType().name(), null, null, null, null, FetchHints.ALL ); } return elementTypeProperty; }
private void addActionRequestBuilderForFlush( Element element, String extendedDataTableName, String rowId, UpdateRequestBuilder updateRequestBuilder ) { addActionRequestBuilderForFlush( ElementType.getTypeFromElement(element), element.getId(), extendedDataTableName, rowId, updateRequestBuilder ); }
public static ElementExtendedData fromJsonString(String str) { JSONObject json = new JSONObject(str); ElementType elementType = null; String elementTypeString = json.optString("elementType"); if (!Strings.isNullOrEmpty(elementTypeString)) { elementType = ElementType.valueOf(elementTypeString.toUpperCase()); } String elementId = json.optString("elementId", null); String tableName = json.optString("tableName", null); return new ElementExtendedData(elementType, elementId, tableName); }
@Override protected boolean isIncluded(ExtendedDataRow row) { ExtendedDataRowId rowId = row.getId(); return elementType.equals(rowId.getElementType()) && elementIdRange.isInRange(rowId.getElementId()); } };
@Override public QueryableIterable<ExtendedDataRow> getExtendedData(String tableName) { return new ExtendedDataQueryableIterable( getGraph(), this, tableName, graph.getExtendedDataTable(ElementType.getTypeFromElement(this), id, tableName, getFetchHints(), authorizations) ); } }
private void applyExtendedDataFilters(QueryAndData queryAndData, SearchOptions searchOptions) { Query query = queryAndData.getQuery(); String[] filterStrings = searchOptions.getOptionalParameter("extendedDataFilters[]", String[].class); if (filterStrings == null || filterStrings.length == 0) { return; } List<HasExtendedDataFilter> filters = new ArrayList<>(); for (String filterString : filterStrings) { JSONObject filterJson = new JSONObject(filterString); String elementTypeString = filterJson.optString("elementType"); ElementType elementType = elementTypeString == null ? null : ElementType.valueOf(elementTypeString); String elementId = filterJson.optString("elementId"); String tableName = filterJson.optString("tableName"); filters.add(new HasExtendedDataFilter(elementType, elementId, tableName)); } query.hasExtendedData(filters); }
@Override protected boolean isIncluded(ExtendedDataRow row) { ExtendedDataRowId rowId = row.getId(); return elementType.equals(rowId.getElementType()) && elementIdRange.isInRange(rowId.getElementId()); } };
protected Property getElementTypeProperty() { if (elementTypeProperty == null) { elementTypeProperty = new MutablePropertyImpl( ElementMutation.DEFAULT_KEY, ExtendedDataRow.ELEMENT_TYPE, getId().getElementType().name(), null, null, null, null, FetchHints.ALL ); } return elementTypeProperty; }
protected void deleteAllExtendedDataForElement(Element element, Authorizations authorizations) { if (!element.getFetchHints().isIncludeExtendedDataTableNames() || element.getExtendedDataTableNames().size() <= 0) { return; } for (ExtendedDataRow row : getExtendedData(ElementType.getTypeFromElement(element), element.getId(), null, authorizations)) { deleteExtendedDataRow(row.getId(), authorizations); } }