public UriResourceActionImpl(final EdmActionImport actionImport) { super(UriResourceKind.action); this.actionImport = actionImport; this.action = actionImport.getUnboundAction(); }
private void appendActionImports(final XMLStreamWriter writer, final List<EdmActionImport> actionImports) throws XMLStreamException { for (EdmActionImport actionImport : actionImports) { writer.writeStartElement(XML_ACTION_IMPORT); writer.writeAttribute(XML_NAME, actionImport.getName()); writer.writeAttribute(XML_ACTION, getAliasedFullQualifiedName(actionImport.getUnboundAction(), false)); appendAnnotations(writer, actionImport); writer.writeEndElement(); } }
private void appendActionImports(final JsonGenerator json, final List<EdmActionImport> actionImports, String containerNamespace) throws SerializerException, IOException { for (EdmActionImport actionImport : actionImports) { json.writeObjectFieldStart(actionImport.getName()); json.writeStringField(KIND, Kind.ActionImport.name()); json.writeStringField(DOLLAR + Kind.Action.name(), getAliasedFullQualifiedName(actionImport.getUnboundAction())); if (actionImport.getReturnedEntitySet() != null) { json.writeStringField(DOLLAR + Kind.EntitySet.name(), containerNamespace + "." + actionImport.getReturnedEntitySet().getName()); } appendAnnotations(json, actionImport, null); json.writeEndObject(); } }
public static EdmEntitySet getStartingEdmEntitySet(final UriInfoResource uriInfo,Locale locale) throws ODataApplicationException { EdmEntitySet entitySet = null; final List<UriResource> resourcePaths = uriInfo.getUriResourceParts(); // First must be an entity, an entity collection, a function import, or an action import. blockTypeFilters(resourcePaths.get(0),locale); if (resourcePaths.get(0) instanceof UriResourceEntitySet) { entitySet = ((UriResourceEntitySet) resourcePaths.get(0)).getEntitySet(); }else if (resourcePaths.get(0) instanceof UriResourceFunction) { entitySet = ((UriResourceFunction) resourcePaths.get(0)).getFunctionImport().getReturnedEntitySet(); } else if (resourcePaths.get(0) instanceof UriResourceAction) { entitySet = ((UriResourceAction) resourcePaths.get(0)).getActionImport().getReturnedEntitySet(); } else { getResourceLable(locale); throw new ODataApplicationException(labels.getString("INVALID_RESOURCE_TYPE"), HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), locale,labels.getString("INVALID_RESOURCE_TYPE_CODE")); } return entitySet; }
@Override public String getSegmentValue(final boolean includeFilters) { return actionImport == null ? (action == null ? "" : action.getName()) : actionImport.getName(); }
private void appendActionImports(final JsonGenerator json, final List<EdmActionImport> actionImports, String containerNamespace) throws SerializerException, IOException { for (EdmActionImport actionImport : actionImports) { json.writeObjectFieldStart(actionImport.getName()); json.writeStringField(KIND, Kind.ActionImport.name()); json.writeStringField(DOLLAR + Kind.Action.name(), getAliasedFullQualifiedName(actionImport.getUnboundAction())); if (actionImport.getReturnedEntitySet() != null) { json.writeStringField(DOLLAR + Kind.EntitySet.name(), containerNamespace + "." + actionImport.getReturnedEntitySet().getName()); } appendAnnotations(json, actionImport, null); json.writeEndObject(); } }
entitySet = ((UriResourceFunction) resourcePaths.get(0)).getFunctionImport().getReturnedEntitySet(); } else if (resourcePaths.get(0) instanceof UriResourceAction) { entitySet = ((UriResourceAction) resourcePaths.get(0)).getActionImport().getReturnedEntitySet(); } else { getResourceLable(locale);
@Override public String getSegmentValue(final boolean includeFilters) { return actionImport == null ? (action == null ? "" : action.getName()) : actionImport.getName(); }
public UriResourceActionImpl(final EdmActionImport actionImport) { super(UriResourceKind.action); this.actionImport = actionImport; this.action = actionImport.getUnboundAction(); }
private void appendActionImports(final XMLStreamWriter writer, final List<EdmActionImport> actionImports) throws XMLStreamException { for (EdmActionImport actionImport : actionImports) { writer.writeStartElement(XML_ACTION_IMPORT); writer.writeAttribute(XML_NAME, actionImport.getName()); writer.writeAttribute(XML_ACTION, getAliasedFullQualifiedName(actionImport.getUnboundAction(), false)); appendAnnotations(writer, actionImport); writer.writeEndElement(); } }
entitySet = ((UriResourceFunction) resourcePaths.get(0)).getFunctionImport().getReturnedEntitySet(); } else if (resourcePaths.get(0) instanceof UriResourceAction) { entitySet = ((UriResourceAction) resourcePaths.get(0)).getActionImport().getReturnedEntitySet(); } else { throw new ODataApplicationException("Invalid resource type.",
public static String getActionName(final UriInfoResource uriInfo) { String actionName=null; final List<UriResource> resourcePaths = uriInfo.getUriResourceParts(); if(resourcePaths!=null && !resourcePaths.isEmpty()) { if (resourcePaths.get(0) instanceof UriResourceAction) { actionName=((UriResourceAction) resourcePaths.get(0)).getActionImport().getName(); }else if(resourcePaths.get(resourcePaths.size()-1) instanceof UriResourceAction) { actionName=((UriResourceAction) resourcePaths.get(resourcePaths.size()-1)).getAction().getName(); } } return actionName; } public static EdmEntitySet getStartingEdmEntitySet(final UriInfoResource uriInfo,Locale locale) throws ODataApplicationException {
@Override @SuppressWarnings("unchecked") public <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getActionImportInvokeRequest( final String actionImportName, final Map<String, ClientValue> parameters) { EdmActionImport eai = null; for (EdmSchema schema : edmClient.getCachedEdm().getSchemas()) { final EdmEntityContainer container = schema.getEntityContainer(); if (container != null) { eai = container.getActionImport(actionImportName); } } if (eai == null) { throw new IllegalArgumentException("Could not find ActionImport for name " + actionImportName); } return (ODataInvokeRequest<RES>) getInvokeRequest(HttpMethod.POST, edmClient.newURIBuilder().appendOperationCallSegment(actionImportName).build(), getResultReference(eai.getUnboundAction().getReturnType()), parameters); }
@Override @SuppressWarnings("unchecked") public <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getActionImportInvokeRequest( final String actionImportName, final Map<String, ClientValue> parameters) { EdmActionImport eai = null; for (EdmSchema schema : edmClient.getCachedEdm().getSchemas()) { final EdmEntityContainer container = schema.getEntityContainer(); if (container != null) { eai = container.getActionImport(actionImportName); } } if (eai == null) { throw new IllegalArgumentException("Could not find ActionImport for name " + actionImportName); } return (ODataInvokeRequest<RES>) getInvokeRequest(HttpMethod.POST, edmClient.newURIBuilder().appendOperationCallSegment(actionImportName).build(), getResultReference(eai.getUnboundAction().getReturnType()), parameters); }
private Map.Entry<URI, EdmOperation> getUnboundOperation( final Operation operation, final List<String> parameterNames) { final EdmEntityContainer container = getClient().getCachedEdm().getEntityContainer(targetFQN); final EdmOperation edmOperation; if (operation.type() == OperationType.FUNCTION) { edmOperation = container.getFunctionImport(operation.name()).getUnboundFunction(parameterNames); } else { edmOperation = container.getActionImport(operation.name()).getUnboundAction(); } final URIBuilder uriBuilder = getClient().newURIBuilder(). appendOperationCallSegment(edmOperation.getName()); return new AbstractMap.SimpleEntry<URI, EdmOperation>(uriBuilder.build(), edmOperation); }
private Map.Entry<URI, EdmOperation> getUnboundOperation( final Operation operation, final List<String> parameterNames) { final EdmEntityContainer container = getClient().getCachedEdm().getEntityContainer(targetFQN); final EdmOperation edmOperation; if (operation.type() == OperationType.FUNCTION) { edmOperation = container.getFunctionImport(operation.name()).getUnboundFunction(parameterNames); } else { edmOperation = container.getActionImport(operation.name()).getUnboundAction(); } final URIBuilder uriBuilder = getClient().newURIBuilder(). appendOperationCallSegment(edmOperation.getName()); return new AbstractMap.SimpleEntry<URI, EdmOperation>(uriBuilder.build(), edmOperation); }