Author: dazarov
Date: 2011-09-13 18:34:20 -0400 (Tue, 13 Sep 2011)
New Revision: 34699
Added:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/IInformationItem.java
Removed:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/IFilterable.java
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/CDISeamExtMessages.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/hyperlink/GenericInjectedPointHyperlink.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/hyperlink/GenericInjectedPointListHyperlink.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/messages.properties
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsMessages.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/AlternativeInjectedPointListHyperlink.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventHyperlink.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventListHyperlink.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InformationControlManager.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointHyperlink.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodHyperlink.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodListHyperlink.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/xpl/AbstractInformationControl.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/xpl/HierarchyInformationControl.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/messages.properties
Log:
"Show All Generic Configuration Points", "Show CDI Events" and
"Show CDI Observer Methods" dialogs should look like "Open
Implementation" in JDT
https://issues.jboss.org/browse/JBIDE-9673
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/CDISeamExtMessages.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/CDISeamExtMessages.java 2011-09-13
21:25:24 UTC (rev 34698)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/CDISeamExtMessages.java 2011-09-13
22:34:20 UTC (rev 34699)
@@ -23,7 +23,7 @@
public static String CDI_SEAM_CONFIG_OPEN_TAG;
public static String CDI_INJECTED_POINT_HYPERLINK_SHOW_GENERIC_BEANS;
- public static String CDI_SHOW_ALL_GENERIC_CONFIGURATION_POINTS_TITLE;
+ public static String CDI_SHOW_GENERIC_CONFIGURATION_POINTS_TITLE;
public static String CDI_INJECTED_POINT_HYPERLINK_SHOW_SEAM_CONFIG_BEANS;
public static String OPEN_GENERIC_BEAN;
public static String OPEN_GENERIC_PRODUCER_BEAN;
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/hyperlink/GenericInjectedPointHyperlink.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/hyperlink/GenericInjectedPointHyperlink.java 2011-09-13
21:25:24 UTC (rev 34698)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/hyperlink/GenericInjectedPointHyperlink.java 2011-09-13
22:34:20 UTC (rev 34699)
@@ -17,10 +17,9 @@
import org.jboss.tools.cdi.core.IProducerField;
import org.jboss.tools.cdi.core.IProducerMethod;
import org.jboss.tools.cdi.seam.text.ext.CDISeamExtMessages;
-import org.jboss.tools.cdi.text.ext.hyperlink.IFilterable;
import org.jboss.tools.cdi.text.ext.hyperlink.InjectedPointHyperlink;
-public class GenericInjectedPointHyperlink extends InjectedPointHyperlink implements
IFilterable{
+public class GenericInjectedPointHyperlink extends InjectedPointHyperlink{
public GenericInjectedPointHyperlink(IRegion region, IBean bean, IDocument document) {
super(region, bean, document);
@@ -30,16 +29,17 @@
public String getHyperlinkText() {
String text="";
if (bean != null) {
- String str = bean.getSimpleJavaName();
- String beanTypeName = bean.getBeanClass().getFullyQualifiedName();
- String beanPackage =
beanTypeName.substring(0,beanTypeName.lastIndexOf("."));
- return str+" - "+beanPackage;
+ String name = bean.getBeanClass().getElementName();
+ if (bean instanceof IProducerField) {
+ name += "."+((IProducerField)bean).getField().getElementName();
+ text = NLS.bind(CDISeamExtMessages.OPEN_GENERIC_PRODUCER_BEAN, name);
+ } else if (bean instanceof IProducerMethod) {
+ name +=
"."+((IProducerMethod)bean).getMethod().getElementName()+"()";
+ text = NLS.bind(CDISeamExtMessages.OPEN_GENERIC_PRODUCER_BEAN, name);
+ } else {
+ text = NLS.bind(CDISeamExtMessages.OPEN_GENERIC_BEAN, name);
+ }
}
return text;
}
-
- public String getFullyQualifiedName() {
- return bean.getBeanClass().getFullyQualifiedName();
- }
-
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/hyperlink/GenericInjectedPointListHyperlink.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/hyperlink/GenericInjectedPointListHyperlink.java 2011-09-13
21:25:24 UTC (rev 34698)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/hyperlink/GenericInjectedPointListHyperlink.java 2011-09-13
22:34:20 UTC (rev 34699)
@@ -10,7 +10,6 @@
******************************************************************************/
package org.jboss.tools.cdi.seam.text.ext.hyperlink;
-import java.util.ArrayList;
import java.util.List;
import org.eclipse.jface.text.IDocument;
@@ -21,7 +20,6 @@
import org.jboss.tools.cdi.seam.text.ext.CDISeamExtMessages;
import org.jboss.tools.cdi.text.ext.hyperlink.AlternativeInjectedPointListHyperlink;
import org.jboss.tools.cdi.text.ext.hyperlink.InformationControlManager;
-import org.jboss.tools.cdi.text.ext.hyperlink.InjectedPointHyperlink;
public class GenericInjectedPointListHyperlink extends
AlternativeInjectedPointListHyperlink {
@@ -42,27 +40,27 @@
}
protected void doHyperlink(IRegion region) {
- List<IHyperlink> hyperlinks = new ArrayList<IHyperlink>();
+ IHyperlink[] hyperlinks = new IHyperlink[beans.size()];
int index=0;
for(IBean bean : beans){
- hyperlinks.add(createHyperlink(region, bean));
+ hyperlinks[index++] = createHyperlink(region, bean);
}
- if(hyperlinks.size() == 0){
+ if(hyperlinks.length == 0){
openFileFailed();
return;
}
- if(hyperlinks.size() == 1){
- hyperlinks.get(0).open();
+ if(hyperlinks.length == 1){
+ hyperlinks[0].open();
}else{
showHyperlinks(hyperlinks);
}
}
- private void showHyperlinks(List<IHyperlink> hyperlinks){
- InformationControlManager.showHyperlinks(CDISeamExtMessages.CDI_SHOW_ALL_GENERIC_CONFIGURATION_POINTS_TITLE,
viewer, hyperlinks);
+ private void showHyperlinks(IHyperlink[] hyperlinks){
+ InformationControlManager.showHyperlinks(CDISeamExtMessages.CDI_SHOW_GENERIC_CONFIGURATION_POINTS_TITLE,
viewer, hyperlinks);
}
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/messages.properties
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/messages.properties 2011-09-13
21:25:24 UTC (rev 34698)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/messages.properties 2011-09-13
22:34:20 UTC (rev 34699)
@@ -2,7 +2,7 @@
CDI_SEAM_RESOURCE_LOADING_HYPERLINK=Open Resource ''{0}''
CDI_SEAM_CONFIG_OPEN_TAG=Open Java Source Corresponding to ''{0}'' tag
CDI_INJECTED_POINT_HYPERLINK_SHOW_GENERIC_BEANS=Show All Generic Configuration Points...
-CDI_SHOW_ALL_GENERIC_CONFIGURATION_POINTS_TITLE=Show All Generic Configuration Points
+CDI_SHOW_GENERIC_CONFIGURATION_POINTS_TITLE=Generic Configuration Points
CDI_INJECTED_POINT_HYPERLINK_SHOW_SEAM_CONFIG_BEANS=Show All Seam Config Bean
Definitions...
OPEN_GENERIC_BEAN=Open Generic Configuration Point {0}
OPEN_GENERIC_PRODUCER_BEAN=Open Generic Configuration Point {0}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsMessages.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsMessages.java 2011-09-13
21:25:24 UTC (rev 34698)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsMessages.java 2011-09-13
22:34:20 UTC (rev 34699)
@@ -29,11 +29,14 @@
public static String CDI_INJECTED_POINT_HYPERLINK_OPEN_ALTERNATIVE;
public static String CDI_INJECTED_POINT_HYPERLINK_OPEN_PRODUCER;
public static String CDI_INJECTED_POINT_HYPERLINK_SHOW_ALTERNATIVES;
+ public static String CDI_SHOW_ALL_ELIGIBLE_BEANS_TITLE;
public static String CDI_INJECTED_POINT_HYPERLINK_SHOW_ASSIGNABLE;
public static String CDI_PRODUCER_DISPOSER_HYPERLINK_OPEN_BOUND_DISPOSER;
public static String CDI_PRODUCER_DISPOSER_HYPERLINK_OPEN_BOUND_PRODUCER;
public static String CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS;
+ public static String CDI_OBSERVER_METHODS_TITLE;
public static String CDI_EVENT_LIST_HYPERLINK_OPEN_EVENTS;
+ public static String CDI_EVENT_TITLE;
public static String CDI_EVENT_HYPERLINK_OPEN_OBSERVER_METHOD;
public static String CDI_EVENT_HYPERLINK_OPEN_EVENT;
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/AlternativeInjectedPointListHyperlink.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/AlternativeInjectedPointListHyperlink.java 2011-09-13
21:25:24 UTC (rev 34698)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/AlternativeInjectedPointListHyperlink.java 2011-09-13
22:34:20 UTC (rev 34699)
@@ -53,7 +53,7 @@
if(hyperlinks.length == 1){
((InjectedPointHyperlink)hyperlinks[0]).doHyperlink(region);
}else{
- MultipleHyperlinkPresenterManager.installAndShow(viewer, hyperlinks);
+ InformationControlManager.showHyperlinks(CDIExtensionsMessages.CDI_SHOW_ALL_ELIGIBLE_BEANS_TITLE,
viewer, hyperlinks);
}
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventHyperlink.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventHyperlink.java 2011-09-13
21:25:24 UTC (rev 34698)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventHyperlink.java 2011-09-13
22:34:20 UTC (rev 34699)
@@ -17,6 +17,7 @@
import org.eclipse.jdt.ui.JavaUI;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.IRegion;
+import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.PartInitException;
import org.jboss.tools.cdi.core.ICDIElement;
@@ -28,7 +29,7 @@
import org.jboss.tools.cdi.text.ext.CDIExtensionsPlugin;
import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
-public class EventHyperlink extends AbstractHyperlink implements ITestableCDIHyperlink{
+public class EventHyperlink extends AbstractHyperlink implements ITestableCDIHyperlink,
IInformationItem{
IInjectionPoint event;
IRegion region;
@@ -93,4 +94,26 @@
return null;
}
+ public String getFullyQualifiedName() {
+ return event.getClassBean().getBeanClass().getFullyQualifiedName();
+ }
+
+ public String getInformation() {
+ String text = event.getClassBean().getBeanClass().getElementName();
+
+ if(event instanceof IInjectionPointField) {
+ text += "."+((IInjectionPointField)event).getField().getElementName();
+ } else if(event instanceof IInjectionPointParameter) {
+ IInjectionPointParameter p = (IInjectionPointParameter)event;
+ text += "." + p.getBeanMethod().getMethod().getElementName();
+ }
+
+ return text;
+ }
+
+
+ public Image getImage() {
+ return null;
+ }
+
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventListHyperlink.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventListHyperlink.java 2011-09-13
21:25:24 UTC (rev 34698)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventListHyperlink.java 2011-09-13
22:34:20 UTC (rev 34699)
@@ -54,7 +54,7 @@
if(hyperlinks.length == 1){
((EventHyperlink)hyperlinks[0]).doHyperlink(region);
}else{
- MultipleHyperlinkPresenterManager.installAndShow(viewer, hyperlinks);
+ InformationControlManager.showHyperlinks(CDIExtensionsMessages.CDI_EVENT_TITLE,
viewer, hyperlinks);
}
}
Deleted:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/IFilterable.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/IFilterable.java 2011-09-13
21:25:24 UTC (rev 34698)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/IFilterable.java 2011-09-13
22:34:20 UTC (rev 34699)
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at
http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.cdi.text.ext.hyperlink;
-
-public interface IFilterable {
- public String getFullyQualifiedName();
-}
Copied:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/IInformationItem.java
(from rev 34679,
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/IFilterable.java)
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/IInformationItem.java
(rev 0)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/IInformationItem.java 2011-09-13
22:34:20 UTC (rev 34699)
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.text.ext.hyperlink;
+
+import org.eclipse.swt.graphics.Image;
+
+public interface IInformationItem {
+
+ /**
+ * Returns the simple name of item
+ *
+ * @return
+ */
+ public String getInformation();
+
+ /**
+ * Returns the java element fully qualified name
+ *
+ * @return
+ */
+ public String getFullyQualifiedName();
+
+ /**
+ * Returns the icon image
+ *
+ * @return
+ */
+ public Image getImage();
+}
Property changes on:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/IInformationItem.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InformationControlManager.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InformationControlManager.java 2011-09-13
21:25:24 UTC (rev 34698)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InformationControlManager.java 2011-09-13
22:34:20 UTC (rev 34699)
@@ -10,8 +10,6 @@
******************************************************************************/
package org.jboss.tools.cdi.text.ext.hyperlink;
-import java.util.List;
-
import org.eclipse.jface.text.AbstractInformationControlManager;
import org.eclipse.jface.text.IInformationControl;
import org.eclipse.jface.text.IInformationControlCreator;
@@ -23,15 +21,15 @@
import org.jboss.tools.cdi.text.ext.hyperlink.xpl.InformationPresenter;
public class InformationControlManager {
- public static void showHyperlinks(String title, ITextViewer viwer,
List<IHyperlink> hyperlinks){
- InformationPresenter presenter= new InformationPresenter(viwer,
getHierarchyPresenterControlCreator(title, hyperlinks));
+ public static void showHyperlinks(String title, ITextViewer viewer, IHyperlink[]
hyperlinks){
+ InformationPresenter presenter= new InformationPresenter(viewer,
getHierarchyPresenterControlCreator(title, hyperlinks));
presenter.setAnchor(AbstractInformationControlManager.ANCHOR_GLOBAL);
presenter.setSizeConstraints(60, 10, true, false);
- presenter.install(viwer.getTextWidget());
+ presenter.install(viewer.getTextWidget());
presenter.showInformation();
}
- private static IInformationControlCreator getHierarchyPresenterControlCreator(final
String title, final List<IHyperlink> hyperlinks) {
+ private static IInformationControlCreator getHierarchyPresenterControlCreator(final
String title, final IHyperlink[] hyperlinks) {
return new IInformationControlCreator() {
public IInformationControl createInformationControl(Shell parent) {
int shellStyle= SWT.RESIZE;
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointHyperlink.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointHyperlink.java 2011-09-13
21:25:24 UTC (rev 34698)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointHyperlink.java 2011-09-13
22:34:20 UTC (rev 34699)
@@ -17,6 +17,7 @@
import org.eclipse.jdt.ui.JavaUI;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.IRegion;
+import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.PartInitException;
import org.jboss.tools.cdi.core.IBean;
@@ -29,7 +30,7 @@
import org.jboss.tools.cdi.text.ext.CDIExtensionsPlugin;
import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
-public class InjectedPointHyperlink extends AbstractHyperlink implements
ITestableCDIHyperlink{
+public class InjectedPointHyperlink extends AbstractHyperlink implements
ITestableCDIHyperlink, IInformationItem{
protected IBean bean;
IRegion region;
boolean first = false;
@@ -126,4 +127,16 @@
return null;
}
+ public String getFullyQualifiedName() {
+ return bean.getBeanClass().getFullyQualifiedName();
+ }
+
+ public String getInformation() {
+ return bean.getSimpleJavaName();
+ }
+
+ public Image getImage() {
+ return null;
+ }
+
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodHyperlink.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodHyperlink.java 2011-09-13
21:25:24 UTC (rev 34698)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodHyperlink.java 2011-09-13
22:34:20 UTC (rev 34699)
@@ -17,6 +17,7 @@
import org.eclipse.jdt.ui.JavaUI;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.IRegion;
+import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.PartInitException;
import org.jboss.tools.cdi.core.ICDIElement;
@@ -25,7 +26,7 @@
import org.jboss.tools.cdi.text.ext.CDIExtensionsPlugin;
import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
-public class ObserverMethodHyperlink extends AbstractHyperlink implements
ITestableCDIHyperlink{
+public class ObserverMethodHyperlink extends AbstractHyperlink implements
IInformationItem, ITestableCDIHyperlink{
IObserverMethod observerMethod;
IRegion region;
@@ -34,9 +35,7 @@
this.region = region;
setDocument(document);
}
-
- @Override
protected IRegion doGetHyperlinkRegion(int offset) {
return region;
}
@@ -76,4 +75,16 @@
return null;
}
+ public String getFullyQualifiedName() {
+ return observerMethod.getClassBean().getBeanClass().getFullyQualifiedName();
+ }
+
+ public String getInformation() {
+ return
observerMethod.getClassBean().getBeanClass().getElementName()+"."+observerMethod.getMethod().getElementName()+"()";
+ }
+
+ public Image getImage() {
+ return null;
+ }
+
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodListHyperlink.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodListHyperlink.java 2011-09-13
21:25:24 UTC (rev 34698)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodListHyperlink.java 2011-09-13
22:34:20 UTC (rev 34699)
@@ -54,7 +54,7 @@
if(hyperlinks.length == 1){
((ObserverMethodHyperlink)hyperlinks[0]).doHyperlink(region);
}else{
- MultipleHyperlinkPresenterManager.installAndShow(viewer, hyperlinks);
+ InformationControlManager.showHyperlinks(CDIExtensionsMessages.CDI_OBSERVER_METHODS_TITLE,
viewer, hyperlinks);
}
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/xpl/AbstractInformationControl.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/xpl/AbstractInformationControl.java 2011-09-13
21:25:24 UTC (rev 34698)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/xpl/AbstractInformationControl.java 2011-09-13
22:34:20 UTC (rev 34699)
@@ -447,13 +447,6 @@
protected void inputChanged(Object newInput, Object newSelection) {
fFilterText.setText(""); //$NON-NLS-1$
fInitiallySelectedType= null;
- if (newSelection instanceof IJavaElement) {
- IJavaElement javaElement= ((IJavaElement)newSelection);
- if (javaElement.getElementType() == IJavaElement.TYPE)
- fInitiallySelectedType= (IType)javaElement;
- else
- fInitiallySelectedType= (IType)javaElement.getAncestor(IJavaElement.TYPE);
- }
fTableViewer.setInput(newInput);
if (newSelection != null)
fTableViewer.setSelection(new StructuredSelection(newSelection));
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/xpl/HierarchyInformationControl.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/xpl/HierarchyInformationControl.java 2011-09-13
21:25:24 UTC (rev 34698)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/xpl/HierarchyInformationControl.java 2011-09-13
22:34:20 UTC (rev 34699)
@@ -11,8 +11,6 @@
*******************************************************************************/
package org.jboss.tools.cdi.text.ext.hyperlink.xpl;
-import java.util.List;
-
import org.eclipse.jdt.ui.actions.IJavaEditorActionDefinitionIds;
import org.eclipse.jface.text.hyperlink.IHyperlink;
import org.eclipse.jface.viewers.ILabelProvider;
@@ -33,7 +31,7 @@
import org.eclipse.ui.dialogs.SearchPattern;
import org.eclipse.ui.keys.KeySequence;
import org.eclipse.ui.keys.SWTKeySupport;
-import org.jboss.tools.cdi.text.ext.hyperlink.IFilterable;
+import org.jboss.tools.cdi.text.ext.hyperlink.IInformationItem;
/**
* Show hierarchy in light-weight control.
@@ -41,14 +39,14 @@
* @since 3.0
*/
public class HierarchyInformationControl extends AbstractInformationControl {
- private List<IHyperlink> hyperlinks;
+ private IHyperlink[] hyperlinks;
private BeanTableLabelProvider fLabelProvider;
private KeyAdapter fKeyAdapter;
private IHyperlink fFocus; // bean to filter for or null if type hierarchy
- public HierarchyInformationControl(Shell parent, String title, int shellStyle, int
tableStyle, List<IHyperlink> hyperlinks) {
+ public HierarchyInformationControl(Shell parent, String title, int shellStyle, int
tableStyle, IHyperlink[] hyperlinks) {
super(parent, shellStyle, tableStyle, IJavaEditorActionDefinitionIds.OPEN_HIERARCHY,
true);
this.hyperlinks = hyperlinks;
setTitleText(title);
@@ -120,7 +118,7 @@
tableViewer.setLabelProvider(fLabelProvider);
tableViewer.getTable().addKeyListener(getKeyAdapter());
-
+
return tableViewer;
}
@@ -141,18 +139,18 @@
*/
@Override
public void setInput(Object information) {
- if(!(information instanceof List)){
+ if(!(information instanceof IHyperlink[])){
inputChanged(null, null);
return;
}
- hyperlinks = (List<IHyperlink>)information;
+ hyperlinks = (IHyperlink[])information;
BeanTableContentProvider contentProvider= new BeanTableContentProvider(hyperlinks);
getTableViewer().setContentProvider(contentProvider);
- inputChanged(hyperlinks, null);
+ inputChanged(hyperlinks, hyperlinks[0]);
}
protected void toggleHierarchy() {
@@ -188,9 +186,9 @@
}
public static class BeanTableContentProvider implements IStructuredContentProvider{
- private List<IHyperlink> hyperlinks;
+ private IHyperlink[] hyperlinks;
- public BeanTableContentProvider(List<IHyperlink> beans){
+ public BeanTableContentProvider(IHyperlink[] beans){
this.hyperlinks = beans;
}
@@ -204,7 +202,7 @@
@Override
public Object[] getElements(Object inputElement) {
- return hyperlinks.toArray();
+ return hyperlinks;
}
}
@@ -232,12 +230,21 @@
@Override
public Image getImage(Object element) {
+ if(element instanceof IInformationItem){
+ return ((IInformationItem)element).getImage();
+ }
return null;
}
@Override
public String getText(Object element) {
if(element instanceof IHyperlink){
+ if(element instanceof IInformationItem){
+ String info = ((IInformationItem)element).getInformation();
+ String qualifiedName = ((IInformationItem)element).getFullyQualifiedName();
+ String packageName = qualifiedName.substring(0,
qualifiedName.lastIndexOf("."));
+ return info + " - " + packageName;
+ }
return ((IHyperlink)element).getHyperlinkText();
}
return "";
@@ -254,25 +261,16 @@
public boolean select(Viewer viewer, Object parentElement,
Object element) {
- if (element instanceof IFilterable) {
- String beanTypeName = ((IFilterable)element).getFullyQualifiedName();
- if(getFilterText().getText().isEmpty())
+ if (element instanceof IInformationItem) {
+ String information = ((IInformationItem)element).getInformation();
+ if(getFilterText().getText().isEmpty()){
patternMatcher.setPattern("*");
- else
+ }else{
patternMatcher.setPattern(getFilterText().getText());
- boolean result = patternMatcher.matches(beanTypeName);
- if (!result) {
- String pattern = patternMatcher.getPattern();
- if (pattern.indexOf(".") < 0) {
- int lastIndex = beanTypeName.lastIndexOf(".");
- if (lastIndex >= 0
- && (lastIndex + 1) < beanTypeName.length())
- return patternMatcher.matches(beanTypeName.substring(lastIndex + 1));
- }
}
- return result;
- }
- return false;
+ return patternMatcher.matches(information);
+ }else
+ return true;
}
}
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/messages.properties
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/messages.properties 2011-09-13
21:25:24 UTC (rev 34698)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/messages.properties 2011-09-13
22:34:20 UTC (rev 34699)
@@ -8,11 +8,14 @@
CDI_INJECTED_POINT_HYPERLINK_OPEN_ALTERNATIVE=Open @Alternative
CDI_INJECTED_POINT_HYPERLINK_OPEN_PRODUCER=Open @Produces
CDI_INJECTED_POINT_HYPERLINK_SHOW_ALTERNATIVES=Show All Eligible Beans...
+CDI_SHOW_ALL_ELIGIBLE_BEANS_TITLE=All Eligible Beans
CDI_INJECTED_POINT_HYPERLINK_SHOW_ASSIGNABLE=Show All Assignable Beans...
CDI_PRODUCER_DISPOSER_HYPERLINK_OPEN_BOUND_DISPOSER=Open Bound Disposer Method
CDI_PRODUCER_DISPOSER_HYPERLINK_OPEN_BOUND_PRODUCER=Open Bound Producer Method
-CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS=Open CDI Observer Methods
-CDI_EVENT_LIST_HYPERLINK_OPEN_EVENTS=Open CDI Events
+CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS=Show CDI Observer Methods
+CDI_OBSERVER_METHODS_TITLE=CDI Observer Methods
+CDI_EVENT_LIST_HYPERLINK_OPEN_EVENTS=Show CDI Events
+CDI_EVENT_TITLE=CDI Events
CDI_EVENT_HYPERLINK_OPEN_OBSERVER_METHOD=Open CDI Observer Method
CDI_EVENT_HYPERLINK_OPEN_EVENT=Open CDI Event