You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2015/03/06 14:54:18 UTC
[4/5] olingo-odata4 git commit: [OLINGO-575] Cleanup ServiceVersion
Enum part 2
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/07c37106/fit/src/main/java/org/apache/olingo/fit/V4Services.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/V4Services.java b/fit/src/main/java/org/apache/olingo/fit/V4Services.java
index 9ae4648..d4a3e4a 100644
--- a/fit/src/main/java/org/apache/olingo/fit/V4Services.java
+++ b/fit/src/main/java/org/apache/olingo/fit/V4Services.java
@@ -92,18 +92,18 @@ import javax.ws.rs.BadRequestException;
@Service
@Path("/V40/Static.svc")
-@InInterceptors(classes = {XHTTPMethodInterceptor.class, ResolvingReferencesInterceptor.class})
+@InInterceptors(classes = { XHTTPMethodInterceptor.class, ResolvingReferencesInterceptor.class })
public class V4Services extends AbstractServices {
/**
* CR/LF.
*/
- protected static final byte[] CRLF = {13, 10};
+ protected static final byte[] CRLF = { 13, 10 };
protected static final Pattern RELENTITY_SELECT_PATTERN = Pattern.compile("^.*\\(\\$select=.*\\)$");
protected static final Pattern CROSSJOIN_PATTERN = Pattern.compile(
- "^\\$crossjoin\\(.*\\)\\?\\$filter=\\([a-zA-Z/]+ eq [a-zA-Z/]+\\)$");
+ "^\\$crossjoin\\(.*\\)\\?\\$filter=\\([a-zA-Z/]+ eq [a-zA-Z/]+\\)$");
private final Map<String, String> providedAsync = new HashMap<String, String>();
@@ -118,18 +118,18 @@ public class V4Services extends AbstractServices {
@GET
@Path("/redirect/{name}({id})")
public Response conformanceRedirect(
- @Context final UriInfo uriInfo,
- @PathParam("name") final String name,
- @PathParam("id") final String id) {
+ @Context final UriInfo uriInfo,
+ @PathParam("name") final String name,
+ @PathParam("id") final String id) {
return Response.temporaryRedirect(
- URI.create(uriInfo.getRequestUri().toASCIIString().replace("/redirect", ""))).build();
+ URI.create(uriInfo.getRequestUri().toASCIIString().replace("/redirect", ""))).build();
}
@GET
@Path("/$crossjoin({elements:.*})")
public Response crossjoin(
- @PathParam("elements") final String elements,
- @QueryParam("$filter") final String filter) {
+ @PathParam("elements") final String elements,
+ @QueryParam("$filter") final String filter) {
try {
if (CROSSJOIN_PATTERN.matcher("$crossjoin(" + elements + ")?$filter=" + filter).matches()) {
@@ -140,20 +140,20 @@ public class V4Services extends AbstractServices {
throw new IOException("Unexpected crossjoin pattern");
}
} catch (Exception e) {
- return xml.createFaultResponse(Accept.JSON.toString(version), e);
+ return xml.createFaultResponse(Accept.JSON.toString(), e);
}
}
@GET
@Path("/relatedEntitySelect/{path:.*}")
public Response relatedEntitySelect(
- @PathParam("path") final String path,
- @QueryParam("$expand") final String expand) {
+ @PathParam("path") final String path,
+ @QueryParam("$expand") final String expand) {
if (RELENTITY_SELECT_PATTERN.matcher(expand).matches()) {
return xml.createResponse(null, null, Accept.JSON_FULLMETA);
} else {
- return xml.createFaultResponse(Accept.JSON.toString(version), new Exception("Unexpected expand pattern"));
+ return xml.createFaultResponse(Accept.JSON.toString(), new Exception("Unexpected expand pattern"));
}
}
@@ -178,7 +178,7 @@ public class V4Services extends AbstractServices {
return xml.createFaultResponse(Accept.JSON_FULLMETA.toString(), e);
}
}
-
+
@PUT
@Path("/People(1)/Parent")
@SuppressWarnings("unused")
@@ -189,24 +189,24 @@ public class V4Services extends AbstractServices {
final String content) {
try {
- final Accept contentTypeValue = Accept.parse(contentType, version);
- assert contentTypeValue == Accept.JSON;
-
- ResWrap<Entity> entity = jsonDeserializer.toEntity(IOUtils.toInputStream(content, Constants.ENCODING));
-
- return Response.noContent().type(MediaType.APPLICATION_JSON).build();
- }catch (Exception e) {
- LOG.error("While update single property reference", e);
- return xml.createFaultResponse(accept, e);
- }
+ final Accept contentTypeValue = Accept.parse(contentType);
+ assert contentTypeValue == Accept.JSON;
+
+ ResWrap<Entity> entity = jsonDeserializer.toEntity(IOUtils.toInputStream(content, Constants.ENCODING));
+
+ return Response.noContent().type(MediaType.APPLICATION_JSON).build();
+ } catch (Exception e) {
+ LOG.error("While update single property reference", e);
+ return xml.createFaultResponse(accept, e);
+ }
}
-
+
@POST
@Path("/async/$batch")
public Response async(
- @Context final UriInfo uriInfo,
- @HeaderParam("Prefer") @DefaultValue(StringUtils.EMPTY) final String prefer,
- final @Multipart MultipartBody attachment) {
+ @Context final UriInfo uriInfo,
+ @HeaderParam("Prefer") @DefaultValue(StringUtils.EMPTY) final String prefer,
+ final @Multipart MultipartBody attachment) {
try {
final ByteArrayOutputStream bos = new ByteArrayOutputStream();
@@ -243,7 +243,7 @@ public class V4Services extends AbstractServices {
bos.close();
return xml.createAsyncResponse(
- uriInfo.getRequestUri().toASCIIString().replace("async/$batch", "") + "monitor/" + uuid.toString());
+ uriInfo.getRequestUri().toASCIIString().replace("async/$batch", "") + "monitor/" + uuid.toString());
} catch (Exception e) {
return xml.createFaultResponse(Accept.JSON.toString(), e);
}
@@ -252,12 +252,12 @@ public class V4Services extends AbstractServices {
@GET
@Path("/async/{name}")
public Response async(
- @Context final UriInfo uriInfo,
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @PathParam("name") final String name) {
+ @Context final UriInfo uriInfo,
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @PathParam("name") final String name) {
try {
- final Accept acceptType = Accept.parse(accept, version);
+ final Accept acceptType = Accept.parse(accept);
if (acceptType == Accept.XML || acceptType == Accept.TEXT) {
throw new UnsupportedMediaTypeException("Unsupported media type");
}
@@ -266,8 +266,8 @@ public class V4Services extends AbstractServices {
final StringBuilder path = new StringBuilder(basePath);
path.append(metadata.getEntitySet(name).isSingleton()
- ? Constants.get(version, ConstantKey.ENTITY)
- : Constants.get(version, ConstantKey.FEED));
+ ? Constants.get(ConstantKey.ENTITY)
+ : Constants.get(ConstantKey.FEED));
final InputStream feed = FSManager.instance(version).readFile(path.toString(), acceptType);
@@ -281,7 +281,7 @@ public class V4Services extends AbstractServices {
providedAsync.put(uuid.toString(), builder.toString());
return xml.createAsyncResponse(
- uriInfo.getRequestUri().toASCIIString().replaceAll("async/" + name, "") + "monitor/" + uuid.toString());
+ uriInfo.getRequestUri().toASCIIString().replaceAll("async/" + name, "") + "monitor/" + uuid.toString());
} catch (Exception e) {
return xml.createFaultResponse(accept, e);
}
@@ -296,8 +296,8 @@ public class V4Services extends AbstractServices {
@Override
public InputStream exploreMultipart(
- final List<Attachment> attachments, final String boundary, final boolean continueOnError)
- throws IOException {
+ final List<Attachment> attachments, final String boundary, final boolean continueOnError)
+ throws IOException {
final ByteArrayOutputStream bos = new ByteArrayOutputStream();
@@ -383,59 +383,59 @@ public class V4Services extends AbstractServices {
@GET
@Path("/People/{type:.*}")
public Response getPeople(
- @Context final UriInfo uriInfo,
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @PathParam("type") final String type,
- @QueryParam("$top") @DefaultValue(StringUtils.EMPTY) final String top,
- @QueryParam("$skip") @DefaultValue(StringUtils.EMPTY) final String skip,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
- @QueryParam("$inlinecount") @DefaultValue(StringUtils.EMPTY) final String count,
- @QueryParam("$filter") @DefaultValue(StringUtils.EMPTY) final String filter,
- @QueryParam("$search") @DefaultValue(StringUtils.EMPTY) final String search,
- @QueryParam("$orderby") @DefaultValue(StringUtils.EMPTY) final String orderby,
- @QueryParam("$skiptoken") @DefaultValue(StringUtils.EMPTY) final String skiptoken) {
+ @Context final UriInfo uriInfo,
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @PathParam("type") final String type,
+ @QueryParam("$top") @DefaultValue(StringUtils.EMPTY) final String top,
+ @QueryParam("$skip") @DefaultValue(StringUtils.EMPTY) final String skip,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
+ @QueryParam("$inlinecount") @DefaultValue(StringUtils.EMPTY) final String count,
+ @QueryParam("$filter") @DefaultValue(StringUtils.EMPTY) final String filter,
+ @QueryParam("$search") @DefaultValue(StringUtils.EMPTY) final String search,
+ @QueryParam("$orderby") @DefaultValue(StringUtils.EMPTY) final String orderby,
+ @QueryParam("$skiptoken") @DefaultValue(StringUtils.EMPTY) final String skiptoken) {
return StringUtils.isBlank(filter) && StringUtils.isBlank(search)
- ? NumberUtils.isNumber(type)
+ ? NumberUtils.isNumber(type)
? super.getEntityInternal(
- uriInfo.getRequestUri().toASCIIString(), accept, "People", type, format, null, null)
+ uriInfo.getRequestUri().toASCIIString(), accept, "People", type, format, null, null)
: super.getEntitySet(accept, "People", type)
- : super.getEntitySet(uriInfo, accept, "People", top, skip, format, count, filter, orderby, skiptoken);
+ : super.getEntitySet(uriInfo, accept, "People", top, skip, format, count, filter, orderby, skiptoken);
}
@GET
@Path("/Boss")
public Response getSingletonBoss(
- @Context final UriInfo uriInfo,
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @Context final UriInfo uriInfo,
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
return getEntityInternal(
- uriInfo.getRequestUri().toASCIIString(), accept, "Boss", StringUtils.EMPTY, format, null, null);
+ uriInfo.getRequestUri().toASCIIString(), accept, "Boss", StringUtils.EMPTY, format, null, null);
}
@GET
@Path("/Company")
public Response getSingletonCompany(
- @Context final UriInfo uriInfo,
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @Context final UriInfo uriInfo,
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
return getEntityInternal(
- uriInfo.getRequestUri().toASCIIString(), accept, "Company", StringUtils.EMPTY, format, null, null);
+ uriInfo.getRequestUri().toASCIIString(), accept, "Company", StringUtils.EMPTY, format, null, null);
}
@PATCH
@Path("/Company")
- @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_ATOM_XML, MediaType.APPLICATION_JSON})
- @Consumes({MediaType.APPLICATION_ATOM_XML, MediaType.APPLICATION_JSON})
+ @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_ATOM_XML, MediaType.APPLICATION_JSON })
+ @Consumes({ MediaType.APPLICATION_ATOM_XML, MediaType.APPLICATION_JSON })
public Response patchSingletonCompany(
- @Context final UriInfo uriInfo,
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
- @HeaderParam("Prefer") @DefaultValue(StringUtils.EMPTY) final String prefer,
- @HeaderParam("If-Match") @DefaultValue(StringUtils.EMPTY) final String ifMatch,
- final String changes) {
+ @Context final UriInfo uriInfo,
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
+ @HeaderParam("Prefer") @DefaultValue(StringUtils.EMPTY) final String prefer,
+ @HeaderParam("If-Match") @DefaultValue(StringUtils.EMPTY) final String ifMatch,
+ final String changes) {
return super.patchEntity(uriInfo, accept, contentType, prefer, ifMatch, "Company", StringUtils.EMPTY, changes);
}
@@ -443,24 +443,24 @@ public class V4Services extends AbstractServices {
@GET
@Path("/Customers")
public Response getCustomers(
- @Context final UriInfo uriInfo,
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
- @HeaderParam("Prefer") @DefaultValue(StringUtils.EMPTY) final String prefer,
- @QueryParam("$deltatoken") @DefaultValue(StringUtils.EMPTY) final String deltatoken) {
+ @Context final UriInfo uriInfo,
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
+ @HeaderParam("Prefer") @DefaultValue(StringUtils.EMPTY) final String prefer,
+ @QueryParam("$deltatoken") @DefaultValue(StringUtils.EMPTY) final String deltatoken) {
try {
final Accept acceptType;
if (StringUtils.isNotBlank(format)) {
acceptType = Accept.valueOf(format.toUpperCase());
} else {
- acceptType = Accept.parse(accept, version);
+ acceptType = Accept.parse(accept);
}
final InputStream output;
if (StringUtils.isBlank(deltatoken)) {
final InputStream input = (InputStream) getEntitySet(
- uriInfo, accept, "Customers", null, null, format, null, null, null, null).getEntity();
+ uriInfo, accept, "Customers", null, null, format, null, null, null, null).getEntity();
final EntitySet entitySet = xml.readEntitySet(acceptType, input);
boolean trackChanges = prefer.contains("odata.track-changes");
@@ -469,20 +469,20 @@ public class V4Services extends AbstractServices {
}
output = xml.writeEntitySet(acceptType, new ResWrap<EntitySet>(
- URI.create(Constants.get(version, ConstantKey.ODATA_METADATA_PREFIX) + "Customers"),
- null,
- entitySet));
+ URI.create(Constants.get(ConstantKey.ODATA_METADATA_PREFIX) + "Customers"),
+ null,
+ entitySet));
} else {
output = FSManager.instance(version).readFile("delta", acceptType);
}
final Response response = xml.createResponse(
- null,
- output,
- null,
- acceptType);
+ null,
+ output,
+ null,
+ acceptType);
if (StringUtils.isNotBlank(prefer)) {
- response.getHeaders().put("Preference-Applied", Collections.<Object>singletonList(prefer));
+ response.getHeaders().put("Preference-Applied", Collections.<Object> singletonList(prefer));
}
return response;
} catch (Exception e) {
@@ -493,29 +493,29 @@ public class V4Services extends AbstractServices {
@GET
@Path("/Company/Microsoft.Test.OData.Services.ODataWCFService.GetEmployeesCount{paren:[\\(\\)]*}")
public Response functionGetEmployeesCount(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
try {
final Accept acceptType;
if (StringUtils.isNotBlank(format)) {
acceptType = Accept.valueOf(format.toUpperCase());
} else {
- acceptType = Accept.parse(accept, version);
+ acceptType = Accept.parse(accept);
}
final Property property = new PropertyImpl();
property.setType("Edm.Int32");
property.setValue(ValueType.PRIMITIVE, 2);
final ResWrap<Property> container = new ResWrap<Property>(
- URI.create(Constants.get(version, ConstantKey.ODATA_METADATA_PREFIX) + property.getType()), null,
- property);
+ URI.create(Constants.get(ConstantKey.ODATA_METADATA_PREFIX) + property.getType()), null,
+ property);
return xml.createResponse(
- null,
- xml.writeProperty(acceptType, container),
- null,
- acceptType);
+ null,
+ xml.writeProperty(acceptType, container),
+ null,
+ acceptType);
} catch (Exception e) {
return xml.createFaultResponse(accept, e);
}
@@ -524,27 +524,27 @@ public class V4Services extends AbstractServices {
@POST
@Path("/Company/Microsoft.Test.OData.Services.ODataWCFService.IncreaseRevenue{paren:[\\(\\)]*}")
public Response actionIncreaseRevenue(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
- final String param) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
+ final String param) {
try {
final Accept acceptType;
if (StringUtils.isNotBlank(format)) {
acceptType = Accept.valueOf(format.toUpperCase());
} else {
- acceptType = Accept.parse(accept, version);
+ acceptType = Accept.parse(accept);
}
- final Accept contentTypeValue = Accept.parse(contentType, version);
+ final Accept contentTypeValue = Accept.parse(contentType);
final Entity entry = xml.readEntity(contentTypeValue, IOUtils.toInputStream(param, Constants.ENCODING));
return xml.createResponse(
- null,
- xml.writeProperty(acceptType, entry.getProperty("IncreaseValue")),
- null,
- acceptType);
+ null,
+ xml.writeProperty(acceptType, entry.getProperty("IncreaseValue")),
+ null,
+ acceptType);
} catch (Exception e) {
return xml.createFaultResponse(accept, e);
}
@@ -553,16 +553,16 @@ public class V4Services extends AbstractServices {
@GET
@Path("/Products({entityId})/Microsoft.Test.OData.Services.ODataWCFService.GetProductDetails({param:.*})")
public Response functionGetProductDetails(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @PathParam("entityId") final String entityId,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @PathParam("entityId") final String entityId,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
try {
final Accept acceptType;
if (StringUtils.isNotBlank(format)) {
acceptType = Accept.valueOf(format.toUpperCase());
} else {
- acceptType = Accept.parse(accept, version);
+ acceptType = Accept.parse(accept);
}
final EntityImpl entry = new EntityImpl();
@@ -581,7 +581,7 @@ public class V4Services extends AbstractServices {
final Link link = new LinkImpl();
link.setRel("edit");
link.setHref(URI.create(
- Constants.get(version, ConstantKey.DEFAULT_SERVICE_URL)
+ Constants.get(ConstantKey.DEFAULT_SERVICE_URL)
+ "ProductDetails(ProductID=6,ProductDetailID=1)").toASCIIString());
entry.setEditLink(link);
@@ -589,14 +589,14 @@ public class V4Services extends AbstractServices {
feed.getEntities().add(entry);
final ResWrap<EntitySet> container = new ResWrap<EntitySet>(
- URI.create(Constants.get(version, ConstantKey.ODATA_METADATA_PREFIX) + "ProductDetail"), null,
- feed);
+ URI.create(Constants.get(ConstantKey.ODATA_METADATA_PREFIX) + "ProductDetail"), null,
+ feed);
return xml.createResponse(
- null,
- xml.writeEntitySet(acceptType, container),
- null,
- acceptType);
+ null,
+ xml.writeEntitySet(acceptType, container),
+ null,
+ acceptType);
} catch (Exception e) {
return xml.createFaultResponse(accept, e);
}
@@ -605,20 +605,20 @@ public class V4Services extends AbstractServices {
@POST
@Path("/Products({entityId})/Microsoft.Test.OData.Services.ODataWCFService.AddAccessRight{paren:[\\(\\)]*}")
public Response actionAddAccessRight(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
- final String param) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
+ final String param) {
try {
final Accept acceptType;
if (StringUtils.isNotBlank(format)) {
acceptType = Accept.valueOf(format.toUpperCase());
} else {
- acceptType = Accept.parse(accept, version);
+ acceptType = Accept.parse(accept);
}
- final Accept contentTypeValue = Accept.parse(contentType, version);
+ final Accept contentTypeValue = Accept.parse(contentType);
final Entity entry = xml.readEntity(contentTypeValue, IOUtils.toInputStream(param, Constants.ENCODING));
assert 1 == entry.getProperties().size();
@@ -628,14 +628,14 @@ public class V4Services extends AbstractServices {
property.setType("Microsoft.Test.OData.Services.ODataWCFService.AccessLevel");
final ResWrap<Property> result = new ResWrap<Property>(
- URI.create(Constants.get(version, ConstantKey.ODATA_METADATA_PREFIX) + property.getType()),
- null, property);
+ URI.create(Constants.get(ConstantKey.ODATA_METADATA_PREFIX) + property.getType()),
+ null, property);
return xml.createResponse(
- null,
- xml.writeProperty(acceptType, result),
- null,
- acceptType);
+ null,
+ xml.writeProperty(acceptType, result),
+ null,
+ acceptType);
} catch (Exception e) {
return xml.createFaultResponse(accept, e);
}
@@ -644,15 +644,15 @@ public class V4Services extends AbstractServices {
@POST
@Path("/Customers({personId})/Microsoft.Test.OData.Services.ODataWCFService.ResetAddress{paren:[\\(\\)]*}")
public Response actionResetAddress(
- @Context final UriInfo uriInfo,
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @PathParam("personId") final String personId,
- @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
- final String param) {
+ @Context final UriInfo uriInfo,
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @PathParam("personId") final String personId,
+ @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
+ final String param) {
try {
- final Accept contentTypeValue = Accept.parse(contentType, version);
+ final Accept contentTypeValue = Accept.parse(contentType);
final Entity entry = xml.readEntity(contentTypeValue, IOUtils.toInputStream(param, Constants.ENCODING));
assert 2 == entry.getProperties().size();
@@ -660,7 +660,7 @@ public class V4Services extends AbstractServices {
assert entry.getProperty("index") != null;
return getEntityInternal(
- uriInfo.getRequestUri().toASCIIString(), accept, "Customers", personId, format, null, null);
+ uriInfo.getRequestUri().toASCIIString(), accept, "Customers", personId, format, null, null);
} catch (Exception e) {
return xml.createFaultResponse(accept, e);
}
@@ -668,28 +668,28 @@ public class V4Services extends AbstractServices {
@GET
@Path("/ProductDetails(ProductID={productId},ProductDetailID={productDetailId})"
- + "/Microsoft.Test.OData.Services.ODataWCFService.GetRelatedProduct{paren:[\\(\\)]*}")
+ + "/Microsoft.Test.OData.Services.ODataWCFService.GetRelatedProduct{paren:[\\(\\)]*}")
public Response functionGetRelatedProduct(
- @Context final UriInfo uriInfo,
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @PathParam("productId") final String productId,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @Context final UriInfo uriInfo,
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @PathParam("productId") final String productId,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
return getEntityInternal(
- uriInfo.getRequestUri().toASCIIString(), accept, "Products", productId, format, null, null);
+ uriInfo.getRequestUri().toASCIIString(), accept, "Products", productId, format, null, null);
}
@POST
@Path("/Accounts({entityId})/Microsoft.Test.OData.Services.ODataWCFService.RefreshDefaultPI{paren:[\\(\\)]*}")
public Response actionRefreshDefaultPI(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
- @PathParam("entityId") final String entityId,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
- final String param) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
+ @PathParam("entityId") final String entityId,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
+ final String param) {
try {
- final Accept contentTypeValue = Accept.parse(contentType, version);
+ final Accept contentTypeValue = Accept.parse(contentType);
final Entity entry = xml.readEntity(contentTypeValue, IOUtils.toInputStream(param, Constants.ENCODING));
assert 1 == entry.getProperties().size();
@@ -704,9 +704,9 @@ public class V4Services extends AbstractServices {
@GET
@Path("/Accounts({entityId})/Microsoft.Test.OData.Services.ODataWCFService.GetDefaultPI{paren:[\\(\\)]*}")
public Response functionGetDefaultPI(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @PathParam("entityId") final String entityId,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @PathParam("entityId") final String entityId,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
return getContainedEntity(accept, entityId, "MyPaymentInstruments", entityId + "901", format);
}
@@ -714,9 +714,9 @@ public class V4Services extends AbstractServices {
@GET
@Path("/Accounts({entityId})/Microsoft.Test.OData.Services.ODataWCFService.GetAccountInfo{paren:[\\(\\)]*}")
public Response functionGetAccountInfo(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @PathParam("entityId") final String entityId,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @PathParam("entityId") final String entityId,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
return getPath(accept, "Accounts", entityId, "AccountInfo", format);
}
@@ -724,16 +724,16 @@ public class V4Services extends AbstractServices {
@GET
@Path("/Accounts({entityId})/MyGiftCard/Microsoft.Test.OData.Services.ODataWCFService.GetActualAmount({param:.*})")
public Response functionGetActualAmount(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @PathParam("entityId") final String entityId,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @PathParam("entityId") final String entityId,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
try {
final Accept acceptType;
if (StringUtils.isNotBlank(format)) {
acceptType = Accept.valueOf(format.toUpperCase());
} else {
- acceptType = Accept.parse(accept, version);
+ acceptType = Accept.parse(accept);
}
final Property property = new PropertyImpl();
@@ -743,10 +743,10 @@ public class V4Services extends AbstractServices {
final ResWrap<Property> container = new ResWrap<Property>((URI) null, null, property);
return xml.createResponse(
- null,
- xml.writeProperty(acceptType, container),
- null,
- acceptType);
+ null,
+ xml.writeProperty(acceptType, container),
+ null,
+ acceptType);
} catch (Exception e) {
return xml.createFaultResponse(accept, e);
}
@@ -763,9 +763,9 @@ public class V4Services extends AbstractServices {
@GET
@Path("/{path:.*}/$ref")
public Response getEntityReference(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @PathParam("path") final String path,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @PathParam("path") final String path,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
try {
final Map.Entry<Accept, AbstractUtilities> utils = getUtilities(accept, format);
@@ -777,10 +777,10 @@ public class V4Services extends AbstractServices {
final String filename = Base64.encodeBase64String(path.getBytes("UTF-8"));
return utils.getValue().createResponse(
- FSManager.instance(version).readFile(Constants.get(version, ConstantKey.REF)
- + File.separatorChar + filename, utils.getKey()),
- null,
- utils.getKey());
+ FSManager.instance(version).readFile(Constants.get(ConstantKey.REF)
+ + File.separatorChar + filename, utils.getKey()),
+ null,
+ utils.getKey());
} catch (Exception e) {
LOG.error("Error retrieving entity", e);
return xml.createFaultResponse(accept, e);
@@ -789,14 +789,14 @@ public class V4Services extends AbstractServices {
@POST
@Path("/People")
- @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_ATOM_XML, MediaType.APPLICATION_JSON})
- @Consumes({MediaType.APPLICATION_ATOM_XML, MediaType.APPLICATION_JSON, MediaType.APPLICATION_OCTET_STREAM})
+ @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_ATOM_XML, MediaType.APPLICATION_JSON })
+ @Consumes({ MediaType.APPLICATION_ATOM_XML, MediaType.APPLICATION_JSON, MediaType.APPLICATION_OCTET_STREAM })
public Response postPeople(
- @Context final UriInfo uriInfo,
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
- @HeaderParam("Prefer") @DefaultValue(StringUtils.EMPTY) final String prefer,
- final String entity) {
+ @Context final UriInfo uriInfo,
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
+ @HeaderParam("Prefer") @DefaultValue(StringUtils.EMPTY) final String prefer,
+ final String entity) {
if ("{\"@odata.type\":\"#Microsoft.Test.OData.Services.ODataWCFService.Person\"}".equals(entity)) {
return xml.createFaultResponse(accept, new BadRequestException());
@@ -807,36 +807,36 @@ public class V4Services extends AbstractServices {
@Override
public Response patchEntity(
- final UriInfo uriInfo,
- final String accept,
- final String contentType,
- final String prefer,
- final String ifMatch,
- final String entitySetName,
- final String entityId,
- final String changes) {
+ final UriInfo uriInfo,
+ final String accept,
+ final String contentType,
+ final String prefer,
+ final String ifMatch,
+ final String entitySetName,
+ final String entityId,
+ final String changes) {
final Response response =
- getEntityInternal(uriInfo.getRequestUri().toASCIIString(),
- accept, entitySetName, entityId, accept, StringUtils.EMPTY, StringUtils.EMPTY);
+ getEntityInternal(uriInfo.getRequestUri().toASCIIString(),
+ accept, entitySetName, entityId, accept, StringUtils.EMPTY, StringUtils.EMPTY);
return response.getStatus() >= 400
- ? super.postNewEntity(uriInfo, accept, contentType, prefer, entitySetName, changes)
- : super.patchEntity(uriInfo, accept, contentType, prefer, ifMatch, entitySetName, entityId, changes);
+ ? super.postNewEntity(uriInfo, accept, contentType, prefer, entitySetName, changes)
+ : super.patchEntity(uriInfo, accept, contentType, prefer, ifMatch, entitySetName, entityId, changes);
}
@Override
public Response replaceEntity(
- final UriInfo uriInfo,
- final String accept,
- final String contentType,
- final String prefer,
- final String entitySetName,
- final String entityId,
- final String entity) {
+ final UriInfo uriInfo,
+ final String accept,
+ final String contentType,
+ final String prefer,
+ final String entitySetName,
+ final String entityId,
+ final String entity) {
try {
getEntityInternal(uriInfo.getRequestUri().toASCIIString(),
- accept, entitySetName, entityId, accept, StringUtils.EMPTY, StringUtils.EMPTY);
+ accept, entitySetName, entityId, accept, StringUtils.EMPTY, StringUtils.EMPTY);
return super.replaceEntity(uriInfo, accept, contentType, prefer, entitySetName, entityId, entity);
} catch (NotFoundException e) {
return postNewEntity(uriInfo, accept, contentType, prefer, entitySetName, entityId);
@@ -845,26 +845,26 @@ public class V4Services extends AbstractServices {
private StringBuilder containedPath(final String entityId, final String containedEntitySetName) {
return new StringBuilder("Accounts").append(File.separatorChar).
- append(entityId).append(File.separatorChar).
- append("links").append(File.separatorChar).
- append(containedEntitySetName);
+ append(entityId).append(File.separatorChar).
+ append("links").append(File.separatorChar).
+ append(containedEntitySetName);
}
@GET
@Path("/Accounts({entityId})/{containedEntitySetName}({containedEntityId})")
public Response getContainedEntity(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @PathParam("entityId") final String entityId,
- @PathParam("containedEntitySetName") final String containedEntitySetName,
- @PathParam("containedEntityId") final String containedEntityId,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @PathParam("entityId") final String entityId,
+ @PathParam("containedEntitySetName") final String containedEntitySetName,
+ @PathParam("containedEntityId") final String containedEntityId,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
try {
final Accept acceptType;
if (StringUtils.isNotBlank(format)) {
acceptType = Accept.valueOf(format.toUpperCase());
} else {
- acceptType = Accept.parse(accept, version);
+ acceptType = Accept.parse(accept);
}
if (acceptType == Accept.XML || acceptType == Accept.TEXT) {
throw new UnsupportedMediaTypeException("Unsupported media type");
@@ -879,10 +879,10 @@ public class V4Services extends AbstractServices {
final ResWrap<Entity> container = atomDeserializer.toEntity(entry);
return xml.createResponse(
- null,
- xml.writeEntity(acceptType, container),
- null,
- acceptType);
+ null,
+ xml.writeEntity(acceptType, container),
+ null,
+ acceptType);
} catch (Exception e) {
return xml.createFaultResponse(accept, e);
}
@@ -891,15 +891,15 @@ public class V4Services extends AbstractServices {
@POST
@Path("/Accounts({entityId})/{containedEntitySetName:.*}")
public Response postContainedEntity(
- @Context final UriInfo uriInfo,
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
- @PathParam("entityId") final String entityId,
- @PathParam("containedEntitySetName") final String containedEntitySetName,
- final String entity) {
+ @Context final UriInfo uriInfo,
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
+ @PathParam("entityId") final String entityId,
+ @PathParam("containedEntitySetName") final String containedEntitySetName,
+ final String entity) {
try {
- final Accept acceptType = Accept.parse(accept, version);
+ final Accept acceptType = Accept.parse(accept);
if (acceptType == Accept.XML || acceptType == Accept.TEXT) {
throw new UnsupportedMediaTypeException("Unsupported media type");
}
@@ -909,32 +909,32 @@ public class V4Services extends AbstractServices {
// 1. parse the entry (from Atom or JSON)
final ResWrap<Entity> entryContainer;
final Entity entry;
- final Accept contentTypeValue = Accept.parse(contentType, version);
+ final Accept contentTypeValue = Accept.parse(contentType);
if (Accept.ATOM == contentTypeValue) {
entryContainer = atomDeserializer.toEntity(IOUtils.toInputStream(entity, Constants.ENCODING));
entry = entryContainer.getPayload();
} else {
final ResWrap<Entity> jcontainer = jsonDeserializer.toEntity(
- IOUtils.toInputStream(entity, Constants.ENCODING));
+ IOUtils.toInputStream(entity, Constants.ENCODING));
entry = jcontainer.getPayload();
entryContainer = new ResWrap<Entity>(
- jcontainer.getContextURL(),
- jcontainer.getMetadataETag(),
- entry);
+ jcontainer.getContextURL(),
+ jcontainer.getMetadataETag(),
+ entry);
}
final EdmTypeInfo contained = new EdmTypeInfo.Builder().setTypeExpression(metadata.
- getNavigationProperties("Accounts").get(containedEntitySetName).getType()).build();
+ getNavigationProperties("Accounts").get(containedEntitySetName).getType()).build();
final String entityKey = getUtilities(contentTypeValue).
- getDefaultEntryKey(contained.getFullQualifiedName().getName(), entry);
+ getDefaultEntryKey(contained.getFullQualifiedName().getName(), entry);
// 2. Store the new entity
final String atomEntryRelativePath = containedPath(entityId, containedEntitySetName).
- append('(').append(entityKey).append(')').toString();
+ append('(').append(entityKey).append(')').toString();
FSManager.instance(version).putInMemory(
- utils.writeEntity(Accept.ATOM, entryContainer),
- FSManager.instance(version).getAbsolutePath(atomEntryRelativePath, Accept.ATOM));
+ utils.writeEntity(Accept.ATOM, entryContainer),
+ FSManager.instance(version).getAbsolutePath(atomEntryRelativePath, Accept.ATOM));
// 3. Update the contained entity set
final String atomFeedRelativePath = containedPath(entityId, containedEntitySetName).toString();
@@ -949,16 +949,16 @@ public class V4Services extends AbstractServices {
writer.close();
FSManager.instance(version).putInMemory(
- new ByteArrayInputStream(content.toByteArray()),
- FSManager.instance(version).getAbsolutePath(atomFeedRelativePath, Accept.ATOM));
+ new ByteArrayInputStream(content.toByteArray()),
+ FSManager.instance(version).getAbsolutePath(atomFeedRelativePath, Accept.ATOM));
// Finally, return
return utils.createResponse(
- uriInfo.getRequestUri().toASCIIString() + "(" + entityKey + ")",
- utils.writeEntity(acceptType, entryContainer),
- null,
- acceptType,
- Response.Status.CREATED);
+ uriInfo.getRequestUri().toASCIIString() + "(" + entityKey + ")",
+ utils.writeEntity(acceptType, entryContainer),
+ null,
+ acceptType,
+ Response.Status.CREATED);
} catch (Exception e) {
LOG.error("While creating new contained entity", e);
return xml.createFaultResponse(accept, e);
@@ -968,21 +968,21 @@ public class V4Services extends AbstractServices {
@PATCH
@Path("/{entitySetName}({entityId})/{containedEntitySetName}({containedEntityId})")
public Response patchContainedEntity(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
- @PathParam("entitySetName") final String entitySetName,
- @PathParam("entityId") final String entityId,
- @PathParam("containedEntitySetName") final String containedEntitySetName,
- @PathParam("containedEntityId") final String containedEntityId,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
- final String changes) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
+ @PathParam("entitySetName") final String entitySetName,
+ @PathParam("entityId") final String entityId,
+ @PathParam("containedEntitySetName") final String containedEntitySetName,
+ @PathParam("containedEntityId") final String containedEntityId,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
+ final String changes) {
try {
final Accept acceptType;
if (StringUtils.isNotBlank(format)) {
acceptType = Accept.valueOf(format.toUpperCase());
} else {
- acceptType = Accept.parse(accept, version);
+ acceptType = Accept.parse(accept);
}
if (acceptType == Accept.XML || acceptType == Accept.TEXT) {
throw new UnsupportedMediaTypeException("Unsupported media type");
@@ -992,10 +992,10 @@ public class V4Services extends AbstractServices {
if (StringUtils.isBlank(contentType)) {
throw new IllegalArgumentException();
}
- contentTypeValue = Accept.parse(contentType, version);
+ contentTypeValue = Accept.parse(contentType);
final LinkInfo links = xml.readLinks(
- entitySetName, entityId, containedEntitySetName + "(" + containedEntityId + ")", Accept.ATOM);
+ entitySetName, entityId, containedEntitySetName + "(" + containedEntityId + ")", Accept.ATOM);
ResWrap<Entity> container = atomDeserializer.toEntity(links.getLinks());
final Entity original = container.getPayload();
@@ -1007,11 +1007,11 @@ public class V4Services extends AbstractServices {
} else {
final String entityType = metadata.getEntitySet(entitySetName).getType();
final String containedType = metadata.getEntityOrComplexType(entityType).
- getNavigationProperty(containedEntitySetName).getType();
+ getNavigationProperty(containedEntitySetName).getType();
final EdmTypeInfo typeInfo = new EdmTypeInfo.Builder().setTypeExpression(containedType).build();
final ResWrap<Entity> jsonContainer = jsonDeserializer.toEntity(
- IOUtils.toInputStream(changes, Constants.ENCODING));
+ IOUtils.toInputStream(changes, Constants.ENCODING));
jsonContainer.getPayload().setType(typeInfo.getFullQualifiedName().toString());
entryChanges = jsonContainer.getPayload();
}
@@ -1025,7 +1025,7 @@ public class V4Services extends AbstractServices {
}
FSManager.instance(version).putInMemory(new ResWrap<Entity>((URI) null, null, original),
- xml.getLinksBasePath(entitySetName, entityId) + containedEntitySetName + "(" + containedEntityId + ")");
+ xml.getLinksBasePath(entitySetName, entityId) + containedEntitySetName + "(" + containedEntityId + ")");
return xml.createResponse(null, null, acceptType, Response.Status.NO_CONTENT);
} catch (Exception e) {
@@ -1036,20 +1036,20 @@ public class V4Services extends AbstractServices {
@DELETE
@Path("/Accounts({entityId})/{containedEntitySetName}({containedEntityId})")
public Response removeContainedEntity(
- @PathParam("entityId") final String entityId,
- @PathParam("containedEntitySetName") final String containedEntitySetName,
- @PathParam("containedEntityId") final String containedEntityId) {
+ @PathParam("entityId") final String entityId,
+ @PathParam("containedEntitySetName") final String containedEntitySetName,
+ @PathParam("containedEntityId") final String containedEntityId) {
try {
// 1. Fetch the contained entity to be removed
final InputStream entry = FSManager.instance(version).
- readFile(containedPath(entityId, containedEntitySetName).
- append('(').append(containedEntityId).append(')').toString(), Accept.ATOM);
+ readFile(containedPath(entityId, containedEntitySetName).
+ append('(').append(containedEntityId).append(')').toString(), Accept.ATOM);
final ResWrap<Entity> container = atomDeserializer.toEntity(entry);
// 2. Remove the contained entity
final String atomEntryRelativePath = containedPath(entityId, containedEntitySetName).
- append('(').append(containedEntityId).append(')').toString();
+ append('(').append(containedEntityId).append(')').toString();
FSManager.instance(version).deleteFile(atomEntryRelativePath);
// 3. Update the contained entity set
@@ -1065,22 +1065,22 @@ public class V4Services extends AbstractServices {
writer.close();
FSManager.instance(version).putInMemory(
- new ByteArrayInputStream(content.toByteArray()),
- FSManager.instance(version).getAbsolutePath(atomFeedRelativePath, Accept.ATOM));
+ new ByteArrayInputStream(content.toByteArray()),
+ FSManager.instance(version).getAbsolutePath(atomFeedRelativePath, Accept.ATOM));
return xml.createResponse(null, null, null, null, Response.Status.NO_CONTENT);
} catch (Exception e) {
- return xml.createFaultResponse(Accept.XML.toString(version), e);
+ return xml.createFaultResponse(Accept.XML.toString(), e);
}
}
@GET
@Path("/Accounts({entityId})/{containedEntitySetName:.*}")
public Response getContainedEntitySet(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @PathParam("entityId") final String entityId,
- @PathParam("containedEntitySetName") String containedEntitySetName,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @PathParam("entityId") final String entityId,
+ @PathParam("containedEntitySetName") String containedEntitySetName,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
if ("MyGiftCard".equals(containedEntitySetName)) {
return getContainedEntity(accept, entityId, containedEntitySetName, null, format);
@@ -1091,7 +1091,7 @@ public class V4Services extends AbstractServices {
if (StringUtils.isNotBlank(format)) {
acceptType = Accept.valueOf(format.toUpperCase());
} else {
- acceptType = Accept.parse(accept, version);
+ acceptType = Accept.parse(accept);
}
if (acceptType == Accept.XML || acceptType == Accept.TEXT) {
throw new UnsupportedMediaTypeException("Unsupported media type");
@@ -1105,7 +1105,7 @@ public class V4Services extends AbstractServices {
}
final InputStream feed = FSManager.instance(version).
- readFile(containedPath(entityId, containedEntitySetName).toString(), Accept.ATOM);
+ readFile(containedPath(entityId, containedEntitySetName).toString(), Accept.ATOM);
final ResWrap<EntitySet> container = atomDeserializer.toEntitySet(feed);
@@ -1120,10 +1120,10 @@ public class V4Services extends AbstractServices {
}
return xml.createResponse(
- null,
- xml.writeEntitySet(acceptType, container),
- null,
- acceptType);
+ null,
+ xml.writeEntitySet(acceptType, container),
+ null,
+ acceptType);
} catch (Exception e) {
return xml.createFaultResponse(accept, e);
}
@@ -1132,29 +1132,29 @@ public class V4Services extends AbstractServices {
@GET
@Path("/GetDefaultColor()")
public Response functionGetDefaultColor(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
try {
final Accept acceptType;
if (StringUtils.isNotBlank(format)) {
acceptType = Accept.valueOf(format.toUpperCase());
} else {
- acceptType = Accept.parse(accept, version);
+ acceptType = Accept.parse(accept);
}
final PropertyImpl property = new PropertyImpl();
property.setType("Microsoft.Test.OData.Services.ODataWCFService.Color");
property.setValue(ValueType.ENUM, "Red");
final ResWrap<Property> container = new ResWrap<Property>(
- URI.create(Constants.get(version, ConstantKey.ODATA_METADATA_PREFIX) + property.getType()), null,
- property);
+ URI.create(Constants.get(ConstantKey.ODATA_METADATA_PREFIX) + property.getType()), null,
+ property);
return xml.createResponse(
- null,
- xml.writeProperty(acceptType, container),
- null,
- acceptType);
+ null,
+ xml.writeProperty(acceptType, container),
+ null,
+ acceptType);
} catch (Exception e) {
return xml.createFaultResponse(accept, e);
}
@@ -1163,19 +1163,19 @@ public class V4Services extends AbstractServices {
@GET
@Path("/GetPerson2({param:.*})")
public Response functionGetPerson2(
- @Context final UriInfo uriInfo,
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @Context final UriInfo uriInfo,
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
return getEntityInternal(
- uriInfo.getRequestUri().toASCIIString(), accept, "Customers", "1", format, null, null);
+ uriInfo.getRequestUri().toASCIIString(), accept, "Customers", "1", format, null, null);
}
@GET
@Path("/GetPerson2({param:.*})/Emails")
public Response functionGetPerson2Emails(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
return getPath(accept, "Customers", "1", "Emails", format);
}
@@ -1183,8 +1183,8 @@ public class V4Services extends AbstractServices {
@GET
@Path("/GetPerson2({param:.*})/HomeAddress")
public Response functionGetPerson2HomeAddress(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
return getPath(accept, "Customers", "1", "HomeAddress", format);
}
@@ -1192,31 +1192,31 @@ public class V4Services extends AbstractServices {
@GET
@Path("/GetPerson2({param:.*})/Parent")
public Response functionGetPerson2Parent(
- @Context final UriInfo uriInfo,
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @Context final UriInfo uriInfo,
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
return getEntityInternal(
- uriInfo.getRequestUri().toASCIIString(), accept, "Customers", "2", format, null, null);
+ uriInfo.getRequestUri().toASCIIString(), accept, "Customers", "2", format, null, null);
}
@GET
@Path("/GetPerson({param:.*})")
public Response functionGetPerson(
- @Context final UriInfo uriInfo,
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @Context final UriInfo uriInfo,
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
return getEntityInternal(
- uriInfo.getRequestUri().toASCIIString(), accept, "Customers", "1", format, null, null);
+ uriInfo.getRequestUri().toASCIIString(), accept, "Customers", "1", format, null, null);
}
@GET
@Path("/GetAllProducts()")
public Response functionGetAllProducts(
- @Context final UriInfo uriInfo,
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @Context final UriInfo uriInfo,
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
return getEntitySet(uriInfo, accept, "Products", null, null, format, null, null, null, null);
}
@@ -1224,15 +1224,15 @@ public class V4Services extends AbstractServices {
@GET
@Path("/GetProductsByAccessLevel({param:.*})")
public Response functionGetProductsByAccessLevel(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
try {
final Accept acceptType;
if (StringUtils.isNotBlank(format)) {
acceptType = Accept.valueOf(format.toUpperCase());
} else {
- acceptType = Accept.parse(accept, version);
+ acceptType = Accept.parse(accept);
}
final PropertyImpl property = new PropertyImpl();
@@ -1240,14 +1240,14 @@ public class V4Services extends AbstractServices {
final List<String> value = Arrays.asList("Cheetos", "Mushrooms", "Apple", "Car", "Computer");
property.setValue(ValueType.COLLECTION_PRIMITIVE, value);
final ResWrap<Property> container = new ResWrap<Property>(
- URI.create(Constants.get(version, ConstantKey.ODATA_METADATA_PREFIX) + property.getType()), null,
- property);
+ URI.create(Constants.get(ConstantKey.ODATA_METADATA_PREFIX) + property.getType()), null,
+ property);
return xml.createResponse(
- null,
- xml.writeProperty(acceptType, container),
- null,
- acceptType);
+ null,
+ xml.writeProperty(acceptType, container),
+ null,
+ acceptType);
} catch (Exception e) {
return xml.createFaultResponse(accept, e);
}
@@ -1256,24 +1256,24 @@ public class V4Services extends AbstractServices {
@GET
@Path("/GetBossEmails({param:.*})")
public Response functionGetBossEmails(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format) {
try {
final Accept acceptType;
if (StringUtils.isNotBlank(format)) {
acceptType = Accept.valueOf(format.toUpperCase());
} else {
- acceptType = Accept.parse(accept, version);
+ acceptType = Accept.parse(accept);
}
final PropertyImpl property = new PropertyImpl();
property.setType("Collection(Edm.String)");
property.setValue(ValueType.COLLECTION_PRIMITIVE,
- Arrays.asList("first@olingo.apache.org", "second@olingo.apache.org"));
+ Arrays.asList("first@olingo.apache.org", "second@olingo.apache.org"));
final ResWrap<Property> container = new ResWrap<Property>(
- URI.create(Constants.get(version, ConstantKey.ODATA_METADATA_PREFIX) + property.getType()), null,
- property);
+ URI.create(Constants.get(ConstantKey.ODATA_METADATA_PREFIX) + property.getType()), null,
+ property);
return xml.createResponse(null, xml.writeProperty(acceptType, container), null, acceptType);
} catch (Exception e) {
@@ -1284,28 +1284,28 @@ public class V4Services extends AbstractServices {
@POST
@Path("/Discount()")
public Response actionDiscount(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
- final String param) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
+ final String param) {
try {
final Accept acceptType;
if (StringUtils.isNotBlank(format)) {
acceptType = Accept.valueOf(format.toUpperCase());
} else {
- acceptType = Accept.parse(accept, version);
+ acceptType = Accept.parse(accept);
}
- final Accept contentTypeValue = Accept.parse(contentType, version);
+ final Accept contentTypeValue = Accept.parse(contentType);
Property property;
if (contentTypeValue == Accept.ATOM) {
final ResWrap<Property> paramContainer = atomDeserializer.toProperty(
- IOUtils.toInputStream(param, Constants.ENCODING));
+ IOUtils.toInputStream(param, Constants.ENCODING));
property = paramContainer.getPayload();
} else {
final ResWrap<Property> paramContainer = jsonDeserializer.toProperty(
- IOUtils.toInputStream(param, Constants.ENCODING));
+ IOUtils.toInputStream(param, Constants.ENCODING));
property = paramContainer.getPayload();
}
@@ -1328,45 +1328,45 @@ public class V4Services extends AbstractServices {
final String basePath = "Products" + File.separatorChar + "feed";
final InputStream feed = FSManager.instance(version).readFile(basePath, Accept.JSON_FULLMETA);
- return xml.createResponse(null, feed, Commons.getETag(basePath, version), Accept.JSON_FULLMETA);
+ return xml.createResponse(null, feed, Commons.getETag(basePath), Accept.JSON_FULLMETA);
} catch (Exception e) {
- return xml.createFaultResponse(Accept.JSON_FULLMETA.toString(version), e);
+ return xml.createFaultResponse(Accept.JSON_FULLMETA.toString(), e);
}
}
@POST
@Path("/ResetBossAddress()")
public Response actionResetBossAddress(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
- final String param) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
+ final String param) {
try {
final Accept acceptType;
if (StringUtils.isNotBlank(format)) {
acceptType = Accept.valueOf(format.toUpperCase());
} else {
- acceptType = Accept.parse(accept, version);
+ acceptType = Accept.parse(accept);
}
- final Accept contentTypeValue = Accept.parse(contentType, version);
+ final Accept contentTypeValue = Accept.parse(contentType);
final Entity entity = xml.readEntity(contentTypeValue, IOUtils.toInputStream(param, Constants.ENCODING));
assert "Microsoft.Test.OData.Services.ODataWCFService.Address".equals(entity.getType());
assert entity.getProperty("address").isComplex();
final ResWrap<Property> result = new ResWrap<Property>(
- URI.create(Constants.get(version, ConstantKey.ODATA_METADATA_PREFIX)
- + "Microsoft.Test.OData.Services.ODataWCFService.Address"),
- null,
- entity.getProperty("address"));
+ URI.create(Constants.get(ConstantKey.ODATA_METADATA_PREFIX)
+ + "Microsoft.Test.OData.Services.ODataWCFService.Address"),
+ null,
+ entity.getProperty("address"));
return xml.createResponse(
- null,
- xml.writeProperty(acceptType, result),
- null,
- acceptType);
+ null,
+ xml.writeProperty(acceptType, result),
+ null,
+ acceptType);
} catch (Exception e) {
return xml.createFaultResponse(accept, e);
}
@@ -1375,20 +1375,20 @@ public class V4Services extends AbstractServices {
@POST
@Path("/ResetBossEmail()")
public Response actionResetBossEmail(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
- final String param) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
+ final String param) {
try {
final Accept acceptType;
if (StringUtils.isNotBlank(format)) {
acceptType = Accept.valueOf(format.toUpperCase());
} else {
- acceptType = Accept.parse(accept, version);
+ acceptType = Accept.parse(accept);
}
- final Accept contentTypeValue = Accept.parse(contentType, version);
+ final Accept contentTypeValue = Accept.parse(contentType);
final Entity entry = xml.readEntity(contentTypeValue, IOUtils.toInputStream(param, Constants.ENCODING));
assert 1 == entry.getProperties().size();
@@ -1396,10 +1396,10 @@ public class V4Services extends AbstractServices {
assert entry.getProperty("emails").isCollection();
return xml.createResponse(
- null,
- xml.writeProperty(acceptType, entry.getProperty("emails")),
- null,
- acceptType);
+ null,
+ xml.writeProperty(acceptType, entry.getProperty("emails")),
+ null,
+ acceptType);
} catch (Exception e) {
return xml.createFaultResponse(accept, e);
}
@@ -1408,10 +1408,10 @@ public class V4Services extends AbstractServices {
@POST
@Path("/Products({productId})/Categories/$ref")
public Response createLinked(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
- final String entity) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
+ final String entity) {
return xml.createResponse(null, null, null, Status.NO_CONTENT);
}
@@ -1419,10 +1419,10 @@ public class V4Services extends AbstractServices {
@POST
@Path("/Customers(1)/Orders/$ref")
public Response linkOrderViaRef(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
- final String entity) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
+ final String entity) {
return xml.createResponse(null, null, null, Status.NO_CONTENT);
}
@@ -1430,10 +1430,10 @@ public class V4Services extends AbstractServices {
@DELETE
@Path("/Products({productId})/Categories({categoryId})/$ref")
public Response deleteLinked(
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
- final String entity) {
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @HeaderParam("Content-Type") @DefaultValue(StringUtils.EMPTY) final String contentType,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
+ final String entity) {
return xml.createResponse(null, null, null, Status.NO_CONTENT);
}
@@ -1441,13 +1441,13 @@ public class V4Services extends AbstractServices {
@GET
@Path("/Company/VipCustomer")
public Response getVipCustomer(
- @Context final UriInfo uriInfo,
- @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
- @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
- @QueryParam("$expand") @DefaultValue(StringUtils.EMPTY) final String expand,
- @QueryParam("$select") @DefaultValue(StringUtils.EMPTY) final String select) {
+ @Context final UriInfo uriInfo,
+ @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) final String accept,
+ @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) final String format,
+ @QueryParam("$expand") @DefaultValue(StringUtils.EMPTY) final String expand,
+ @QueryParam("$select") @DefaultValue(StringUtils.EMPTY) final String select) {
return super.getEntityInternal(
- uriInfo.getRequestUri().toASCIIString(), accept, "VipCustomer", "1", format, expand, select);
+ uriInfo.getRequestUri().toASCIIString(), accept, "VipCustomer", "1", format, expand, select);
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/07c37106/fit/src/main/java/org/apache/olingo/fit/V4Vocabularies.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/V4Vocabularies.java b/fit/src/main/java/org/apache/olingo/fit/V4Vocabularies.java
index ca8128a..144de7d 100644
--- a/fit/src/main/java/org/apache/olingo/fit/V4Vocabularies.java
+++ b/fit/src/main/java/org/apache/olingo/fit/V4Vocabularies.java
@@ -18,6 +18,15 @@
*/
package org.apache.olingo.fit;
+import java.io.IOException;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.fit.metadata.Metadata;
import org.apache.olingo.fit.utils.Accept;
@@ -27,14 +36,6 @@ import org.apache.olingo.fit.utils.FSManager;
import org.apache.olingo.fit.utils.XMLUtilities;
import org.springframework.stereotype.Service;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import java.io.IOException;
-
@Service
@Path("/V40/Vocabularies.svc")
public class V4Vocabularies {
@@ -45,9 +46,8 @@ public class V4Vocabularies {
public V4Vocabularies() throws IOException {
metadata = new Metadata(FSManager.instance(ODataServiceVersion.V40).readRes(
- "vocabularies-" + Constants.get(ODataServiceVersion.V40, ConstantKey.METADATA), Accept.XML),
- ODataServiceVersion.V40);
- xml = new XMLUtilities(ODataServiceVersion.V40, metadata);
+ "vocabularies-" + Constants.get(ConstantKey.METADATA), Accept.XML));
+ xml = new XMLUtilities(metadata);
}
@GET
@@ -56,13 +56,13 @@ public class V4Vocabularies {
public Response getMetadata() {
try {
return xml.createResponse(
- null,
- FSManager.instance(ODataServiceVersion.V40).readRes(
- "vocabularies-" + Constants.get(ODataServiceVersion.V40, ConstantKey.METADATA), Accept.XML),
- null,
- Accept.XML);
+ null,
+ FSManager.instance(ODataServiceVersion.V40).readRes(
+ "vocabularies-" + Constants.get(ConstantKey.METADATA), Accept.XML),
+ null,
+ Accept.XML);
} catch (Exception e) {
- return xml.createFaultResponse(Accept.XML.toString(ODataServiceVersion.V40), e);
+ return xml.createFaultResponse(Accept.XML.toString(), e);
}
}
@@ -72,12 +72,12 @@ public class V4Vocabularies {
public Response getVocabulary(@PathParam("vocabulary") final String vocabulary) {
try {
return xml.createResponse(
- null,
- FSManager.instance(ODataServiceVersion.V40).readFile(vocabulary, null),
- null,
- Accept.XML);
+ null,
+ FSManager.instance(ODataServiceVersion.V40).readFile(vocabulary, null),
+ null,
+ Accept.XML);
} catch (Exception e) {
- return xml.createFaultResponse(Accept.XML.toString(ODataServiceVersion.V40), e);
+ return xml.createFaultResponse(Accept.XML.toString(), e);
}
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/07c37106/fit/src/main/java/org/apache/olingo/fit/metadata/Metadata.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/metadata/Metadata.java b/fit/src/main/java/org/apache/olingo/fit/metadata/Metadata.java
index 31aa9c2..e31d2cd 100644
--- a/fit/src/main/java/org/apache/olingo/fit/metadata/Metadata.java
+++ b/fit/src/main/java/org/apache/olingo/fit/metadata/Metadata.java
@@ -18,14 +18,11 @@
*/
package org.apache.olingo.fit.metadata;
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang3.BooleanUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-import org.apache.olingo.fit.utils.ConstantKey;
-import org.apache.olingo.fit.utils.Constants;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import java.io.InputStream;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLEventReader;
@@ -34,11 +31,14 @@ import javax.xml.stream.XMLStreamException;
import javax.xml.stream.events.Attribute;
import javax.xml.stream.events.StartElement;
import javax.xml.stream.events.XMLEvent;
-import java.io.InputStream;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.olingo.fit.utils.ConstantKey;
+import org.apache.olingo.fit.utils.Constants;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class Metadata extends AbstractMetadataElement {
@@ -47,15 +47,13 @@ public class Metadata extends AbstractMetadataElement {
*/
protected static final Logger LOG = LoggerFactory.getLogger(Metadata.class);
- protected final ODataServiceVersion version;
private final Map<String, Schema> schemas;
private final String DEF_NS;
- public Metadata(final InputStream is, final ODataServiceVersion version) {
- this.version = version;
- DEF_NS = Constants.get(version, ConstantKey.EDM_NS);
+ public Metadata(final InputStream is) {
+ DEF_NS = Constants.get(ConstantKey.EDM_NS);
schemas = new HashMap<String, Schema>();
try {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/07c37106/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java b/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
index f8cab08..39818c2 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
@@ -18,6 +18,28 @@
*/
package org.apache.olingo.fit.utils;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.util.AbstractMap.SimpleEntry;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.ConcurrentModificationException;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+import java.util.regex.Pattern;
+
+import javax.ws.rs.NotFoundException;
+import javax.ws.rs.core.Response;
+import javax.xml.stream.XMLStreamException;
+
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.vfs2.FileObject;
@@ -41,26 +63,6 @@ import org.apache.olingo.fit.serializer.FITAtomDeserializer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.Response;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringWriter;
-import java.util.AbstractMap.SimpleEntry;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.ConcurrentModificationException;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-import java.util.regex.Pattern;
-
public abstract class AbstractUtilities {
/**
@@ -85,8 +87,6 @@ public abstract class AbstractUtilities {
*/
public static final String BOUNDARY = "boundary";
- protected final ODataServiceVersion version;
-
protected final Metadata metadata;
protected final FSManager fsManager;
@@ -99,10 +99,9 @@ public abstract class AbstractUtilities {
protected final ODataSerializer jsonSerializer;
- public AbstractUtilities(final ODataServiceVersion version, final Metadata metadata) throws IOException {
- this.version = version;
+ public AbstractUtilities(final Metadata metadata) throws IOException {
this.metadata = metadata;
- fsManager = FSManager.instance(version);
+ fsManager = FSManager.instance(ODataServiceVersion.V40);
atomDeserializer = new FITAtomDeserializer();
jsonDeserializer = new JsonDeserializer(true);
atomSerializer = new AtomSerializer(true);
@@ -170,7 +169,7 @@ public abstract class AbstractUtilities {
// -----------------------------------------
final String path =
entitySetName + File.separatorChar + Commons.getEntityKey(key) + File.separatorChar
- + Constants.get(version, ConstantKey.ENTITY);
+ + Constants.get(ConstantKey.ENTITY);
// -----------------------------------------
// -----------------------------------------
@@ -268,7 +267,7 @@ public abstract class AbstractUtilities {
// -----------------------------------------
final FileObject fo = fsManager.putInMemory(
normalizedEntity,
- fsManager.getAbsolutePath(path + Constants.get(version, ConstantKey.ENTITY), getDefaultFormat()));
+ fsManager.getAbsolutePath(path + Constants.get(ConstantKey.ENTITY), getDefaultFormat()));
// -----------------------------------------
// -----------------------------------------
@@ -334,7 +333,7 @@ public abstract class AbstractUtilities {
// 1. save the media entity value
// -----------------------------------------
fsManager.putInMemory(is, fsManager.getAbsolutePath(path
- + Constants.get(version, ConstantKey.MEDIA_CONTENT_FILENAME), null));
+ + Constants.get(ConstantKey.MEDIA_CONTENT_FILENAME), null));
IOUtils.closeQuietly(is);
// -----------------------------------------
}
@@ -368,12 +367,12 @@ public abstract class AbstractUtilities {
throws Exception {
fsManager.putInMemory(
- Commons.getLinksAsJSON(version, entitySetName, new SimpleEntry<String, Collection<String>>(linkName, uris)),
- Commons.getLinksPath(version, basePath, linkName, Accept.JSON_FULLMETA));
+ Commons.getLinksAsJSON(entitySetName, new SimpleEntry<String, Collection<String>>(linkName, uris)),
+ Commons.getLinksPath(basePath, linkName, Accept.JSON_FULLMETA));
fsManager.putInMemory(
- Commons.getLinksAsATOM(version, new SimpleEntry<String, Collection<String>>(linkName, uris)),
- Commons.getLinksPath(version, basePath, linkName, Accept.XML));
+ Commons.getLinksAsATOM(new SimpleEntry<String, Collection<String>>(linkName, uris)),
+ Commons.getLinksPath(basePath, linkName, Accept.XML));
}
public Response createResponse(
@@ -383,10 +382,6 @@ public abstract class AbstractUtilities {
public Response createAsyncResponse(final String location) {
final Response.ResponseBuilder builder = Response.accepted();
- if (version.compareTo(ODataServiceVersion.V30) <= 0) {
- builder.header(Constants.get(version, ConstantKey.ODATA_SERVICE_VERSION), version.toString() + ";");
- }
-
builder.header("Location", location);
builder.header("Preference-Applied", "Respond-Async");
builder.header("Retry-After", "10");
@@ -396,10 +391,6 @@ public abstract class AbstractUtilities {
public Response createMonitorResponse(final InputStream res) {
final Response.ResponseBuilder builder = Response.ok();
- if (version.compareTo(ODataServiceVersion.V30) <= 0) {
- builder.header(Constants.get(version, ConstantKey.ODATA_SERVICE_VERSION), version.toString() + ";");
- }
-
builder.header("Content-Type", "application/http");
builder.header("Content-Transfer-Encoding", "binary");
@@ -411,10 +402,8 @@ public abstract class AbstractUtilities {
}
public Response createBatchResponse(final InputStream stream) {
- final Response.ResponseBuilder builder = version.compareTo(ODataServiceVersion.V30) <= 0
- ? Response.accepted(stream)
- : Response.ok(stream);
- builder.header(Constants.get(version, ConstantKey.ODATA_SERVICE_VERSION), version.toString() + ";");
+ final Response.ResponseBuilder builder = Response.ok(stream);
+ builder.header(Constants.get(ConstantKey.ODATA_SERVICE_VERSION), ODataServiceVersion.V40.toString() + ";");
return builder.build();
}
@@ -434,10 +423,6 @@ public abstract class AbstractUtilities {
final Response.Status status) {
final Response.ResponseBuilder builder = Response.ok();
- if (version.compareTo(ODataServiceVersion.V30) <= 0) {
- builder.header(Constants.get(version, ConstantKey.ODATA_SERVICE_VERSION), version.toString() + ";");
- }
-
if (StringUtils.isNotBlank(etag)) {
builder.header("ETag", etag);
}
@@ -455,7 +440,7 @@ public abstract class AbstractUtilities {
final InputStream toBeStreamedBack;
if (Accept.JSON == accept || Accept.JSON_NOMETA == accept) {
- toBeStreamedBack = Commons.changeFormat(entity, version, accept);
+ toBeStreamedBack = Commons.changeFormat(entity, accept);
} else {
toBeStreamedBack = entity;
}
@@ -474,7 +459,7 @@ public abstract class AbstractUtilities {
}
builder.header("Content-Length", contentLength);
- builder.header("Content-Type", (accept == null ? "*/*" : accept.toString(version)) + contentTypeEncoding);
+ builder.header("Content-Type", (accept == null ? "*/*" : accept.toString()) + contentTypeEncoding);
if (StringUtils.isNotBlank(location)) {
builder.header("Location", location);
@@ -487,16 +472,12 @@ public abstract class AbstractUtilities {
LOG.debug("Create fault response about .... ", e);
final Response.ResponseBuilder builder = Response.serverError();
- if (version.compareTo(ODataServiceVersion.V30) <= 0) {
- builder.header(Constants.get(version, ConstantKey.ODATA_SERVICE_VERSION), version + ";");
- }
-
final String ext;
final Accept contentType;
if (accept.startsWith("application/json")) {
ext = ".json";
contentType = Accept.JSON;
- } else if (accept.startsWith("application/xml") || version.compareTo(ODataServiceVersion.V30) <= 0) {
+ } else if (accept.startsWith("application/xml")) {
ext = ".xml";
contentType = Accept.XML;
} else {
@@ -722,7 +703,7 @@ public abstract class AbstractUtilities {
public String getLinksBasePath(final String entitySetName, final String entityId) {
return entitySetName + File.separatorChar + Commons.getEntityKey(entityId) + File.separatorChar
- + Constants.get(version, ConstantKey.LINKS_FILE_PATH) + File.separatorChar;
+ + Constants.get(ConstantKey.LINKS_FILE_PATH) + File.separatorChar;
}
/**
@@ -741,7 +722,7 @@ public abstract class AbstractUtilities {
final String basePath = getLinksBasePath(entitySetName, entityId);
final LinkInfo linkInfo = new LinkInfo(fsManager.readFile(basePath + linkName, accept));
- linkInfo.setEtag(Commons.getETag(basePath, version));
+ linkInfo.setEtag(Commons.getETag(basePath));
final Map<String, NavigationProperty> navigationProperties = metadata.getNavigationProperties(entitySetName);
linkInfo.setFeed(navigationProperties.get(linkName.replaceAll("\\(.*\\)", "")).isEntitySet());
@@ -760,7 +741,7 @@ public abstract class AbstractUtilities {
throws IOException {
final FileObject fo = fsManager.putInMemory(value, fsManager.getAbsolutePath(
Commons.getEntityBasePath(entitySetName, entityId)
- + (name == null ? Constants.get(version, ConstantKey.MEDIA_CONTENT_FILENAME) : name), null));
+ + (name == null ? Constants.get(ConstantKey.MEDIA_CONTENT_FILENAME) : name), null));
return fo.getContent().getInputStream();
}
@@ -773,7 +754,7 @@ public abstract class AbstractUtilities {
final String entitySetName, final String entityId, final String name) {
final String basePath = Commons.getEntityBasePath(entitySetName, entityId);
return new SimpleEntry<String, InputStream>(basePath, fsManager.readFile(basePath
- + (name == null ? Constants.get(version, ConstantKey.MEDIA_CONTENT_FILENAME) : name)));
+ + (name == null ? Constants.get(ConstantKey.MEDIA_CONTENT_FILENAME) : name)));
}
public Map.Entry<String, InputStream> readEntity(
@@ -785,7 +766,7 @@ public abstract class AbstractUtilities {
final String basePath = Commons.getEntityBasePath(entitySetName, entityId);
return new SimpleEntry<String, InputStream>(basePath,
- fsManager.readFile(basePath + Constants.get(version, ConstantKey.ENTITY), accept));
+ fsManager.readFile(basePath + Constants.get(ConstantKey.ENTITY), accept));
}
public InputStream expandEntity(
@@ -836,16 +817,16 @@ public abstract class AbstractUtilities {
? Accept.XML : accept.getExtension().equals(Accept.JSON.getExtension()) ? Accept.JSON_FULLMETA : accept;
// read atom
- InputStream stream = fsManager.readFile(basePath + Constants.get(version, ConstantKey.ENTITY), acceptType);
+ InputStream stream = fsManager.readFile(basePath + Constants.get(ConstantKey.ENTITY), acceptType);
// change atom
stream = deleteProperty(stream, path);
// save atom
fsManager.putInMemory(stream,
- fsManager.getAbsolutePath(basePath + Constants.get(version, ConstantKey.ENTITY), acceptType));
+ fsManager.getAbsolutePath(basePath + Constants.get(ConstantKey.ENTITY), acceptType));
- return fsManager.readFile(basePath + Constants.get(version, ConstantKey.ENTITY), acceptType);
+ return fsManager.readFile(basePath + Constants.get(ConstantKey.ENTITY), acceptType);
}
public abstract InputStream readEntities(