• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java UriResourceEntitySet类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.olingo.server.api.uri.UriResourceEntitySet的典型用法代码示例。如果您正苦于以下问题:Java UriResourceEntitySet类的具体用法?Java UriResourceEntitySet怎么用?Java UriResourceEntitySet使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



UriResourceEntitySet类属于org.apache.olingo.server.api.uri包,在下文中一共展示了UriResourceEntitySet类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: readReferenceCollection

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
static public EntityCollection readReferenceCollection(RdfEdmProvider rdfEdmProvider, UriInfo uriInfo,
		UriType uriType) throws OData2SparqlException, EdmException, ODataApplicationException, ExpressionVisitException {
	List<UriResource> resourcePaths = uriInfo.getUriResourceParts();
	RdfEntityType rdfEntityType = null;
	EdmEntitySet edmEntitySet = null;

	UriResourceEntitySet uriResourceEntitySet = (UriResourceEntitySet) resourcePaths.get(0);
	edmEntitySet = uriResourceEntitySet.getEntitySet();
	rdfEntityType = rdfEdmProvider.getRdfEntityTypefromEdmEntitySet(edmEntitySet);
	SparqlQueryBuilder sparqlBuilder = new SparqlQueryBuilder(rdfEdmProvider.getRdfModel(),
			rdfEdmProvider.getEdmMetadata(), uriInfo, uriType);

	//prepareQuery
	SparqlStatement sparqlStatement = sparqlBuilder.prepareEntityLinksSparql();
	SparqlEntityCollection rdfResults = sparqlStatement.executeConstruct(rdfEdmProvider, rdfEntityType, null, null);

	if (rdfResults == null) {
		throw new ODataApplicationException("No results", HttpStatusCode.INTERNAL_SERVER_ERROR.getStatusCode(),
				Locale.ENGLISH);
	} else {
		return rdfResults;
	}
}
 
开发者ID:peterjohnlawrence,项目名称:com.inova8.odata2sparql.v4,代码行数:24,代码来源:SparqlBaseCommand.java


示例2: deleteEntity

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
public static void deleteEntity(RdfEdmProvider rdfEdmProvider, UriInfo uriInfo) throws OData2SparqlException {
	SparqlStatement sparqlStatement = null;
	// 1. Retrieve the entity set which belongs to the requested entity
	List<UriResource> resourcePaths = uriInfo.getUriResourceParts();
	// Note: only in our example we can assume that the first segment is the EntitySet
	UriResourceEntitySet uriResourceEntitySet = (UriResourceEntitySet) resourcePaths.get(0);
	EdmEntitySet edmEntitySet = uriResourceEntitySet.getEntitySet();
	RdfEntityType entityType = rdfEdmProvider.getRdfEntityTypefromEdmEntitySet(edmEntitySet);
	// 2. delete the data in backend
	List<UriParameter> keyPredicates = uriResourceEntitySet.getKeyPredicates();

	SparqlCreateUpdateDeleteBuilder sparqlCreateUpdateDeleteBuilder = new SparqlCreateUpdateDeleteBuilder(
			rdfEdmProvider);
	try {
		sparqlStatement = sparqlCreateUpdateDeleteBuilder.generateDeleteEntity(entityType, keyPredicates);
	} catch (Exception e) {
		log.error(e.getMessage());
		throw new OData2SparqlException(e.getMessage());
	}
	sparqlStatement.executeDelete(rdfEdmProvider);
}
 
开发者ID:peterjohnlawrence,项目名称:com.inova8.odata2sparql.v4,代码行数:22,代码来源:SparqlBaseCommand.java


示例3: updateEntity

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
public static void updateEntity(RdfEdmProvider rdfEdmProvider, UriInfo uriInfo, Entity requestEntity,
		HttpMethod httpMethod) throws OData2SparqlException {
	SparqlStatement sparqlStatement = null;
	// 1. Retrieve the entity set which belongs to the requested entity
	List<UriResource> resourcePaths = uriInfo.getUriResourceParts();
	// Note: only in our example we can assume that the first segment is the EntitySet
	UriResourceEntitySet uriResourceEntitySet = (UriResourceEntitySet) resourcePaths.get(0);
	EdmEntitySet edmEntitySet = uriResourceEntitySet.getEntitySet();
	//EdmEntityType edmEntityType = edmEntitySet.getEntityType();

	RdfEntityType entityType = rdfEdmProvider.getRdfEntityTypefromEdmEntitySet(edmEntitySet);

	List<UriParameter> keyPredicates = uriResourceEntitySet.getKeyPredicates();
	// Note that this updateEntity()-method is invoked for both PUT or PATCH operations  
	SparqlCreateUpdateDeleteBuilder sparqlCreateUpdateDeleteBuilder = new SparqlCreateUpdateDeleteBuilder(
			rdfEdmProvider);
	try {
		sparqlStatement = sparqlCreateUpdateDeleteBuilder.generateUpdateEntity(entityType, keyPredicates,
				requestEntity);
	} catch (Exception e) {
		log.error(e.getMessage());
		throw new OData2SparqlException(e.getMessage());
	}
	sparqlStatement.executeDelete(rdfEdmProvider);
}
 
