use of com.serotonin.m2m2.web.dwr.util.DwrPermission in project ma-core-public by infiniteautomation.
the class DataSourceDwr method finishCopy.
@DwrPermission(user = true)
public ProcessResult finishCopy(int copyFromId, int newId) {
ProcessResult result = new ProcessResult();
if (!result.getHasMessages()) {
this.dao.copyDataSourcePoints(copyFromId, newId);
result.addData("vo", dao.get(newId));
}
return result;
}
use of com.serotonin.m2m2.web.dwr.util.DwrPermission in project ma-core-public by infiniteautomation.
the class DataSourceDwr method get.
@DwrPermission(user = true)
@Override
public ProcessResult get(int id) {
ProcessResult response;
try {
if (id > 0) {
response = super.get(id);
// Kludge for modules to be able to use a default edit point for some of their tools (Bacnet for example needs this for adding lots of points)
// This is an issue for opening AllDataPoints Point because it opens the Datasource too.
// TODO to fix this we need to fix DataSourceEditDwr to not save the editing DataPoint state in the User, this will propogate into existing modules...
DataSourceVO<?> vo = (DataSourceVO<?>) response.getData().get("vo");
// Quick fix to ensure we don't keep the edit point around if we have switched data sources
if ((Common.getUser().getEditPoint() == null) || (Common.getUser().getEditPoint().getDataSourceId() != vo.getId()) || (Common.getUser().getEditPoint().getDataSourceTypeName() != vo.getDefinition().getDataSourceTypeName())) {
DataPointVO dp = new DataPointVO();
dp.setXid(DataPointDao.instance.generateUniqueXid());
dp.setDataSourceId(vo.getId());
dp.setDataSourceTypeName(vo.getDefinition().getDataSourceTypeName());
dp.setDeviceName(vo.getName());
dp.setEventDetectors(new ArrayList<AbstractPointEventDetectorVO<?>>(0));
dp.defaultTextRenderer();
dp.setXid(DataPointDao.instance.generateUniqueXid());
dp.setPointLocator(vo.createPointLocator());
Common.getUser().setEditPoint(dp);
}
} else {
throw new ShouldNeverHappenException("Unable to get a new DataSource.");
}
// Setup the page info
response.addData("editPagePath", ((DataSourceVO<?>) response.getData().get("vo")).getDefinition().getModule().getWebPath() + "/" + ((DataSourceVO<?>) response.getData().get("vo")).getDefinition().getEditPagePath());
response.addData("statusPagePath", ((DataSourceVO<?>) response.getData().get("vo")).getDefinition().getModule().getWebPath() + "/" + ((DataSourceVO<?>) response.getData().get("vo")).getDefinition().getStatusPagePath());
} catch (Exception e) {
LOG.error(e.getMessage());
response = new ProcessResult();
response.addMessage(new TranslatableMessage("table.error.dwr", e.getMessage()));
}
return response;
}
use of com.serotonin.m2m2.web.dwr.util.DwrPermission in project ma-core-public by infiniteautomation.
the class DataSourceEditDwr method togglePoint.
@DwrPermission(user = true)
public ProcessResult togglePoint(int dataPointId) {
ProcessResult response = super.toggleDataPoint(dataPointId);
response.addData("points", getPoints());
return response;
}
use of com.serotonin.m2m2.web.dwr.util.DwrPermission in project ma-core-public by infiniteautomation.
the class DataSourceEditDwr method getGeneralStatusMessages.
@DwrPermission(user = true)
public final ProcessResult getGeneralStatusMessages() {
ProcessResult result = new ProcessResult();
DataSourceVO<?> vo = Common.getUser().getEditDataSource();
DataSourceRT<?> rt = Common.runtimeManager.getRunningDataSource(vo.getId());
List<TranslatableMessage> messages = new ArrayList<>();
result.addData("messages", messages);
if (rt == null)
messages.add(new TranslatableMessage("dsEdit.notEnabled"));
else {
rt.addStatusMessages(messages);
if (messages.isEmpty())
messages.add(new TranslatableMessage("dsEdit.noStatus"));
}
return result;
}
use of com.serotonin.m2m2.web.dwr.util.DwrPermission in project ma-core-public by infiniteautomation.
the class DataSourceListDwr method copyDataSource.
@DwrPermission(user = true)
public ProcessResult copyDataSource(int dataSourceId, String name, String xid, String deviceName) {
Permissions.ensureDataSourcePermission(Common.getUser(), dataSourceId);
ProcessResult response = new ProcessResult();
// Create a dummy data source with which to do the validation.
DataSourceVO<?> ds = new MockDataSourceVO();
ds.setName(name);
ds.setXid(xid);
ds.validate(response);
if (!response.getHasMessages()) {
int dsId = DataSourceDao.instance.copyDataSource(dataSourceId, name, xid, deviceName);
response.addData("newId", dsId);
}
return response;
}
Aggregations