package org.opendaylight.neutron.northbound.api;
+import static org.opendaylight.neutron.spi.INeutronCRUD.Result.DependencyMissing;
+
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.ParameterizedType;
protected static final int HTTP_OK_BOTTOM = 200;
protected static final int HTTP_OK_TOP = 299;
+ private static final int HTTP_MISSING_DEPENDENCY = 442; // see NEUTRON-158 (also in neutron.e2etest.HttpUtils)
private static final String INTERFACE_NAME_BASE = " CRUD Interface";
private static final String UUID_NO_EXIST_BASE = " UUID does not exist.";
T singleton = input.getSingleton();
singleton.initDefaults();
- neutronCRUD.add(singleton);
+ if (neutronCRUD.add(singleton).equals(DependencyMissing)) {
+ return Response.status(HTTP_MISSING_DEPENDENCY).entity(input).build();
+ }
} else {
if (input.getBulk() == null) {
throw new BadRequestException("Invalid requests");
}
for (T test : input.getBulk()) {
test.initDefaults();
- neutronCRUD.add(test);
+ if (neutronCRUD.add(test).equals(DependencyMissing)) {
+ return Response.status(HTTP_MISSING_DEPENDENCY).entity(input).build();
+ }
}
}
return Response.status(HttpURLConnection.HTTP_CREATED).entity(input).build();