use of org.eclipse.sapphire.Element in project liferay-ide by liferay.
the class ServiceTypeImplBrowseActionHandler method browse.
@Override
public String browse(Presentation context) {
Element element = getModelElement();
Property property = property();
IProject project = element.adapt(IProject.class);
try {
IJavaSearchScope scope = null;
TypeSelectionExtension extension = null;
if ("type".equals(_kind)) {
scope = SearchEngine.createJavaSearchScope(new IJavaProject[] { JavaCore.create(project) });
extension = new TypeSelectionExtension() {
@Override
public ITypeInfoFilterExtension getFilterExtension() {
return new ITypeInfoFilterExtension() {
public boolean select(ITypeInfoRequestor typeInfoRequestor) {
if (typeInfoRequestor.getPackageName().startsWith("com.liferay") && typeInfoRequestor.getTypeName().endsWith("Service")) {
return true;
}
return false;
}
};
}
};
} else if ("impl".equals(_kind)) {
String serviceType = _getServiceType(element);
if (serviceType != null) {
String wrapperType = serviceType + "Wrapper";
scope = SearchEngine.createHierarchyScope(JavaCore.create(project).findType(wrapperType));
} else {
Shell shell = ((SwtPresentation) context).shell();
MessageDialog.openInformation(shell, Msgs.serviceImplBrowse, Msgs.validServiceTypeProperty);
return null;
}
}
Shell shell = ((SwtPresentation) context).shell();
SelectionDialog dlg = JavaUI.createTypeDialog(shell, null, scope, _browseDialogStyle, false, StringPool.DOUBLE_ASTERISK, extension);
String title = property.definition().getLabel(true, CapitalizationType.TITLE_STYLE, false);
dlg.setTitle(Msgs.select + title);
if (dlg.open() == SelectionDialog.OK) {
Object[] results = dlg.getResult();
assert (results != null) && (results.length == 1);
if (results[0] instanceof IType) {
return ((IType) results[0]).getFullyQualifiedName();
}
}
} catch (JavaModelException jme) {
HookUI.logError(jme);
}
return null;
}
use of org.eclipse.sapphire.Element in project liferay-ide by liferay.
the class CreateDirectoryActionHandler method init.
@Override
public void init(SapphireAction action, ActionHandlerDef def) {
super.init(action, def);
Element element = getModelElement();
ValueProperty property = (ValueProperty) property().definition();
Listener listener = new FilteredListener<PropertyEvent>() {
@Override
public void handleTypedEvent(PropertyEvent event) {
refreshEnablementState();
}
};
element.attach(listener, property.name());
attach(new Listener() {
@Override
public void handle(Event event) {
if (event instanceof DisposeEvent) {
element.detach(listener, property.name());
}
}
});
}
use of org.eclipse.sapphire.Element in project liferay-ide by liferay.
the class CustomJspValidationService method _getPortalDir.
private IPath _getPortalDir() {
if (_portalDir == null) {
try {
Element element = context().find(Element.class);
IFile file = element.nearest(Hook.class).adapt(IFile.class);
IProject project = file.getProject();
ILiferayProject liferayProject = LiferayCore.create(project);
if (liferayProject != null) {
ILiferayPortal portal = liferayProject.adapt(ILiferayPortal.class);
if (portal != null) {
_portalDir = portal.getAppServerPortalDir();
}
}
} catch (Exception e) {
HookCore.logError(e);
}
}
return _portalDir;
}
use of org.eclipse.sapphire.Element in project liferay-ide by liferay.
the class CustomJspsBindingImpl method resource.
@Override
@SuppressWarnings("unchecked")
protected Resource resource(Object obj) {
Element element = property().element();
Resource resource = element.resource();
return new CustomJspResource(resource, (ObjectValue<String>) obj);
}
use of org.eclipse.sapphire.Element in project liferay-ide by liferay.
the class CustomJspsEnablementService method initEnablementService.
@Override
protected void initEnablementService() {
Listener listener = new FilteredListener<PropertyEvent>() {
protected void handleTypedEvent(PropertyEvent event) {
refresh();
}
};
ElementHandle<Element> element = _hook().property(Hook.PROP_CUSTOM_JSP_DIR);
element.attach(listener, CustomJspDir.PROP_VALUE.name());
}
Aggregations