Search in sources :

Example 6 with Value

use of org.eclipse.sapphire.Value in project liferay-ide by liferay.

the class PortletColumnWeightInitialValueService method compute.

@Override
protected String compute() {
    PortletColumnElement column = (PortletColumnElement) context(Element.class);
    PortletLayoutElement parentLayout = column.nearest(PortletLayoutElement.class);
    LayoutTplElement layoutTpl = column.nearest(LayoutTplElement.class);
    int weightSum = 0;
    ElementList<PortletColumnElement> portletColumns = parentLayout.getPortletColumns();
    for (PortletColumnElement col : portletColumns) {
        if (col != column) {
            Value<Integer> colWeight = col.getWeight();
            Integer colWeightContent = colWeight.content();
            weightSum += colWeightContent.intValue();
        }
    }
    Value<Integer> columnFullWeight = column.getFullWeight();
    Integer fullWeightContent = columnFullWeight.content();
    int fullWeight = fullWeightContent.intValue();
    int initialWeight = layoutTpl.getBootstrapStyle().content() ? 3 : 25;
    if ((weightSum >= 0) && (weightSum < fullWeight)) {
        initialWeight = fullWeight - weightSum;
    } else if (weightSum == fullWeight) {
        /*
			 * the index of last valid column is portletColumns.size() - 2, because
			 * portletColumns().size() -1 is the new inserted column
			 */
        PortletColumnElement lastValidColumn = portletColumns.get(portletColumns.size() - 2);
        Value<Integer> lvColumnWeight = lastValidColumn.getWeight();
        Integer lvWeightContent = lvColumnWeight.content();
        int lastValidWeight = lvWeightContent.intValue();
        if (lastValidWeight > 1) {
            initialWeight = lastValidWeight / 2;
            lastValidWeight = lastValidWeight - initialWeight;
            lastValidColumn.setWeight(lastValidWeight);
        }
    }
    return String.valueOf(initialWeight);
}
Also used : PortletLayoutElement(com.liferay.ide.layouttpl.core.model.PortletLayoutElement) PortletColumnElement(com.liferay.ide.layouttpl.core.model.PortletColumnElement) LayoutTplElement(com.liferay.ide.layouttpl.core.model.LayoutTplElement) PortletColumnElement(com.liferay.ide.layouttpl.core.model.PortletColumnElement) Element(org.eclipse.sapphire.Element) PortletLayoutElement(com.liferay.ide.layouttpl.core.model.PortletLayoutElement) Value(org.eclipse.sapphire.Value) LayoutTplElement(com.liferay.ide.layouttpl.core.model.LayoutTplElement)

Example 7 with Value

use of org.eclipse.sapphire.Value in project liferay-ide by liferay.

the class EmailAddressValidationService method _getSchemaVersion.

private Version _getSchemaVersion() {
    Version schemaVersion = new Version(KaleoCore.DEFAULT_KALEO_VERSION);
    if (context(WorkflowDefinition.class) != null) {
        WorkflowDefinition workflowDefinition = context(WorkflowDefinition.class);
        Value<Version> version = workflowDefinition.getSchemaVersion();
        schemaVersion = version.content();
    } else if (context(NewNodeOp.class) != null) {
        NewNodeOp newNodeOp = context(NewNodeOp.class);
        ElementHandle<WorkflowDefinition> workflowDef = newNodeOp.getWorkflowDefinition();
        WorkflowDefinition workflowDefinition = workflowDef.content();
        Value<Version> version = workflowDefinition.getSchemaVersion();
        schemaVersion = version.content();
    } else if (context(NewWorkflowDefinitionOp.class) != null) {
        NewWorkflowDefinitionOp newWorkflowDenitionOp = context(NewWorkflowDefinitionOp.class);
        ReferenceValue<String, IProject> opProject = newWorkflowDenitionOp.getProject();
        IProject project = opProject.target();
        ILiferayProject liferayProj = LiferayCore.create(project);
        ILiferayPortal portal = liferayProj.adapt(ILiferayPortal.class);
        if (portal != null) {
            schemaVersion = new Version(portal.getVersion());
        }
    }
    return schemaVersion;
}
Also used : Version(org.eclipse.sapphire.Version) ILiferayProject(com.liferay.ide.core.ILiferayProject) NewNodeOp(com.liferay.ide.kaleo.core.op.NewNodeOp) ReferenceValue(org.eclipse.sapphire.ReferenceValue) Value(org.eclipse.sapphire.Value) WorkflowDefinition(com.liferay.ide.kaleo.core.model.WorkflowDefinition) ElementHandle(org.eclipse.sapphire.ElementHandle) NewWorkflowDefinitionOp(com.liferay.ide.kaleo.core.op.NewWorkflowDefinitionOp) ILiferayPortal(com.liferay.ide.core.ILiferayPortal) IProject(org.eclipse.core.resources.IProject)

Example 8 with Value

use of org.eclipse.sapphire.Value in project liferay-ide by liferay.

the class TransitionReferenceService method compute.

@Override
public Node compute() {
    String reference = context(Value.class).text();
    if (reference != null) {
        WorkflowDefinition workflow = context(WorkflowDefinition.class);
        List<Node> nodes = new ArrayList<>();
        if (workflow != null) {
            nodes.addAll(workflow.getTasks());
            nodes.addAll(workflow.getStates());
            nodes.addAll(workflow.getConditions());
            nodes.addAll(workflow.getForks());
            nodes.addAll(workflow.getJoins());
            Value<Version> schemaVersion = workflow.getSchemaVersion();
            Version version = schemaVersion.content();
            if (version.compareTo(new Version("6.2")) >= 0) {
                nodes.addAll(workflow.getJoinXors());
            }
            for (Node node : nodes) {
                if (reference.equals(node.getName().content())) {
                    return node;
                }
            }
        }
    }
    return null;
}
Also used : Version(org.eclipse.sapphire.Version) Node(com.liferay.ide.kaleo.core.model.Node) Value(org.eclipse.sapphire.Value) ArrayList(java.util.ArrayList) WorkflowDefinition(com.liferay.ide.kaleo.core.model.WorkflowDefinition)

Aggregations

Value (org.eclipse.sapphire.Value)8 WorkflowDefinition (com.liferay.ide.kaleo.core.model.WorkflowDefinition)3 Property (org.eclipse.sapphire.Property)3 Element (org.eclipse.sapphire.Element)2 Version (org.eclipse.sapphire.Version)2 Path (org.eclipse.sapphire.modeling.Path)2 ILiferayPortal (com.liferay.ide.core.ILiferayPortal)1 ILiferayProject (com.liferay.ide.core.ILiferayProject)1 CustomJspDir (com.liferay.ide.hook.core.model.CustomJspDir)1 Hook (com.liferay.ide.hook.core.model.Hook)1 Assignable (com.liferay.ide.kaleo.core.model.Assignable)1 Node (com.liferay.ide.kaleo.core.model.Node)1 Role (com.liferay.ide.kaleo.core.model.Role)1 RoleName (com.liferay.ide.kaleo.core.model.RoleName)1 WorkflowNode (com.liferay.ide.kaleo.core.model.WorkflowNode)1 AssignableOp (com.liferay.ide.kaleo.core.op.AssignableOp)1 NewNodeOp (com.liferay.ide.kaleo.core.op.NewNodeOp)1 NewWorkflowDefinitionOp (com.liferay.ide.kaleo.core.op.NewWorkflowDefinitionOp)1 LayoutTplElement (com.liferay.ide.layouttpl.core.model.LayoutTplElement)1 PortletColumnElement (com.liferay.ide.layouttpl.core.model.PortletColumnElement)1