use of com.liferay.ide.kaleo.core.model.ScriptLanguageType in project liferay-ide by liferay.
the class ScriptPropertyStorage method getName.
@Override
public String getName() {
Scriptable scriptable = element().nearest(Scriptable.class);
Value<ScriptLanguageType> languageType = scriptable.getScriptLanguage();
ScriptLanguageType scriptLanguageType = languageType.content(true);
if (scriptLanguageType == null) {
scriptLanguageType = ScriptLanguageType.valueOf(KaleoModelUtil.getDefaultValue(element(), KaleoCore.DEFAULT_SCRIPT_LANGUAGE_KEY, ScriptLanguageType.GROOVY));
}
DefaultValue defaultValue = ScriptLanguageType.class.getFields()[scriptLanguageType.ordinal()].getAnnotation(DefaultValue.class);
return defaultValue.text();
}
use of com.liferay.ide.kaleo.core.model.ScriptLanguageType in project liferay-ide by liferay.
the class KaleoModelUtil method changeTaskAssignments.
public static void changeTaskAssignments(Task task, AssignableOp op) {
if ((task == null) || (op == null)) {
return;
}
ElementHandle<User> user = task.getUser();
user.clear();
ElementHandle<Scriptable> scripteAssignment = task.getScriptedAssignment();
scripteAssignment.clear();
ElementList<ResourceAction> resourceAction = task.getResourceActions();
resourceAction.clear();
ElementList<Role> taskRole = task.getRoles();
taskRole.clear();
switch(op.getAssignmentType().content(true)) {
case CREATOR:
user.content(true);
break;
case USER:
User content = user.content(true);
content.copy(op.getImpliedUser());
break;
case ROLE:
final Role newRole = taskRole.insert();
newRole.copy(op.getImpliedRole());
break;
case ROLE_TYPE:
for (Role role : op.getRoles()) {
Role newRoleType = taskRole.insert();
newRoleType.copy(role);
Value<RoleType> roleType = role.getRoleType();
newRoleType.setRoleType(roleType.content(true));
Value<Boolean> autoCreate = role.getAutoCreate();
if (autoCreate.content() != null) {
newRoleType.setAutoCreate(autoCreate.content());
}
}
break;
case SCRIPTED_ASSIGNMENT:
Scriptable scriptable = scripteAssignment.content(true);
Scriptable impliedScriptable = op.getImpliedScriptable();
Value<ScriptLanguageType> scriptLanguageType = impliedScriptable.getScriptLanguage();
scriptable.setScriptLanguage(scriptLanguageType.content(true));
scriptable.setScript("/*specify script assignment */");
break;
case RESOURCE_ACTIONS:
for (ResourceAction ra : op.getResourceActions()) {
ResourceAction newResourceAction = resourceAction.insert();
newResourceAction.copy(ra);
}
break;
}
}
use of com.liferay.ide.kaleo.core.model.ScriptLanguageType in project liferay-ide by liferay.
the class CodePropertyEditorRenderer method createContents.
@Override
protected void createContents(Composite parent) {
PropertyEditorPart part = getPart();
Composite scriptEditorParent = createMainComposite(parent, new CreateMainCompositeDelegate(part) {
@Override
public boolean canScaleVertically() {
return true;
}
});
context.adapt(scriptEditorParent);
int textFieldParentColumns = 1;
SapphireToolBarActionPresentation toolBarActionsPresentation = new SapphireToolBarActionPresentation(getActionPresentationManager());
boolean actionsToolBarNeeded = toolBarActionsPresentation.hasActions();
if (actionsToolBarNeeded || true)
textFieldParentColumns++;
scriptEditorParent.setLayout(glayout(textFieldParentColumns, 0, 0, 0, 0));
Composite nestedComposite = new Composite(scriptEditorParent, SWT.NONE);
nestedComposite.setLayoutData(gdfill());
nestedComposite.setLayout(glspacing(glayout(2, 0, 0), 2));
this.context.adapt(nestedComposite);
PropertyEditorAssistDecorator decorator = createDecorator(nestedComposite);
decorator.control().setLayoutData(gdvalign(gd(), SWT.TOP));
decorator.addEditorControl(nestedComposite);
/*
* scriptEditorParent.setLayout( new FillLayout( SWT.HORIZONTAL ) );
* scriptEditorParent.setLayoutData( gdhhint( gdfill(), 300 ) );
*/
PropertyEditorInput editorInput = new PropertyEditorInput(part.getLocalModelElement(), (ValueProperty) part.getProperty());
try {
ScriptLanguageType scriptLang = context.getPart().getLocalModelElement().nearest(IScriptable.class).getScriptLanguage().getContent(false);
String fileName = scriptLang.getClass().getField(scriptLang.toString()).getAnnotation(DefaultValue.class).text();
IContentDescription contentDescription = ContentTypeManager.getInstance().getDescriptionFor(editorInput.getStorage().getContents(), fileName, IContentDescription.ALL);
EditorDescriptor defaultEditor = (EditorDescriptor) PlatformUI.getWorkbench().getEditorRegistry().getDefaultEditor(editorInput.getName(), contentDescription.getContentType());
_textEditor = (ITextEditor) defaultEditor.createEditor();
} catch (Exception e1) {
}
IEditorReference ref = new ScriptEditorReference(_textEditor, editorInput);
IEditorSite site = new ScriptEditorSite(ref, _textEditor, PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage());
try {
_textEditor.init(site, editorInput);
_textEditor.getDocumentProvider().getDocument(editorInput).addDocumentListener(new IDocumentListener() {
public void documentAboutToBeChanged(DocumentEvent event) {
}
public void documentChanged(DocumentEvent event) {
String content = event.getDocument().get();
part.getLocalModelElement().write(((ValueProperty) part.getProperty()), content);
}
});
ModelPropertyListener modelListener = new ModelPropertyListener() {
@Override
public void handlePropertyChangedEvent(ModelPropertyChangeEvent event) {
CodePropertyEditorRenderer.this.textEditor.getDocumentProvider().getDocument(editorInput).set(part.getLocalModelElement().read(getProperty()).getText());
}
};
part.getLocalModelElement().addListener(modelListener, part.getProperty().getName());
} catch (PartInitException pie) {
pie.printStackTrace();
}
Control[] prevChildren = scriptEditorParent.getChildren();
// _textEditor.createPartControl( scriptEditorParent );
new Label(scriptEditorParent, SWT.NONE);
Control[] newChildren = scriptEditorParent.getChildren();
decorator.addEditorControl(newChildren[prevChildren.length], true);
if (actionsToolBarNeeded) {
ToolBar toolbar = new ToolBar(scriptEditorParent, SWT.FLAT | SWT.HORIZONTAL);
toolbar.setLayoutData(gdvfill());
toolBarActionsPresentation.setToolBar(toolbar);
toolBarActionsPresentation.render();
context.adapt(toolbar);
decorator.addEditorControl(toolbar);
// relatedControls.add( toolbar );
}
}
use of com.liferay.ide.kaleo.core.model.ScriptLanguageType in project liferay-ide by liferay.
the class ScriptPropertyEditorCondition method evaluate.
@Override
protected boolean evaluate() {
if (_paramType != null) {
Scriptable scriptable = _scriptable();
ScriptLanguageType scriptLanguageType = scriptable.getScriptLanguage().content(true);
if (scriptLanguageType == null) {
scriptLanguageType = ScriptLanguageType.valueOf(KaleoModelUtil.getDefaultValue(scriptable, KaleoCore.DEFAULT_SCRIPT_LANGUAGE_KEY, ScriptLanguageType.GROOVY));
}
if (_paramType.equals(scriptLanguageType)) {
return true;
}
}
return false;
}
use of com.liferay.ide.kaleo.core.model.ScriptLanguageType in project liferay-ide by liferay.
the class ScriptPropertyEditorInput method getScriptLanguage.
public String getScriptLanguage() {
String retval = null;
try {
Scriptable scriptable = _modelElement.nearest(Scriptable.class);
Value<ScriptLanguageType> languageType = scriptable.getScriptLanguage();
ScriptLanguageType scriptType = languageType.content();
Class<?> scriptTypeClass = scriptType.getClass();
Field field = scriptTypeClass.getFields()[scriptType.ordinal()];
EnumSerialization enumValue = field.getAnnotation(EnumSerialization.class);
retval = enumValue.primary();
} catch (Exception e) {
}
return retval;
}
Aggregations