use of com.serotonin.m2m2.LicenseViolatedException in project ma-core-public by infiniteautomation.
the class DataPointDwr method saveFull.
/**
* Not currently being used, see DataSourceEditDwr
*
* Save the VO AND FDAO Data
*
* Conversion for the VO must be added by extending DwrConversionDefinition
*
* @return
*/
@Override
@DwrPermission(user = true)
public ProcessResult saveFull(DataPointVO vo) {
// TODO combine with save()
ProcessResult response = new ProcessResult();
if (vo.getXid() == null) {
vo.setXid(dao.generateUniqueXid());
}
vo.validate(response);
if (!response.getHasMessages()) {
// TODO DataPointDefaulter defaulter = null;
try {
Common.runtimeManager.saveDataPoint(vo);
// TODO if (defaulter != null)
// defaulter.postSave(vo);
} catch (LicenseViolatedException e) {
LOG.error(e);
response.addMessage(e.getErrorMessage());
} catch (Exception e) {
// Handle the exceptions.
LOG.error(e);
String context = vo.getName();
if (context == null) {
context = vo.getXid();
}
if (context == null) {
context = vo.getXid();
}
if (context == null) {
context = Integer.toString(vo.getId());
}
if (e instanceof DuplicateKeyException)
response.addContextualMessage(context, "table.edit.alreadyExists");
else
response.addContextualMessage(context, "table.edit.unableToSave", e.getMessage());
}
}
response.addData("vo", vo);
// Add in case it fails
response.addData("id", vo.getId());
return response;
}
use of com.serotonin.m2m2.LicenseViolatedException in project ma-core-public by infiniteautomation.
the class EventDetectorImporter method importImpl.
@Override
protected void importImpl() {
String dataPointXid = json.getString("dataPointXid");
DataPointVO dpvo;
// Everyone is in the same thread so no synchronization on dataPointMap required.
if (dataPointMap.containsKey(dataPointXid))
dpvo = dataPointMap.get(dataPointXid);
else if (StringUtils.isEmpty(dataPointXid) || (dpvo = DataPointDao.instance.getByXid(dataPointXid)) == null) {
addFailureMessage("emport.error.missingPoint", dataPointXid);
return;
} else {
dataPointMap.put(dataPointXid, dpvo);
// We're only going to use this to house event detectors imported in the eventDetectors object.
dpvo.setEventDetectors(new ArrayList<AbstractPointEventDetectorVO<?>>());
}
String typeStr = json.getString("type");
if (typeStr == null)
addFailureMessage("emport.error.ped.missingAttr", "type");
EventDetectorDefinition<?> def = ModuleRegistry.getEventDetectorDefinition(typeStr);
if (def == null) {
addFailureMessage("emport.error.ped.invalid", "type", typeStr, ModuleRegistry.getEventDetectorDefinitionTypes());
return;
}
JsonArray handlerXids = json.getJsonArray("handlers");
if (handlerXids != null)
for (int k = 0; k < handlerXids.size(); k += 1) {
AbstractEventHandlerVO<?> eh = EventHandlerDao.instance.getByXid(handlerXids.getString(k));
if (eh == null) {
addFailureMessage("emport.eventHandler.missing", handlerXids.getString(k));
return;
}
}
AbstractEventDetectorVO<?> importing = def.baseCreateEventDetectorVO();
importing.setDefinition(def);
String xid = json.getString("xid");
// Create a new one
importing.setId(Common.NEW_ID);
importing.setXid(xid);
AbstractPointEventDetectorVO<?> dped = (AbstractPointEventDetectorVO<?>) importing;
dped.njbSetDataPoint(dpvo);
dpvo.getEventDetectors().add(dped);
try {
ctx.getReader().readInto(importing, json);
// try {
// if(Common.runtimeManager.getState() == RuntimeManager.RUNNING){
// Common.runtimeManager.saveDataPoint(dpvo);
// addSuccessMessage(isNew, "emport.eventDetector.prefix", xid);
// }else{
// addFailureMessage(new ProcessMessage("Runtime Manager not running point with xid: " + xid + " not saved."));
// }
// } catch(LicenseViolatedException e) {
// addFailureMessage(new ProcessMessage(e.getErrorMessage()));
// }
} catch (TranslatableJsonException e) {
addFailureMessage("emport.eventDetector.prefix", xid, e.getMsg());
} catch (JsonException e) {
addFailureMessage("emport.eventDetector.prefix", xid, getJsonExceptionMessage(e));
}
}
Aggregations