开发者ID:peterjohnlawrence,项目名称:com.inova8.odata2sparql.v4,代码行数:26,代码来源:SparqlBaseCommand.java


示例4: updatePrimitiveValue

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
public static void updatePrimitiveValue(RdfEdmProvider rdfEdmProvider, UriInfo uriInfo, Object entry)
		throws OData2SparqlException {
	SparqlStatement sparqlStatement = null;
	// 1. Retrieve the entity set which belongs to the requested entity
	List<UriResource> resourcePaths = uriInfo.getUriResourceParts();
	// Note: only in our example we can assume that the first segment is the EntitySet
	UriResourceEntitySet uriResourceEntitySet = (UriResourceEntitySet) resourcePaths.get(0);
	EdmEntitySet edmEntitySet = uriResourceEntitySet.getEntitySet();

	RdfEntityType entityType = rdfEdmProvider.getRdfEntityTypefromEdmEntitySet(edmEntitySet);

	List<UriParameter> keyPredicates = uriResourceEntitySet.getKeyPredicates();
	UriResourcePrimitiveProperty uriResourcePrimitiveProperty = (UriResourcePrimitiveProperty) resourcePaths.get(1);
	EdmProperty edmProperty = uriResourcePrimitiveProperty.getProperty();

	SparqlCreateUpdateDeleteBuilder sparqlCreateUpdateDeleteBuilder = new SparqlCreateUpdateDeleteBuilder(
			rdfEdmProvider);
	try {
		sparqlStatement = sparqlCreateUpdateDeleteBuilder.generateUpdateEntitySimplePropertyValue(entityType,
				keyPredicates, edmProperty.getName(), entry);
	} catch (Exception e) {
		log.error(e.getMessage());
		throw new OData2SparqlException(e.getMessage());
	}
	sparqlStatement.executeUpdate(rdfEdmProvider);
}
 
开发者ID:peterjohnlawrence,项目名称:com.inova8.odata2sparql.v4,代码行数:27,代码来源:SparqlBaseCommand.java


示例5: deleteEntityReference

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
public static void deleteEntityReference(RdfEdmProvider rdfEdmProvider, UriInfo uriInfo) throws OData2SparqlException {
	SparqlStatement sparqlStatement = null;
	// 1. Retrieve the entity set which belongs to the requested entity
	List<UriResource> resourcePaths = uriInfo.getUriResourceParts();
	// Note: only in our example we can assume that the first segment is the EntitySet
	UriResourceEntitySet uriResourceEntitySet = (UriResourceEntitySet) resourcePaths.get(0);
	EdmEntitySet edmEntitySet = uriResourceEntitySet.getEntitySet();

	RdfEntityType entityType = rdfEdmProvider.getRdfEntityTypefromEdmEntitySet(edmEntitySet);

	List<UriParameter> entityKeyPredicates = uriResourceEntitySet.getKeyPredicates();
	UriResourceNavigation uriResourceNavigation = (UriResourceNavigation) resourcePaths.get(1);
	RdfAssociation navigationProperty = entityType
			.findNavigationProperty(uriResourceNavigation.getProperty().getName());
	List<UriParameter> navigationKeyPredicates = uriResourceNavigation.getKeyPredicates();
	SparqlCreateUpdateDeleteBuilder sparqlCreateUpdateDeleteBuilder = new SparqlCreateUpdateDeleteBuilder(
			rdfEdmProvider);
	try {
		sparqlStatement = sparqlCreateUpdateDeleteBuilder.generateDeleteLinkQuery( entityType, entityKeyPredicates,navigationProperty,navigationKeyPredicates);
	} catch (Exception e) {
		log.error(e.getMessage());
		throw new OData2SparqlException(e.getMessage());
	}
	sparqlStatement.executeInsert(rdfEdmProvider);
}
 
