本文整理汇总了Java中org.apache.olingo.odata2.api.uri.UriInfo类的典型用法代码示例。如果您正苦于以下问题:Java UriInfo类的具体用法?Java UriInfo怎么用?Java UriInfo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
UriInfo类属于org.apache.olingo.odata2.api.uri包,在下文中一共展示了UriInfo类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: createLink
import org.apache.olingo.odata2.api.uri.UriInfo; //导入依赖的package包/类
@Override
public void createLink(UriInfo link) throws ODataException
{
EdmEntitySet target_es = link.getTargetEntitySet();
if (!target_es.getName().equals(Model.PRODUCT.getName()))
{
throw new ODataException("Cannot create link from Users to " + target_es.getName());
}
String pdt_uuid_s = link.getTargetKeyPredicates().get(0).getLiteral();
fr.gael.dhus.database.object.Product pta = PRODUCT_SERVICE.getProduct(pdt_uuid_s);
if (pta == null)
{
throw new InvalidKeyException(pdt_uuid_s, this.getClass().getSimpleName());
}
PRODUCTCART_SERVICE.addProductToCart(this.user.getUUID(), pta.getId());
}
示例2: getLinkFromES
import org.apache.olingo.odata2.api.uri.UriInfo; //导入依赖的package包/类
/**
* Extract the 'From' ES of an EntityLink.
* @param uri_info path to resource, eg: /Collections(10)/$links/Products
* @returns the EntitySet of the nav segment before the "$link" segment.
*/
private EdmEntitySet getLinkFromES(UriInfo uri_info)
{
EdmEntitySet res;
/* `uri_info`:
* StartEntitySet/Foo/bar/baz/$links/TargetEntitySet
* \__________/ \______________/
* Navigation Segments */
List<NavigationSegment> navsegs = uri_info.getNavigationSegments();
if (navsegs.size() >= 2) // `navsegs` contains at least the target segment
{
res = navsegs.get(navsegs.size()-1).getEntitySet();
}
else
{
res = uri_info.getStartEntitySet();
}
return res;
}
示例3: parseRequest
import org.apache.olingo.odata2.api.uri.UriInfo; //导入依赖的package包/类
/**
* Creates a UriInfo from a resource path and query parameters.
* The returned object may be one of UriInfo subclasses.
*
* @param resource_path path to a resource on the OData service.
* @param query_parameters OData query parameters, can be {@code null}
*
* @return an UriInfo instance exposing informations about each segment of
* the resource path and the query parameters.
*
* @throws UriSyntaxException violation of the OData URI construction rules.
* @throws UriNotMatchingException URI parsing exception.
* @throws EdmException if a problem occurs while reading the EDM.
* @throws ODataException encapsulate the OData exceptions described above.
*/
public UriInfo parseRequest (String resource_path,
Map<String, String> query_parameters) throws ODataException
{
List<PathSegment> path_segments;
if (resource_path != null && !resource_path.isEmpty ())
{
path_segments = new ArrayList<> ();
StringTokenizer st = new StringTokenizer (resource_path, "/");
while (st.hasMoreTokens ())
{
path_segments.add(UriParser.createPathSegment(st.nextToken(), null));
}
}
else path_segments = Collections.emptyList ();
if (query_parameters == null) query_parameters = Collections.emptyMap ();
return this.uriParser.parse (path_segments, query_parameters);
}
示例4: determineJPQLContextType
import org.apache.olingo.odata2.api.uri.UriInfo; //导入依赖的package包/类
private JPQLContextType determineJPQLContextType(UriInfo uriParserResultView, UriInfoType type) {
JPQLContextType contextType = null;
if (uriParserResultView.getNavigationSegments().size() > 0) {
if (type == UriInfoType.GetEntitySet) {
contextType = JPQLContextType.JOIN;
} else if (type == UriInfoType.Delete || type == UriInfoType.Delete || type == UriInfoType.GetEntity
|| type == UriInfoType.PutMergePatch) {
contextType = JPQLContextType.JOIN_SINGLE;
} else if (type == UriInfoType.GetEntitySetCount || type == UriInfoType.GetEntityCount) {
contextType = JPQLContextType.JOIN_COUNT;
}
} else {
if (type == UriInfoType.GetEntitySet) {
contextType = JPQLContextType.SELECT;
} else if (type == UriInfoType.Delete || type == UriInfoType.GetEntity
|| type == UriInfoType.PutMergePatch) {
contextType = JPQLContextType.SELECT_SINGLE;
} else if (type == UriInfoType.GetEntitySetCount || type == UriInfoType.GetEntityCount) {
contextType = JPQLContextType.SELECT_COUNT;
}
}
return contextType;
}
示例5: logReadAccess
import org.apache.olingo.odata2.api.uri.UriInfo; //导入依赖的package包/类
@Extension(entitySetNames="Employees", methods={Method.GET})
public Object logReadAccess(ExtensionContext context) throws Exception {
UriInfo uriInfo = context.getUriInfo();
ODataResponse res;
if(uriInfo.getKeyPredicates().isEmpty()) {
LOG.info("Start READ access for Employees.");
res = context.proceed();
res = ODataResponse.fromResponse(res).header(EXTENSION_TEST, "READ EMPLOYEES SET").build();
LOG.info("Finished READ access for Employees.");
} else {
LOG.info("Start READ access for Employee.");
res = context.proceed();
res = ODataResponse.fromResponse(res).header(EXTENSION_TEST, "READ EMPLOYEE").build();
LOG.info("Finished READ access for Employee.");
}
return res;
}
示例6: parseURISegmentWithCustomOptions
import org.apache.olingo.odata2.api.uri.UriInfo; //导入依赖的package包/类
public final UriInfo parseURISegmentWithCustomOptions(final int segmentFromIndex, final int segmentToIndex,
final Map<String, String> options) throws ODataJPARuntimeException {
UriInfo uriInfo = null;
if (segmentFromIndex == segmentToIndex || segmentFromIndex > segmentToIndex || segmentFromIndex < 0) {
return uriInfo;
}
try {
edm = getEdm();
List<PathSegment> pathSegments = context.getODataContext().getPathInfo().getODataSegments();
List<PathSegment> subPathSegments = pathSegments.subList(segmentFromIndex, segmentToIndex);
uriInfo = UriParser.parse(edm, subPathSegments, options);
} catch (ODataException e) {
throw ODataJPARuntimeException.throwException(ODataJPARuntimeException.GENERAL.addContent(e.getMessage()), e);
}
return uriInfo;
}
示例7: parseURISegment
import org.apache.olingo.odata2.api.uri.UriInfo; //导入依赖的package包/类
public final UriInfo parseURISegment(final int segmentFromIndex, final int segmentToIndex)
throws ODataJPARuntimeException {
UriInfo uriInfo = null;
if (segmentFromIndex == segmentToIndex || segmentFromIndex > segmentToIndex || segmentFromIndex < 0) {
return uriInfo;
}
try {
edm = getEdm();
List<PathSegment> pathSegments = context.getODataContext().getPathInfo().getODataSegments();
List<PathSegment> subPathSegments = pathSegments.subList(segmentFromIndex, segmentToIndex);
uriInfo = UriParser.parse(edm, subPathSegments, Collections.<String, String> emptyMap());
} catch (ODataException e) {
throw ODataJPARuntimeException.throwException(ODataJPARuntimeException.GENERAL.addContent(e.getMessage()), e);
}
return uriInfo;
}
示例8: parseLink
import org.apache.olingo.odata2.api.uri.UriInfo; //导入依赖的package包/类
public final UriInfo parseLink(final EdmEntitySet entitySet, final InputStream content, final String contentType)
throws ODataJPARuntimeException {
String uriString = null;
UriInfo uri = null;
try {
uriString = EntityProvider.readLink(contentType, entitySet, content);
ODataContext odataContext = context.getODataContext();
final String svcRoot = odataContext.getPathInfo().getServiceRoot().toString();
final String path =
uriString.startsWith(svcRoot.toString()) ? uriString.substring(svcRoot.length()) : uriString;
final List<PathSegment> pathSegment = getPathSegment(path);
edm = getEdm();
uri = UriParser.parse(edm, pathSegment, Collections.<String, String> emptyMap());
} catch (ODataException e) {
throw ODataJPARuntimeException.throwException(ODataJPARuntimeException.GENERAL.addContent(e.getMessage()), e);
}
return uri;
}
示例9: parseLinkSegments
import org.apache.olingo.odata2.api.uri.UriInfo; //导入依赖的package包/类
public UriInfo parseLinkSegments(final List<String> linkSegments, final Map<String, String> options)
throws ODataJPARuntimeException {
List<PathSegment> pathSegments = new ArrayList<PathSegment>();
for (String link : linkSegments) {
List<PathSegment> pathSegment = getPathSegment(link);
pathSegments.addAll(pathSegment);
}
UriInfo uriInfo = null;
try {
edm = getEdm();
uriInfo = UriParser.parse(edm, pathSegments, options);
} catch (ODataException e) {
throw ODataJPARuntimeException.throwException(ODataJPARuntimeException.GENERAL.addContent(e.getMessage()), e);
}
return uriInfo;
}
示例10: process
import org.apache.olingo.odata2.api.uri.UriInfo; //导入依赖的package包/类
@Override
public Object process(DeleteUriInfo uriParserResultView, final String contentType)
throws ODataJPAModelException, ODataJPARuntimeException {
if (uriParserResultView instanceof DeleteUriInfo) {
if (((UriInfo) uriParserResultView).isLinks()) {
return deleteLink(uriParserResultView);
}
}
Object selectedObject = readEntity(new JPAQueryBuilder(oDataJPAContext).build(uriParserResultView));
if (selectedObject != null) {
try{
boolean isLocalTransaction = setTransaction();
em.remove(selectedObject);
em.flush();
if (isLocalTransaction) {
oDataJPAContext.getODataJPATransaction().commit();
}
} catch(PersistenceException e){
em.getTransaction().rollback();
throw ODataJPARuntimeException.throwException(
ODataJPARuntimeException.ERROR_JPQL_DELETE_REQUEST, e);
}
}
return selectedObject;
}
示例11: build
import org.apache.olingo.odata2.api.uri.UriInfo; //导入依赖的package包/类
public JPAQueryInfo build(GetEntitySetUriInfo uriInfo) throws ODataJPARuntimeException {
JPAQueryInfo queryInfo = new JPAQueryInfo();
Query query = null;
try {
ODataJPATombstoneEntityListener listener = getODataJPATombstoneEntityListener((UriInfo) uriInfo);
if (listener != null) {
query = listener.getQuery(uriInfo, em);
}
if (query == null) {
query = buildQuery((UriInfo) uriInfo, UriInfoType.GetEntitySet);
} else {
queryInfo.setTombstoneQuery(true);
}
} catch (Exception e) {
throw ODataJPARuntimeException.throwException(
ODataJPARuntimeException.ERROR_JPQL_QUERY_CREATE, e);
}
queryInfo.setQuery(query);
return queryInfo;
}
示例12: determineJPQLContextType
import org.apache.olingo.odata2.api.uri.UriInfo; //导入依赖的package包/类
public JPQLContextType determineJPQLContextType(UriInfo uriParserResultView, UriInfoType type) {
JPQLContextType contextType = null;
if (!uriParserResultView.getNavigationSegments().isEmpty()) {
if (type == UriInfoType.GetEntitySet) {
contextType = JPQLContextType.JOIN;
} else if (type == UriInfoType.Delete || type == UriInfoType.GetEntity
|| type == UriInfoType.PutMergePatch) {
contextType = JPQLContextType.JOIN_SINGLE;
} else if (type == UriInfoType.GetEntitySetCount || type == UriInfoType.GetEntityCount) {
contextType = JPQLContextType.JOIN_COUNT;
}
} else {
if (type == UriInfoType.GetEntitySet) {
contextType = JPQLContextType.SELECT;
} else if (type == UriInfoType.Delete || type == UriInfoType.GetEntity
|| type == UriInfoType.PutMergePatch) {
contextType = JPQLContextType.SELECT_SINGLE;
} else if (type == UriInfoType.GetEntitySetCount || type == UriInfoType.GetEntityCount) {
contextType = JPQLContextType.SELECT_COUNT;
}
}
return contextType;
}
示例13: getDeletetUriInfo
import org.apache.olingo.odata2.api.uri.UriInfo; //导入依赖的package包/类
private DeleteUriInfo getDeletetUriInfo() {
UriInfo objUriInfo = EasyMock.createMock(UriInfo.class);
EasyMock.expect(objUriInfo.getStartEntitySet()).andStubReturn(getLocalEdmEntitySet());
List<NavigationSegment> navSegments = new ArrayList<NavigationSegment>();
EasyMock.expect(objUriInfo.getNavigationSegments()).andReturn(navSegments).anyTimes();
EasyMock.expect(objUriInfo.getTargetEntitySet()).andStubReturn(getLocalEdmEntitySet());
EasyMock.expect(objUriInfo.getSelect()).andStubReturn(null);
EasyMock.expect(objUriInfo.getOrderBy()).andStubReturn(getOrderByExpression());
EasyMock.expect(objUriInfo.getTop()).andStubReturn(getTop());
EasyMock.expect(objUriInfo.getSkip()).andStubReturn(getSkip());
EasyMock.expect(objUriInfo.getInlineCount()).andStubReturn(getInlineCount());
EasyMock.expect(objUriInfo.getFilter()).andStubReturn(getFilter());
EasyMock.expect(objUriInfo.getKeyPredicates()).andStubReturn(getKeyPredicates());
EasyMock.expect(objUriInfo.isLinks()).andStubReturn(false);
EasyMock.replay(objUriInfo);
return objUriInfo;
}
示例14: getLocalUriInfo
import org.apache.olingo.odata2.api.uri.UriInfo; //导入依赖的package包/类
/**
* @return
*/
private UriInfo getLocalUriInfo() {
UriInfo objUriInfo = EasyMock.createMock(UriInfo.class);
EasyMock.expect(objUriInfo.getStartEntitySet()).andStubReturn(getLocalEdmEntitySet());
List<NavigationSegment> navSegments = new ArrayList<NavigationSegment>();
EasyMock.expect(objUriInfo.getNavigationSegments()).andReturn(navSegments).anyTimes();
EasyMock.expect(objUriInfo.getTargetEntitySet()).andStubReturn(getLocalEdmEntitySet());
EasyMock.expect(objUriInfo.getSelect()).andStubReturn(null);
EasyMock.expect(objUriInfo.getOrderBy()).andStubReturn(getOrderByExpression());
EasyMock.expect(objUriInfo.getTop()).andStubReturn(getTop());
EasyMock.expect(objUriInfo.getSkip()).andStubReturn(getSkip());
EasyMock.expect(objUriInfo.getInlineCount()).andStubReturn(getInlineCount());
EasyMock.expect(objUriInfo.getFilter()).andStubReturn(getFilter());
EasyMock.expect(objUriInfo.getFunctionImport()).andStubReturn(null);
EasyMock.replay(objUriInfo);
return objUriInfo;
}
示例15: mockPostURIInfo
import org.apache.olingo.odata2.api.uri.UriInfo; //导入依赖的package包/类
private PostUriInfo mockPostURIInfo(boolean isReverse) throws ODataException, NoSuchMethodException,
SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
PostUriInfo uriInfo = EasyMock.createMock(UriInfo.class);
for (EdmEntitySet edmEntitySet : edm.getEntitySets()) {
if (edmEntitySet.getName().equals("Notes")) {
EasyMock.expect(uriInfo.getTargetEntitySet()).andReturn(edmEntitySet).anyTimes();
break;
}
}
EasyMock.expect(((UriInfo) uriInfo).isLinks()).andReturn(true);
EasyMock.expect(uriInfo.getNavigationSegments()).andReturn(mockNavigationSegments(isReverse)).anyTimes();
EasyMock.replay(uriInfo);
return uriInfo;
}