public void setSinkUri(IdRef<?> sinkId) { this.sinkUri = sinkId.getUri(); this.sinkId = null; }
private void writeObject(ObjectOutputStream out) throws IOException { out.writeObject(getUri()); }
@Override public JsonElement serialize(IdRef<?> idRef, Type type, JsonSerializationContext ctx) { return new JsonPrimitive(idRef.getUri()); }
private List<String> convertToListOfUris(List<IdRef<?>> ids) { List<String> uris = new ArrayList<>(ids.size()); for (IdRef<?> id : ids) { uris.add(id.getUri()); } return uris; }
private List<String> convertToListOfUris(List<IdRef<?>> ids) { List<String> uris = new ArrayList<>(ids.size()); for (IdRef<?> id : ids) { uris.add(id.getUri()); } return uris; }
private void logSave(IdRef<?> sinkId) { logger.info(String.format("join-task - saving sinkId: %s", sinkId.getUri())); }
@Override public void serialize(IdRef idRef, ObjectWriter writer, Context ctx) throws Exception { writer.writeString(idRef.getUri()); }
public String getUri() { StringBuilder sb = new StringBuilder(); if (parentId != null) { sb.append(parentId.getUri()); } sb.append(r.getFeatures().getByClazz(this.clazz).getEndpointPath()); sb.append("/"); sb.append(id != null ? id : name); return sb.toString(); }
private ActionKey parseCustomActionKey() { if (id == null) { return rootCollectionCustomActionKey(); } if (id.getUri().length() == uri.length()) { return null; } String lastToken = uri.substring(id.getUri().length() + 1); if (hasTwoParts(lastToken)) { return nestedCollectionCustomActionKey(lastToken); } return singleObjectCustomActionKey(lastToken); }
public static String getSinkGroupUri(IdRef<?> sinkId) { IdRef<?> sinkGroupId = sinkId; while (sinkGroupId.getParentId() != null) { sinkGroupId = sinkGroupId.getParentId(); } return sinkGroupId.getUri(); }
private boolean parseOverCollection() { if (id == null) { return true; } if (id.getUri().length() == uri.length()) { return false; } String lastToken = uri.substring(id.getUri().length() + 1); if (hasTwoParts(lastToken)) { return true; } ActionKey actionKey = new ActionKey(rightCustomActionVerb(), lastToken, false); return !features.hasCustomAction(id.getClazz(), actionKey); }
private void log() { logger.info(String.format("join-work - pipe: %s, sourceId: %s, version: %d", payload.getPipeClazz().getName(), payload.getSourceId().getUri(), payload.getSourceMarker().getVersion())); }
private Value<Void> execute() { List<Value<Void>> jobs = new LinkedList<>(); List<? extends IdRef<?>> ids = sinkIds(); if (cursor != null) { jobs.add(futureCall(new DrainSinksJob(), immediate(pipeClazz), immediate(cursor))); } for (IdRef<?> id : ids) { jobs.add(futureCall(new DrainSinkJob(), immediate(pipeClazz), immediate(id.getUri()), null)); } return futureCall(new WaiterJob(), futureList(jobs)); }
private Value<Void> execute() { List<Value<Void>> jobs = new LinkedList<>(); List<? extends IdRef<?>> ids = sourceIds(); if (cursor != null) { jobs.add(futureCall(new FlushSourcesJob(), immediate(pipeClazz), immediate(cursor))); } for (IdRef<?> id : ids) { jobs.add(futureCall(new FlushSourceJob(), immediate(pipeClazz), immediate(id.getUri()))); } return futureCall(new WaiterJob(), futureList(jobs)); }
private Value<Void> execute() { List<? extends IdRef<?>> markerIds = sinkMarkerIds(); FutureValue<Void> waitForClearSink = null; if (cursor != null) { waitForClearSink = futureCall(new DrainSinkJob(), immediate(pipeClazz), immediate(sinkId.getUri()), immediate(cursor)); } else { clearSink(); } destroySinkMarkers(markerIds); return waitForClearSink; }
private Object getFieldValue(FieldModel fieldModel, ObjectHolder objectHolder) { Object value = fieldModel.getValue(objectHolder.getObject()); if (value == null) { return null; } if (fieldModel.isEnum(value)) { return value.toString(); } if (fieldModel.isSaveAsJson()) { return JsonUtils.to(value); } if (fieldModel.isSaveAsLazyJson()) { String json = ((LazyJson) value).getJson(); if (json == null) { return null; } return json; } if (fieldModel.isIdRef()) { IdRef<?> idRef = (IdRef<?>) value; return idRef.getUri(); } if (fieldModel.isSaveAsText()) { return value.toString(); } if (fieldModel.isListOfIds()) { return convertToListOfUris((List<IdRef<?>>) value); } return value; }
public <T> Object getActualFieldValue(String fieldName, Class<T> clazz, Object value) { Field field = ReflectionUtils.getFieldRecursively(clazz, fieldName); FieldModel fieldModel = new FieldModel(field); if (fieldModel.isCollection(value)) { return getActualListFieldValue(fieldName, clazz, (Collection<?>) value); } if (fieldModel.isId()) { return getActualKeyFieldValue(value); } if (fieldModel.isEnum(value)) { return value.toString(); } if (fieldModel.isIndexNormalizable()) { return normalizeValue(value); } if (value instanceof IdRef) { return ((IdRef<?>) value).getUri(); } if (fieldModel.isDate() && value instanceof String) { return DateUtils.toTimestamp((String) value); } return value; }
public <T> Object getActualFieldValue(String fieldName, Class<T> clazz, Object value) { Field field = ReflectionUtils.getFieldRecursively(clazz, fieldName); FieldModel fieldModel = new FieldModel(field); if (fieldModel.isCollection(value)) { return getActualListFieldValue(fieldName, clazz, (Collection<?>) value); } if (fieldModel.isId()) { return getActualKeyFieldValue(value); } if (fieldModel.isEnum(value)) { return value.toString(); } if (fieldModel.isIndexNormalizable()) { return normalizeValue(value); } if (value instanceof IdRef) { return ((IdRef<?>) value).getUri(); } if (fieldModel.isDate() && value instanceof String) { return DateUtils.toTimestamp((String) value); } return value; }
private Object getFieldValue(FieldModel fieldModel, ObjectHolder objectHolder) { Object value = fieldModel.getValue(objectHolder.getObject()); if (value == null) { return null; } if (fieldModel.isEnum(value)) { return value.toString(); } if (fieldModel.isSaveAsJson()) { return new Text(JsonUtils.to(value)); } if (fieldModel.isSaveAsLazyJson()) { String json = ((LazyJson) value).getJson(); if (json == null) { return null; } return new Text(json); } if (fieldModel.isIdRef()) { IdRef<?> idRef = (IdRef<?>) value; return idRef.getUri(); } if (fieldModel.isSaveAsText()) { return new Text(value.toString()); } if (fieldModel.isListOfIds()) { return convertToListOfUris((List<IdRef<?>>) value); } return value; }