开发者ID:peterjohnlawrence,项目名称:com.inova8.odata2sparql.v4,代码行数:26,代码来源:SparqlBaseCommand.java


示例6: clausesPath_URI1

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
private StringBuilder clausesPath_URI1(String indent) throws EdmException {
	StringBuilder clausesPath = new StringBuilder();
	if (uriInfo.getUriResourceParts().size() > 1) {
		clausesPath.append(clausesPathNavigation(indent, uriInfo.getUriResourceParts(),
				((UriResourceEntitySet) uriInfo.getUriResourceParts().get(0)).getKeyPredicates()));
	} else {
		clausesPath.append(indent).append("?" + rdfEntityType.entityTypeName
				+ "_s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?class .\n");
		// clausesPath.append(indent).append(
		// "?class (<http://www.w3.org/2000/01/rdf-schema#subClassOf>)* <" +
		// rdfEntityType.getIRI() + "> .\n");

		clausesPath.append(indent).append(valuesSubClassOf(rdfEntityType)).append("}\n");
	}
	return clausesPath;
}
 
开发者ID:peterjohnlawrence,项目名称:com.inova8.odata2sparql.v4,代码行数:17,代码来源:SparqlQueryBuilder.java


示例7: clausesPath_URI15

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
private StringBuilder clausesPath_URI15(String indent) throws EdmException, OData2SparqlException {
	StringBuilder clausesPath = new StringBuilder();
	if (uriInfo.getUriResourceParts().size() > 2) {
		clausesPath.append(clausesPathNavigation(indent, uriInfo.getUriResourceParts(),
				((UriResourceEntitySet) uriInfo.getUriResourceParts().get(0)).getKeyPredicates()));
	} else {
		if (rdfTargetEntityType.isOperation()) {
			clausesPath.append(indent).append(preprocessOperationQuery(rdfTargetEntityType));
		} else {
			clausesPath.append(indent).append("?" + rdfEntityType.entityTypeName
					+ "_s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?class .\n");
			// clausesPath.append(indent).append(
			// "?class (<http://www.w3.org/2000/01/rdf-schema#subClassOf>)*
			// <"
			// + rdfEntityType.getIRI() + "> .\n");
			clausesPath.append(indent).append(valuesSubClassOf(rdfEntityType)).append("}\n");
		}
	}
	return clausesPath;
}
 
开发者ID:peterjohnlawrence,项目名称:com.inova8.odata2sparql.v4,代码行数:21,代码来源:SparqlQueryBuilder.java


示例8: getData

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
/**
 * Helper method for providing some sample data.
 *
 * @param edmEntitySet
 *            for which the data is requested
 * @return data of requested entity set
 */
private EntitySet getData(UriInfo uriInfo) {
	List<UriResource> resourcePaths = uriInfo.getUriResourceParts();
	UriResourceEntitySet uriResourceEntitySet = (UriResourceEntitySet) resourcePaths
			.get(0); // in our example, the first segment is the EntitySet
	EdmEntitySet edmEntitySet = uriResourceEntitySet.getEntitySet();

	EntitySet entitySet = null;

	Map<String, EntityProvider> entityProviders = ctx
			.getBeansOfType(EntityProvider.class);

	for (String entity : entityProviders.keySet()) {
		EntityProvider entityProvider = entityProviders.get(entity);
		if (entityProvider
				.getEntityType().getName()
				
				.equals(edmEntitySet.getEntityType().getName())) {
			entitySet = entityProvider.getEntitySet(uriInfo);
			break;
		}
	}
	return entitySet;
}
 
开发者ID:rohitghatol,项目名称:spring-boot-Olingo-oData,代码行数:31,代码来源:GenericEntityCollectionProcessor.java


示例9: visit

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
@Override
public void visit(UriResourceEntitySet info) {
	this.edmEntitySet = info.getEntitySet();
	this.edmEntityTable = findTable(edmEntitySet, this.metadata);
	this.edmEntityTableGroup = new GroupSymbol("g0", this.edmEntityTable.getFullName()); //$NON-NLS-1$
	this.fromClause = new UnaryFromClause(this.edmEntityTableGroup);

	// URL is like /entitySet(key)s
	if (info.getKeyPredicates() != null && !info.getKeyPredicates().isEmpty()) {
		List<UriParameter> keys = info.getKeyPredicates();
		try {
			this.criteria = buildEntityKeyCriteria(this.edmEntityTable, this.edmEntityTableGroup, keys);
		} catch (TeiidException e) {
			this.exceptions.add(e);
		}
	}
}
 
