use of org.ff4j.exception.FeatureAccessException in project ff4j by ff4j.
the class PropertyCouchbaseMapper method toStore.
/**
* {@inheritDoc}
*/
@Override
public JsonDocument toStore(Property<?> prop) {
if (prop == null)
return null;
JsonObject jsonObject;
try {
jsonObject = TRANSCODER.stringToJsonObject(prop.toJson());
jsonObject.put("_class", Property.class.getCanonicalName());
} catch (Exception e) {
throw new FeatureAccessException("Cannot parse the feature", e);
}
return JsonDocument.create(prop.getName(), jsonObject);
}
use of org.ff4j.exception.FeatureAccessException in project ff4j by ff4j.
the class FeatureStoreHttp method createSchema.
/**
* {@inheritDoc}
*/
@Override
public void createSchema() {
Util.assertHasLength(url);
WebResource wr = getJerseyClient().resource(url).path(RESOURCE_STORE).path(STORE_CREATESCHEMA);
if (null != authorization) {
wr.header(HEADER_AUTHORIZATION, authorization);
}
ClientResponse cRes = wr.post(ClientResponse.class);
if (Status.OK.getStatusCode() != cRes.getStatus()) {
throw new FeatureAccessException("Cannot create schema for feature store - " + cRes.getStatus());
}
}
use of org.ff4j.exception.FeatureAccessException in project ff4j by ff4j.
the class FeatureStoreHttp method update.
/**
* {@inheritDoc}
*/
@Override
public void update(Feature fp) {
Util.assertNotNull(fp);
if (!exist(fp.getUid())) {
throw new FeatureNotFoundException(fp.getUid());
}
ClientResponse cRes = //
getStore().path(fp.getUid()).type(MediaType.APPLICATION_JSON).put(ClientResponse.class, new FeatureApiBean(fp));
if (Status.NO_CONTENT.getStatusCode() != cRes.getStatus()) {
throw new FeatureAccessException("Cannot update feature, an HTTP error " + cRes.getStatus() + OCCURED);
}
}
use of org.ff4j.exception.FeatureAccessException in project ff4j by ff4j.
the class FeatureStoreHttp method readAll.
/**
* {@inheritDoc}
*/
@Override
public Map<String, Feature> readAll() {
ClientResponse cRes = getStore().get(ClientResponse.class);
if (Status.OK.getStatusCode() != cRes.getStatus()) {
throw new FeatureAccessException("Cannot read features, an HTTP error " + cRes.getStatus() + OCCURED);
}
String resEntity = cRes.getEntity(String.class);
Feature[] fArray = parseFeatureArray(resEntity);
Map<String, Feature> features = new HashMap<String, Feature>();
for (Feature feature : fArray) {
features.put(feature.getUid(), feature);
}
return features;
}
use of org.ff4j.exception.FeatureAccessException in project ff4j by ff4j.
the class PropertyStoreHttp method clear.
/**
* {@inheritDoc}
*/
public void clear() {
Util.assertHasLength(url);
WebResource wr = getJerseyClient().resource(url).path(RESOURCE_PROPERTYSTORE).path(STORE_CLEAR);
if (null != authorization) {
wr.header(HEADER_AUTHORIZATION, authorization);
}
ClientResponse cRes = wr.post(ClientResponse.class);
if (Status.OK.getStatusCode() != cRes.getStatus()) {
throw new FeatureAccessException("Cannot clear property store - " + cRes.getStatus());
}
}
Aggregations