本文整理汇总了Java中org.apache.olingo.odata2.api.ep.EntityProvider.writeFeed方法的典型用法代码示例。如果您正苦于以下问题:Java EntityProvider.writeFeed方法的具体用法?Java EntityProvider.writeFeed怎么用?Java EntityProvider.writeFeed使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.olingo.odata2.api.ep.EntityProvider
的用法示例。
在下文中一共展示了EntityProvider.writeFeed方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: readEntitySet
import org.apache.olingo.odata2.api.ep.EntityProvider; //导入方法依赖的package包/类
@Override
public ODataResponse readEntitySet(final GetEntitySetUriInfo uriInfo, final String contentType)
throws ODataException {
final EntityProviderWriteProperties properties =
EntityProviderWriteProperties.serviceRoot(getContext().getPathInfo().getServiceRoot()).build();
final List<Map<String, Object>> values = new ArrayList<Map<String, Object>>();
for (final HashMap<String, String> record : records) {
final HashMap<String, Object> data = new HashMap<String, Object>();
for (final String pName : uriInfo.getTargetEntitySet().getEntityType().getPropertyNames()) {
final EdmProperty property = (EdmProperty) uriInfo.getTargetEntitySet().getEntityType().getProperty(pName);
final String mappedPropertyName = (String) property.getMapping().getObject();
data.put(pName, record.get(mappedPropertyName));
}
values.add(data);
}
final ODataResponse response =
EntityProvider.writeFeed(contentType, uriInfo.getTargetEntitySet(), values, properties);
return response;
}
示例2: execute
import org.apache.olingo.odata2.api.ep.EntityProvider; //导入方法依赖的package包/类
private String execute(final EntityProviderWriteProperties properties, final EdmEntitySet entitySet)
throws EntityProviderException, IOException {
ODataResponse response = EntityProvider.writeFeed("application/atom+xml", entitySet, roomsData, properties);
assertNotNull(response);
String xmlString = StringHelper.inputStreamToString((InputStream) response.getEntity());
return xmlString;
}
示例3: readEntitySet
import org.apache.olingo.odata2.api.ep.EntityProvider; //导入方法依赖的package包/类
@Override
public ODataResponse readEntitySet(GetEntitySetUriInfo uriInfo, String contentType) throws ODataException {
if ("Employees".equals(uriInfo.getTargetEntitySet().getName())) {
ODataContext context = getContext();
EntityProviderWriteProperties writeProperties =
EntityProviderWriteProperties.serviceRoot(context.getPathInfo().getServiceRoot()).build();
List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
data.add(new HashMap<String, Object>());
return EntityProvider.writeFeed(contentType, uriInfo.getTargetEntitySet(), data, writeProperties);
} else {
throw new ODataApplicationException("Wrong testcall", Locale.getDefault(), HttpStatusCodes.NOT_IMPLEMENTED);
}
}
示例4: readEntitySet
import org.apache.olingo.odata2.api.ep.EntityProvider; //导入方法依赖的package包/类
@Override
public ODataResponse readEntitySet(final GetEntitySetUriInfo uriInfo, final String contentType)
throws ODataException {
try {
ArrayList<Map<String, Object>> deletedRoomData = null;
ODataResponse response = null;
EntityProviderWriteProperties properties = null;
URI requestUri = getContext().getPathInfo().getRequestUri();
if (requestUri.getQuery() != null && requestUri.getQuery().contains(DELTATOKEN_1234)) {
deletedRoomData = createDeletedRoomData();
}
URI deltaLink;
deltaLink =
new URI(requestUri.getScheme(), requestUri.getUserInfo(), requestUri.getHost(), requestUri.getPort(),
requestUri.getPath(), DELTATOKEN_1234, requestUri.getFragment());
TombstoneCallback tombstoneCallback =
new TombstoneCallbackImpl(deletedRoomData, deltaLink.toASCIIString());
HashMap<String, ODataCallback> callbacks = new HashMap<String, ODataCallback>();
callbacks.put(TombstoneCallback.CALLBACK_KEY_TOMBSTONE, tombstoneCallback);
properties =
EntityProviderWriteProperties.serviceRoot(getContext().getPathInfo().getServiceRoot()).callbacks(callbacks)
.build();
response = EntityProvider.writeFeed(contentType, uriInfo.getTargetEntitySet(), createRoomData(), properties);
return response;
} catch (Exception e) {
throw new ODataRuntimeException(e);
}
}
示例5: readEntitySet
import org.apache.olingo.odata2.api.ep.EntityProvider; //导入方法依赖的package包/类
@Override
public ODataResponse readEntitySet(final GetEntitySetUriInfo uriInfo, final String contentType)
throws ODataException {
EdmEntitySet entitySet;
if (uriInfo.getNavigationSegments().size() == 0) {
entitySet = uriInfo.getStartEntitySet();
if (ENTITY_SET_NAME_CARS.equals(entitySet.getName())) {
return EntityProvider.writeFeed(contentType, entitySet, dataStore.getCars(),
EntityProviderWriteProperties.serviceRoot(getContext().getPathInfo().getServiceRoot()).build());
} else if (ENTITY_SET_NAME_MANUFACTURERS.equals(entitySet.getName())) {
return EntityProvider.writeFeed(contentType, entitySet, dataStore.getManufacturers(),
EntityProviderWriteProperties.serviceRoot(getContext().getPathInfo().getServiceRoot()).build());
}
throw new ODataNotFoundException(ODataNotFoundException.ENTITY);
} else if (uriInfo.getNavigationSegments().size() == 1) {
// navigation first level, simplified example for illustration purposes only
entitySet = uriInfo.getTargetEntitySet();
if (ENTITY_SET_NAME_CARS.equals(entitySet.getName())) {
int manufacturerKey = getKeyValue(uriInfo.getKeyPredicates().get(0));
List<Map<String, Object>> cars = new ArrayList<Map<String, Object>>();
cars.addAll(dataStore.getCarsFor(manufacturerKey));
return EntityProvider.writeFeed(contentType, entitySet, cars, EntityProviderWriteProperties.serviceRoot(
getContext().getPathInfo().getServiceRoot()).build());
}
throw new ODataNotFoundException(ODataNotFoundException.ENTITY);
}
throw new ODataNotImplementedException();
}
示例6: readEntitySet
import org.apache.olingo.odata2.api.ep.EntityProvider; //导入方法依赖的package包/类
@Override
public ODataResponse readEntitySet(GetEntitySetUriInfo uriInfo, String contentType) throws ODataException
{
int skip = getSkip(uriInfo);
int top = getTop(uriInfo);
if (uriInfo.getNavigationSegments().isEmpty()) {
String queryString = "";
IssueFilter issueFilter = new IssueFilter();
FilterExpression filterExpression = uriInfo.getFilter();
if (filterExpression != null) {
queryString = (String) filterExpression.accept(issueFilter);
}
OrderByExpression orderByExpression = uriInfo.getOrderBy();
if (orderByExpression != null) {
queryString += (String) orderByExpression.accept(issueFilter);
}
// Parse and sanitize the query
ParseResult parseResult = searchService.parseQuery(currentUser, queryString);
if (parseResult.isValid()) {
try {
PagerFilter<Issue> pagerFilter = null;
if (top > 0 && skip == 0) {
pagerFilter = new PagerFilter<Issue>(top);
} else if (top > 0 && skip > 0) {
pagerFilter = new PagerFilter<Issue>(skip, top);
} else {
pagerFilter = PagerFilter.getUnlimitedFilter();
}
SearchResults searchResults = searchService.search(currentUser, parseResult.getQuery(), pagerFilter);
List<Issue> issues = searchResults.getIssues();
List<ODataIssue> odataIssues = new ArrayList<ODataIssue>();
for (Issue issue : issues) {
if (issueFilter.postFilter(issue.getKey().toLowerCase())) {
odataIssues.add(new ODataIssue(issue, serviceRoot));
}
}
return EntityProvider.writeFeed(contentType, uriInfo.getTargetEntitySet(), getODataList(odataIssues), propertiesBuilder.build());
} catch (SearchException e) {
throw new ODataException(e.getMessage());
}
}
}
throw new ODataNotImplementedException();
}
示例7: readEntitySet
import org.apache.olingo.odata2.api.ep.EntityProvider; //导入方法依赖的package包/类
@Override
public ODataResponse readEntitySet(final GetEntitySetUriInfo uriInfo, final String contentType)
throws ODataException {
ArrayList<Object> data = new ArrayList<Object>();
try {
data.addAll((List<?>) retrieveData(
uriInfo.getStartEntitySet(),
uriInfo.getKeyPredicates(),
uriInfo.getFunctionImport(),
mapFunctionParameters(uriInfo.getFunctionImportParameters()),
uriInfo.getNavigationSegments()));
} catch (final ODataNotFoundException e) {
data.clear();
}
final EdmEntitySet entitySet = uriInfo.getTargetEntitySet();
final InlineCount inlineCountType = uriInfo.getInlineCount();
final Integer count = applySystemQueryOptions(
entitySet,
data,
uriInfo.getFilter(),
inlineCountType,
uriInfo.getOrderBy(),
uriInfo.getSkipToken(),
uriInfo.getSkip(),
uriInfo.getTop());
ODataContext context = getContext();
String nextLink = null;
// Limit the number of returned entities and provide a "next" link
// if there are further entities.
// Almost all system query options in the current request must be carried
// over to the URI for the "next" link, with the exception of $skiptoken
// and $skip.
if (data.size() > SERVER_PAGING_SIZE) {
if (uriInfo.getOrderBy() == null
&& uriInfo.getSkipToken() == null
&& uriInfo.getSkip() == null
&& uriInfo.getTop() == null) {
sortInDefaultOrder(entitySet, data);
}
nextLink = context.getPathInfo().getServiceRoot().relativize(context.getPathInfo().getRequestUri()).toString();
nextLink = percentEncodeNextLink(nextLink);
nextLink += (nextLink.contains("?") ? "&" : "?")
+ "$skiptoken=" + getSkipToken(entitySet, data.get(SERVER_PAGING_SIZE));
while (data.size() > SERVER_PAGING_SIZE) {
data.remove(SERVER_PAGING_SIZE);
}
}
final EdmEntityType entityType = entitySet.getEntityType();
List<Map<String, Object>> values = new ArrayList<Map<String, Object>>();
for (final Object entryData : data) {
values.add(getStructuralTypeValueMap(entryData, entityType));
}
final EntityProviderWriteProperties feedProperties = EntityProviderWriteProperties
.serviceRoot(context.getPathInfo().getServiceRoot())
.inlineCountType(inlineCountType)
.inlineCount(count)
.expandSelectTree(UriParser.createExpandSelectTree(uriInfo.getSelect(), uriInfo.getExpand()))
.callbacks(getCallbacks(data, entityType))
.nextLink(nextLink)
.build();
final int timingHandle = context.startRuntimeMeasurement("EntityProvider", "writeFeed");
final ODataResponse response = EntityProvider.writeFeed(contentType, entitySet, values, feedProperties);
context.stopRuntimeMeasurement(timingHandle);
return ODataResponse.fromResponse(response).build();
}
示例8: readEntitySet
import org.apache.olingo.odata2.api.ep.EntityProvider; //导入方法依赖的package包/类
@Override
public ODataResponse readEntitySet(final GetEntitySetUriInfo uriInfo, final String contentType)
throws ODataException {
ArrayList<Object> data = new ArrayList<Object>();
try {
data.addAll((List<?>) retrieveData(
uriInfo.getStartEntitySet(),
uriInfo.getKeyPredicates(),
uriInfo.getFunctionImport(),
mapFunctionParameters(uriInfo.getFunctionImportParameters()),
uriInfo.getNavigationSegments()));
} catch (final ODataNotFoundException e) {
data.clear();
}
final EdmEntitySet entitySet = uriInfo.getTargetEntitySet();
final InlineCount inlineCountType = uriInfo.getInlineCount();
final Integer count = applySystemQueryOptions(
entitySet,
data,
uriInfo.getFilter(),
inlineCountType,
uriInfo.getOrderBy(),
uriInfo.getSkipToken(),
uriInfo.getSkip(),
uriInfo.getTop());
ODataContext context = getContext();
String nextLink = null;
// Limit the number of returned entities and provide a "next" link
// if there are further entities.
// Almost all system query options in the current request must be carried
// over to the URI for the "next" link, with the exception of $skiptoken
// and $skip.
if (data.size() > SERVER_PAGING_SIZE) {
if (uriInfo.getOrderBy() == null
&& uriInfo.getSkipToken() == null
&& uriInfo.getSkip() == null
&& uriInfo.getTop() == null) {
sortInDefaultOrder(entitySet, data);
}
nextLink = context.getPathInfo().getServiceRoot().relativize(context.getPathInfo().getRequestUri()).toString();
nextLink = percentEncodeNextLink(nextLink);
nextLink += (nextLink.contains("?") ? "&" : "?")
+ "$skiptoken=" + getSkipToken(entitySet, data.get(SERVER_PAGING_SIZE));
while (data.size() > SERVER_PAGING_SIZE) {
data.remove(SERVER_PAGING_SIZE);
}
}
final EdmEntityType entityType = entitySet.getEntityType();
List<Map<String, Object>> values = new ArrayList<Map<String, Object>>();
for (final Object entryData : data) {
values.add(getStructuralTypeValueMap(entryData, entityType));
}
final EntityProviderWriteProperties feedProperties = EntityProviderWriteProperties
.serviceRoot(context.getPathInfo().getServiceRoot())
.inlineCountType(inlineCountType)
.inlineCount(count)
.expandSelectTree(UriParser.createExpandSelectTree(uriInfo.getSelect(), uriInfo.getExpand()))
.callbacks(getCallbacks(data, entityType))
.nextLink(nextLink)
.build();
final int timingHandle = context.startRuntimeMeasurement("EntityProvider", "writeFeed");
final ODataResponse response = EntityProvider.writeFeed(contentType, entitySet, values, feedProperties);
context.stopRuntimeMeasurement(timingHandle);
return ODataResponse.fromResponse(response).build();
}