开发者ID:kenweezy,项目名称:teiid,代码行数:18,代码来源:ODataSQLBuilder.java


示例10: getEntityByReference

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
protected Entity getEntityByReference(final String entityId, final String rawServiceRoot)
    throws DataProviderException {
  try {
    final UriResourceEntitySet uriResource =
        odata.createUriHelper().parseEntityId(edm, entityId, rawServiceRoot);
    final Entity targetEntity = read(uriResource.getEntitySet(), uriResource.getKeyPredicates());

    if (targetEntity != null) {
      return targetEntity;
    } else {
      throw new DataProviderException("Entity not found", HttpStatusCode.NOT_FOUND);
    }
  } catch (DeserializerException e) {
    throw new DataProviderException("Invalid entity-id", HttpStatusCode.BAD_REQUEST);
  }
}
 
开发者ID:RedHelixOrg,项目名称:RedHelix-1,代码行数:17,代码来源:DataProvider.java


示例11: blockTypeFilters

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
private void blockTypeFilters(final UriResource uriResource)
        throws ODataApplicationException
{
    if (((uriResource instanceof UriResourceEntitySet)
            && (((UriResourceEntitySet) uriResource).getTypeFilterOnCollection() != null
            || ((UriResourceEntitySet) uriResource).getTypeFilterOnEntry()
            != null)) || ((uriResource instanceof UriResourceFunction)
            && (((UriResourceFunction) uriResource).getTypeFilterOnCollection() != null
            || ((UriResourceFunction) uriResource).getTypeFilterOnEntry()
            != null)) || ((uriResource instanceof UriResourceNavigation)
            && (((UriResourceNavigation) uriResource).getTypeFilterOnCollection() != null
            || ((UriResourceNavigation) uriResource).getTypeFilterOnEntry() != null)))
    {
        throw new ODataApplicationException("Type filters are not supported.",
                                            HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(),
                                            Locale.ROOT);
    }
}
 
开发者ID:RedHelixOrg,项目名称:RedHelix-1,代码行数:19,代码来源:RedHxDiscoveryProcessor.java


示例12: getEntitySetBasedOnTypeCast

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
protected EdmEntitySet getEntitySetBasedOnTypeCast(UriResourceEntitySet uriResource) {
  EdmEntitySet entitySet = null;
  EdmEntityContainer container = this.serviceMetadata.getEdm().getEntityContainer();
  if (uriResource.getTypeFilterOnEntry() != null ||
      uriResource.getTypeFilterOnCollection() != null) {
    List<EdmEntitySet> entitySets = container.getEntitySets();
    for (EdmEntitySet entitySet1 : entitySets) {
      EdmEntityType entityType = entitySet1.getEntityType();
      if ((uriResource.getTypeFilterOnEntry() != null && 
          entityType.getName().equalsIgnoreCase(uriResource.getTypeFilterOnEntry().getName())) ||
          (uriResource.getTypeFilterOnCollection() != null && 
          entityType.getName().equalsIgnoreCase(uriResource.getTypeFilterOnCollection().getName()))) {
        entitySet = entitySet1;
        break;
      }
    }
  } else {
    entitySet = uriResource.getEntitySet();
  }
  return entitySet;
}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:22,代码来源:TechnicalProcessor.java


示例13: mustValidate

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
private boolean mustValidate(final String uri, final String entitySetName)
    throws UriParserException, UriValidationException, PreconditionException {
  final UriInfo uriInfo = new Parser(edm, odata).parseUri(uri, null, null, null);
  final List<UriResource> parts = uriInfo.getUriResourceParts();
  final boolean isMedia = parts.size() >= 2
      && parts.get(parts.size() - 1) instanceof UriResourceValue
      && parts.get(parts.size() - 2) instanceof UriResourceEntitySet;

  CustomETagSupport support = mock(CustomETagSupport.class);
  final Answer<Boolean> answer = new Answer<Boolean>() {
    public Boolean answer(final InvocationOnMock invocation) throws Throwable {
      if (entitySetName != null) {
        assertEquals(entitySetName, ((EdmBindingTarget) invocation.getArguments()[0]).getName());
      }
      return true;
    }};
  when(support.hasETag(any(EdmBindingTarget.class))).thenAnswer(answer);
  when(support.hasMediaETag(any(EdmBindingTarget.class))).thenAnswer(answer);

  return new PreconditionsValidator(uriInfo).mustValidatePreconditions(support, isMedia);
}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:22,代码来源:PreconditionsValidatorTest.java


