@Override public ODataResponse deleteEntityMedia(final DeleteUriInfo uriInfo, final String contentType) throws ODataException { final Object data = retrieveData( uriInfo.getStartEntitySet(), uriInfo.getKeyPredicates(), uriInfo.getFunctionImport(), mapFunctionParameters(uriInfo.getFunctionImportParameters()), uriInfo.getNavigationSegments()); if (data == null) { throw new ODataNotFoundException(ODataNotFoundException.ENTITY); } dataSource.writeBinaryData(uriInfo.getTargetEntitySet(), data, new BinaryData(null, null)); return ODataResponse.newBuilder().build(); }
@Override public ODataResponse deleteEntitySimplePropertyValue(final DeleteUriInfo uriInfo, final String contentType) throws ODataException { Object data = retrieveData( uriInfo.getStartEntitySet(), uriInfo.getKeyPredicates(), uriInfo.getFunctionImport(), mapFunctionParameters(uriInfo.getFunctionImportParameters()), uriInfo.getNavigationSegments()); if (data == null) { throw new ODataNotFoundException(ODataNotFoundException.ENTITY); } final List<EdmProperty> propertyPath = uriInfo.getPropertyPath(); final EdmProperty property = propertyPath.get(propertyPath.size() - 1); data = getPropertyValue(data, propertyPath.subList(0, propertyPath.size() - 1)); valueAccess.setPropertyValue(data, property, null); valueAccess.setMappingValue(data, property.getMapping(), null); return ODataResponse.newBuilder().build(); }
@Override public ODataResponse deleteEntity(final DeleteUriInfo uriInfo, final String contentType) throws ODataException { dataSource.deleteData( uriInfo.getStartEntitySet(), mapKey(uriInfo.getKeyPredicates())); return ODataResponse.newBuilder().build(); }
ExtensionHolder holder = null; ExtensionWrappedDataProvider<IDataProvider> extensionMethod = null; String entitySetName = uriInfo.getStartEntitySet().getName(); List<PathSegment> precedingSegments = context.getPathInfo().getPrecedingSegments(); String serviceName = precedingSegments.get(precedingSegments.size() - 1).getPath(); EdmEntitySet edmEntitySet = uriInfo.getEntityContainer().getEntitySet(entitySetName); List<KeyPredicate> keyPredicates = uriInfo.getKeyPredicates(); UriInfoImpl uriInfoForRead = ExtensionHelperUtilsV2.constructDeepReadForRoot(edmEntitySet, serviceName, keyPredicates); IDataProviderResponse readResponse = readEntity(uriInfoForRead, context); while(deleteUriInfoIterator.hasNext()){ DeleteUriInfo deleteUriInfo = (DeleteUriInfo) deleteUriInfoIterator.next(); if(!deleteUriInfo.getTargetEntitySet().getName().equals(uriInfo.getStartEntitySet().getName())){ context.setParameter("If-Match", "W/\"*\"");
@Override public IDataProviderResponse deleteEntitySimplePropertyValue(DeleteUriInfo uriInfo, ODataContext context) throws ODataException { DeleteUriInfo resolvedUriInfo = resolveCrossServiceNavigation((UriInfo) uriInfo, context); IDataProvider provider = getTargetDataProvider(resolvedUriInfo.getFunctionImport(), resolvedUriInfo.getStartEntitySet()); if (provider == null) { throw new DataProviderException(DataProviderException.NOT_IMPLEMENTED.addContent("deleteEntitySimplePropertyValue"), context.getAcceptableLanguages().get(0)); } else { return provider.deleteEntitySimplePropertyValue(resolvedUriInfo, context); } }
case "DELETE_ENTITY": IDeleteEntityParameter deleteParameter = (IDeleteEntityParameter) parameter; return getDeleteRequestFromODataRequest(context, deleteParameter.getUriInfo().getKeyPredicates(), new EntityMetadataV2(deleteParameter.getUriInfo().getTargetEntitySet())); case "EXECUTE_FUNCTION_IMPORT": IExecuteFunctionImportParameter functionParameter = (IExecuteFunctionImportParameter) parameter;
@Override public IDataProviderResponse deleteEntity(DeleteUriInfo uriInfo, ODataContext context) throws ODataException { IDataProvider dataProvider = null; String targetEntitySet = uriInfo.getTargetEntitySet().getEntityType().getNamespace()+"."+uriInfo.getTargetEntitySet().getName(); dataProvider = getDataProvider(targetEntitySet); try { if (dataProvider !=null){ return dataProvider.deleteEntity(uriInfo, context); } else return null; } catch (ODataException e) { logger.error("Error in deleteEntity",e); throw new ODataException(e.getMessage(),e); } }
@Override public IDataProviderResponse deleteEntity(DeleteUriInfo uriInfo, ODataContext context) throws ODataException { LocaleUtil.setLocaleForRequest(context); String entitySetName = uriInfo.getStartEntitySet().getName(); try{ GetEntityUriInfo uInfo = (GetEntityUriInfo) uriInfo; checkAuthorization(uInfo,WRITE); } catch(UnauthorizedException ue){ logger.error("Delete operation not allowed for this user"); return handleAuthorizationException(ue); } List<PathSegment> precedingSegments = context.getPathInfo().getPrecedingSegments(); String serviceName = precedingSegments.get(precedingSegments.size() - 1).getPath(); if(CSNUtil.isDraftEnabledEntity(entitySetName,serviceName)|| CSNUtil.isDraftNodeEntity(entitySetName, serviceName)) { return deleteDraftEntries((UriInfo)uriInfo, context); }else{ return deleteCascadeOnEntity(uriInfo, context, false); } }
String customLinkSegment = context.getODataContext().getPathInfo().getODataSegments().get(0).getPath(); linkSegments.add(customLinkSegment); customLinkSegment = uriInfo.getNavigationSegments().get(0).getNavigationProperty().getName(); linkSegments.add(customLinkSegment); List<KeyPredicate> keyPredicates = uriInfo.getNavigationSegments().get(0).getKeyPredicates(); StringBuffer condition = new StringBuffer(); String literal = null; .addContent(parsedUriInfo.getTargetEntitySet().getName()), null); NavigationSegment navigationSegment = uriInfo.getNavigationSegments().get(0); EdmNavigationProperty navigationProperty = navigationSegment.getNavigationProperty(); delinkJPAEntities(targetJPAEntity, relatedEntities, navigationProperty);
@Override public ODataResponse deleteEntity(final DeleteUriInfo uriInfo, final String contentType) throws ODataException { dataSource.deleteData( uriInfo.getStartEntitySet(), mapKey(uriInfo.getKeyPredicates())); return ODataResponse.newBuilder().build(); }
@Override public IDataProviderResponse deleteEntityLink(DeleteUriInfo uriInfo, ODataContext context) throws ODataException { DeleteUriInfo resolvedUriInfo = resolveCrossServiceNavigation((UriInfo) uriInfo, context); IDataProvider provider = getTargetDataProvider(resolvedUriInfo.getFunctionImport(), resolvedUriInfo.getStartEntitySet()); if (provider == null) { throw new DataProviderException(DataProviderException.NOT_IMPLEMENTED.addContent("deleteEntityLink"), context.getAcceptableLanguages().get(0)); } else { return provider.deleteEntityLink(resolvedUriInfo, context); } }
@Override public IDataProviderResponse deleteEntityMedia(DeleteUriInfo uriInfo, ODataContext context) throws ODataException { IDataProvider dataProvider = null; String targetEntitySet = uriInfo.getTargetEntitySet().getEntityType().getNamespace() + "." + uriInfo.getTargetEntitySet().getName(); dataProvider = getDataProvider(targetEntitySet); try { if (dataProvider != null) { return dataProvider.deleteEntityMedia(uriInfo, context); } else return null; } catch (ODataException e) { logger.error("Error in deleteEntityMedia", e); throw new ODataException(e.getMessage(), e); } }
this.gwlog.debug("deleteEntity: " + TraceUtil.getEntitySetLog(uriInfo.getStartEntitySet()) + ", content type = " + (contentType == null ? "<null>" : contentType) + "backend version = "+ bepVersion.get(BEP_SP_VERSION));
String customLinkSegment = context.getODataContext().getPathInfo().getODataSegments().get(0).getPath(); linkSegments.add(customLinkSegment); customLinkSegment = uriInfo.getNavigationSegments().get(0).getNavigationProperty().getName(); linkSegments.add(customLinkSegment); List<KeyPredicate> keyPredicates = uriInfo.getNavigationSegments().get(0).getKeyPredicates(); StringBuffer condition = new StringBuffer(); String literal = null; .addContent(parsedUriInfo.getTargetEntitySet().getName()), null); NavigationSegment navigationSegment = uriInfo.getNavigationSegments().get(0); EdmNavigationProperty navigationProperty = navigationSegment.getNavigationProperty(); delinkJPAEntities(targetJPAEntity, relatedEntities, navigationProperty);
@Override public ODataResponse deleteEntityMedia(final DeleteUriInfo uriInfo, final String contentType) throws ODataException { final Object data = retrieveData( uriInfo.getStartEntitySet(), uriInfo.getKeyPredicates(), uriInfo.getFunctionImport(), mapFunctionParameters(uriInfo.getFunctionImportParameters()), uriInfo.getNavigationSegments()); if (data == null) { throw new ODataNotFoundException(ODataNotFoundException.ENTITY); } dataSource.writeBinaryData(uriInfo.getTargetEntitySet(), data, new BinaryData(null, null)); return ODataResponse.newBuilder().build(); }
@Override public ODataResponse deleteEntitySimplePropertyValue(final DeleteUriInfo uriInfo, final String contentType) throws ODataException { Object data = retrieveData( uriInfo.getStartEntitySet(), uriInfo.getKeyPredicates(), uriInfo.getFunctionImport(), mapFunctionParameters(uriInfo.getFunctionImportParameters()), uriInfo.getNavigationSegments()); if (data == null) { throw new ODataNotFoundException(ODataNotFoundException.ENTITY); } final List<EdmProperty> propertyPath = uriInfo.getPropertyPath(); final EdmProperty property = propertyPath.get(propertyPath.size() - 1); data = getPropertyValue(data, propertyPath.subList(0, propertyPath.size() - 1)); valueAccess.setPropertyValue(data, property, null); valueAccess.setMappingValue(data, property.getMapping(), null); return ODataResponse.newBuilder().build(); }
@Override public ODataResponse deleteEntity(final DeleteUriInfo uriInfo, final String contentType) throws ODataException { dataSource.deleteData( uriInfo.getStartEntitySet(), mapKey(uriInfo.getKeyPredicates())); return ODataResponse.newBuilder().build(); }
@Override public IDataProviderResponse deleteEntity(DeleteUriInfo uriInfo, ODataContext context) throws ODataException { DeleteUriInfo resolvedUriInfo = resolveCrossServiceNavigation((UriInfo) uriInfo, context); IDataProvider provider = getTargetDataProvider(resolvedUriInfo.getFunctionImport(), resolvedUriInfo.getStartEntitySet()); if (provider == null) { throw new DataProviderException(DataProviderException.NOT_IMPLEMENTED.addContent("deleteEntity"), context.getAcceptableLanguages().get(0)); } else { return provider.deleteEntity(resolvedUriInfo, context); } }
public Query build(DeleteUriInfo uriInfo) throws ODataJPARuntimeException { Query query = null; try { if (uriInfo.getTargetEntitySet().getEntityType().getMapping() != null) { if (!((JPAEdmMappingImpl)uriInfo.getTargetEntitySet().getEntityType().getMapping()).canEdit()) { throw new RuntimeException("Entity is Read Only"); } } ODataJPAQueryExtensionEntityListener listener = getODataJPAQueryEntityListener((UriInfo) uriInfo); if (listener != null && !ignoreListener) { query = listener.getQuery(uriInfo, em); } if (query == null) { query = buildQuery((UriInfo) uriInfo, UriInfoType.Delete); } } catch (Exception e) { throw new RuntimeException(e); } return query; }
else extensionMethod = extensionMethodForTransaction; String entitySetName = uriInfo.getStartEntitySet().getName(); List<PathSegment> precedingSegments = context.getPathInfo().getPrecedingSegments(); String serviceName = precedingSegments.get(precedingSegments.size() - 1).getPath();