Package org.joget.designer.jped

Source Code of org.joget.designer.jped.CustomValidator

package org.joget.designer.jped;

import java.util.List;
import java.util.Observable;
import java.util.Observer;
import org.enhydra.jawe.JaWEComponent;
import org.enhydra.jawe.JaWEComponentSettings;
import org.enhydra.jawe.JaWEComponentView;
import org.enhydra.jawe.JaWEManager;
import org.enhydra.jawe.XPDLElementChangeInfo;
import org.enhydra.shark.xpdl.XMLCollection;
import org.enhydra.shark.xpdl.XMLElement;
import org.enhydra.shark.xpdl.elements.Package;

public class CustomValidator implements Observer, JaWEComponent {

    public CustomValidator(JaWEComponentSettings settings)
            throws Exception {
        type = "SPECIAL";
        updateInProgress = false;
        init();
        JaWEManager.getInstance().getJaWEController().addObserver(this);
    }

    protected void init() {
        panel = new CustomValidatorPanel(this);
    }

    public JaWEComponentSettings getSettings() {
        return null;
    }

    public void update(Observable o, Object arg) {
        if (!(arg instanceof XPDLElementChangeInfo)) {
            return;
        }
        XPDLElementChangeInfo info = (XPDLElementChangeInfo) arg;
        int action = info.getAction();
        if (action != 10) {
            return;
        } else {
            long start = System.currentTimeMillis();
            JaWEManager.getInstance().getLoggingManager().info("CustomValidator -> update for event " + info + " started ...");
            update(info);
            JaWEManager.getInstance().getLoggingManager().info("CustomValidator -> update ended...");
            long end = System.currentTimeMillis();
            double diffs = (double) (end - start) / 1000D;
            JaWEManager.getInstance().getLoggingManager().debug("THE UPDATE OF SEARCH NAVIG COMPONENT LASTED FOR " + diffs + " SECONDS!");
            return;
        }
    }

    public void update(XPDLElementChangeInfo info) {
        if (updateInProgress) {
            return;
        }
        if (info.getSource() == this) {
            return;
        }
        updateInProgress = true;
        try {
            int action = info.getAction();
            if (action == XPDLElementChangeInfo.VALIDATION_ERRORS) {
                panel.fillListContent(info.getChangedSubElements());
            }
        } finally {
            updateInProgress = false;
        }
    }

    public JaWEComponentView getView() {
        return panel;
    }

    public String getName() {
        return "CustomValidator";
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public boolean adjustXPDL(Package pckg) {
        return false;
    }

    public List checkValidity(XMLElement el, boolean fullCheck) {
        return null;
    }

    public boolean canCreateElement(XMLCollection col) {
        return true;
    }

    public boolean canInsertElement(XMLCollection col, XMLElement el) {
        return true;
    }

    public boolean canModifyElement(XMLElement el) {
        return true;
    }

    public boolean canRemoveElement(XMLCollection col, XMLElement el) {
        return true;
    }

    public boolean canDuplicateElement(XMLCollection col, XMLElement el) {
        return true;
    }

    public boolean canRepositionElement(XMLCollection col, XMLElement el) {
        return true;
    }

    public void setUpdateInProgress(boolean inProgress) {
        updateInProgress = inProgress;
    }

    public boolean isUpdateInProgress() {
        return updateInProgress;
    }

    protected String type;
    protected CustomValidatorPanel panel;
    protected boolean updateInProgress;

}
TOP

Related Classes of org.joget.designer.jped.CustomValidator

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.