示例14: handleCountDispatching

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
private void handleCountDispatching(final ODataRequest request, final ODataResponse response,
    final int lastPathSegmentIndex) throws ODataApplicationException, ODataLibraryException {
  final UriResource resource = uriInfo.getUriResourceParts().get(lastPathSegmentIndex - 1);
  if (resource instanceof UriResourceEntitySet
      || resource instanceof UriResourceNavigation
      || resource instanceof UriResourceFunction
          && ((UriResourceFunction) resource).getType().getKind() == EdmTypeKind.ENTITY) {
    handler.selectProcessor(CountEntityCollectionProcessor.class)
        .countEntityCollection(request, response, uriInfo);
  } else if (resource instanceof UriResourcePrimitiveProperty
      || resource instanceof UriResourceFunction
          && ((UriResourceFunction) resource).getType().getKind() == EdmTypeKind.PRIMITIVE) {
    handler.selectProcessor(CountPrimitiveCollectionProcessor.class)
        .countPrimitiveCollection(request, response, uriInfo);
  } else {
    handler.selectProcessor(CountComplexCollectionProcessor.class)
        .countComplexCollection(request, response, uriInfo);
  }
}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:20,代码来源:ODataDispatcher.java


示例15: requireMediaResourceInCaseOfEntity

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
private void requireMediaResourceInCaseOfEntity(UriResource resource) throws UriParserSemanticException {
  // If the resource is an entity or navigatio
  if (resource instanceof UriResourceEntitySet && !((UriResourceEntitySet) resource).getEntityType().hasStream()
      || resource instanceof UriResourceNavigation
      && !((EdmEntityType) ((UriResourceNavigation) resource).getType()).hasStream()) {
    throw new UriParserSemanticException("$value on entity is only allowed on media resources.",
        UriParserSemanticException.MessageKeys.NOT_A_MEDIA_RESOURCE, resource.getSegmentValue());
  }

  // Functions can also deliver an entity. In this case we have to check if the returned entity is a media resource
  if (resource instanceof UriResourceFunction) {
    EdmType returnType = ((UriResourceFunction) resource).getFunction().getReturnType().getType();
    //Collection check is above so not needed here
    if (returnType instanceof EdmEntityType && !((EdmEntityType) returnType).hasStream()) {
      throw new UriParserSemanticException("$value on returned entity is only allowed on media resources.",
          UriParserSemanticException.MessageKeys.NOT_A_MEDIA_RESOURCE, resource.getSegmentValue());
    }
  }
}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:20,代码来源:ResourcePathParser.java


示例16: parseEntityId

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
@Override
public UriResourceEntitySet parseEntityId(final Edm edm, final String entityId, final String rawServiceRoot)
    throws DeserializerException {

  String oDataPath = entityId;
  if (rawServiceRoot != null && entityId.startsWith(rawServiceRoot)) {
    oDataPath = entityId.substring(rawServiceRoot.length());
  }
  oDataPath = oDataPath.startsWith("/") ? oDataPath : "/" + oDataPath;

  try {
    final List<UriResource> uriResourceParts =
        new Parser(edm, new ODataImpl()).parseUri(oDataPath, null, null, rawServiceRoot).getUriResourceParts();
    if (uriResourceParts.size() == 1 && uriResourceParts.get(0).getKind() == UriResourceKind.entitySet) {
      final UriResourceEntitySet entityUriResource = (UriResourceEntitySet) uriResourceParts.get(0);

      return entityUriResource;
    }

    throw new DeserializerException("Invalid entity binding link", MessageKeys.INVALID_ENTITY_BINDING_LINK,
        entityId);
  } catch (final ODataLibraryException e) {
    throw new DeserializerException("Invalid entity binding link", e, MessageKeys.INVALID_ENTITY_BINDING_LINK,
        entityId);
  }
}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:27,代码来源:UriHelperImpl.java


示例17: resourceParts

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
@Test
public void resourceParts() {
  UriInfoImpl uriInfo = new UriInfoImpl();

  final UriResourceAction action = new UriResourceActionImpl((EdmAction) null);
  final UriResourceEntitySet entitySet0 = new UriResourceEntitySetImpl(null);
  final UriResourceEntitySet entitySet1 = new UriResourceEntitySetImpl(null);

  uriInfo.addResourcePart(action);
  uriInfo.addResourcePart(entitySet0);

  assertEquals(action, uriInfo.getUriResourceParts().get(0));
  assertEquals(entitySet0, uriInfo.getUriResourceParts().get(1));

  assertEquals(entitySet0, uriInfo.getLastResourcePart());

  uriInfo.addResourcePart(entitySet1);
  assertEquals(entitySet1, uriInfo.getLastResourcePart());
}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:20,代码来源:UriInfoImplTest.java


