Search in sources :

Example 6 with GraphicalView

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;
}
Also used : DataPointVO(com.serotonin.m2m2.vo.DataPointVO) WebContext(org.directwebremoting.WebContext) HashMap(java.util.HashMap) PointComponent(com.serotonin.m2m2.gviews.component.PointComponent) SimplePointComponent(com.serotonin.m2m2.gviews.component.SimplePointComponent) ArrayList(java.util.ArrayList) CompoundChild(com.serotonin.m2m2.gviews.component.CompoundChild) SimpleCompoundComponent(com.serotonin.m2m2.gviews.component.SimpleCompoundComponent) CompoundComponent(com.serotonin.m2m2.gviews.component.CompoundComponent) HttpServletRequest(javax.servlet.http.HttpServletRequest) ViewComponent(com.serotonin.m2m2.gviews.component.ViewComponent) ImageChartComponent(com.serotonin.m2m2.gviews.component.ImageChartComponent) HashMap(java.util.HashMap) Map(java.util.Map)

Example 7 with GraphicalView

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;
}
Also used : PermissionException(com.serotonin.m2m2.vo.permission.PermissionException) AnonymousUser(com.serotonin.m2m2.vo.AnonymousUser) TranslatableMessage(com.serotonin.m2m2.i18n.TranslatableMessage) DwrPermission(com.serotonin.m2m2.web.dwr.util.DwrPermission)

Example 8 with GraphicalView

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;
}
Also used : ProcessResult(com.serotonin.m2m2.i18n.ProcessResult) DwrPermission(com.serotonin.m2m2.web.dwr.util.DwrPermission)

Example 9 with GraphicalView

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;
}
Also used : ShareUser(com.serotonin.m2m2.view.ShareUser) AnonymousUser(com.serotonin.m2m2.vo.AnonymousUser) User(com.serotonin.m2m2.vo.User) ProcessResult(com.serotonin.m2m2.i18n.ProcessResult) DwrPermission(com.serotonin.m2m2.web.dwr.util.DwrPermission)

Example 10 with GraphicalView

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;
}
Also used : ShareUser(com.serotonin.m2m2.view.ShareUser) AnonymousUser(com.serotonin.m2m2.vo.AnonymousUser) User(com.serotonin.m2m2.vo.User) ViewComponent(com.serotonin.m2m2.gviews.component.ViewComponent) DwrPermission(com.serotonin.m2m2.web.dwr.util.DwrPermission)

Aggregations

User (com.serotonin.m2m2.vo.User)9 ShareUser (com.serotonin.m2m2.view.ShareUser)6 AnonymousUser (com.serotonin.m2m2.vo.AnonymousUser)6 DwrPermission (com.serotonin.m2m2.web.dwr.util.DwrPermission)6 ViewComponent (com.serotonin.m2m2.gviews.component.ViewComponent)4 ProcessResult (com.serotonin.m2m2.i18n.ProcessResult)4 TranslatableMessage (com.serotonin.m2m2.i18n.TranslatableMessage)3 GraphicalView (com.serotonin.m2m2.gviews.GraphicalView)2 PointComponent (com.serotonin.m2m2.gviews.component.PointComponent)2 SimplePointComponent (com.serotonin.m2m2.gviews.component.SimplePointComponent)2 DataPointVO (com.serotonin.m2m2.vo.DataPointVO)2 PermissionException (com.serotonin.m2m2.vo.permission.PermissionException)2 ArrayList (java.util.ArrayList)2 IntStringPair (com.serotonin.db.pair.IntStringPair)1 JsonException (com.serotonin.json.JsonException)1 JsonObject (com.serotonin.json.type.JsonObject)1 GraphicalViewDao (com.serotonin.m2m2.gviews.GraphicalViewDao)1 CompoundChild (com.serotonin.m2m2.gviews.component.CompoundChild)1 CompoundComponent (com.serotonin.m2m2.gviews.component.CompoundComponent)1 ImageChartComponent (com.serotonin.m2m2.gviews.component.ImageChartComponent)1