public XMLMetadata getXMLMetadata() { if (metadata == null) { try { metadata = xmlMetadataResponse.getBody(); } finally { this.close(); } } return metadata; }
public XMLMetadata getXMLMetadata() { if (metadata == null) { try { metadata = xmlMetadataResponse.getBody(); } finally { this.close(); } } return metadata; }
@Override public Edm getEdm(final String metadataETag) { synchronized (this) { if (this.edm == null || (metadataETag != null && !metadataETag.equals(this.metadataETag))) { final EdmMetadataRequest metadataReq = getRetrieveRequestFactory().getMetadataRequest(serviceRoot); final ODataRetrieveResponse<Edm> metadataRes = metadataReq.execute(); this.metadataETag = metadataRes.getETag(); this.edm = metadataRes.getBody(); } } return this.edm; }
@Override public Edm getEdm(final String metadataETag) { synchronized (this) { if (this.edm == null || (metadataETag != null && !metadataETag.equals(this.metadataETag))) { final EdmMetadataRequest metadataReq = getRetrieveRequestFactory().getMetadataRequest(serviceRoot); final ODataRetrieveResponse<Edm> metadataRes = metadataReq.execute(); this.metadataETag = metadataRes.getETag(); this.edm = metadataRes.getBody(); } } return this.edm; }
@Override protected void load() { try { if (this.uri != null) { final ODataPropertyRequest<ClientProperty> req = getClient().getRetrieveRequestFactory().getPropertyRequest(uri.build()); final ODataRetrieveResponse<ClientProperty> res = req.execute(); this.internal = res.getBody().getValue(); } } catch (IllegalArgumentException e) { LOG.warn("Complex at '" + uri + "' not found", e); throw e; } catch (Exception e) { LOG.warn("Error retrieving complex '" + uri + "'", e); throw new IllegalArgumentException("Error retrieving " + typeRef.getSimpleName(), e); } }
@Override protected void load() { try { if (this.uri != null) { final ODataPropertyRequest<ClientProperty> req = getClient().getRetrieveRequestFactory().getPropertyRequest(uri.build()); final ODataRetrieveResponse<ClientProperty> res = req.execute(); this.internal = res.getBody().getValue(); } } catch (IllegalArgumentException e) { LOG.warn("Complex at '" + uri + "' not found", e); throw e; } catch (Exception e) { LOG.warn("Error retrieving complex '" + uri + "'", e); throw new IllegalArgumentException("Error retrieving " + typeRef.getSimpleName(), e); } }
response = request.execute(); ClientEntitySetIterator<ClientEntitySet, ClientEntity> iterator = response.getBody();
public void load() { if (this.uri != null) { final ODataRetrieveResponse<InputStream> res = getClient().getRetrieveRequestFactory().getMediaRequest(this.uri).execute(); contentType = res.getContentType(); stream = res.getBody(); } }
public void load() { if (this.uri != null) { final ODataRetrieveResponse<InputStream> res = getClient().getRetrieveRequestFactory().getMediaRequest(this.uri).execute(); contentType = res.getContentType(); stream = res.getBody(); } }
@Override protected void load() { // Search against the service final Object key = uuid.getKey(); try { final ODataEntityRequest<ClientEntity> req = getClient().getRetrieveRequestFactory().getEntityRequest(uri.build()); req.setPrefer(getClient().newPreferences().includeAnnotations("*")); final ODataRetrieveResponse<ClientEntity> res = req.execute(); final ClientEntity entity = res.getBody(); if (entity == null) { throw new IllegalArgumentException("Invalid " + typeRef.getSimpleName() + "(" + key + ")"); } setEntity(entity); setETag(res.getETag()); if (key != null && !key.equals(CoreUtils.getKey(getClient(), this, typeRef, entity))) { throw new IllegalArgumentException("Invalid " + typeRef.getSimpleName() + "(" + key + ")"); } if (this.stream != null) { this.stream.close(); this.stream = null; } } catch (IllegalArgumentException e) { LOG.warn("Entity '" + uuid + "' not found", e); throw e; } catch (Exception e) { LOG.warn("Error retrieving entity '" + uuid + "'", e); throw new IllegalArgumentException("Error retrieving " + typeRef.getSimpleName() + "(" + key + ")", e); } }
@Override protected void load() { // Search against the service final Object key = uuid.getKey(); try { final ODataEntityRequest<ClientEntity> req = getClient().getRetrieveRequestFactory().getEntityRequest(uri.build()); req.setPrefer(getClient().newPreferences().includeAnnotations("*")); final ODataRetrieveResponse<ClientEntity> res = req.execute(); final ClientEntity entity = res.getBody(); if (entity == null) { throw new IllegalArgumentException("Invalid " + typeRef.getSimpleName() + "(" + key + ")"); } setEntity(entity); setETag(res.getETag()); if (key != null && !key.equals(CoreUtils.getKey(getClient(), this, typeRef, entity))) { throw new IllegalArgumentException("Invalid " + typeRef.getSimpleName() + "(" + key + ")"); } if (this.stream != null) { this.stream.close(); this.stream = null; } } catch (IllegalArgumentException e) { LOG.warn("Entity '" + uuid + "' not found", e); throw e; } catch (Exception e) { LOG.warn("Error retrieving entity '" + uuid + "'", e); throw new IllegalArgumentException("Error retrieving " + typeRef.getSimpleName() + "(" + key + ")", e); } }
@Override public Long count() { final ODataValueRequest req = getClient().getRetrieveRequestFactory(). getValueRequest(getClient().newURIBuilder(this.uri.build().toASCIIString()).count().build()); req.setFormat(ContentType.TEXT_PLAIN); return Long.valueOf(req.execute().getBody().asPrimitive().toString()); }
@Override public Long count() { final ODataValueRequest req = getClient().getRetrieveRequestFactory(). getValueRequest(getClient().newURIBuilder(this.uri.build().toASCIIString()).count().build()); req.setFormat(ContentType.TEXT_PLAIN); return Long.valueOf(req.execute().getBody().asPrimitive().toString()); }
public EdmStreamValue loadStream() { final URI contentSource = getEntity().getMediaContentSource() == null ? getClient().newURIBuilder(baseURI.toASCIIString()).appendValueSegment().build() : getEntity().getMediaContentSource(); if (this.stream == null && typeRef.getAnnotation(EntityType.class).hasStream() && contentSource != null) { final ODataMediaRequest retrieveReq = getClient().getRetrieveRequestFactory().getMediaEntityRequest(contentSource); if (StringUtils.isNotBlank(getEntity().getMediaContentType())) { retrieveReq.setFormat(ContentType.parse(getEntity().getMediaContentType())); } final ODataRetrieveResponse<InputStream> res = retrieveReq.execute(); this.stream = EdmStreamValue.class.cast(Proxy.newProxyInstance( Thread.currentThread().getContextClassLoader(), new Class<?>[] { EdmStreamValue.class }, new EdmStreamValueHandler(res.getContentType(), res.getBody(), contentSource, service))); } return this.stream; }
@Override @SuppressWarnings("unchecked") public Triple<List<T>, URI, List<ClientAnnotation>> fetchPartial(final URI uri, final Class<T> typeRef) { final ODataPropertyRequest<ClientProperty> req = getClient().getRetrieveRequestFactory().getPropertyRequest(uri); req.setPrefer(getClient().newPreferences().includeAnnotations("*")); final ODataRetrieveResponse<ClientProperty> res = req.execute(); final List<T> resItems = new ArrayList<T>(); final ClientProperty property = res.getBody(); if (property != null && !property.hasNullValue()) { for (ClientValue item : property.getCollectionValue()) { resItems.add((T) item.asPrimitive().toValue()); } } return new ImmutableTriple<List<T>, URI, List<ClientAnnotation>>( resItems, null, Collections.<ClientAnnotation>emptyList()); }
@Override @SuppressWarnings("unchecked") public Triple<List<T>, URI, List<ClientAnnotation>> fetchPartial(final URI uri, final Class<T> typeRef) { final ODataPropertyRequest<ClientProperty> req = getClient().getRetrieveRequestFactory().getPropertyRequest(uri); req.setPrefer(getClient().newPreferences().includeAnnotations("*")); final ODataRetrieveResponse<ClientProperty> res = req.execute(); final List<T> resItems = new ArrayList<T>(); final ClientProperty property = res.getBody(); if (property != null && !property.hasNullValue()) { for (ClientValue item : property.getCollectionValue()) { resItems.add((T) item.asPrimitive().toValue()); } } return new ImmutableTriple<List<T>, URI, List<ClientAnnotation>>( resItems, null, Collections.<ClientAnnotation>emptyList()); }
public EdmStreamValue loadStream() { final URI contentSource = getEntity().getMediaContentSource() == null ? getClient().newURIBuilder(baseURI.toASCIIString()).appendValueSegment().build() : getEntity().getMediaContentSource(); if (this.stream == null && typeRef.getAnnotation(EntityType.class).hasStream() && contentSource != null) { final ODataMediaRequest retrieveReq = getClient().getRetrieveRequestFactory().getMediaEntityRequest(contentSource); if (StringUtils.isNotBlank(getEntity().getMediaContentType())) { retrieveReq.setFormat(ContentType.parse(getEntity().getMediaContentType())); } final ODataRetrieveResponse<InputStream> res = retrieveReq.execute(); this.stream = EdmStreamValue.class.cast(Proxy.newProxyInstance( Thread.currentThread().getContextClassLoader(), new Class<?>[] { EdmStreamValue.class }, new EdmStreamValueHandler(res.getContentType(), res.getBody(), contentSource, service))); } return this.stream; }
@SuppressWarnings("unchecked") @Override public Triple<List<T>, URI, List<ClientAnnotation>> fetchPartial(final URI uri, final Class<T> typeRef) { final ODataPropertyRequest<ClientProperty> req = getClient().getRetrieveRequestFactory().getPropertyRequest(uri); req.setPrefer(getClient().newPreferences().includeAnnotations("*")); final ODataRetrieveResponse<ClientProperty> res = req.execute(); final List<T> resItems = new ArrayList<T>(); final ClientProperty property = res.getBody(); if (property != null && property.hasCollectionValue()) { for (ClientValue item : (ClientCollectionValue<ClientValue>) property.getValue()) { Class<?> actualRef = null; if (StringUtils.isNotBlank(item.getTypeName())) { actualRef = service.getComplexTypeClass(item.getTypeName()); } if (actualRef == null) { actualRef = typeRef; } resItems.add((T) getComplex(property.getName(), item, actualRef, null, null, true)); } } return new ImmutableTriple<List<T>, URI, List<ClientAnnotation>>( resItems, null, Collections.<ClientAnnotation> emptyList()); } }
@SuppressWarnings("unchecked") @Override public Triple<List<T>, URI, List<ClientAnnotation>> fetchPartial(final URI uri, final Class<T> typeRef) { final ODataPropertyRequest<ClientProperty> req = getClient().getRetrieveRequestFactory().getPropertyRequest(uri); req.setPrefer(getClient().newPreferences().includeAnnotations("*")); final ODataRetrieveResponse<ClientProperty> res = req.execute(); final List<T> resItems = new ArrayList<T>(); final ClientProperty property = res.getBody(); if (property != null && property.hasCollectionValue()) { for (ClientValue item : (ClientCollectionValue<ClientValue>) property.getValue()) { Class<?> actualRef = null; if (StringUtils.isNotBlank(item.getTypeName())) { actualRef = service.getComplexTypeClass(item.getTypeName()); } if (actualRef == null) { actualRef = typeRef; } resItems.add((T) getComplex(property.getName(), item, actualRef, null, null, true)); } } return new ImmutableTriple<List<T>, URI, List<ClientAnnotation>>( resItems, null, Collections.<ClientAnnotation> emptyList()); } }