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);
}
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;
}
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;
}
Aggregations