当前位置: 首页>>代码示例>>Java>>正文


Java EntityProvider.writeFeed方法代码示例

本文整理汇总了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;
}
 
开发者ID:apache,项目名称:olingo-odata2,代码行数:26,代码来源:MapProcessor.java

示例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;
}
 
开发者ID:apache,项目名称:olingo-odata2,代码行数:8,代码来源:XmlFeedWithTombstonesProducerTest.java

示例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);
  }
}
 
开发者ID:apache,项目名称:olingo-odata2,代码行数:14,代码来源:InvalidDataInScenarioTest.java

示例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);

  }
}
 
开发者ID:apache,项目名称:olingo-odata2,代码行数:38,代码来源:ClientDeltaResponseTest.java

示例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();
}
 
开发者ID:apache,项目名称:olingo-odata2,代码行数:39,代码来源:CarODataSingleProcessor.java

示例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();
}
 
开发者ID:SAP,项目名称:SAPJamWorkPatternJIRAIntegration,代码行数:54,代码来源:IssueProcessor.java

示例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();
}
 
开发者ID:apache,项目名称:olingo-odata2,代码行数:76,代码来源:ListsProcessor.java

示例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();
}
 
开发者ID:apache,项目名称:olingo-odata2,代码行数:77,代码来源:ListsProcessor.java


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