JBoss Tools SVN: r11873 - in trunk: as/plugins/org.jboss.ide.eclipse.as.core/META-INF and 12 other directories.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2008-11-18 19:11:48 -0500 (Tue, 18 Nov 2008)
New Revision: 11873
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/jmx/JBossServerConnection.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/jmx/JBossServerConnectionProvider.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/jmx/JMXSafeRunner.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/jmx/
trunk/jmx/plugins/org.jboss.tools.jmx.core/bin/
trunk/jmx/plugins/org.jboss.tools.jmx.ui/bin/
Removed:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/jmx/JMXModel.java
trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/JMXException.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/META-INF/MANIFEST.MF
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/polling/JMXPoller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServerBehavior.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/plugin.xml
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/ServerLogView.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.xml
trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/IJMXRunnable.java
trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/providers/DefaultConnectionWrapper.java
trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/tree/NodeUtils.java
trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/tree/ObjectNameNode.java
trunk/jmx/plugins/org.jboss.tools.jmx.ui/plugin.xml
trunk/jmx/plugins/org.jboss.tools.jmx.ui/src/org/jboss/tools/jmx/ui/internal/views/navigator/ActionProvider.java
trunk/jmx/plugins/org.jboss.tools.jmx.ui/src/org/jboss/tools/jmx/ui/internal/views/navigator/QueryContribution.java
Log:
JBIDE-2760 - commit with 90%. Rest is bug-fixes and tuning.
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/META-INF/MANIFEST.MF 2008-11-18 23:36:14 UTC (rev 11872)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/META-INF/MANIFEST.MF 2008-11-19 00:11:48 UTC (rev 11873)
@@ -20,7 +20,8 @@
org.eclipse.wst.xml.core,
org.apache.ant,
org.eclipse.jst.server.tomcat.core,
- org.eclipse.wst.web
+ org.eclipse.wst.web,
+ org.jboss.tools.jmx.core;bundle-version="0.2.1"
Eclipse-LazyStart: true
Export-Package: org.jboss.ide.eclipse.as.core,
org.jboss.ide.eclipse.as.core.extensions.descriptors,
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/jmx/JBossServerConnection.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/jmx/JBossServerConnection.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/jmx/JBossServerConnection.java 2008-11-19 00:11:48 UTC (rev 11873)
@@ -0,0 +1,152 @@
+package org.jboss.ide.eclipse.as.core.extensions.jmx;
+
+import java.io.IOException;
+
+import javax.management.MBeanServerConnection;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.IServerListener;
+import org.eclipse.wst.server.core.ServerEvent;
+import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
+import org.jboss.tools.jmx.core.ExtensionManager;
+import org.jboss.tools.jmx.core.IConnectionProvider;
+import org.jboss.tools.jmx.core.IConnectionProviderListener;
+import org.jboss.tools.jmx.core.IConnectionWrapper;
+import org.jboss.tools.jmx.core.IJMXRunnable;
+import org.jboss.tools.jmx.core.tree.NodeUtils;
+import org.jboss.tools.jmx.core.tree.Root;
+
+public class JBossServerConnection implements IConnectionWrapper, IServerListener, IConnectionProviderListener {
+ private IServer server;
+ private Root root;
+ private boolean isConnected;
+ public JBossServerConnection(IServer server) {
+ this.server = server;
+ this.isConnected = false;
+ checkState(); // prime the state
+ ((JBossServerConnectionProvider)getProvider()).addListener(this);
+ server.addServerListener(this);
+ }
+
+ public void connect() throws IOException {
+ // Not supported
+ }
+
+ public void disconnect() throws IOException {
+ // Not supported
+ }
+
+ public IConnectionProvider getProvider() {
+ return ExtensionManager.getProvider(JBossServerConnectionProvider.PROVIDER_ID);
+ }
+
+ public Root getRoot() {
+ return root;
+ }
+
+ public void loadRoot() {
+ if( isConnected()) {
+ // saferunner just adds itself as a concern and then removes, after each call.
+ // This will ensure the classloader does not need to make multiple loads
+ JMXClassLoaderRepository.getDefault().addConcerned(server, this);
+ try {
+ if( root == null ) {
+ root = NodeUtils.createObjectNameTree(this);
+ }
+ } catch( CoreException ce ) {
+ IStatus status = new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID, ce.getMessage(), ce);
+ JBossServerCorePlugin.getDefault().getLog().log(status);
+ } finally {
+ JMXClassLoaderRepository.getDefault().removeConcerned(server, this);
+ }
+ }
+ }
+
+ public boolean isConnected() {
+ return isConnected;
+ }
+
+ public void run(IJMXRunnable runnable) throws CoreException {
+ // do nothing if the server is down.
+ if( server.getServerState() != IServer.STATE_STARTED )
+ return;
+ JMXSafeRunner.run(server, runnable);
+ }
+
+ public String getName() {
+ return server.getName();
+ }
+
+
+ /* **************
+ * If there's a change in teh server state, then set my connection
+ * state properly. If there's been a change then fire to teh listeners
+ */
+
+ public void serverChanged(ServerEvent event) {
+ int eventKind = event.getKind();
+ IServer server = event.getServer();
+ if ((eventKind & ServerEvent.SERVER_CHANGE) != 0) {
+ // server change event
+ if ((eventKind & ServerEvent.STATE_CHANGE) != 0) {
+ checkState();
+ }
+ }
+ }
+
+ protected void checkState() {
+ if( server.getServerState() == IServer.STATE_STARTED ) {
+ try {
+ JMXSafeRunner.run(server, new IJMXRunnable() {
+ public void run(MBeanServerConnection connection)
+ throws Exception {
+ // Do nothing, just see if the connection worked
+ }
+ });
+ if( !isConnected ) {
+ isConnected = true;
+ ((JBossServerConnectionProvider)getProvider()).fireChanged(JBossServerConnection.this);
+ }
+ } catch( Exception jmxe ) {
+ // I thought i was connected but I'm not.
+ if( isConnected ) {
+ isConnected = false;
+ ((JBossServerConnectionProvider)getProvider()).fireChanged(JBossServerConnection.this);
+ }
+ }
+ } else {
+ root = null;
+ if( isConnected ) {
+ // server is not in STATE_STARTED, but thinks its connected
+ isConnected = false;
+ ((JBossServerConnectionProvider)getProvider()).fireChanged(JBossServerConnection.this);
+ }
+ }
+ }
+
+
+
+ /* *************
+ * The following three methods are just here so that this class
+ * is removed as a listener to the server if it is removed
+ */
+
+ public void connectionAdded(IConnectionWrapper connection) {
+ // ignore
+ }
+
+ public void connectionChanged(IConnectionWrapper connection) {
+ // ignore
+ }
+
+ public void connectionRemoved(IConnectionWrapper connection) {
+ server.removeServerListener(this);
+ }
+
+ public boolean canControl() {
+ return false;
+ }
+}
\ No newline at end of file
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/jmx/JBossServerConnectionProvider.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/jmx/JBossServerConnectionProvider.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/jmx/JBossServerConnectionProvider.java 2008-11-19 00:11:48 UTC (rev 11873)
@@ -0,0 +1,182 @@
+package org.jboss.ide.eclipse.as.core.extensions.jmx;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.IServerLifecycleListener;
+import org.eclipse.wst.server.core.ServerCore;
+import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
+import org.jboss.ide.eclipse.as.core.util.ServerConverter;
+import org.jboss.tools.jmx.core.ExtensionManager;
+import org.jboss.tools.jmx.core.IConnectionProvider;
+import org.jboss.tools.jmx.core.IConnectionProviderListener;
+import org.jboss.tools.jmx.core.IConnectionWrapper;
+import org.jboss.tools.jmx.core.IJMXRunnable;
+
+public class JBossServerConnectionProvider implements IConnectionProvider, IServerLifecycleListener {
+ public static final String PROVIDER_ID = "org.jboss.ide.eclipse.as.core.extensions.jmx.JBossServerConnectionProvider"; //$NON-NLS-1$
+
+ public static JBossServerConnectionProvider getProvider() {
+ return (JBossServerConnectionProvider)ExtensionManager.getProvider(PROVIDER_ID);
+ }
+
+ public static JBossServerConnection getConnection(IServer s) {
+ return (JBossServerConnection)getProvider().findConnection(s);
+ }
+
+ // Run this action on the server.
+ // If the connection doesn't exist, make a new one
+ public static void run(IServer s, IJMXRunnable r) throws CoreException {
+ JBossServerConnection c = getConnection(s);
+ if( c == null )
+ c = getConnection(s);
+ c.run(r);
+ }
+
+
+ private ArrayList<IConnectionProviderListener> listeners =
+ new ArrayList<IConnectionProviderListener>();
+
+ private HashMap<String, JBossServerConnection> idToConnection;
+ public JBossServerConnectionProvider() {
+ ServerCore.addServerLifecycleListener(this);
+ }
+
+ protected boolean belongsHere(IServer server) {
+ return ServerConverter.getJBossServer(server) != null;
+ }
+
+ protected JBossServerConnection createConnection(IServer server) {
+ return new JBossServerConnection(server);
+ }
+
+ public void serverAdded(IServer server) {
+ if( belongsHere(server)) {
+ getConnections();
+ if( !idToConnection.containsKey(server.getId())) {
+ JBossServerConnection connection = createConnection(server);
+ idToConnection.put(server.getId(), connection);
+ }
+ fireAdded(idToConnection.get(server.getId()));
+ }
+ }
+
+ public void serverChanged(IServer server) {
+ if( belongsHere(server)) {
+ getConnections();
+ if( !idToConnection.containsKey(server.getId())) {
+ JBossServerConnection connection = createConnection(server);
+ idToConnection.put(server.getId(), connection);
+ }
+ fireAdded(idToConnection.get(server.getId()));
+ }
+ }
+
+ public void serverRemoved(IServer server) {
+ if( belongsHere(server)) {
+ JBossServerConnection connection;
+ if( idToConnection != null ) {
+ connection = idToConnection.get(server.getId());
+ if( connection != null ) {
+ idToConnection.remove(server.getId());
+ fireRemoved(connection);
+ }
+ } else {
+ // hasn't been initialized yet
+ getConnections();
+
+ // but now its missing from the collection, so make one up
+ fireRemoved(createConnection(server));
+ }
+ }
+ }
+
+ public IConnectionWrapper findConnection(IServer s) {
+ return idToConnection.get(s.getId());
+ }
+
+ public IConnectionWrapper[] getConnections() {
+ // do it all on demand right now
+ if( idToConnection == null ) {
+ // load them all
+ idToConnection = new HashMap<String, JBossServerConnection>();
+ IServer[] allServers = ServerCore.getServers();
+ JBossServerConnection c;
+ for( int i = 0; i < allServers.length; i++ ) {
+ if( belongsHere(allServers[i])) {
+ c = createConnection(allServers[i]);
+ if( c != null )
+ idToConnection.put(allServers[i].getId(), c);
+ }
+ }
+ }
+ ArrayList<JBossServerConnection> list = new ArrayList<JBossServerConnection>();
+ list.addAll(idToConnection.values());
+ return list.toArray(new JBossServerConnection[list.size()]);
+ }
+
+ public String getName(IConnectionWrapper wrapper) {
+ if( wrapper instanceof JBossServerConnection) {
+ return ((JBossServerConnection)wrapper).getName();
+ }
+ return null;
+ }
+
+ public String getId() {
+ return PROVIDER_ID;
+ }
+
+ public void addListener(IConnectionProviderListener listener) {
+ if( !listeners.contains(listener))
+ listeners.add(listener);
+ }
+
+ public void removeListener(IConnectionProviderListener listener) {
+ listeners.remove(listener);
+ }
+
+ void fireAdded(IConnectionWrapper wrapper) {
+ for(Iterator<IConnectionProviderListener> i = listeners.iterator(); i.hasNext();)
+ try {
+ i.next().connectionAdded(wrapper);
+ } catch(RuntimeException re) {}
+ }
+
+ void fireChanged(IConnectionWrapper wrapper) {
+ for(Iterator<IConnectionProviderListener> i = listeners.iterator(); i.hasNext();)
+ try {
+ i.next().connectionChanged(wrapper);
+ } catch(RuntimeException re) {}
+ }
+
+ void fireRemoved(IConnectionWrapper wrapper) {
+ for(Iterator<IConnectionProviderListener> i = listeners.iterator(); i.hasNext();)
+ try {
+ i.next().connectionRemoved(wrapper);
+ } catch(RuntimeException re) {}
+ }
+ public boolean canCreate() {
+ return false;
+ }
+
+ @SuppressWarnings(value={"unchecked"})
+ public IConnectionWrapper createConnection(Map map) throws CoreException {
+ throw new CoreException(new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID, "Not Supported", null));
+ }
+
+ public void addConnection(IConnectionWrapper connection) {
+ // Not Supported
+ }
+ public void removeConnection(IConnectionWrapper connection) {
+ // Not Supported
+ }
+ public boolean canDelete(IConnectionWrapper wrapper) {
+ return false;
+ }
+}
Deleted: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/jmx/JMXModel.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/jmx/JMXModel.java 2008-11-18 23:36:14 UTC (rev 11872)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/jmx/JMXModel.java 2008-11-19 00:11:48 UTC (rev 11873)
@@ -1,475 +0,0 @@
-/**
- * JBoss, a Division of Red Hat
- * Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
-* This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.ide.eclipse.as.core.extensions.jmx;
-
-import java.io.IOException;
-import java.lang.reflect.UndeclaredThrowableException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Properties;
-import java.util.Set;
-
-import javax.management.InstanceNotFoundException;
-import javax.management.IntrospectionException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanParameterInfo;
-import javax.management.MBeanServerConnection;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectInstance;
-import javax.management.ObjectName;
-import javax.management.ReflectionException;
-import javax.naming.InitialContext;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.server.core.IServer;
-import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
-
-/**
- * Model and objects related to JMX
- * @author rob.stryker(a)redhat.com
- *
- */
-public class JMXModel {
- /* Singleton */
- protected static JMXModel instance;
- public static JMXModel getDefault() {
- if( instance == null )
- instance = new JMXModel();
- return instance;
- }
-
-
- protected HashMap<String, JMXModelRoot> root;
- /* constructor */
- protected JMXModel() {
- root = new HashMap<String, JMXModelRoot>();
- }
-
- /**
- * Get the Model Root for one particular server
- * @param server
- * @return that server's model
- */
- public JMXModelRoot getModel(IServer server) {
- if (root.get(server.getId()) == null) {
- JMXModelRoot serverRoot = new JMXModelRoot(server);
- root.put(server.getId(), serverRoot);
- }
- return root.get(server.getId());
- }
-
- /**
- * Clear the server's model
- * @param server
- */
- public void clearModel(IServer server) {
- root.remove(server.getId());
- }
-
- /**
- * The model for one server
- */
- public static class JMXModelRoot {
- protected IServer server;
- protected JMXDomain[] domains = null;
- protected JMXException exception = null;
-
- public JMXModelRoot(IServer server) {
- this.server = server;
- }
-
- public JMXDomain[] getDomains() {
- return domains;
- }
-
- public JMXException getException() {
- return exception;
- }
-
- /**
- * Lazily load the domains
- */
- public void loadDomains() {
- exception = null;
- JMXRunnable run = new JMXRunnable() {
- public void run(MBeanServerConnection connection) {
- try {
- String[] domainNames = connection.getDomains();
- JMXDomain[] domains = new JMXDomain[domainNames.length];
- for (int i = 0; i < domainNames.length; i++) {
- domains[i] = new JMXDomain(server, domainNames[i]);
- }
- JMXModelRoot.this.domains = domains;
- } catch (IOException ioe) {
- exception = new JMXException(ioe);
- }
- }
- };
- JMXSafeRunner.run(server, run);
- }
- }
-
- /**
- * A JMX Domain
- */
- public static class JMXDomain {
- protected String name;
- protected IServer server;
- protected JMXBean[] mbeans = null;
- protected JMXException exception = null;
-
- public JMXDomain(IServer server, String name) {
- this.server = server;
- this.name = name;
- }
-
- public String getName() {
- return name;
- }
-
- public JMXException getException() {
- return exception;
- }
-
- public JMXBean[] getBeans() {
- return mbeans;
- }
-
- public void resetChildren() {
- mbeans = null;
- exception = null;
- }
-
- /**
- * Lazily load the beans for this domain
- */
- public void loadBeans() {
- exception = null;
- JMXRunnable run = new JMXRunnable() {
- public void run(MBeanServerConnection connection) {
- try {
- Set<?> s = connection.queryMBeans(new ObjectName(name
- + ":*"), null);
- Iterator<?> i = s.iterator();
- JMXBean[] beans = new JMXBean[s.size()];
- int count = 0;
- while (i.hasNext()) {
- ObjectInstance tmp = (ObjectInstance) i.next();
- beans[count++] = new JMXBean(server, tmp);
- }
- mbeans = beans;
- } catch (MalformedObjectNameException mone) {
- exception = new JMXException(mone);
- } catch (IOException ioe) {
- exception = new JMXException(ioe);
- }
- }
- };
- JMXSafeRunner.run(server, run);
- }
- }
-
- /**
- * The JMX Bean Object
- */
- public static class JMXBean {
- protected String domain;
- protected String name;
- protected String clazz;
- protected IServer server;
- protected ObjectName objectName;
- protected MBeanInfo info;
- protected WrappedMBeanOperationInfo[] operations;
- protected WrappedMBeanAttributeInfo[] attributes;
-
- protected JMXException exception;
-
- public JMXBean(IServer server, ObjectInstance instance) {
- this.server = server;
- this.domain = instance.getObjectName().getDomain();
- this.clazz = instance.getClassName();
- this.objectName = instance.getObjectName();
- this.name = instance.getObjectName().getCanonicalName();
- }
-
- public String getDomain() {
- return domain;
- }
-
- public String getName() {
- return name;
- }
-
- public String getClazz() {
- return clazz;
- }
-
- public IServer getServer() {
- return server;
- }
-
- public void resetChildren() {
- info = null;
- exception = null;
- }
-
- public WrappedMBeanOperationInfo[] getOperations() {
- return operations;
- }
-
-
- public WrappedMBeanAttributeInfo[] getAttributes() {
- return attributes;
- }
-
- public JMXException getException() {
- return this.exception;
- }
-
- /**
- * Load the child operations and attributes
- */
- public void loadInfo() {
- exception = null;
- JMXRunnable run = new JMXRunnable() {
- public void run(MBeanServerConnection connection) {
- Exception tmp = null;
- try {
- info = connection.getMBeanInfo(new ObjectName(name));
- loadAttributes(connection);
- loadOperations(connection);
- } catch (InstanceNotFoundException e) {
- tmp = e;
- } catch (IntrospectionException e) {
- tmp = e;
- } catch (MalformedObjectNameException e) {
- tmp = e;
- } catch (ReflectionException e) {
- tmp = e;
- } catch (NullPointerException e) {
- tmp = e;
- } catch (IOException e) {
- tmp = e;
- } catch( UndeclaredThrowableException e) {
- tmp = e;
- }
- if (tmp != null) {
- exception = new JMXException(tmp);
- }
- }
- };
- JMXSafeRunner.run(server, run);
- }
-
-
- protected void loadOperations(MBeanServerConnection connection) {
- if (info == null)
- return;
- MBeanOperationInfo[] ops = info.getOperations();
- WrappedMBeanOperationInfo[] wrappedOps = new WrappedMBeanOperationInfo[ops.length];
- for (int i = 0; i < ops.length; i++) {
- wrappedOps[i] = new WrappedMBeanOperationInfo(server, this,
- ops[i]);
- }
- operations = wrappedOps;
- }
-
- protected void loadAttributes(MBeanServerConnection connection) {
- if (info == null)
- return;
- MBeanAttributeInfo[] atts = info.getAttributes();
- ArrayList wrapped = new ArrayList();
- WrappedMBeanAttributeInfo tmp;
- for (int i = 0; i < atts.length; i++) {
- try {
- tmp = new WrappedMBeanAttributeInfo(server, this, atts[i]);
- tmp.loadValue(connection);
- wrapped.add(tmp);
- } catch( Exception e ) {
- // some attributes may not load because the result is not serializable.
- // no need to report every error
- }
- }
- attributes = (WrappedMBeanAttributeInfo[]) wrapped.toArray(new WrappedMBeanAttributeInfo[wrapped.size()]);
- }
-
- public ObjectName getObjectName() {
- return objectName;
- }
-
-
-
- }
-
- public static class WrappedMBeanOperationInfo {
- protected IServer server;
- protected JMXBean bean;
- protected MBeanOperationInfo info;
- protected WrappedMBeanOperationParameter[] params;
-
- public WrappedMBeanOperationInfo(IServer server, JMXBean bean,
- MBeanOperationInfo info) {
- this.server = server;
- this.bean = bean;
- this.info = info;
- }
- public MBeanOperationInfo getInfo() {
- return info;
- }
- public JMXBean getBean() {
- return bean;
- }
-
- public WrappedMBeanOperationParameter[] getParameters() {
- if( params == null ) {
- MBeanParameterInfo[] paramInfo = info.getSignature();
- params = new WrappedMBeanOperationParameter[paramInfo.length];
- for( int i = 0; i < paramInfo.length; i++ ) {
- params[i] = new WrappedMBeanOperationParameter(this, paramInfo[i]);
- }
- }
- return params;
- }
-
- public void clearParamValues() {
- if( params != null ) {
- for( int i = 0; i < params.length; i++ )
- params[i].setValue(null);
- }
- }
- }
-
- public static class WrappedMBeanOperationParameter {
- protected WrappedMBeanOperationInfo operation;
- protected MBeanParameterInfo parameterInfo;
- protected Object value;
-
- public WrappedMBeanOperationParameter(WrappedMBeanOperationInfo operation, MBeanParameterInfo param) {
- this.parameterInfo = param;
- this.operation = operation;
- }
-
- public IServer getServer() { return operation.server; }
- public JMXBean getBean() { return operation.bean; }
-
- public Object getValue() { return value; }
- public void setValue(Object o) { this.value = o; }
- public MBeanParameterInfo getInfo() { return this.parameterInfo; }
- }
-
- public static class WrappedMBeanAttributeInfo {
- protected IServer server;
- protected JMXBean bean;
- protected MBeanAttributeInfo info;
- protected Object value;
-
- public WrappedMBeanAttributeInfo(IServer server, JMXBean bean,
- MBeanAttributeInfo info) {
- this.server = server;
- this.bean = bean;
- this.info = info;
- }
- public MBeanAttributeInfo getInfo() {
- return info;
- }
- public JMXBean getBean() {
- return bean;
- }
- public void loadValue(MBeanServerConnection connection) throws Exception {
- value = connection.getAttribute(
- new ObjectName(bean.getName()), info.getName());
- }
- public Object getValue() {
- return value;
- }
- }
-
-
- public static class JMXException extends Exception {
- private static final long serialVersionUID = 1L;
- private Exception exception;
-
- public JMXException(Exception e) {
- this.exception = e;
- }
-
- public Exception getException() {
- return this.exception;
- }
- }
-
- public interface JMXRunnable {
- public void run(MBeanServerConnection connection) throws Exception;
- }
-
- public static class JMXSafeRunner {
- public static void run(IServer s, JMXRunnable r) {
- // do nothing if the server is down.
- if( s.getServerState() != IServer.STATE_STARTED ) return;
-
- JMXClassLoaderRepository.getDefault().addConcerned(s, r);
- ClassLoader currentLoader = Thread.currentThread()
- .getContextClassLoader();
- ClassLoader newLoader = JMXClassLoaderRepository.getDefault()
- .getClassLoader(s);
- Thread.currentThread().setContextClassLoader(newLoader);
- InitialContext ic = null;
- try {
- JMXUtil.setCredentials(s);
- Properties p = JMXUtil.getDefaultProperties(s);
- ic = new InitialContext(p);
- Object obj = ic.lookup("jmx/invoker/RMIAdaptor");
- ic.close();
- if (obj instanceof MBeanServerConnection) {
- MBeanServerConnection connection = (MBeanServerConnection) obj;
- r.run(connection);
- }
- } catch (Exception e) {
- // only if the server *IS* started should we log the error
- if( s.getServerState() == IServer.STATE_STARTED ) {
- JBossServerCorePlugin.getDefault().getLog().log(
- new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID,
- "Error while running JMX-safe code", e));
- }
- }
- JMXClassLoaderRepository.getDefault().removeConcerned(s, r);
- Thread.currentThread().setContextClassLoader(currentLoader);
- }
- }
-
- public static class JMXAttributesWrapper {
- protected JMXBean bean;
-
- public JMXAttributesWrapper(JMXBean bean) {
- this.bean = bean;
- }
-
- public JMXBean getBean() {
- return bean;
- }
- }
-
-}
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/jmx/JMXSafeRunner.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/jmx/JMXSafeRunner.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/jmx/JMXSafeRunner.java 2008-11-19 00:11:48 UTC (rev 11873)
@@ -0,0 +1,68 @@
+package org.jboss.ide.eclipse.as.core.extensions.jmx;
+
+import java.util.Properties;
+
+import javax.management.MBeanServerConnection;
+import javax.naming.InitialContext;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.server.core.IServer;
+import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
+import org.jboss.ide.eclipse.as.core.util.ServerConverter;
+import org.jboss.tools.jmx.core.IJMXRunnable;
+
+public class JMXSafeRunner {
+ private String user, pass;
+ private IServer server;
+
+ public JMXSafeRunner(IServer s) {
+ this.server = s;
+ String user = ServerConverter.getJBossServer(s).getUsername();
+ String pass = ServerConverter.getJBossServer(s).getPassword();
+ }
+
+ public void setUser(String user) {
+ this.user = user;
+ }
+ public void setPass(String pass) {
+ this.pass = pass;
+ }
+
+ public void run(IJMXRunnable r) throws CoreException {
+ run(server,r,user,pass);
+ }
+
+ public static void run(IServer s, IJMXRunnable r) throws CoreException {
+ String user = ServerConverter.getJBossServer(s).getUsername();
+ String pass = ServerConverter.getJBossServer(s).getPassword();
+ run(s,r,user,pass);
+ }
+
+ public static void run(IServer s, IJMXRunnable r, String user, String pass) throws CoreException {
+ JMXClassLoaderRepository.getDefault().addConcerned(s, r);
+ ClassLoader currentLoader = Thread.currentThread()
+ .getContextClassLoader();
+ ClassLoader newLoader = JMXClassLoaderRepository.getDefault()
+ .getClassLoader(s);
+ Thread.currentThread().setContextClassLoader(newLoader);
+ InitialContext ic = null;
+ try {
+ JMXUtil.setCredentials(s,user,pass);
+ Properties p = JMXUtil.getDefaultProperties(s);
+ ic = new InitialContext(p);
+ Object obj = ic.lookup("jmx/invoker/RMIAdaptor"); //$NON-NLS-1$
+ ic.close();
+ if (obj instanceof MBeanServerConnection) {
+ MBeanServerConnection connection = (MBeanServerConnection) obj;
+ r.run(connection);
+ }
+ } catch( Exception e ) {
+ throw new CoreException(new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID, e.getMessage(), e));
+ } finally {
+ JMXClassLoaderRepository.getDefault().removeConcerned(s, r);
+ Thread.currentThread().setContextClassLoader(currentLoader);
+ }
+ }
+}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/polling/JMXPoller.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/polling/JMXPoller.java 2008-11-18 23:36:14 UTC (rev 11872)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/polling/JMXPoller.java 2008-11-19 00:11:48 UTC (rev 11873)
@@ -21,31 +21,27 @@
*/
package org.jboss.ide.eclipse.as.core.extensions.polling;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
-import javax.management.MBeanException;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
-import javax.management.OperationsException;
-import javax.management.ReflectionException;
import javax.naming.CommunicationException;
-import javax.naming.InitialContext;
import javax.naming.NamingException;
+import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.wst.server.core.IServer;
import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
import org.jboss.ide.eclipse.as.core.extensions.events.ServerLogger;
import org.jboss.ide.eclipse.as.core.extensions.jmx.JMXClassLoaderRepository;
-import org.jboss.ide.eclipse.as.core.extensions.jmx.JMXUtil;
-import org.jboss.ide.eclipse.as.core.extensions.jmx.JMXUtil.CredentialException;
+import org.jboss.ide.eclipse.as.core.extensions.jmx.JMXSafeRunner;
import org.jboss.ide.eclipse.as.core.server.IServerStatePoller;
import org.jboss.ide.eclipse.as.core.server.internal.PollThread;
import org.jboss.ide.eclipse.as.core.server.internal.ServerStatePollerType;
+import org.jboss.tools.jmx.core.IJMXRunnable;
/**
* A poller dedicated to server startup, checks via JMX
@@ -78,6 +74,9 @@
private RequiresInfoException requiresInfoException = null;
private Properties requiredPropertiesReturned = null;
+ private JMXPollerRunnable runnable;
+ private JMXSafeRunner runner;
+
public void beginPolling(IServer server, boolean expectedState,
PollThread pt) {
ceFound = nnfeFound = startingFound = canceled = done = false;
@@ -85,119 +84,91 @@
launchJMXPoller();
}
+ private class JMXPollerRunnable implements IJMXRunnable {
+ public void run(MBeanServerConnection connection) throws Exception {
+ Object attInfo = connection.getAttribute(
+ new ObjectName("jboss.system:type=Server"),
+ "Started");
+ boolean b = ((Boolean) attInfo).booleanValue();
+ started = b ? STATE_STARTED : STATE_TRANSITION;
+ done = b;
+ if( !startingFound ) {
+ startingFound = true;
+ IStatus s = new Status(IStatus.INFO, JBossServerCorePlugin.PLUGIN_ID, CODE|started, "Server is starting", null);
+ log(s);
+ }
+ }
+ }
+
private class PollerRunnable implements Runnable {
public void run() {
JMXClassLoaderRepository.getDefault().addConcerned(server, this);
- ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();
- ClassLoader twiddleLoader = JMXClassLoaderRepository.getDefault().getClassLoader(server);
- if( pollingException != null ) {done = true; return;}
- if (twiddleLoader != null) {
+ runnable = new JMXPollerRunnable();
+ runner = new JMXSafeRunner(server);
+ while( !done && !canceled) {
+ try {
+ runner.run(runnable);
+ } catch(CoreException ce) {
+ handleException(ce.getCause());
+ }
- Thread.currentThread().setContextClassLoader(twiddleLoader);
- Properties props = JMXUtil.getDefaultProperties(server);
- setCredentials();
- if( pollingException != null ) {done = true; return;}
-
- Exception failingException = null;
- while (!done && !canceled) {
- InitialContext ic;
- try {
- ic = new InitialContext(props);
- Object obj = ic.lookup("jmx/invoker/RMIAdaptor");
- ic.close();
- if (obj instanceof MBeanServerConnection) {
- MBeanServerConnection connection = (MBeanServerConnection) obj;
- Object attInfo = connection.getAttribute(
- new ObjectName("jboss.system:type=Server"),
- "Started");
- boolean b = ((Boolean) attInfo).booleanValue();
- started = b ? STATE_STARTED : STATE_TRANSITION;
- done = b;
- if( !startingFound ) {
- startingFound = true;
- IStatus s = new Status(IStatus.INFO, JBossServerCorePlugin.PLUGIN_ID, CODE|started, "Server is starting", null);
- log(s);
- }
- }
- } catch (SecurityException se) {
- synchronized(this) {
- if( !waitingForCredentials ) {
- waitingForCredentials = true;
- requiresInfoException = new PollingSecurityException(
- "Security Exception: " + se.getMessage());
- } else {
- // we're waiting. are they back yet?
- if( requiredPropertiesReturned != null ) {
- requiresInfoException = null;
- String user, pass;
- user = (String)requiredPropertiesReturned.get(REQUIRED_USER);
- pass = (String)requiredPropertiesReturned.get(REQUIRED_PASS);
- requiredPropertiesReturned = null;
- setCredentials(user, pass);
- waitingForCredentials = false;
- }
- }
- }
- } catch (CommunicationException ce) {
- started = STATE_STOPPED;
- if( !ceFound ) {
- ceFound = true;
- IStatus s = new Status(IStatus.WARNING, JBossServerCorePlugin.PLUGIN_ID, CODE|started, ce.getMessage(), ce);
- log(s);
- }
- } catch (NamingException nnfe) {
- started = STATE_STOPPED;
- if( !nnfeFound ) {
- nnfeFound = true;
- IStatus s = new Status(IStatus.WARNING, JBossServerCorePlugin.PLUGIN_ID, CODE|started, nnfe.getMessage(), nnfe);
- log(s);
- }
- } catch( OperationsException e ) {
- failingException = e;
- } catch (MBeanException e) {
- failingException = e;
- } catch (ReflectionException e) {
- failingException = e;
- } catch (NullPointerException e) {
- failingException = e;
- } catch (IOException e) {
- failingException = e;
- }
-
- if( failingException != null ) {
- pollingException = new PollingException(failingException.getMessage());
- done = true;
- }
-
- try {
- Thread.sleep(500);
- } catch (InterruptedException e) {
- }
- } // end while
+ try { Thread.sleep(500);}
+ catch (InterruptedException e) {}
}
-
- Thread.currentThread().setContextClassLoader(currentLoader);
JMXClassLoaderRepository.getDefault().removeConcerned(server, this);
}
- protected void setCredentials() {
- try {
- JMXUtil.setCredentials(server);
- } catch( CredentialException ce ) {
- pollingException = new PollingException(ce.getWrapped().getMessage());
+ protected void handleException(Throwable t) {
+ if( t instanceof SecurityException ) {
+ synchronized(this) {
+ if( !waitingForCredentials ) {
+ waitingForCredentials = true;
+ requiresInfoException = new PollingSecurityException(
+ "Security Exception: " + t.getMessage());
+ } else {
+ // we're waiting. are they back yet?
+ if( requiredPropertiesReturned != null ) {
+ requiresInfoException = null;
+ String user, pass;
+ user = (String)requiredPropertiesReturned.get(REQUIRED_USER);
+ pass = (String)requiredPropertiesReturned.get(REQUIRED_PASS);
+ requiredPropertiesReturned = null;
+ runner.setUser(user);
+ runner.setPass(pass);
+ waitingForCredentials = false;
+ }
+ }
+ }
+ return;
}
- }
+
+ if( t instanceof CommunicationException ) {
+ started = STATE_STOPPED;
+ if( !ceFound ) {
+ ceFound = true;
+ IStatus s = new Status(IStatus.WARNING, JBossServerCorePlugin.PLUGIN_ID, CODE|started, t.getMessage(), t);
+ log(s);
+ }
+ return;
+ }
+
+ if( t instanceof NamingException ) {
+ started = STATE_STOPPED;
+ if( !nnfeFound ) {
+ nnfeFound = true;
+ IStatus s = new Status(IStatus.WARNING, JBossServerCorePlugin.PLUGIN_ID, CODE|started, t.getMessage(), t);
+ log(s);
+ }
+ return;
+ }
- protected void setCredentials(String user, String pass) {
- try {
- JMXUtil.setCredentials(server, user, pass);
- } catch( CredentialException ce ) {
- pollingException = new PollingException(ce.getWrapped().getMessage());
+ if( t != null ) {
+ pollingException = new PollingException(t.getMessage());
+ done = true;
}
}
}
-
private void launchJMXPoller() {
PollerRunnable run = new PollerRunnable();
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServerBehavior.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServerBehavior.java 2008-11-18 23:36:14 UTC (rev 11872)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServerBehavior.java 2008-11-19 00:11:48 UTC (rev 11873)
@@ -37,11 +37,11 @@
import org.eclipse.wst.server.core.IServer;
import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
import org.jboss.ide.eclipse.as.core.extensions.events.ServerLogger;
-import org.jboss.ide.eclipse.as.core.extensions.jmx.JMXModel.JMXRunnable;
-import org.jboss.ide.eclipse.as.core.extensions.jmx.JMXModel.JMXSafeRunner;
+import org.jboss.ide.eclipse.as.core.extensions.jmx.JBossServerConnectionProvider;
import org.jboss.ide.eclipse.as.core.server.IServerStatePoller;
import org.jboss.ide.eclipse.as.core.server.internal.launch.JBossServerStartupLaunchConfiguration;
import org.jboss.ide.eclipse.as.core.server.internal.launch.StopLaunchConfiguration;
+import org.jboss.tools.jmx.core.IJMXRunnable;
/**
*
@@ -208,23 +208,27 @@
}
protected void suspendDeployment() {
- JMXRunnable r = new JMXRunnable() {
+ IJMXRunnable r = new IJMXRunnable() {
public void run(MBeanServerConnection connection) throws Exception {
ObjectName name = new ObjectName("jboss.deployment:flavor=URL,type=DeploymentScanner");
connection.invoke(name, "stop", new Object[] { }, new String[] {});
}
};
- JMXSafeRunner.run(getServer(), r);
+ try {
+ JBossServerConnectionProvider.run(getServer(), r);
+ } catch( CoreException ce) {} // ignore
}
protected void resumeDeployment() {
- JMXRunnable r = new JMXRunnable() {
+ IJMXRunnable r = new IJMXRunnable() {
public void run(MBeanServerConnection connection) throws Exception {
ObjectName name = new ObjectName("jboss.deployment:flavor=URL,type=DeploymentScanner");
connection.invoke(name, "start", new Object[] { }, new String[] {});
}
};
- JMXSafeRunner.run(getServer(), r);
+ try {
+ JBossServerConnectionProvider.run(getServer(), r);
+ } catch( CoreException ce) {} // ignore
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/plugin.xml
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/plugin.xml 2008-11-18 23:36:14 UTC (rev 11872)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/plugin.xml 2008-11-19 00:11:48 UTC (rev 11873)
@@ -569,4 +569,10 @@
priority="0">
</publisher>
</extension>
+ <extension
+ point="org.jboss.tools.jmx.core.MBeanServerConnectionProvider">
+ <connectionProvider
+ class="org.jboss.ide.eclipse.as.core.extensions.jmx.JBossServerConnectionProvider">
+ </connectionProvider>
+ </extension>
</plugin>
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/ServerLogView.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/ServerLogView.java 2008-11-18 23:36:14 UTC (rev 11872)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/ServerLogView.java 2008-11-19 00:11:48 UTC (rev 11873)
@@ -21,6 +21,7 @@
public void createPartControl(Composite parent) {
super.createPartControl(parent);
+ Platform.removeLogListener(this);
setLogFile(ServerLogger.getDefault().getServerLogFile(null));
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.xml
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.xml 2008-11-18 23:36:14 UTC (rev 11872)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.xml 2008-11-19 00:11:48 UTC (rev 11873)
@@ -476,6 +476,17 @@
</decorator>
</extension>
+ <!-- JMX Stuff -->
+ <extension
+ point="org.jboss.tools.jmx.ui.providerUI">
+ <providerUI
+ icon="icons/jboss.gif"
+ id="org.jboss.ide.eclipse.as.core.extensions.jmx.JBossServerConnectionProvider"
+ name="JBoss Server">
+ <wizardPage
+ class="org.jboss.tools.jmx.ui.internal.wizards.DefaultConnectionWizardPage">
+ </wizardPage>
+ </providerUI>
+ </extension>
-
</plugin>
Modified: trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/IJMXRunnable.java
===================================================================
--- trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/IJMXRunnable.java 2008-11-18 23:36:14 UTC (rev 11872)
+++ trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/IJMXRunnable.java 2008-11-19 00:11:48 UTC (rev 11873)
@@ -17,5 +17,5 @@
*/
public interface IJMXRunnable {
public void run(MBeanServerConnection connection)
- throws JMXException;
+ throws Exception;
}
Deleted: trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/JMXException.java
===================================================================
--- trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/JMXException.java 2008-11-18 23:36:14 UTC (rev 11872)
+++ trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/JMXException.java 2008-11-19 00:11:48 UTC (rev 11873)
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Jeff Mesnil
- * All rights reserved. This program and the accompanying materials
- * are 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
- *******************************************************************************/
-package org.jboss.tools.jmx.core;
-
-/**
- * An exception occurring during a JMX query
- */
-public class JMXException extends Exception {
- private static final long serialVersionUID = 1L;
-
- public JMXException(Exception e) {
- super(e);
- }
-}
\ No newline at end of file
Modified: trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/providers/DefaultConnectionWrapper.java
===================================================================
--- trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/providers/DefaultConnectionWrapper.java 2008-11-18 23:36:14 UTC (rev 11872)
+++ trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/providers/DefaultConnectionWrapper.java 2008-11-19 00:11:48 UTC (rev 11873)
@@ -20,7 +20,6 @@
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
-
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
@@ -30,7 +29,6 @@
import org.jboss.tools.jmx.core.IJMXRunnable;
import org.jboss.tools.jmx.core.JMXActivator;
import org.jboss.tools.jmx.core.JMXCoreMessages;
-import org.jboss.tools.jmx.core.JMXException;
import org.jboss.tools.jmx.core.tree.NodeUtils;
import org.jboss.tools.jmx.core.tree.Root;
@@ -116,8 +114,8 @@
public void run(IJMXRunnable runnable) throws CoreException {
try {
runnable.run(connection);
- } catch( JMXException ce ) {
- IStatus s = new Status(IStatus.ERROR, JMXActivator.PLUGIN_ID, JMXCoreMessages.DefaultConnection_ErrorRunningJMXCode, ce);
+ } catch( Exception e ) {
+ IStatus s = new Status(IStatus.ERROR, JMXActivator.PLUGIN_ID, JMXCoreMessages.DefaultConnection_ErrorRunningJMXCode, e);
throw new CoreException(s);
}
}
Modified: trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/tree/NodeUtils.java
===================================================================
--- trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/tree/NodeUtils.java 2008-11-18 23:36:14 UTC (rev 11872)
+++ trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/tree/NodeUtils.java 2008-11-19 00:11:48 UTC (rev 11873)
@@ -7,20 +7,16 @@
*******************************************************************************/
package org.jboss.tools.jmx.core.tree;
-import java.io.IOException;
import java.util.Iterator;
import java.util.Set;
import javax.management.MBeanServerConnection;
-import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
-
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.CoreException;
import org.jboss.tools.jmx.core.IConnectionWrapper;
import org.jboss.tools.jmx.core.IJMXRunnable;
-import org.jboss.tools.jmx.core.JMXException;
public class NodeUtils {
@@ -50,20 +46,14 @@
throws CoreException {
final Root[] _root = new Root[1];
connectionWrapper.run(new IJMXRunnable() {
- public void run(MBeanServerConnection connection) throws JMXException {
- try {
- Set beanInfo = connection.queryNames(new ObjectName("*:*"), null); //$NON-NLS-1$
- _root[0] = NodeBuilder.createRoot(connectionWrapper);
- Iterator iter = beanInfo.iterator();
- while (iter.hasNext()) {
- ObjectName on = (ObjectName) iter.next();
- NodeBuilder.addToTree(_root[0], on);
- }
- } catch( IOException ioe ) {
- // TODO throw coreexception
- } catch( MalformedObjectNameException mone) {
- // TODO throw coreexception
- }
+ public void run(MBeanServerConnection connection) throws Exception {
+ Set beanInfo = connection.queryNames(new ObjectName("*:*"), null); //$NON-NLS-1$
+ _root[0] = NodeBuilder.createRoot(connectionWrapper);
+ Iterator iter = beanInfo.iterator();
+ while (iter.hasNext()) {
+ ObjectName on = (ObjectName) iter.next();
+ NodeBuilder.addToTree(_root[0], on);
+ }
}
});
return _root[0];
Modified: trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/tree/ObjectNameNode.java
===================================================================
--- trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/tree/ObjectNameNode.java 2008-11-18 23:36:14 UTC (rev 11872)
+++ trunk/jmx/plugins/org.jboss.tools.jmx.core/src/org/jboss/tools/jmx/core/tree/ObjectNameNode.java 2008-11-19 00:11:48 UTC (rev 11873)
@@ -7,19 +7,12 @@
*******************************************************************************/
package org.jboss.tools.jmx.core.tree;
-import java.io.IOException;
-
-import javax.management.InstanceNotFoundException;
-import javax.management.IntrospectionException;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
-import javax.management.ReflectionException;
-
import org.eclipse.core.runtime.CoreException;
import org.jboss.tools.jmx.core.IConnectionWrapper;
import org.jboss.tools.jmx.core.IJMXRunnable;
-import org.jboss.tools.jmx.core.JMXException;
import org.jboss.tools.jmx.core.MBeanInfoWrapper;
public class ObjectNameNode extends PropertyNode {
@@ -37,22 +30,8 @@
final ObjectName on2 = on;
try {
connectionWrapper.run(new IJMXRunnable() {
- public void run(MBeanServerConnection mbsc) throws JMXException {
- try {
- array[0] = new MBeanInfoWrapper(on2, mbsc.getMBeanInfo(on2), mbsc);
- } catch (InstanceNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IntrospectionException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (ReflectionException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+ public void run(MBeanServerConnection mbsc) throws Exception {
+ array[0] = new MBeanInfoWrapper(on2, mbsc.getMBeanInfo(on2), mbsc);
}
});
} catch( CoreException ce ) {
Modified: trunk/jmx/plugins/org.jboss.tools.jmx.ui/plugin.xml
===================================================================
--- trunk/jmx/plugins/org.jboss.tools.jmx.ui/plugin.xml 2008-11-18 23:36:14 UTC (rev 11872)
+++ trunk/jmx/plugins/org.jboss.tools.jmx.ui/plugin.xml 2008-11-19 00:11:48 UTC (rev 11873)
@@ -14,7 +14,7 @@
<view
category="org.jboss.tools.jmx.ui.views"
class="org.jboss.tools.jmx.ui.internal.views.navigator.Navigator"
- icon="icons/sample.gif"
+ icon="icons/full/obj16/jmeth_obj.gif"
id="org.jboss.tools.jmx.ui.internal.views.navigator.MBeanExplorer"
name="%MBeanExplorer.name"
restorable="true">
Modified: trunk/jmx/plugins/org.jboss.tools.jmx.ui/src/org/jboss/tools/jmx/ui/internal/views/navigator/ActionProvider.java
===================================================================
--- trunk/jmx/plugins/org.jboss.tools.jmx.ui/src/org/jboss/tools/jmx/ui/internal/views/navigator/ActionProvider.java 2008-11-18 23:36:14 UTC (rev 11872)
+++ trunk/jmx/plugins/org.jboss.tools.jmx.ui/src/org/jboss/tools/jmx/ui/internal/views/navigator/ActionProvider.java 2008-11-19 00:11:48 UTC (rev 11873)
@@ -55,7 +55,7 @@
public void fillContextMenu(IMenuManager menu) {
IConnectionWrapper[] connections = getWrappersFromSelection();
- if( connections != null ) {
+ if( connections != null && connections.length > 0) {
if( !anyConnected(connections) && allControlable(connections))
menu.add(new MBeanServerConnectAction(connections));
else if( allControlable(connections))
Modified: trunk/jmx/plugins/org.jboss.tools.jmx.ui/src/org/jboss/tools/jmx/ui/internal/views/navigator/QueryContribution.java
===================================================================
--- trunk/jmx/plugins/org.jboss.tools.jmx.ui/src/org/jboss/tools/jmx/ui/internal/views/navigator/QueryContribution.java 2008-11-18 23:36:14 UTC (rev 11872)
+++ trunk/jmx/plugins/org.jboss.tools.jmx.ui/src/org/jboss/tools/jmx/ui/internal/views/navigator/QueryContribution.java 2008-11-19 00:11:48 UTC (rev 11873)
@@ -13,11 +13,11 @@
import java.util.HashMap;
import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.TreePath;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.widgets.Display;
public class QueryContribution {
@@ -54,6 +54,7 @@
private HashMap<Object, Boolean> cache = new HashMap<Object, Boolean>();
private Navigator navigator;
private boolean requiresRefine;
+ private RefineThread refineThread = null;
public QueryContribution(final Navigator navigator) {
this.navigator = navigator;
map.put(navigator.getCommonViewer(), this);
@@ -73,60 +74,83 @@
} else if(neww.startsWith(old) && !neww.equals(old)) {
requiresRefine = true;
}
- cacheEntry(requiresRefine, (ITreeContentProvider)navigator.getCommonViewer().getContentProvider());
- navigator.getCommonViewer().refresh();
+ if( refineThread != null )
+ refineThread.cancel();
+ refineThread = new RefineThread();
+ refineThread.start();
}
});
}
- protected void clearCache() {
- cache = new HashMap<Object,Boolean>();
- requiresRefine = false;
- }
-
- protected void cacheEntry(boolean refine, ITreeContentProvider provider) {
- Object[] elements = provider.getElements(navigator.getCommonViewer().getInput());
- for( int i = 0; i < elements.length; i++ )
- cache(elements[i], refine, provider);
- }
- protected boolean cache(Object o, boolean refine, ITreeContentProvider provider) {
- if( !refine ) {
- if( cache.get(o) != null ) {
- return cache.get(o).booleanValue();
- }
+ protected class RefineThread extends Thread {
+ private boolean canceled = false;
+ public void run() {
+ cacheEntry(requiresRefine, (ITreeContentProvider)navigator.getCommonViewer().getContentProvider());
+ refineThread = null;
+ Display.getDefault().asyncExec(new Runnable() {
+ public void run() {
+ navigator.getCommonViewer().refresh();
+ }
+ } );
}
- // If I match, all my children and grandchildren must match
- String elementAsString = MBeanExplorerLabelProvider.getText2(o);
- if( elementAsString.contains(filterText)) {
- recurseTrue(o, provider);
- return true;
+ public void cancel() {
+ canceled = true;
}
+
+ protected void cacheEntry(boolean refine, ITreeContentProvider provider) {
+ Object[] elements = provider.getElements(navigator.getCommonViewer().getInput());
+ for( int i = 0; i < elements.length; i++ )
+ if( !canceled )
+ cache(elements[i], refine, provider);
+ }
- // if I don't match, then if ANY of my children match, I also match
- boolean belongs = false;
- Object tmp;
- Object[] children = provider.getChildren(o);
- for( int i = 0; i < children.length; i++ ) {
- tmp = cache.get(children[i]);
- if( !refine || (tmp != null && ((Boolean)tmp).booleanValue())) {
- belongs |= cache(children[i], refine, provider);
+ protected boolean cache(Object o, boolean refine, ITreeContentProvider provider) {
+ if( !refine ) {
+ if( cache.get(o) != null ) {
+ return cache.get(o).booleanValue();
+ }
}
+
+ // If I match, all my children and grandchildren must match
+ String elementAsString = MBeanExplorerLabelProvider.getText2(o);
+ if( elementAsString.contains(filterText)) {
+ recurseTrue(o, provider);
+ return true;
+ }
+
+ // if I don't match, then if ANY of my children match, I also match
+ boolean belongs = false;
+ Object tmp;
+ Object[] children = provider.getChildren(o);
+ for( int i = 0; i < children.length; i++ ) {
+ if( !canceled ) {
+ tmp = cache.get(children[i]);
+ if( !refine || (tmp != null && ((Boolean)tmp).booleanValue())) {
+ belongs |= cache(children[i], refine, provider);
+ }
+ }
+ }
+ cache.put(o, new Boolean(canceled || belongs));
+ return belongs;
}
- cache.put(o, new Boolean(belongs));
- return belongs;
+
+ protected void recurseTrue(Object o, ITreeContentProvider provider) {
+ cache.put(o, new Boolean(true));
+ Object[] children = provider.getChildren(o);
+ for( int i = 0; i < children.length; i++ )
+ recurseTrue(children[i], provider);
+ }
}
-
- protected void recurseTrue(Object o, ITreeContentProvider provider) {
- cache.put(o, new Boolean(true));
- Object[] children = provider.getChildren(o);
- for( int i = 0; i < children.length; i++ )
- recurseTrue(children[i], provider);
+
+ protected void clearCache() {
+ cache = new HashMap<Object,Boolean>();
+ requiresRefine = false;
}
public boolean shouldShow(Object element, Object parentElement) {
String filterText = this.filterText;
- if( filterText != null && !("".equals(filterText))) {
+ if( filterText != null && filterText.length() > 0 ) {
boolean tmp = cache.get(element) != null && cache.get(element).booleanValue();
return tmp;
}
17 years, 5 months
JBoss Tools SVN: r11872 - in trunk/esb/tests/org.jboss.tools.esb.project.core.test: META-INF and 14 other directories.
by jbosstools-commits@lists.jboss.org
Author: dgolovin
Date: 2008-11-18 18:36:14 -0500 (Tue, 18 Nov 2008)
New Revision: 11872
Added:
trunk/esb/tests/org.jboss.tools.esb.project.core.test/.classpath
trunk/esb/tests/org.jboss.tools.esb.project.core.test/.project
trunk/esb/tests/org.jboss.tools.esb.project.core.test/META-INF/
trunk/esb/tests/org.jboss.tools.esb.project.core.test/META-INF/MANIFEST.MF
trunk/esb/tests/org.jboss.tools.esb.project.core.test/build.properties
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.classpath
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.project
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.jdt.core.prefs
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.jst.common.project.facet.core.prefs
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.wst.common.component
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.wst.common.project.facet.core.xml
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/build/
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/esbcontent/
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/esbcontent/META-INF/
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/esbcontent/META-INF/deployment.xml
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/esbcontent/META-INF/jboss-esb.xml
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/esbcontent/lib/
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/jbm-queue-service.xml
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/quickstart/
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/quickstart/helloworld/
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/quickstart/helloworld/MyJMSListenerAction.java
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/quickstart/helloworld/test/
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/quickstart/helloworld/test/SendEsbMessage.java
trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/quickstart/helloworld/test/SendJMSMessage.java
trunk/esb/tests/org.jboss.tools.esb.project.core.test/src/
Log:
esb.project.core.test plug-in initial structure with simple project to test deployment
Added: trunk/esb/tests/org.jboss.tools.esb.project.core.test/.classpath
===================================================================
--- trunk/esb/tests/org.jboss.tools.esb.project.core.test/.classpath (rev 0)
+++ trunk/esb/tests/org.jboss.tools.esb.project.core.test/.classpath 2008-11-18 23:36:14 UTC (rev 11872)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Property changes on: trunk/esb/tests/org.jboss.tools.esb.project.core.test/.classpath
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/esb/tests/org.jboss.tools.esb.project.core.test/.project
===================================================================
--- trunk/esb/tests/org.jboss.tools.esb.project.core.test/.project (rev 0)
+++ trunk/esb/tests/org.jboss.tools.esb.project.core.test/.project 2008-11-18 23:36:14 UTC (rev 11872)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.jboss.tools.esb.project.core.test</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Property changes on: trunk/esb/tests/org.jboss.tools.esb.project.core.test/.project
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/esb/tests/org.jboss.tools.esb.project.core.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/esb/tests/org.jboss.tools.esb.project.core.test/META-INF/MANIFEST.MF (rev 0)
+++ trunk/esb/tests/org.jboss.tools.esb.project.core.test/META-INF/MANIFEST.MF 2008-11-18 23:36:14 UTC (rev 11872)
@@ -0,0 +1,5 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: ESB Project Core Test Plug-in
+Bundle-SymbolicName: org.jboss.tools.esb.project.core.test
+Bundle-Version: 1.0.0
Property changes on: trunk/esb/tests/org.jboss.tools.esb.project.core.test/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/esb/tests/org.jboss.tools.esb.project.core.test/build.properties
===================================================================
--- trunk/esb/tests/org.jboss.tools.esb.project.core.test/build.properties (rev 0)
+++ trunk/esb/tests/org.jboss.tools.esb.project.core.test/build.properties 2008-11-18 23:36:14 UTC (rev 11872)
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
Property changes on: trunk/esb/tests/org.jboss.tools.esb.project.core.test/build.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.classpath
===================================================================
--- trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.classpath (rev 0)
+++ trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.classpath 2008-11-18 23:36:14 UTC (rev 11872)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.jboss.esb.runtime.classpath/server.supplied/JBoss 4.2 Runtime"/>
+ <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.jboss.ide.eclipse.as.core.server.runtime.runtimeTarget/JBoss 4.2.2.GA Runtime"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/java-1.5.0-sun-1.5.0.15"/>
+ <classpathentry kind="output" path="esbcontent/META-INF/classes"/>
+</classpath>
Property changes on: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.classpath
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.project
===================================================================
--- trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.project (rev 0)
+++ trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.project 2008-11-18 23:36:14 UTC (rev 11872)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>esbp1</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ </natures>
+</projectDescription>
Property changes on: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.project
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.jdt.core.prefs 2008-11-18 23:36:14 UTC (rev 11872)
@@ -0,0 +1,7 @@
+#Tue Nov 18 10:55:16 PST 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
Property changes on: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.jdt.core.prefs
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.jst.common.project.facet.core.prefs
===================================================================
--- trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.jst.common.project.facet.core.prefs (rev 0)
+++ trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.jst.common.project.facet.core.prefs 2008-11-18 23:36:14 UTC (rev 11872)
@@ -0,0 +1,4 @@
+#Tue Nov 18 12:54:36 PST 2008
+classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER\:\:org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType\:\:java-1.5.0-sun-1.5.0.15/owners=jst.java\:6.0
+classpath.helper/org.eclipse.jst.server.core.container\:\:org.jboss.ide.eclipse.as.core.server.runtime.runtimeTarget\:\:JBoss\ 4.2\ Runtime/owners=jst.jboss.esb\:4.3
+eclipse.preferences.version=1
Property changes on: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.jst.common.project.facet.core.prefs
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.wst.common.component
===================================================================
--- trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.wst.common.component (rev 0)
+++ trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.wst.common.component 2008-11-18 23:36:14 UTC (rev 11872)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-modules id="moduleCoreId" project-version="1.5.0">
+<wb-module deploy-name="esbp1">
+<wb-resource deploy-path="/" source-path="/src"/>
+<wb-resource deploy-path="/" source-path="/esbcontent"/>
+<property name="java-output-path" value="/esbcontent/build/classes/"/>
+</wb-module>
+</project-modules>
Added: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.wst.common.project.facet.core.xml
===================================================================
--- trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.wst.common.project.facet.core.xml (rev 0)
+++ trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.wst.common.project.facet.core.xml 2008-11-18 23:36:14 UTC (rev 11872)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+ <runtime name="JBoss 4.2.2.GA Runtime"/>
+ <fixed facet="jst.jboss.esb"/>
+ <fixed facet="jst.java"/>
+ <installed facet="jst.java" version="6.0"/>
+ <installed facet="jst.jboss.esb" version="4.3"/>
+</faceted-project>
Property changes on: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/.settings/org.eclipse.wst.common.project.facet.core.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/esbcontent/META-INF/deployment.xml
===================================================================
--- trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/esbcontent/META-INF/deployment.xml (rev 0)
+++ trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/esbcontent/META-INF/deployment.xml 2008-11-18 23:36:14 UTC (rev 11872)
@@ -0,0 +1,4 @@
+<jbossesb-deployment>
+ <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_helloworld_Request_esb</depends>
+ <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_helloworld_Request_gw</depends>
+</jbossesb-deployment>
Property changes on: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/esbcontent/META-INF/deployment.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/esbcontent/META-INF/jboss-esb.xml
===================================================================
--- trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/esbcontent/META-INF/jboss-esb.xml (rev 0)
+++ trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/esbcontent/META-INF/jboss-esb.xml 2008-11-18 23:36:14 UTC (rev 11872)
@@ -0,0 +1,50 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml..." parameterReloadSecs="5">
+
+ <providers>
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
+ <jms-bus busid="quickstartGwChannel">
+ <jms-message-filter
+ dest-type="QUEUE"
+ dest-name="queue/quickstart_helloworld_Request_gw"
+ />
+ </jms-bus>
+ <jms-bus busid="quickstartEsbChannel">
+ <jms-message-filter
+ dest-type="QUEUE"
+ dest-name="queue/quickstart_helloworld_Request_esb"
+ />
+ </jms-bus>
+
+ </jms-provider>
+ </providers>
+
+ <services>
+ <service
+ category="FirstServiceESB"
+ name="SimpleListener"
+ description="Hello World">
+ <listeners>
+ <jms-listener name="JMS-Gateway"
+ busidref="quickstartGwChannel"
+ is-gateway="true"
+ />
+ <jms-listener name="helloWorld"
+ busidref="quickstartEsbChannel"
+ />
+ </listeners>
+ <actions mep="OneWay">
+ <action name="action1"
+ class="org.jboss.soa.esb.samples.quickstart.helloworld.MyJMSListenerAction"
+ process="displayMessage"
+ />
+ <action name="action2" class="org.jboss.soa.esb.actions.SystemPrintln">
+ <property name="printfull" value="true"/>
+ </action>
+ <!-- The next action is for Continuous Integration testing -->
+ <action name="testStore" class="org.jboss.soa.esb.actions.TestMessageStore"/>
+ </actions>
+ </service>
+ </services>
+
+</jbossesb>
Property changes on: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/esbcontent/META-INF/jboss-esb.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/jbm-queue-service.xml
===================================================================
--- trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/jbm-queue-service.xml (rev 0)
+++ trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/jbm-queue-service.xml 2008-11-18 23:36:14 UTC (rev 11872)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+ <mbean code="org.jboss.jms.server.destination.QueueService"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_helloworld_Request_esb"
+ xmbean-dd="xmdesc/Queue-xmbean.xml">
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+ <mbean code="org.jboss.jms.server.destination.QueueService"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_helloworld_Request_gw"
+ xmbean-dd="xmdesc/Queue-xmbean.xml">
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Property changes on: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/jbm-queue-service.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/quickstart/helloworld/MyJMSListenerAction.java
===================================================================
--- trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/quickstart/helloworld/MyJMSListenerAction.java (rev 0)
+++ trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/quickstart/helloworld/MyJMSListenerAction.java 2008-11-18 23:36:14 UTC (rev 11872)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.helloworld;
+
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+public class MyJMSListenerAction extends AbstractActionLifecycle
+{
+
+ protected ConfigTree _config;
+
+ public MyJMSListenerAction(ConfigTree config) { _config = config; }
+
+
+ public Message displayMessage(Message message) throws Exception{
+
+ System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+ System.out.println("Body: " + message.getBody().get()) ;
+ System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+ return message;
+
+ }
+
+
+}
\ No newline at end of file
Property changes on: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/quickstart/helloworld/MyJMSListenerAction.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/quickstart/helloworld/test/SendEsbMessage.java
===================================================================
--- trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/quickstart/helloworld/test/SendEsbMessage.java (rev 0)
+++ trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/quickstart/helloworld/test/SendEsbMessage.java 2008-11-18 23:36:14 UTC (rev 11872)
@@ -0,0 +1,59 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.soa.esb.samples.quickstart.helloworld.test;
+
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.client.ServiceInvoker;
+
+/**
+ * Standalone class with to send ESB messages to a 'known' [category,name].
+ * <p/> arg0 - service category
+ * <br/>arg1 - service name
+ * <br/>arg2 - Text of message to send
+ *
+ * @author <a href="mailto:schifest@heuristica.com.ar">schifest(a)heuristica.com.ar</a>
+ * @since Version 4.0
+ *
+ */
+public class SendEsbMessage
+{
+ public static void main(String args[]) throws Exception
+ {
+// Setting the ConnectionFactory such that it will use scout
+ System.setProperty("javax.xml.registry.ConnectionFactoryClass","org.apache.ws.scout.registry.ConnectionFactoryImpl");
+
+ if (args.length < 3)
+ {
+ System.out.println("Usage SendEsbMessage <category> <name> <text to send>");
+ }
+
+ Message esbMessage = MessageFactory.getInstance().getMessage();
+
+ esbMessage.getBody().add(args[2]);
+
+ new ServiceInvoker(args[0], args[1]).deliverAsync(esbMessage);
+
+ }
+
+}
Property changes on: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/quickstart/helloworld/test/SendEsbMessage.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/quickstart/helloworld/test/SendJMSMessage.java
===================================================================
--- trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/quickstart/helloworld/test/SendJMSMessage.java (rev 0)
+++ trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/quickstart/helloworld/test/SendJMSMessage.java 2008-11-18 23:36:14 UTC (rev 11872)
@@ -0,0 +1,87 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.helloworld.test;
+
+import java.util.Properties;
+
+import javax.jms.JMSException;
+import javax.jms.ObjectMessage;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSender;
+import javax.jms.QueueSession;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+public class SendJMSMessage {
+ QueueConnection conn;
+ QueueSession session;
+ Queue que;
+
+
+ public void setupConnection() throws JMSException, NamingException
+ {
+ Properties properties1 = new Properties();
+ properties1.put(Context.INITIAL_CONTEXT_FACTORY,
+ "org.jnp.interfaces.NamingContextFactory");
+ properties1.put(Context.URL_PKG_PREFIXES,
+ "org.jboss.naming:org.jnp.interfaces");
+ properties1.put(Context.PROVIDER_URL, "jnp://127.0.0.1:1099");
+ InitialContext iniCtx = new InitialContext(properties1);
+
+ Object tmp = iniCtx.lookup("ConnectionFactory");
+ QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+ conn = qcf.createQueueConnection();
+ que = (Queue) iniCtx.lookup("queue/quickstart_helloworld_Request_gw");
+ session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+ conn.start();
+ System.out.println("Connection Started");
+ }
+
+ public void stop() throws JMSException
+ {
+ conn.stop();
+ session.close();
+ conn.close();
+ }
+
+ public void sendAMessage(String msg) throws JMSException {
+
+ QueueSender send = session.createSender(que);
+ ObjectMessage tm = session.createObjectMessage(msg);
+
+ send.send(tm);
+ send.close();
+ }
+
+
+ public static void main(String args[]) throws Exception
+ {
+ SendJMSMessage sm = new SendJMSMessage();
+ sm.setupConnection();
+ sm.sendAMessage(args[0]);
+ sm.stop();
+
+ }
+
+}
Property changes on: trunk/esb/tests/org.jboss.tools.esb.project.core.test/projects/esbp1/src/org/jboss/soa/esb/samples/quickstart/helloworld/test/SendJMSMessage.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
17 years, 5 months
JBoss Tools SVN: r11870 - in trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples: wizard and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: snjeza
Date: 2008-11-18 17:15:49 -0500 (Tue, 18 Nov 2008)
New Revision: 11870
Added:
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/model/ProjectModelElement.java
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/ProjectExamplesPatternFilter.java
Modified:
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/model/Category.java
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/model/Project.java
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesWizardPage.java
Log:
JBIDE-2998 Add filter capability to project examples
Modified: trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/model/Category.java
===================================================================
--- trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/model/Category.java 2008-11-18 19:19:03 UTC (rev 11869)
+++ trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/model/Category.java 2008-11-18 22:15:49 UTC (rev 11870)
@@ -19,7 +19,7 @@
* @author snjeza
*
*/
-public class Category {
+public class Category implements ProjectModelElement {
private String name;
private List<Project> projects = new ArrayList<Project>();
@@ -71,4 +71,8 @@
return true;
}
+ public String getDescription() {
+ return getName();
+ }
+
}
Modified: trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/model/Project.java
===================================================================
--- trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/model/Project.java 2008-11-18 19:19:03 UTC (rev 11869)
+++ trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/model/Project.java 2008-11-18 22:15:49 UTC (rev 11870)
@@ -13,13 +13,11 @@
import java.math.BigDecimal;
import java.util.List;
-import org.jboss.tools.project.examples.Messages;
-
/**
* @author snjeza
*
*/
-public class Project {
+public class Project implements ProjectModelElement {
private String name;
private String shortDescription;
Added: trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/model/ProjectModelElement.java
===================================================================
--- trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/model/ProjectModelElement.java (rev 0)
+++ trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/model/ProjectModelElement.java 2008-11-18 22:15:49 UTC (rev 11870)
@@ -0,0 +1,21 @@
+/*************************************************************************************
+ * Copyright (c) 2008 JBoss, a division of Red Hat and others.
+ * All rights reserved. This program and the accompanying materials
+ * are 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:
+ * JBoss, a division of Red Hat - Initial implementation.
+ ************************************************************************************/
+package org.jboss.tools.project.examples.model;
+
+/**
+ * @author snjeza
+ *
+ */
+public interface ProjectModelElement {
+
+ public String getName();
+ public String getDescription();
+}
Modified: trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesWizardPage.java
===================================================================
--- trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesWizardPage.java 2008-11-18 19:19:03 UTC (rev 11869)
+++ trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesWizardPage.java 2008-11-18 22:15:49 UTC (rev 11870)
@@ -31,6 +31,9 @@
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.Tree;
+import org.eclipse.ui.dialogs.FilteredTree;
+import org.eclipse.ui.internal.dialogs.WizardPatternFilter;
+import org.eclipse.ui.model.AdaptableList;
import org.jboss.tools.project.examples.Messages;
import org.jboss.tools.project.examples.ProjectExamplesActivator;
import org.jboss.tools.project.examples.model.Category;
@@ -60,18 +63,28 @@
GridData gd = new GridData(GridData.FILL_BOTH);
gd.widthHint= 225;
+
composite.setLayoutData(gd);
new Label(composite,SWT.NONE).setText(Messages.NewProjectExamplesWizardPage_Projects);
- TreeViewer viewer = new TreeViewer(composite,SWT.MULTI);
+
+ ProjectExamplesPatternFilter filter = new ProjectExamplesPatternFilter();
+ int styleBits = SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER;
+ FilteredTree filteredTree = new FilteredTree(composite, styleBits, filter);
+ filteredTree.setBackground(parent.getDisplay().getSystemColor(
+ SWT.COLOR_WIDGET_BACKGROUND));
+ TreeViewer viewer = filteredTree.getViewer();
Tree tree = viewer.getTree();
tree.setLayoutData(new GridData(GridData.FILL_BOTH));
tree.setFont(parent.getFont());
viewer.setLabelProvider(new ProjectLabelProvider());
viewer.setContentProvider(new ProjectContentProvider());
- viewer.setInput(ProjectUtil.getProjects());
+ AdaptableList input = new AdaptableList(ProjectUtil.getProjects());
+
+ viewer.setInput(input);
+
Label descriptionLabel = new Label(composite,SWT.NULL);
descriptionLabel.setText(Messages.NewProjectExamplesWizardPage_Description);
final Text text = new Text(composite,SWT.BORDER | SWT.MULTI | SWT.WRAP | SWT.READ_ONLY);
@@ -171,9 +184,11 @@
private class ProjectContentProvider implements ITreeContentProvider {
public Object[] getChildren(Object parentElement) {
- if (parentElement instanceof List) {
- List children = (List) parentElement;
- return children.toArray();
+ if (parentElement instanceof AdaptableList) {
+ Object[] childCollections = ((AdaptableList)parentElement).getChildren();
+ //List children = (List) parentElement;
+ //return children.toArray();
+ return childCollections;
}
if (parentElement instanceof Category) {
Category category = (Category) parentElement;
Added: trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/ProjectExamplesPatternFilter.java
===================================================================
--- trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/ProjectExamplesPatternFilter.java (rev 0)
+++ trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/ProjectExamplesPatternFilter.java 2008-11-18 22:15:49 UTC (rev 11870)
@@ -0,0 +1,47 @@
+/*************************************************************************************
+ * Copyright (c) 2008 JBoss, a division of Red Hat and others.
+ * All rights reserved. This program and the accompanying materials
+ * are 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:
+ * JBoss, a division of Red Hat - Initial implementation.
+ ************************************************************************************/
+package org.jboss.tools.project.examples.wizard;
+
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.ui.dialogs.PatternFilter;
+import org.jboss.tools.project.examples.model.ProjectModelElement;
+
+/**
+ * @author snjeza
+ *
+ */
+public class ProjectExamplesPatternFilter extends PatternFilter {
+
+ public ProjectExamplesPatternFilter() {
+ super();
+ }
+
+ public boolean isElementSelectable(Object element) {
+ return element instanceof ProjectModelElement;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.internal.dialogs.PatternFilter#isElementMatch(org.eclipse.jface.viewers.Viewer, java.lang.Object)
+ */
+ protected boolean isLeafMatch(Viewer viewer, Object element) {
+ if (! (element instanceof ProjectModelElement) ) {
+ return false;
+ }
+ ProjectModelElement model = (ProjectModelElement) element;
+
+ if (wordMatches(model.getName()) || wordMatches(model.getDescription())) {
+ return true;
+ }
+ return false;
+ }
+
+}
17 years, 5 months
JBoss Tools SVN: r11869 - trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template.
by jbosstools-commits@lists.jboss.org
Author: yradtsevich
Date: 2008-11-18 14:19:03 -0500 (Tue, 18 Nov 2008)
New Revision: 11869
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesDataTableChildrenEncoder.java
Log:
A bug with spontaneously growing spaces in rich:dataTable has been fixed.
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesDataTableChildrenEncoder.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesDataTableChildrenEncoder.java 2008-11-18 16:20:05 UTC (rev 11868)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesDataTableChildrenEncoder.java 2008-11-18 19:19:03 UTC (rev 11869)
@@ -88,7 +88,13 @@
* <BR/>For any another tag it uses {@link #addElementToTable(Node)} method.
* */
public void encodeChildren() {
- final List<Node> children = ComponentUtil.getChildren(sourceElement);
+ // create an empty childrenInfo. It tells to VpeVisualDomBuilder
+ // that it is not necessary to add any child of the sourceElement
+ // except ones specified in another vpeChildrenInfo's
+ final VpeChildrenInfo childInfo = new VpeChildrenInfo(null);
+ creationData.addChildrenInfo(childInfo);
+
+ final List<Node> children = ComponentUtil.getChildren(sourceElement);
boolean createNewRow = true;
for (final Node child : children) {
final String nodeName = child.getNodeName();
17 years, 5 months
JBoss Tools SVN: r11868 - in trunk: vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: yradtsevich
Date: 2008-11-18 11:20:05 -0500 (Tue, 18 Nov 2008)
New Revision: 11868
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesColumnTemplate.java
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesDataTableTemplate.java
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesScrollableDataTableTemplate.java
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/HTML.java
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/VisualDomUtil.java
Log:
CODING IN PROGRESS - issue JBIDE-2877: <rich:dataTable>, <rich:column> interaction
https://jira.jboss.org/jira/browse/JBIDE-2877
Item #5 has been fixed: "visible="false" doesn't work for the column inside rich:dataTable correctly..."
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesColumnTemplate.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesColumnTemplate.java 2008-11-18 15:02:41 UTC (rev 11867)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesColumnTemplate.java 2008-11-18 16:20:05 UTC (rev 11868)
@@ -22,6 +22,7 @@
import org.jboss.tools.vpe.editor.template.VpeCreationData;
import org.jboss.tools.vpe.editor.util.HTML;
import org.jboss.tools.vpe.editor.util.SourceDomUtil;
+import org.jboss.tools.vpe.editor.util.VisualDomUtil;
import org.jboss.tools.vpe.editor.util.VpeStyleUtil;
import org.mozilla.interfaces.nsIDOMDocument;
import org.mozilla.interfaces.nsIDOMElement;
@@ -35,31 +36,32 @@
public VpeCreationData create(VpePageContext pageContext, Node sourceNode, nsIDOMDocument visualDocument) {
Element sourceElement = (Element)sourceNode;
- VpeCreationData creationData;
- boolean visible = !RichFaces.VAL_FALSE.equals(sourceElement.getAttribute(RichFaces.ATTR_VISIBLE));
- if (visible) {
- nsIDOMElement td = visualDocument.createElement(HTML.TAG_TD);
- String columnClass = getColumnClass(sourceElement);
- ComponentUtil.copyAttributes(sourceNode, td);
- td.setAttribute(HTML.ATTR_CLASS, columnClass);
- creationData = new VpeCreationData(td);
-
- // Create mapping to Encode body
- VpeChildrenInfo tdInfo = new VpeChildrenInfo(td);
- List<Node> children = ComponentUtil.getChildren(sourceElement,true);
- for (Node child : children) {
- if (!isFacet(child)) {
- tdInfo.addSourceChild(child);
- }
+ boolean visible = isVisible(sourceElement);
+
+ nsIDOMElement td = visualDocument.createElement(HTML.TAG_TD);
+
+ if (!visible) {
+ VisualDomUtil.setSubAttribute(td, HTML.ATTR_STYLE,
+ HTML.STYLE_PARAMETER_DISPLAY, HTML.STYLE_VALUE_NONE);
+ }
+
+ String columnClass = getColumnClass(sourceElement);
+ ComponentUtil.copyAttributes(sourceNode, td);
+ td.setAttribute(HTML.ATTR_CLASS, columnClass);
+ final VpeCreationData creationData = new VpeCreationData(td);
+
+ // Create mapping to Encode body
+ VpeChildrenInfo tdInfo = new VpeChildrenInfo(td);
+ List<Node> children = ComponentUtil.getChildren(sourceElement,true);
+ for (Node child : children) {
+ if (!isFacet(child)) {
+ tdInfo.addSourceChild(child);
}
- creationData.addChildrenInfo(tdInfo);
+ }
+ creationData.addChildrenInfo(tdInfo);
- } else {
- creationData = new VpeCreationData(null);
- creationData.setChildrenInfoList(new ArrayList<VpeChildrenInfo>(0));
- }
-
+
return creationData;
}
@@ -161,10 +163,19 @@
return null;
}
}
-
+
public static boolean isBreakBefore(Node child) {
String breakBeforeVal = ((Element)child).getAttribute(RichFaces.ATTR_BREAK_BEFORE);
boolean breakBefore = breakBeforeVal != null && breakBeforeVal.equalsIgnoreCase(RichFaces.VAL_TRUE);
return breakBefore;
}
+
+ /**
+ * Returns {@code true} if the {@code column} is visible.
+ *
+ * @param column should be not {@code null}
+ */
+ public static boolean isVisible(Element column) {
+ return !RichFaces.VAL_FALSE.equals(column.getAttribute(RichFaces.ATTR_VISIBLE));
+ }
}
\ No newline at end of file
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesDataTableTemplate.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesDataTableTemplate.java 2008-11-18 15:02:41 UTC (rev 11867)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesDataTableTemplate.java 2008-11-18 16:20:05 UTC (rev 11868)
@@ -19,6 +19,8 @@
import org.jboss.tools.vpe.editor.template.VpeCreationData;
import org.jboss.tools.vpe.editor.util.Constants;
import org.jboss.tools.vpe.editor.util.HTML;
+import org.jboss.tools.vpe.editor.util.VisualDomUtil;
+import org.jboss.tools.vpe.editor.util.VpeStyleUtil;
import org.mozilla.interfaces.nsIDOMDocument;
import org.mozilla.interfaces.nsIDOMElement;
import org.mozilla.interfaces.nsIDOMNode;
@@ -157,6 +159,10 @@
nsIDOMElement td = visualDocument.createElement(element);
parentTr.appendChild(td);
String styleClass = encodeStyleClass(null, skinCellClass, headerClass, columnHeaderClass);
+ if (!RichFacesColumnTemplate.isVisible(column)) {
+ VisualDomUtil.setSubAttribute(td, HTML.ATTR_STYLE,
+ HTML.STYLE_PARAMETER_DISPLAY, HTML.STYLE_VALUE_NONE);
+ }
td.setAttribute(HTML.ATTR_CLASS, styleClass);
td.setAttribute(HTML.ATTR_SCOPE, "col"); //$NON-NLS-1$
String colspan = column.getAttribute("colspan"); //$NON-NLS-1$
@@ -177,6 +183,7 @@
VpeChildrenInfo childrenInfo = new VpeChildrenInfo(span);
childrenInfo.addSourceChild(facetBody);
creationData.addChildrenInfo(childrenInfo);
+
}
}
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesScrollableDataTableTemplate.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesScrollableDataTableTemplate.java 2008-11-18 15:02:41 UTC (rev 11867)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesScrollableDataTableTemplate.java 2008-11-18 16:20:05 UTC (rev 11868)
@@ -310,6 +310,12 @@
parentTr.appendChild(td);
String styleClass = encodeStyleClass(null, skinCellClass,
headerClass, columnHeaderClass);
+
+ if (!RichFacesColumnTemplate.isVisible(column)) {
+ VisualDomUtil.setSubAttribute(td, HTML.ATTR_STYLE,
+ HTML.STYLE_PARAMETER_DISPLAY, HTML.STYLE_VALUE_NONE);
+ }
+
td.setAttribute(HtmlComponentUtil.HTML_CLASS_ATTR, styleClass);
td.setAttribute("scop", "col");
String colspan = column
Modified: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/HTML.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/HTML.java 2008-11-18 15:02:41 UTC (rev 11867)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/HTML.java 2008-11-18 16:20:05 UTC (rev 11868)
@@ -113,6 +113,8 @@
public static final String VALUE_ALIGN_CENTER = "center"; //$NON-NLS-1$
public static final String VALUE_CLEAR_BOTH = "both"; //$NON-NLS-1$
+ public static final String STYLE_PARAMETER_DISPLAY = "display"; //$NON-NLS-1$
+ public static final String STYLE_VALUE_NONE = "none"; //$NON-NLS-1$
public static final String STYLE_PARAMETER_WIDTH = "width"; //$NON-NLS-1$
public static final String STYLE_PARAMETER_TOP = "top"; //$NON-NLS-1$
public static final String STYLE_PARAMETER_LEFT = "left"; //$NON-NLS-1$
Modified: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/VisualDomUtil.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/VisualDomUtil.java 2008-11-18 15:02:41 UTC (rev 11867)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/VisualDomUtil.java 2008-11-18 16:20:05 UTC (rev 11868)
@@ -11,6 +11,7 @@
package org.jboss.tools.vpe.editor.util;
import org.eclipse.swt.graphics.Point;
+import org.mozilla.interfaces.nsIDOMElement;
import org.mozilla.interfaces.nsIDOMEvent;
import org.mozilla.interfaces.nsIDOMMouseEvent;
import org.mozilla.interfaces.nsIDOMNSRange;
@@ -19,6 +20,7 @@
import org.mozilla.interfaces.nsIDOMNodeList;
import org.mozilla.interfaces.nsIDOMRange;
import org.mozilla.interfaces.nsISelection;
+import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -121,4 +123,33 @@
containerParent.removeChild(node);
}
+ /**
+ * Sets the style of the attribute of the element to the value.
+ * If the sub-attribute is present already, it replaces its value.
+ * <P/>
+ * Example: {@code <element attributeName="subAttributeName : subAttributeValue;">}
+ * <P/>
+ * Should be used mainly to set HTML STYLE attribute:
+ * {@code setSubAttribute(div, "STYLE", "width", "100%")}
+ */
+ public static void setSubAttribute(nsIDOMElement element,
+ String attributeName, String subAttributeName,
+ String subAttributeValue) {
+ String attributeValue = element.getAttribute(attributeName);
+ if (attributeValue == null) {
+ attributeValue = new String();
+ } else {// remove old sub-attribute from the attributeValue
+ attributeValue = VpeStyleUtil.deleteFromString(attributeValue,
+ subAttributeName, Constants.SEMICOLON);
+ }
+ if (attributeValue.length() > 0) {
+ if (!attributeValue.endsWith(Constants.SEMICOLON))
+ attributeValue += Constants.SEMICOLON;
+ }
+
+ attributeValue += subAttributeName + Constants.COLON
+ + subAttributeValue + Constants.SEMICOLON;
+
+ element.setAttribute(attributeName, attributeValue);
+ }
}
17 years, 5 months
JBoss Tools SVN: r11867 - in trunk/seam: tests/org.jboss.tools.seam.ui.test/projects/TestSeamELContentAssist/WebContent and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2008-11-18 10:02:41 -0500 (Tue, 18 Nov 2008)
New Revision: 11867
Added:
trunk/seam/tests/org.jboss.tools.seam.ui.test/projects/TestSeamELContentAssist/WebContent/frameworkComponents.xhtml
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamExpressionResolver.java
trunk/seam/tests/org.jboss.tools.seam.ui.test/projects/TestSeamELContentAssist/WebContent/WEB-INF/components.xml
trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/ca/SeamELContentAssistTest.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-3213 Fixed
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamExpressionResolver.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamExpressionResolver.java 2008-11-18 14:42:23 UTC (rev 11866)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamExpressionResolver.java 2008-11-18 15:02:41 UTC (rev 11867)
@@ -17,6 +17,7 @@
import java.util.Set;
import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.IMember;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaModelException;
@@ -25,6 +26,8 @@
import org.jboss.tools.common.el.core.resolver.TypeInfoCollector.Type;
import org.jboss.tools.common.el.core.resolver.TypeInfoCollector.TypeInfo;
import org.jboss.tools.common.el.core.resolver.TypeInfoCollector.TypeMemberInfo;
+import org.jboss.tools.common.model.util.EclipseJavaUtil;
+import org.jboss.tools.common.model.util.EclipseResourceUtil;
import org.jboss.tools.seam.core.BijectedAttributeType;
import org.jboss.tools.seam.core.IBijectedAttribute;
import org.jboss.tools.seam.core.ISeamComponent;
@@ -265,7 +268,7 @@
}
if (variable instanceof ISeamComponent) {
ISeamComponent component = (ISeamComponent)variable;
-
+
// Use UNWRAP method type instead of ISeamComponent type if it exists
IMember unwrapSourceMember = null;
for (ISeamComponentMethod method : component.getMethods()) {
@@ -280,6 +283,20 @@
ISeamJavaComponentDeclaration decl = component.getJavaDeclaration();
if (decl != null) {
member = TypeInfoCollector.createMemberInfo(decl.getSourceMember());
+ } else {
+ // Maybe it is framework component? Then let's try to find the class of it.
+ String className = component.getClassName();
+ if(className!=null) {
+ IJavaProject project = EclipseResourceUtil.getJavaProject(component.getSeamProject().getProject());
+ try {
+ IType type = project.findType(className);
+ if(type!=null) {
+ member = TypeInfoCollector.createMemberInfo(type);
+ }
+ } catch (JavaModelException e) {
+ SeamCorePlugin.getDefault().logError(e);
+ }
+ }
}
}
}
Modified: trunk/seam/tests/org.jboss.tools.seam.ui.test/projects/TestSeamELContentAssist/WebContent/WEB-INF/components.xml
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.ui.test/projects/TestSeamELContentAssist/WebContent/WEB-INF/components.xml 2008-11-18 14:42:23 UTC (rev 11866)
+++ trunk/seam/tests/org.jboss.tools.seam.ui.test/projects/TestSeamELContentAssist/WebContent/WEB-INF/components.xml 2008-11-18 15:02:41 UTC (rev 11867)
@@ -5,11 +5,13 @@
xmlns:security="http://jboss.com/products/seam/security"
xmlns:mail="http://jboss.com/products/seam/mail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:framework="http://jboss.com/products/seam/framework"
xsi:schemaLocation=
"http://jboss.com/products/seam/core http://jboss.com/products/seam/core-1.1.xsd
http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-1.1.xsd
http://jboss.com/products/seam/security http://jboss.com/products/seam/security-1.1.xsd
http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-1.2.xsd
+ http://jboss.com/products/seam/framework http://jboss.com/products/seam/framework-1.2.xsd
http://jboss.com/products/seam/components http://jboss.com/products/seam/components-1.1.xsd">
<core:init debug="true" jndi-pattern="@jndiPattern@"/>
@@ -44,7 +46,9 @@
</event>
<mail:mail-session host="localhost" port="2525" username="test" password="test" />
-
+
+ <framework:entity-query name="fullPostList" ejbql="select post from Post post" order="date desc" max-results="20"/>
+
<!-- For use with jBPM pageflow or process management -->
<!--
<core:jbpm>
@@ -52,5 +56,5 @@
<core:pageflow-definitions></core:pageflow-definitions>
</core:jbpm>
-->
-
-</components>
+
+</components>
\ No newline at end of file
Added: trunk/seam/tests/org.jboss.tools.seam.ui.test/projects/TestSeamELContentAssist/WebContent/frameworkComponents.xhtml
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.ui.test/projects/TestSeamELContentAssist/WebContent/frameworkComponents.xhtml (rev 0)
+++ trunk/seam/tests/org.jboss.tools.seam.ui.test/projects/TestSeamELContentAssist/WebContent/frameworkComponents.xhtml 2008-11-18 15:02:41 UTC (rev 11867)
@@ -0,0 +1,19 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:s="http://jboss.com/products/seam/taglib"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:rich="http://richfaces.ajax4jsf.org/rich"
+ template="layout/template.xhtml">
+
+<ui:define name="body">
+
+ <h:messages globalOnly="true" styleClass="message"/>
+
+ <h:dataTable var="post" value="#{fullPostList.resultList}">
+ </h:dataTable>
+
+</ui:define>
+</ui:composition>
\ No newline at end of file
Property changes on: trunk/seam/tests/org.jboss.tools.seam.ui.test/projects/TestSeamELContentAssist/WebContent/frameworkComponents.xhtml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/ca/SeamELContentAssistTest.java
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/ca/SeamELContentAssistTest.java 2008-11-18 14:42:23 UTC (rev 11866)
+++ trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/ca/SeamELContentAssistTest.java 2008-11-18 15:02:41 UTC (rev 11867)
@@ -54,6 +54,14 @@
}
/**
+ * Test for https://jira.jboss.org/jira/browse/JBIDE-3213
+ */
+ public void testFrameworkComponents() {
+ assertTrue("Test project \"" + PROJECT_NAME + "\" is not loaded", (project != null));
+ checkProposals("/WebContent/frameworkComponents.xhtml", 684, new String[]{"fullPostList.resultList", "fullPostList.next"}, false);
+ }
+
+ /**
* Test for http://jira.jboss.com/jira/browse/JBIDE-1258
*/
public void testMessages() {
17 years, 5 months
JBoss Tools SVN: r11866 - trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/views/properties.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2008-11-18 09:42:23 -0500 (Tue, 18 Nov 2008)
New Revision: 11866
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/views/properties/SeamELAttributeContentProposalProvider.java
Log:
JBIDE-2575
Modified: trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/views/properties/SeamELAttributeContentProposalProvider.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/views/properties/SeamELAttributeContentProposalProvider.java 2008-11-18 14:41:59 UTC (rev 11865)
+++ trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/views/properties/SeamELAttributeContentProposalProvider.java 2008-11-18 14:42:23 UTC (rev 11866)
@@ -20,6 +20,7 @@
import org.eclipse.jface.fieldassist.IContentProposal;
import org.eclipse.jface.fieldassist.IContentProposalProvider;
import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.viewers.LabelProvider;
import org.jboss.tools.common.el.core.model.ELInstance;
import org.jboss.tools.common.el.core.model.ELInvocationExpression;
import org.jboss.tools.common.el.core.model.ELModel;
@@ -171,4 +172,8 @@
engine = null;
}
+ public LabelProvider getCustomLabelProbider() {
+ return null;
+ }
+
}
17 years, 5 months
JBoss Tools SVN: r11865 - in trunk/common/plugins/org.jboss.tools.common.model.ui: META-INF and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2008-11-18 09:41:59 -0500 (Tue, 18 Nov 2008)
New Revision: 11865
Added:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/adapter/JavaClassContentAssistProvider.java
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/META-INF/MANIFEST.MF
trunk/common/plugins/org.jboss.tools.common.model.ui/plugin.xml
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/AttributeContentProposalProviderFactory.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/IAttributeContentProposalProvider.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/adapter/DefaultTreeSelectionContentAssistProvider.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/JavaHyperlinkCellEditor.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/JavaHyperlinkCueLabelProvider.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/JavaHyperlinkLineFieldEditor.java
Log:
JBIDE-2575
Modified: trunk/common/plugins/org.jboss.tools.common.model.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.model.ui/META-INF/MANIFEST.MF 2008-11-18 14:35:26 UTC (rev 11864)
+++ trunk/common/plugins/org.jboss.tools.common.model.ui/META-INF/MANIFEST.MF 2008-11-18 14:41:59 UTC (rev 11865)
@@ -113,5 +113,6 @@
org.eclipse.ant.ui,
org.eclipse.core.expressions,
org.eclipse.core.filesystem,
- org.eclipse.wst.html.core
+ org.eclipse.wst.html.core,
+ org.eclipse.pde.ui
Bundle-Version: 2.0.0
Modified: trunk/common/plugins/org.jboss.tools.common.model.ui/plugin.xml
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.model.ui/plugin.xml 2008-11-18 14:35:26 UTC (rev 11864)
+++ trunk/common/plugins/org.jboss.tools.common.model.ui/plugin.xml 2008-11-18 14:41:59 UTC (rev 11865)
@@ -497,6 +497,7 @@
<extension
point="org.jboss.tools.common.model.ui.attributeContentProposalProviders">
<provider class="org.jboss.tools.common.model.ui.attribute.adapter.DefaultTreeSelectionContentAssistProvider"/>
+ <provider class="org.jboss.tools.common.model.ui.attribute.adapter.JavaClassContentAssistProvider"/>
</extension>
</plugin>
Modified: trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/AttributeContentProposalProviderFactory.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/AttributeContentProposalProviderFactory.java 2008-11-18 14:35:26 UTC (rev 11864)
+++ trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/AttributeContentProposalProviderFactory.java 2008-11-18 14:41:59 UTC (rev 11865)
@@ -29,9 +29,11 @@
import org.eclipse.jface.fieldassist.IContentProposalProvider;
import org.eclipse.jface.fieldassist.IControlContentAdapter;
import org.eclipse.jface.fieldassist.TextContentAdapter;
+import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Text;
@@ -107,7 +109,18 @@
}
if(added) {
int bits = SWT.TOP | SWT.LEFT;
- ControlDecoration controlDecoration = new ControlDecoration(control, bits);
+ ControlDecoration controlDecoration = new ControlDecoration(control, bits) {
+ public Image getImage() {
+ for (IAttributeContentProposalProvider p : ps) {
+ LabelProvider lp = p.getCustomLabelProbider();
+ if(lp != null) {
+ Image image = lp.getImage(getControl());
+ if(image != null) return image;
+ }
+ }
+ return super.getImage();
+ }
+ };
// Configure text widget decoration
// No margin
controlDecoration.setMarginWidth(0);
@@ -147,11 +160,6 @@
}
}
- if(false) {
- //Test
- result.add(new TestAttributeContentProposalProvider());
- }
-
return result;
}
@@ -176,44 +184,3 @@
}
}
-
-/**
- * Example
- * @author glory
- *
- */
-class TestAttributeContentProposalProvider implements IAttributeContentProposalProvider {
-
- public boolean isRelevant(XModelObject object, XAttribute attribute) {
- return true;
- }
-
- public void init(XModelObject object, XAttribute attribute) {
- }
-
- public IContentProposalProvider getContentProposalProvider() {
- IContentProposalProvider cpp = new IContentProposalProvider() {
-
- public IContentProposal[] getProposals(String contents,
- int position) {
- ArrayList<IContentProposal> ps = new ArrayList<IContentProposal>();
-
- if(position <= contents.length() && position > 3 && "test".equals(contents.substring(position - 4, position))) {
- ps.add(AttributeContentProposalProviderFactory.makeContentProposal("aaa", ".aaa"));
- }
-
- return ps.toArray(new IContentProposal[0]);
- }
-
- };
- return cpp;
- }
-
- public int getProposalAcceptanceStyle() {
- return ContentProposalAdapter.PROPOSAL_INSERT;
- }
-
- public void dispose() {
- }
-
-}
\ No newline at end of file
Modified: trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/IAttributeContentProposalProvider.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/IAttributeContentProposalProvider.java 2008-11-18 14:35:26 UTC (rev 11864)
+++ trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/IAttributeContentProposalProvider.java 2008-11-18 14:41:59 UTC (rev 11865)
@@ -11,6 +11,7 @@
package org.jboss.tools.common.model.ui.attribute;
import org.eclipse.jface.fieldassist.IContentProposalProvider;
+import org.eclipse.jface.viewers.LabelProvider;
import org.jboss.tools.common.meta.XAttribute;
import org.jboss.tools.common.model.XModelObject;
@@ -24,6 +25,8 @@
public void init(XModelObject object, XAttribute attribute);
public IContentProposalProvider getContentProposalProvider();
+
+ public LabelProvider getCustomLabelProbider();
/**
* ContentProposalAdapter.PROPOSAL_INSERT
Modified: trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/adapter/DefaultTreeSelectionContentAssistProvider.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/adapter/DefaultTreeSelectionContentAssistProvider.java 2008-11-18 14:35:26 UTC (rev 11864)
+++ trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/adapter/DefaultTreeSelectionContentAssistProvider.java 2008-11-18 14:41:59 UTC (rev 11865)
@@ -14,6 +14,7 @@
import org.eclipse.jface.fieldassist.ContentProposalAdapter;
import org.eclipse.jface.fieldassist.IContentProposal;
import org.eclipse.jface.fieldassist.IContentProposalProvider;
+import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import org.jboss.tools.common.meta.XAttribute;
import org.jboss.tools.common.model.*;
@@ -102,6 +103,10 @@
treeProvider = new DefaultXAttributeTreeContentProvider(attribute, object.getModel(), object);
}
+ public LabelProvider getCustomLabelProbider() {
+ return null;
+ }
+
public void dispose() {
object = null;
attribute = null;
Added: trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/adapter/JavaClassContentAssistProvider.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/adapter/JavaClassContentAssistProvider.java (rev 0)
+++ trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/adapter/JavaClassContentAssistProvider.java 2008-11-18 14:41:59 UTC (rev 11865)
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2007 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.common.model.ui.attribute.adapter;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jdt.core.search.IJavaSearchConstants;
+import org.eclipse.jface.fieldassist.ContentProposalAdapter;
+import org.eclipse.jface.fieldassist.IContentProposalProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.pde.internal.ui.editor.contentassist.TypeContentProposalProvider;
+import org.jboss.tools.common.meta.XAttribute;
+import org.jboss.tools.common.model.XModelObject;
+import org.jboss.tools.common.model.ui.attribute.IAttributeContentProposalProvider;
+import org.jboss.tools.common.model.ui.attribute.editor.JavaHyperlinkCueLabelProvider;
+
+public class JavaClassContentAssistProvider implements
+ IAttributeContentProposalProvider {
+ XModelObject object;
+ XAttribute attribute;
+
+ public IContentProposalProvider getContentProposalProvider() {
+ IProject project = (IProject)object.getModel().getProperties().get("project");
+ return (project == null) ? null : new TypeContentProposalProvider(project, IJavaSearchConstants.TYPE);
+ }
+
+ public int getProposalAcceptanceStyle() {
+ return ContentProposalAdapter.PROPOSAL_REPLACE;
+ }
+
+ public void init(XModelObject object, XAttribute attribute) {
+ this.object = object;
+ this.attribute = attribute;
+ }
+
+ public boolean isRelevant(XModelObject object, XAttribute attribute) {
+ if(object == null || attribute == null) return false;
+ String editorName = attribute.getEditor().getName();
+ return editorName != null && editorName.indexOf("AccessibleJava") >= 0;
+ }
+
+ public LabelProvider getCustomLabelProbider() {
+ return JavaHyperlinkCueLabelProvider.INSTANCE;
+ }
+
+ public void dispose() {
+ this.object = null;
+ this.attribute = null;
+ }
+
+}
Modified: trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/JavaHyperlinkCellEditor.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/JavaHyperlinkCellEditor.java 2008-11-18 14:35:26 UTC (rev 11864)
+++ trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/JavaHyperlinkCellEditor.java 2008-11-18 14:41:59 UTC (rev 11865)
@@ -93,6 +93,18 @@
String textCache = null;
long timeStamp = -1;
+ public boolean canCreateClass() {
+ String text = (getTextField() != null) ? getTextField().getText()
+ : (valueProvider != null) ? valueProvider.getStringValue(true) : null;
+ if(text == null) return false;
+ if(text.length() == 0) return true;
+ for (int i = 0; i < text.length(); i++) {
+ char ch = text.charAt(i);
+ if(ch != '.' && !Character.isJavaIdentifierPart(ch)) return false;
+ }
+ return true;
+ }
+
public boolean classExists() {
String text = (getTextField() != null) ? getTextField().getText()
: (valueProvider != null) ? valueProvider.getStringValue(true) : null;
Modified: trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/JavaHyperlinkCueLabelProvider.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/JavaHyperlinkCueLabelProvider.java 2008-11-18 14:35:26 UTC (rev 11864)
+++ trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/JavaHyperlinkCueLabelProvider.java 2008-11-18 14:41:59 UTC (rev 11865)
@@ -20,6 +20,7 @@
public interface JavaClassHolder {
public boolean classExists();
+ public boolean canCreateClass();
}
static Image createClassImage() {
@@ -38,7 +39,7 @@
Text text = (Text)element;
if(text.isDisposed()) return null;
JavaClassHolder editor = (JavaClassHolder)text.getData("JavaHyperlinkLineFieldEditor");
- return (editor == null || editor.classExists()) ? null : CLASS_IMAGE;
+ return (editor == null || editor.classExists() || !editor.canCreateClass()) ? null : CLASS_IMAGE;
}
}
Modified: trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/JavaHyperlinkLineFieldEditor.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/JavaHyperlinkLineFieldEditor.java 2008-11-18 14:35:26 UTC (rev 11864)
+++ trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/JavaHyperlinkLineFieldEditor.java 2008-11-18 14:41:59 UTC (rev 11865)
@@ -203,30 +203,30 @@
return control;
}
-
public Control createTextControl(Composite parent) {
Control control = super.createTextControl(parent);
- IPackageFragmentRoot root = (project == null) ? null : JavaAdapter.getInstance().getPackageFragmentRoot(project);
- if (root != null) {
- String pkg = null;
- if(cpp != null) {
- pkg = cpp.getContextPackage();
- }
- if(pkg == null) pkg = "";
- JavaTypeCompletionProcessor contentAssistentProcessor = new JavaTypeCompletionProcessor(false, false, pkg.length() == 0);
- IPackageFragment currentPackage = root.getPackageFragment(pkg);
- contentAssistentProcessor.setPackageFragment(currentPackage);
- Text text = getTextField();
- text.setData("JavaHyperlinkLineFieldEditor", this);
- ControlContentAssistHelper.createTextContentAssistant(getTextField(), contentAssistentProcessor, JavaHyperlinkCueLabelProvider.INSTANCE);
- }
- return control;
+ Text text = getTextField();
+ text.setData("JavaHyperlinkLineFieldEditor", this);
+
+ return control;
}
boolean classExists;
String textCache = null;
long timeStamp = -1;
-
+
+ public boolean canCreateClass() {
+ String text = (getTextField() != null) ? getTextField().getText()
+ : (valueProvider != null) ? valueProvider.getStringValue(true) : null;
+ if(text == null) return false;
+ if(text.length() == 0) return true;
+ for (int i = 0; i < text.length(); i++) {
+ char ch = text.charAt(i);
+ if(ch != '.' && !Character.isJavaIdentifierPart(ch)) return false;
+ }
+ return true;
+ }
+
public boolean classExists() {
String text = (getTextField() != null) ? getTextField().getText()
: (valueProvider != null) ? valueProvider.getStringValue(true) : null;
17 years, 5 months
JBoss Tools SVN: r11864 - trunk/jst/plugins/org.jboss.tools.jst.jsp.
by jbosstools-commits@lists.jboss.org
Author: mareshkau
Date: 2008-11-18 09:35:26 -0500 (Tue, 18 Nov 2008)
New Revision: 11864
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/plugin.xml
Log:
JBIDE-3081
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/plugin.xml
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/plugin.xml 2008-11-18 14:20:24 UTC (rev 11863)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/plugin.xml 2008-11-18 14:35:26 UTC (rev 11864)
@@ -173,6 +173,7 @@
class="org.eclipse.wst.xml.ui.internal.actions.ToggleCommentActionXMLDelegate"
definitionId="org.eclipse.wst.sse.ui.toggle.comment"
id="ToggleComment"
+ menubarPath="sourceMenuId/sourceBegin"
label="Toggle Comment">
</action>
</editorContribution>
@@ -184,6 +185,7 @@
class="org.eclipse.wst.xml.ui.internal.actions.AddBlockCommentActionXMLDelegate"
definitionId="org.eclipse.wst.sse.ui.add.block.comment"
id="AddBlockComment"
+ menubarPath="sourceMenuId/sourceBegin"
label="Add Block Comment">
</action>
</editorContribution>
@@ -195,6 +197,7 @@
class="org.eclipse.wst.xml.ui.internal.actions.RemoveBlockCommentActionXMLDelegate"
definitionId="org.eclipse.wst.sse.ui.remove.block.comment"
id="RemoveBlockComment"
+ menubarPath="sourceMenuId/sourceBegin"
label="Remove Block Comment">
</action>
</editorContribution>
@@ -207,6 +210,7 @@
class="org.eclipse.wst.xml.ui.internal.actions.ToggleCommentActionXMLDelegate"
definitionId="org.eclipse.wst.sse.ui.toggle.comment"
id="ToggleComment"
+ menubarPath="sourceMenuId/sourceBegin"
label="Toggle Comment">
</action>
</editorContribution>
@@ -218,6 +222,7 @@
class="org.eclipse.wst.xml.ui.internal.actions.AddBlockCommentActionXMLDelegate"
definitionId="org.eclipse.wst.sse.ui.add.block.comment"
id="AddBlockComment"
+ menubarPath="sourceMenuId/sourceBegin"
label="Add Block Comment">
</action>
</editorContribution>
@@ -229,6 +234,7 @@
class="org.eclipse.wst.xml.ui.internal.actions.RemoveBlockCommentActionXMLDelegate"
definitionId="org.eclipse.wst.sse.ui.remove.block.comment"
id="RemoveBlockComment"
+ menubarPath="sourceMenuId/sourceBegin"
label="Remove Block Comment">
</action>
</editorContribution>
17 years, 5 months