示例18: readEntityByBindingLink

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
private Entity readEntityByBindingLink(final String entityId, final EdmEntitySet edmEntitySet, 
    final String rawServiceUri) throws ODataApplicationException {
  
  UriResourceEntitySet entitySetResource = null;
  try {
    entitySetResource = odata.createUriHelper().parseEntityId(edm, entityId, rawServiceUri);
    
    if(!entitySetResource.getEntitySet().getName().equals(edmEntitySet.getName())) {
      throw new ODataApplicationException("Execpted an entity-id for entity set " + edmEntitySet.getName() 
        + " but found id for entity set " + entitySetResource.getEntitySet().getName(), 
        HttpStatusCode.BAD_REQUEST.getStatusCode(), Locale.ENGLISH);
    }
  } catch (DeserializerException e) {
    throw new ODataApplicationException(entityId + " is not a valid entity-Id", 
        HttpStatusCode.BAD_REQUEST.getStatusCode(), Locale.ENGLISH);
  }

  return readEntityData(entitySetResource.getEntitySet(), entitySetResource.getKeyPredicates());
}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:20,代码来源:Storage.java


示例19: updateEntity

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
public void updateEntity(ODataRequest request, ODataResponse response, UriInfo uriInfo,
                          ContentType requestFormat, ContentType responseFormat)
						throws ODataApplicationException, DeserializerException, SerializerException {
	
	// 1. Retrieve the entity set which belongs to the requested entity 
	List<UriResource> resourcePaths = uriInfo.getUriResourceParts();
	// Note: only in our example we can assume that the first segment is the EntitySet
	UriResourceEntitySet uriResourceEntitySet = (UriResourceEntitySet) resourcePaths.get(0); 
	EdmEntitySet edmEntitySet = uriResourceEntitySet.getEntitySet();
	EdmEntityType edmEntityType = edmEntitySet.getEntityType();

	// 2. update the data in backend
	// 2.1. retrieve the payload from the PUT request for the entity to be updated 
	InputStream requestInputStream = request.getBody();
	ODataDeserializer deserializer = odata.createDeserializer(requestFormat);
	DeserializerResult result = deserializer.entity(requestInputStream, edmEntityType);
	Entity requestEntity = result.getEntity();
	// 2.2 do the modification in backend
	List<UriParameter> keyPredicates = uriResourceEntitySet.getKeyPredicates();
	// Note that this updateEntity()-method is invoked for both PUT or PATCH operations
	HttpMethod httpMethod = request.getMethod();
	storage.updateEntityData(edmEntitySet, keyPredicates, requestEntity, httpMethod);
	
	//3. configure the response object
	response.setStatusCode(HttpStatusCode.NO_CONTENT.getStatusCode());
}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:27,代码来源:DemoEntityProcessor.java


示例20: deleteEntity

import org.apache.olingo.server.api.uri.UriResourceEntitySet; //导入依赖的package包/类
public void deleteEntity(ODataRequest request, ODataResponse response, UriInfo uriInfo)
         throws ODataApplicationException {
	
	// 1. Retrieve the entity set which belongs to the requested entity 
	List<UriResource> resourcePaths = uriInfo.getUriResourceParts();
	// Note: only in our example we can assume that the first segment is the EntitySet
	UriResourceEntitySet uriResourceEntitySet = (UriResourceEntitySet) resourcePaths.get(0); 
	EdmEntitySet edmEntitySet = uriResourceEntitySet.getEntitySet();

	// 2. delete the data in backend
	List<UriParameter> keyPredicates = uriResourceEntitySet.getKeyPredicates();
	storage.deleteEntityData(edmEntitySet, keyPredicates);
	
	//3. configure the response object
	response.setStatusCode(HttpStatusCode.NO_CONTENT.getStatusCode());
}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:17,代码来源:DemoEntityProcessor.java



注:本文中的org.apache.olingo.server.api.uri.UriResourceEntitySet类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java GetMostRecentCheckpointTxIdRequestProto类代码示例发布时间:2022-05-22
下一篇:
Java HttpRequests类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap