use of com.serotonin.m2m2.gviews.GraphicalView in project ma-modules-public by infiniteautomation.
the class GraphicalViewDwr method getViewPointData.
private List<ViewComponentState> getViewPointData(User user, GraphicalView view, boolean edit) {
WebContext webContext = WebContextFactory.get();
HttpServletRequest request = webContext.getHttpServletRequest();
List<ViewComponentState> states = new ArrayList<ViewComponentState>();
Map<String, Object> model = new HashMap<String, Object>();
for (ViewComponent viewComponent : view.getViewComponents()) {
// Are we to update this component
boolean update = System.currentTimeMillis() >= (viewComponent.getLastUpdated() + Common.getMillis(viewComponent.getUpdatePeriodType(), viewComponent.getUpdatePeriods()));
if (viewComponent.isCompoundComponent() && (edit || viewComponent.isVisible())) {
CompoundComponent compoundComponent = (CompoundComponent) viewComponent;
boolean imageChart = compoundComponent instanceof ImageChartComponent;
// Add states for each of the children
for (CompoundChild child : compoundComponent.getChildComponents()) addPointComponentState(child.getViewComponent(), update, Common.runtimeManager, model, request, view, user, states, edit, !imageChart);
// Add a state for the compound component.
ViewComponentState state = new ViewComponentState();
state.setId(compoundComponent.getId());
model.clear();
model.put("compoundComponent", compoundComponent);
List<Map<String, Object>> childData = new ArrayList<Map<String, Object>>();
for (CompoundChild child : compoundComponent.getChildComponents()) {
if (child.getViewComponent().isPointComponent()) {
DataPointVO point = ((PointComponent) child.getViewComponent()).tgetDataPoint();
if (point != null) {
Map<String, Object> map = new HashMap<String, Object>();
if (imageChart)
map.put("name", point.getName());
else
map.put("name", translate(child.getDescription()));
map.put("point", point);
map.put("pointValue", point.lastValue());
childData.add(map);
}
}
}
model.put("childData", childData);
if (compoundComponent.hasInfo())
state.setInfo(generateViewContent(compoundComponent, update, request, "compoundInfoContent.jsp", model));
if (imageChart) {
state.setContent(((ImageChartComponent) compoundComponent).getImageChartData(getTranslations()));
} else if (!edit) {
state.setChart(compoundComponent.getImageChartData(getTranslations()));
}
states.add(state);
} else
addPointComponentState(viewComponent, update, Common.runtimeManager, model, request, view, user, states, edit, true);
// Save the last time we updated
if (update)
viewComponent.setLastUpdated(System.currentTimeMillis());
}
return states;
}
use of com.serotonin.m2m2.gviews.GraphicalView in project ma-modules-public by infiniteautomation.
the class GraphicalViewDwr method setViewPointAnon.
@DwrPermission(anonymous = true)
public String setViewPointAnon(int viewId, String viewComponentId, String valueStr) {
GraphicalView view = GraphicalViewsCommon.getAnonymousViewDwr(viewId);
if (view == null)
throw new PermissionException(new TranslatableMessage("common.default", "View is not in session"), null);
if (view.getAnonymousAccess() != ShareUser.ACCESS_SET)
throw new PermissionException(new TranslatableMessage("common.default", "Point is not anonymously settable"), null);
// Allow the set.
setPointImpl(view.findDataPoint(viewComponentId), valueStr, new AnonymousUser());
return viewComponentId;
}
use of com.serotonin.m2m2.gviews.GraphicalView in project ma-modules-public by infiniteautomation.
the class GraphicalViewDwr method getPermissions.
@DwrPermission(user = true)
public ProcessResult getPermissions() {
GraphicalView view = GraphicalViewsCommon.getUserEditView(Common.getUser());
ProcessResult result = new ProcessResult();
result.addData("readPermission", view.getReadPermission());
result.addData("editPermission", view.getEditPermission());
result.addData("setPermission", view.getSetPermission());
return result;
}
use of com.serotonin.m2m2.gviews.GraphicalView in project ma-modules-public by infiniteautomation.
the class GraphicalViewDwr method clearBackground.
@DwrPermission(user = true)
public ProcessResult clearBackground() {
User user = Common.getUser();
ProcessResult result = new ProcessResult();
if (Permissions.hasPermission(user, SystemSettingsDao.getValue(GraphicalViewUploadPermissionDefinition.PERMISSION))) {
GraphicalView view = GraphicalViewsCommon.getUserEditView(user);
GraphicalViewsCommon.deleteImage(view.getBackgroundFilename());
view.setBackgroundFilename(null);
result.addData("hasPermission", true);
} else {
result.addData("hasPermission", false);
}
return result;
}
use of com.serotonin.m2m2.gviews.GraphicalView in project ma-modules-public by infiniteautomation.
the class GraphicalViewDwr method addComponent.
@DwrPermission(user = true)
public ViewComponent addComponent(String componentName) {
ViewComponent viewComponent = ViewComponent.newInstance(componentName);
User user = Common.getUser();
GraphicalView view = GraphicalViewsCommon.getUserEditView(user);
view.addViewComponent(viewComponent);
viewComponent.validateDataPoint(user, false);
return viewComponent;
}
Aggregations