package org.onap.dmaap.dbcapi.resources;
+import com.google.common.collect.Iterables;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import javax.ws.rs.Consumes;
public class DR_SubResource extends BaseLoggingClass {
private ResponseBuilder responseBuilder = new ResponseBuilder();
+ private RequiredChecker checker = new RequiredChecker();
@GET
@ApiOperation( value = "return DR_Sub details",
FeedService feeds = new FeedService();
Feed fnew = null;
try {
- resp.required( "feedId", sub.getFeedId(), "");
+ checker.required( "feedId", sub.getFeedId());
} catch ( RequiredFieldException rfe ) {
try {
- resp.required( "feedName", sub.getFeedName(), "");
+ checker.required( "feedName", sub.getFeedName());
}catch ( RequiredFieldException rfe2 ) {
- logger.debug( resp.toString() );
- return responseBuilder.error(resp.getErr());
+ logger.debug( rfe2.getApiError().toString() );
+ return responseBuilder.error(rfe2.getApiError());
}
// if we found a FeedName instead of a FeedId then try to look it up.
List<Feed> nfeeds = feeds.getAllFeeds( sub.getFeedName(), sub.getFeedVersion(), "equals");
- if ( nfeeds.size() != 1 ) {
+ if ( nfeeds.isEmpty() ) {
+ resp.setCode(Status.NOT_FOUND.getStatusCode());
+ resp.setFields("feedName");
+ return responseBuilder.error(resp.getErr());
+ } else if (nfeeds.size() > 1) {
logger.debug( "Attempt to match "+ sub.getFeedName() + " ver="+sub.getFeedVersion() + " matched " + nfeeds.size() );
+ resp.setCode(Status.CONFLICT.getStatusCode());
+ resp.setFields("feedName");
return responseBuilder.error(resp.getErr());
}
- fnew = nfeeds.get(0);
+ fnew = Iterables.getOnlyElement(nfeeds);
}
try {
- resp.required( "dcaeLocationName", sub.getDcaeLocationName(), "");
+ checker.required( "dcaeLocationName", sub.getDcaeLocationName());
} catch ( RequiredFieldException rfe ) {
- logger.debug( resp.toString() );
- return responseBuilder.error(resp.getErr());
+ logger.debug( rfe.getApiError().toString() );
+ return responseBuilder.error(rfe.getApiError());
}
// we may have fnew already if located by FeedName
if ( fnew == null ) {
ApiService resp = new ApiService();
try {
- resp.required( "subId", name, "");
- resp.required( "feedId", sub.getFeedId(), "");
- resp.required( "dcaeLocationName", sub.getDcaeLocationName(), "");
+ checker.required( "subId", name);
+ checker.required( "feedId", sub.getFeedId());
+ checker.required( "dcaeLocationName", sub.getDcaeLocationName());
} catch ( RequiredFieldException rfe ) {
- logger.debug( resp.toString() );
- return responseBuilder.error(resp.getErr());
+ logger.debug( rfe.getApiError().toString() );
+ return responseBuilder.error(rfe.getApiError());
}
FeedService feeds = new FeedService();
Feed fnew = feeds.getFeed( sub.getFeedId(), resp.getErr() );
ApiService resp = new ApiService();
try {
- resp.required( "subId", id, "");
+ checker.required( "subId", id);
} catch ( RequiredFieldException rfe ) {
- logger.debug( resp.toString() );
- return responseBuilder.error(resp.getErr());
+ logger.debug( rfe.getApiError().toString() );
+ return responseBuilder.error(rfe.getApiError());
}
DR_SubService dr_subService = new DR_SubService();
dr_subService.removeDr_Sub(id, resp.getErr() );
ApiService resp = new ApiService();
try {
- resp.required( "subId", id, "");
+ checker.required( "subId", id);
} catch ( RequiredFieldException rfe ) {
- logger.debug( resp.toString() );
- return responseBuilder.error(resp.getErr());
+ logger.debug( rfe.getApiError().toString() );
+ return responseBuilder.error(rfe.getApiError());
}
DR_SubService dr_subService = new DR_SubService();
DR_Sub sub = dr_subService.getDr_Sub( id, resp.getErr() );