JBoss Tools SVN: r43475 - in workspace/akazakov/db/org.jboss.tools.common.db: META-INF and 9 other directories.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2012-09-06 15:31:40 -0400 (Thu, 06 Sep 2012)
New Revision: 43475
Added:
workspace/akazakov/db/org.jboss.tools.common.db/.classpath
workspace/akazakov/db/org.jboss.tools.common.db/.project
workspace/akazakov/db/org.jboss.tools.common.db/META-INF/
workspace/akazakov/db/org.jboss.tools.common.db/META-INF/MANIFEST.MF
workspace/akazakov/db/org.jboss.tools.common.db/build.properties
workspace/akazakov/db/org.jboss.tools.common.db/lib/
workspace/akazakov/db/org.jboss.tools.common.db/lib/antlr-2.7.7.jar
workspace/akazakov/db/org.jboss.tools.common.db/lib/derby.jar
workspace/akazakov/db/org.jboss.tools.common.db/lib/derbyclient.jar
workspace/akazakov/db/org.jboss.tools.common.db/lib/derbynet.jar
workspace/akazakov/db/org.jboss.tools.common.db/lib/derbytools.jar
workspace/akazakov/db/org.jboss.tools.common.db/lib/dom4j-1.6.1.jar
workspace/akazakov/db/org.jboss.tools.common.db/lib/hibernate-commons-annotations-4.0.1.Final.jar
workspace/akazakov/db/org.jboss.tools.common.db/lib/hibernate-core-4.1.6.Final.jar
workspace/akazakov/db/org.jboss.tools.common.db/lib/hibernate-entitymanager-4.1.6.Final.jar
workspace/akazakov/db/org.jboss.tools.common.db/lib/hibernate-jpa-2.0-api-1.0.1.Final.jar
workspace/akazakov/db/org.jboss.tools.common.db/lib/javassist-3.15.0-GA.jar
workspace/akazakov/db/org.jboss.tools.common.db/lib/jboss-logging-3.1.0.GA.jar
workspace/akazakov/db/org.jboss.tools.common.db/lib/jboss-transaction-api_1.1_spec-1.0.0.Final.jar
workspace/akazakov/db/org.jboss.tools.common.db/plugin.xml
workspace/akazakov/db/org.jboss.tools.common.db/src/
workspace/akazakov/db/org.jboss.tools.common.db/src/META-INF/
workspace/akazakov/db/org.jboss.tools.common.db/src/META-INF/persistence.xml
workspace/akazakov/db/org.jboss.tools.common.db/src/org/
workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/
workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/
workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/
workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/
workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/CommonDbPlugin.java
workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/DBManager.java
workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/test/
workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/test/ModelObject.java
workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/test/StartDBAction.java
Log:
Share project "org.jboss.tools.common.db" into "https://svn.jboss.org/repos/jbosstools"
https://issues.jboss.org/browse/JBIDE-12446
Added: workspace/akazakov/db/org.jboss.tools.common.db/.classpath
===================================================================
--- workspace/akazakov/db/org.jboss.tools.common.db/.classpath (rev 0)
+++ workspace/akazakov/db/org.jboss.tools.common.db/.classpath 2012-09-06 19:31:40 UTC (rev 43475)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="lib" path="lib/derby.jar"/>
+ <classpathentry kind="lib" path="lib/derbyclient.jar"/>
+ <classpathentry kind="lib" path="lib/derbynet.jar"/>
+ <classpathentry kind="lib" path="lib/derbytools.jar"/>
+ <classpathentry kind="lib" path="lib/antlr-2.7.7.jar"/>
+ <classpathentry kind="lib" path="lib/dom4j-1.6.1.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate-commons-annotations-4.0.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate-core-4.1.6.Final.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate-entitymanager-4.1.6.Final.jar" sourcepath="/home/igels/Downloads/Java/JBoss/Hibernate/hibernate-release-4.1.6.Final/project"/>
+ <classpathentry kind="lib" path="lib/hibernate-jpa-2.0-api-1.0.1.Final.jar" sourcepath="/home/igels/Downloads/Java/JBoss/Hibernate/geronimo-jpa_2.0_spec-1.1-sources.jar">
+ <attributes>
+ <attribute name="javadoc_location" value="jar:file:/home/igels/Downloads/Java/JBoss/Hibernate/geronimo-jpa_2.0_spec-1.1-javadoc.jar!/"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="lib" path="lib/javassist-3.15.0-GA.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-logging-3.1.0.GA.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-transaction-api_1.1_spec-1.0.0.Final.jar"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/.classpath
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: workspace/akazakov/db/org.jboss.tools.common.db/.project
===================================================================
--- workspace/akazakov/db/org.jboss.tools.common.db/.project (rev 0)
+++ workspace/akazakov/db/org.jboss.tools.common.db/.project 2012-09-06 19:31:40 UTC (rev 43475)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.jboss.tools.common.db</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: workspace/akazakov/db/org.jboss.tools.common.db/.project
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: workspace/akazakov/db/org.jboss.tools.common.db/META-INF/MANIFEST.MF
===================================================================
--- workspace/akazakov/db/org.jboss.tools.common.db/META-INF/MANIFEST.MF (rev 0)
+++ workspace/akazakov/db/org.jboss.tools.common.db/META-INF/MANIFEST.MF 2012-09-06 19:31:40 UTC (rev 43475)
@@ -0,0 +1,27 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: CommonDb
+Bundle-SymbolicName: org.jboss.tools.common.db;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.jboss.tools.common.db.CommonDbPlugin
+Bundle-Vendor: Red Hat, Inc.
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.ui;bundle-version="3.7.0",
+ org.jboss.tools.common
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Export-Package: org.jboss.tools.common.db
+Bundle-ClassPath: .,
+ lib/antlr-2.7.7.jar,
+ lib/derby.jar,
+ lib/derbyclient.jar,
+ lib/derbynet.jar,
+ lib/derbytools.jar,
+ lib/dom4j-1.6.1.jar,
+ lib/hibernate-commons-annotations-4.0.1.Final.jar,
+ lib/hibernate-core-4.1.6.Final.jar,
+ lib/hibernate-entitymanager-4.1.6.Final.jar,
+ lib/hibernate-jpa-2.0-api-1.0.1.Final.jar,
+ lib/javassist-3.15.0-GA.jar,
+ lib/jboss-logging-3.1.0.GA.jar,
+ lib/jboss-transaction-api_1.1_spec-1.0.0.Final.jar
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/META-INF/MANIFEST.MF
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: workspace/akazakov/db/org.jboss.tools.common.db/build.properties
===================================================================
--- workspace/akazakov/db/org.jboss.tools.common.db/build.properties (rev 0)
+++ workspace/akazakov/db/org.jboss.tools.common.db/build.properties 2012-09-06 19:31:40 UTC (rev 43475)
@@ -0,0 +1,18 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ lib/antlr-2.7.7.jar,\
+ lib/derby.jar,\
+ lib/derbyclient.jar,\
+ lib/derbynet.jar,\
+ lib/derbytools.jar,\
+ lib/dom4j-1.6.1.jar,\
+ lib/hibernate-commons-annotations-4.0.1.Final.jar,\
+ lib/hibernate-core-4.1.6.Final.jar,\
+ lib/hibernate-entitymanager-4.1.6.Final.jar,\
+ lib/hibernate-jpa-2.0-api-1.0.1.Final.jar,\
+ lib/javassist-3.15.0-GA.jar,\
+ lib/jboss-logging-3.1.0.GA.jar,\
+ lib/jboss-transaction-api_1.1_spec-1.0.0.Final.jar
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/build.properties
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: workspace/akazakov/db/org.jboss.tools.common.db/lib/antlr-2.7.7.jar
===================================================================
(Binary files differ)
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/lib/antlr-2.7.7.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: workspace/akazakov/db/org.jboss.tools.common.db/lib/derby.jar
===================================================================
(Binary files differ)
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/lib/derby.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: workspace/akazakov/db/org.jboss.tools.common.db/lib/derbyclient.jar
===================================================================
(Binary files differ)
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/lib/derbyclient.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: workspace/akazakov/db/org.jboss.tools.common.db/lib/derbynet.jar
===================================================================
(Binary files differ)
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/lib/derbynet.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: workspace/akazakov/db/org.jboss.tools.common.db/lib/derbytools.jar
===================================================================
(Binary files differ)
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/lib/derbytools.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: workspace/akazakov/db/org.jboss.tools.common.db/lib/dom4j-1.6.1.jar
===================================================================
(Binary files differ)
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/lib/dom4j-1.6.1.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: workspace/akazakov/db/org.jboss.tools.common.db/lib/hibernate-commons-annotations-4.0.1.Final.jar
===================================================================
(Binary files differ)
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/lib/hibernate-commons-annotations-4.0.1.Final.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: workspace/akazakov/db/org.jboss.tools.common.db/lib/hibernate-core-4.1.6.Final.jar
===================================================================
(Binary files differ)
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/lib/hibernate-core-4.1.6.Final.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: workspace/akazakov/db/org.jboss.tools.common.db/lib/hibernate-entitymanager-4.1.6.Final.jar
===================================================================
(Binary files differ)
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/lib/hibernate-entitymanager-4.1.6.Final.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: workspace/akazakov/db/org.jboss.tools.common.db/lib/hibernate-jpa-2.0-api-1.0.1.Final.jar
===================================================================
(Binary files differ)
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/lib/hibernate-jpa-2.0-api-1.0.1.Final.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: workspace/akazakov/db/org.jboss.tools.common.db/lib/javassist-3.15.0-GA.jar
===================================================================
(Binary files differ)
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/lib/javassist-3.15.0-GA.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: workspace/akazakov/db/org.jboss.tools.common.db/lib/jboss-logging-3.1.0.GA.jar
===================================================================
(Binary files differ)
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/lib/jboss-logging-3.1.0.GA.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: workspace/akazakov/db/org.jboss.tools.common.db/lib/jboss-transaction-api_1.1_spec-1.0.0.Final.jar
===================================================================
(Binary files differ)
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/lib/jboss-transaction-api_1.1_spec-1.0.0.Final.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: workspace/akazakov/db/org.jboss.tools.common.db/plugin.xml
===================================================================
--- workspace/akazakov/db/org.jboss.tools.common.db/plugin.xml (rev 0)
+++ workspace/akazakov/db/org.jboss.tools.common.db/plugin.xml 2012-09-06 19:31:40 UTC (rev 43475)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ categoryId="org.eclipse.ui.category.navigate"
+ description="Common DB"
+ id="org.jboss.tools.common.db.action"
+ name="Common DB">
+ </command>
+ </extension>
+
+ <extension
+ point="org.eclipse.ui.actionSets">
+ <actionSet
+ description="Common DB"
+ id="org.jboss.tools.common.db.actionSet"
+ label="Common DB"
+ visible="true">
+ <action id="runDB"
+ style="push"
+ label="CommonD DB"
+ definitionId="org.jboss.tools.common.db.test"
+ menubarPath="navigate/open.ext2"
+ class="org.jboss.tools.common.db.test.StartDBAction">
+ </action>
+ </actionSet>
+ </extension>
+
+</plugin>
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/plugin.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: workspace/akazakov/db/org.jboss.tools.common.db/src/META-INF/persistence.xml
===================================================================
--- workspace/akazakov/db/org.jboss.tools.common.db/src/META-INF/persistence.xml (rev 0)
+++ workspace/akazakov/db/org.jboss.tools.common.db/src/META-INF/persistence.xml 2012-09-06 19:31:40 UTC (rev 43475)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Persistence deployment descriptor for dev profile -->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
+ version="2.0">
+
+ <persistence-unit name="orgJbossToolsCommonDbEntityManagerFactory" transaction-type="RESOURCE_LOCAL">
+ <provider>org.hibernate.ejb.HibernatePersistence</provider>
+ <!--jta-data-source>java:/orgJbossToolsCommonDbDatasource</jta-data-source-->
+ <properties>
+ <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
+
+ <property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>
+ <!--property name="hibernate.hbm2ddl.auto" value="update"/-->
+ <property name="hibernate.hbm2ddl.auto" value="create">
+ <property name="hibernate.show_sql" value="true"/>
+ <property name="hibernate.format_sql" value="true"/>
+ <!--property name="jboss.entity.manager.factory.jndi.name" value="java:/orgJbossToolsCommonDbEntityManagerFactory"/-->
+ </properties>
+ </persistence-unit>
+
+</persistence>
\ No newline at end of file
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/src/META-INF/persistence.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/CommonDbPlugin.java
===================================================================
--- workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/CommonDbPlugin.java (rev 0)
+++ workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/CommonDbPlugin.java 2012-09-06 19:31:40 UTC (rev 43475)
@@ -0,0 +1,49 @@
+package org.jboss.tools.common.db;
+
+import java.sql.SQLException;
+
+import org.eclipse.swt.widgets.Display;
+import org.jboss.tools.common.log.BaseUIPlugin;
+import org.osgi.framework.BundleContext;
+
+public class CommonDbPlugin extends BaseUIPlugin {
+
+ public static final String PLUGIN_ID = "org.jboss.tools.cdi.core";
+
+ private static CommonDbPlugin plugin;
+
+ public CommonDbPlugin() {
+ plugin = this;
+ }
+
+ public static CommonDbPlugin getDefault() {
+ return plugin;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext bundleContext) throws Exception {
+ super.start(bundleContext);
+ Display.getDefault().asyncExec(new Runnable() {
+ public void run() {
+ try {
+ DBManager.getInstance().start();
+ } catch (InstantiationException | IllegalAccessException
+ | ClassNotFoundException | SQLException e) {
+ logError(e);
+ }
+ }
+ });
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext bundleContext) throws Exception {
+ DBManager.getInstance().stop();
+ super.stop(bundleContext);
+ }
+}
\ No newline at end of file
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/CommonDbPlugin.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/DBManager.java
===================================================================
--- workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/DBManager.java (rev 0)
+++ workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/DBManager.java 2012-09-06 19:31:40 UTC (rev 43475)
@@ -0,0 +1,116 @@
+/*******************************************************************************
+ * Copyright (c) 2012 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.db;
+
+import java.io.File;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+
+import org.eclipse.core.runtime.IPath;
+import org.hibernate.ejb.Ejb3Configuration;
+import org.jboss.tools.common.db.test.ModelObject;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class DBManager {
+
+ private static final String entityManagerFactoryName = "orgJbossToolsCommonDbEntityManagerFactory";
+ private static final String driver = "org.apache.derby.jdbc.ClientDriver";
+ private static final String protocol = "jdbc:derby:";
+ private static final String dbName = "DB/derbyDB";
+ // String protocol = "jdbc:derby:";
+
+ private static DBManager instance = new DBManager();
+
+ private static boolean started;
+ private String url;
+
+ private EntityManagerFactory emf;
+// private EntityManager em;
+
+ private DBManager() {
+ }
+
+ public static DBManager getInstance() {
+ return instance;
+ }
+
+ public synchronized void start() throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException {
+ if(started) {
+ return;
+ }
+ CommonDbPlugin.getDefault().getBundle().loadClass(driver).newInstance();
+ Properties props = new Properties();
+ CommonDbPlugin plugin = CommonDbPlugin.getDefault();
+ //The plug-in instance can be null at shutdown, when the plug-in is stopped.
+ IPath path = plugin.getStateLocation();
+ File file = new File(path.toFile(), dbName); //$NON-NLS-1$
+ String location = file.getAbsolutePath();
+ url = protocol + location + ";create=true";
+ Connection conn = DriverManager.getConnection(url, props);
+ conn.close();
+ started = true;
+ init();
+ }
+
+ public EntityManager createEntityManager() {
+ try {
+ start();
+ } catch (InstantiationException | IllegalAccessException
+ | ClassNotFoundException | SQLException e) {
+ CommonDbPlugin.getDefault().logError(e);
+ }
+ EntityManager em = emf.createEntityManager();
+ return em;
+ }
+
+ private void init() {
+ Map<String, Object> configOverrides = new HashMap<String, Object>();
+ configOverrides.put("javax.persistence.jdbc.url", url);
+
+// emf = Persistence.createEntityManagerFactory(entityManagerFactoryName, configOverrides);
+
+ Ejb3Configuration cfg = new Ejb3Configuration();
+ Ejb3Configuration configured = cfg.configure(entityManagerFactoryName, configOverrides);
+ configured.addAnnotatedClass(ModelObject.class);
+// configured.setProperty("javax.persistence.jdbc.driver", driver);
+// configured.setProperty("hibernate.dialect", "org.hibernate.dialect.DerbyDialect");
+// configured.setProperty("hibernate.hbm2ddl.auto", "create");
+// configured.setProperty("hibernate.show_sql", "true");
+// configured.setProperty("hibernate.format_sql", "true");
+ emf = configured.buildEntityManagerFactory();
+ }
+
+ public synchronized void stop() {
+ if(!started) {
+ return;
+ }
+ try {
+ emf.close();
+ DriverManager.getConnection("jdbc:derby:;shutdown=true");
+ } catch (SQLException e) {
+ if (((e.getErrorCode() != 50000) || (!"XJ015".equals(e.getSQLState()) ))) {
+ //"Derby did not shut down normally"
+ CommonDbPlugin.getDefault().logError(e);
+ } else {
+ started = false;
+ }
+ }
+ }
+}
\ No newline at end of file
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/DBManager.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/test/ModelObject.java
===================================================================
--- workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/test/ModelObject.java (rev 0)
+++ workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/test/ModelObject.java 2012-09-06 19:31:40 UTC (rev 43475)
@@ -0,0 +1,49 @@
+package org.jboss.tools.common.db.test;
+
+import java.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+
+@Entity
+public class ModelObject implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private long id;
+ private String name;
+
+ /**
+ * @return the id
+ */
+ @Id
+ @GeneratedValue
+ @Column
+ public long getId() {
+ return id;
+ }
+
+ /**
+ * @param id the id to set
+ */
+ public void setId(long id) {
+ this.id = id;
+ }
+
+ /**
+ * @return the name
+ */
+ @Column
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @param name the name to set
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+}
\ No newline at end of file
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/test/ModelObject.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/test/StartDBAction.java
===================================================================
--- workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/test/StartDBAction.java (rev 0)
+++ workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/test/StartDBAction.java 2012-09-06 19:31:40 UTC (rev 43475)
@@ -0,0 +1,46 @@
+package org.jboss.tools.common.db.test;
+
+import java.util.List;
+
+import javax.persistence.EntityManager;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.IWorkbenchWindowActionDelegate;
+import org.jboss.tools.common.db.DBManager;
+
+public class StartDBAction implements IWorkbenchWindowActionDelegate {
+
+ @Override
+ public void run(IAction action) {
+ EntityManager em = DBManager.getInstance().createEntityManager();
+ em.getTransaction().begin();
+ ModelObject mo = new ModelObject();
+ mo.setName("testObject");
+ em.persist(mo);
+ em.getTransaction().commit();
+
+ em.getTransaction().begin();
+ System.out.println("Quearing...");
+ List results = em.createQuery("select o from ModelObject o where o.name='testObject'").getResultList();
+ for (Object object : results) {
+ System.out.println(((ModelObject)object).getId() + ": " + ((ModelObject)object).getName());
+ }
+ em.getTransaction().commit();
+
+ em.close();
+ }
+
+ @Override
+ public void selectionChanged(IAction action, ISelection selection) {
+ }
+
+ @Override
+ public void dispose() {
+ }
+
+ @Override
+ public void init(IWorkbenchWindow window) {
+ }
+}
\ No newline at end of file
Property changes on: workspace/akazakov/db/org.jboss.tools.common.db/src/org/jboss/tools/common/db/test/StartDBAction.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
13 years, 7 months
JBoss Tools SVN: r43472 - in trunk: cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes and 8 other directories.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2012-09-06 13:54:33 -0400 (Thu, 06 Sep 2012)
New Revision: 43472
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/NonExistingAlternative.qfxresult
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/NonExistingDecorator.qfxresult
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/NonExistingInterceptor.qfxresult
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/NonExistingStereotype.qfxresult
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/CDIProblemMarkerResolutionGenerator.java
trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIQuickFixTest.java
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/marker/ConfigureProblemSeverityResolutionGenerator.java
trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/quickfix/BaseJavaHover.java
trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/java/TempJavaProblemAnnotation.java
trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/quickfix/IQuickFixGenerator.java
trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/quickfix/MarkerAnnotationInfo.java
trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/quickfix/QuickFixManager.java
trunk/common/tests/org.jboss.tools.common.base.test/src/org/jboss/tools/common/base/test/MarkerResolutionTestUtil.java
trunk/common/tests/org.jboss.tools.common.base.test/src/org/jboss/tools/common/base/test/QuickFixTestUtil.java
trunk/jsf/tests/org.jboss.tools.jsf.ui.test/src/org/jboss/tools/jsf/ui/test/JSPProblemMarkerResolutionTest.java
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/action/JSPProblemMarkerResolutionGenerator.java
Log:
Make CDI Quick Fixes work for As-You-Type validator annotations https://issues.jboss.org/browse/JBIDE-12328
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/CDIProblemMarkerResolutionGenerator.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/CDIProblemMarkerResolutionGenerator.java 2012-09-06 16:20:55 UTC (rev 43471)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/CDIProblemMarkerResolutionGenerator.java 2012-09-06 17:54:33 UTC (rev 43472)
@@ -33,6 +33,7 @@
import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.Position;
import org.eclipse.jface.text.source.Annotation;
import org.eclipse.ui.IMarkerResolution;
import org.eclipse.ui.IMarkerResolutionGenerator2;
@@ -1038,7 +1039,7 @@
}
@Override
- public boolean hasProposals(Annotation annotation) {
+ public boolean hasProposals(Annotation annotation, Position position) {
if(annotation instanceof TempJavaProblemAnnotation || annotation instanceof TemporaryAnnotation){
return true;
}
@@ -1046,14 +1047,14 @@
}
@Override
- public IJavaCompletionProposal[] getProposals(Annotation annotation) {
+ public IJavaCompletionProposal[] getProposals(Annotation annotation, Position position) {
if(annotation instanceof TempJavaProblemAnnotation){
TempJavaProblemAnnotation javaAnnotation = (TempJavaProblemAnnotation) annotation;
int messageId = javaAnnotation.getId() - TempJavaProblem.TEMP_PROBLEM_ID;
ICompilationUnit compilationUnit = javaAnnotation.getCompilationUnit();
if(compilationUnit != null){
- int start = javaAnnotation.getPosition();
+ int start = position.getOffset();
ICDIMarkerResolutionGeneratorExtension[] extensions = CDIQuickFixExtensionManager.getInstances();
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/NonExistingAlternative.qfxresult
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/NonExistingAlternative.qfxresult (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/NonExistingAlternative.qfxresult 2012-09-06 17:54:33 UTC (rev 43472)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://jboss.org/schema/cdi/beans_1_0.xsd">
+ <alternatives>
+ <class>
+ org.jboss.jsr299.tck.tests.policy.broken.incorrect.name.NonExistingClass
+ </class>
+ </alternatives>
+</beans>
\ No newline at end of file
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/NonExistingDecorator.qfxresult
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/NonExistingDecorator.qfxresult (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/NonExistingDecorator.qfxresult 2012-09-06 17:54:33 UTC (rev 43472)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://jboss.org/schema/cdi/beans_1_0.xsd">
+ <decorators>
+ <class>com.acme.NonExistingDecoratorClass</class>
+ </decorators>
+</beans>
\ No newline at end of file
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/NonExistingInterceptor.qfxresult
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/NonExistingInterceptor.qfxresult (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/NonExistingInterceptor.qfxresult 2012-09-06 17:54:33 UTC (rev 43472)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://jboss.org/schema/cdi/beans_1_0.xsd">
+ <interceptors>
+ <class>com.acme.NonExistingInterceptorClass</class>
+ </interceptors>
+</beans>
\ No newline at end of file
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/NonExistingStereotype.qfxresult
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/NonExistingStereotype.qfxresult (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/NonExistingStereotype.qfxresult 2012-09-06 17:54:33 UTC (rev 43472)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://jboss.org/schema/cdi/beans_1_0.xsd">
+ <alternatives>
+ <stereotype>
+ <!-- Some comment -->
+ org.jboss.jsr299.tck.tests.policy.broken.not.policy.stereotype.NotExistingStereotype
+ </stereotype>
+ </alternatives>
+</beans>
\ No newline at end of file
Modified: trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIQuickFixTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIQuickFixTest.java 2012-09-06 16:20:55 UTC (rev 43471)
+++ trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIQuickFixTest.java 2012-09-06 17:54:33 UTC (rev 43472)
@@ -1,6 +1,10 @@
package org.jboss.tools.cdi.ui.test.marker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.wst.validation.ValidationFramework;
import org.jboss.tools.cdi.core.test.tck.TCKTest;
import org.jboss.tools.cdi.internal.core.validation.CDIValidationErrorManager;
import org.jboss.tools.cdi.ui.marker.AddAnnotationMarkerResolution;
@@ -9,6 +13,7 @@
import org.jboss.tools.cdi.ui.marker.AddSerializableInterfaceMarkerResolution;
import org.jboss.tools.cdi.ui.marker.AddTargetAnnotationMarkerResolution;
import org.jboss.tools.cdi.ui.marker.ChangeAnnotationMarkerResolution;
+import org.jboss.tools.cdi.ui.marker.CreateCDIElementMarkerResolution;
import org.jboss.tools.cdi.ui.marker.DeleteAnnotationMarkerResolution;
import org.jboss.tools.cdi.ui.marker.MakeFieldStaticMarkerResolution;
import org.jboss.tools.cdi.ui.marker.MakeMethodPublicMarkerResolution;
@@ -17,77 +22,122 @@
public class CDIQuickFixTest extends TCKTest {
private QuickFixTestUtil util = new QuickFixTestUtil();
+// private static boolean isSuspendedValidationDefaultValue;
+// public void setUp() throws Exception {
+// super.setUp();
+// isSuspendedValidationDefaultValue = ValidationFramework.getDefault().isSuspended();
+// ValidationFramework.getDefault().suspendAllValidation(false);
+// tckProject.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+// tckProject.build(IncrementalProjectBuilder.FULL_BUILD, new NullProgressMonitor());
+// }
+//
+// public void tearDown() throws Exception {
+// ValidationFramework.getDefault().suspendAllValidation(isSuspendedValidationDefaultValue);
+// super.tearDown();
+// }
+
public void testMakeFieldStatic() throws CoreException {
- util.checkPrpposal(tckProject,
+ util.checkProposal(tckProject,
"JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/MakeFieldStatic.java",
"JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/MakeFieldStatic.qfxresult",
CDIValidationErrorManager.ILLEGAL_PRODUCER_FIELD_IN_SESSION_BEAN_ID,
- MakeFieldStaticMarkerResolution.class);
+ MakeFieldStaticMarkerResolution.class, true);
}
public void testAddLocalBeanResolution() throws CoreException {
- util.checkPrpposal(tckProject,
+ util.checkProposal(tckProject,
"JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/AddLocalBean.java",
"JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/AddLocalBean.qfxresult",
CDIValidationErrorManager.ILLEGAL_PRODUCER_METHOD_IN_SESSION_BEAN_ID,
- AddLocalBeanMarkerResolution.class);
+ AddLocalBeanMarkerResolution.class, true);
}
public void testMakeProducerMethodPublicResolution() throws CoreException {
- util.checkPrpposal(tckProject,
+ util.checkProposal(tckProject,
"JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/MakeMethodPublic.java",
"JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/MakeMethodPublic.qfxresult",
CDIValidationErrorManager.ILLEGAL_PRODUCER_METHOD_IN_SESSION_BEAN_ID,
- MakeMethodPublicMarkerResolution.class);
+ MakeMethodPublicMarkerResolution.class, true);
}
public void testAddSerializableInterfaceResolution() throws CoreException{
- util.checkPrpposal(tckProject,
+ util.checkProposal(tckProject,
"JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/AddSerializable.java",
"JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/AddSerializable.qfxresult",
CDIValidationErrorManager.NOT_PASSIVATION_CAPABLE_BEAN_ID,
- AddSerializableInterfaceMarkerResolution.class);
+ AddSerializableInterfaceMarkerResolution.class, true);
}
public void testAddRetentionToQualifierResolution() throws CoreException{
- util.checkPrpposal(tckProject,
+ util.checkProposal(tckProject,
"JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/AddRetention.java",
"JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/AddRetention.qfxresult",
CDIValidationErrorManager.MISSING_RETENTION_ANNOTATION_IN_QUALIFIER_TYPE_ID,
- AddRetentionAnnotationMarkerResolution.class);
+ AddRetentionAnnotationMarkerResolution.class, true);
}
public void testChangeRetentionToQualifierResolution() throws CoreException{
- util.checkPrpposal(tckProject,
+ util.checkProposal(tckProject,
"JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/ChangeAnnotation.java",
"JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/ChangeAnnotation.qfxresult",
CDIValidationErrorManager.MISSING_RETENTION_ANNOTATION_IN_QUALIFIER_TYPE_ID,
- ChangeAnnotationMarkerResolution.class);
+ ChangeAnnotationMarkerResolution.class, true);
}
public void testAddTargetToScopeResolution() throws CoreException{
- util.checkPrpposal(tckProject,
+ util.checkProposal(tckProject,
"JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/AddTarget.java",
"JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/AddTarget.qfxresult",
CDIValidationErrorManager.MISSING_TARGET_ANNOTATION_IN_SCOPE_TYPE_ID,
- AddTargetAnnotationMarkerResolution.class);
+ AddTargetAnnotationMarkerResolution.class, true);
}
public void testAddNonbindingToAnnotationMemberOfQualifierResolution() throws CoreException{
- util.checkPrpposal(tckProject,
+ util.checkProposal(tckProject,
"JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/AddAnnotation.java",
"JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/AddAnnotation.qfxresult",
CDIValidationErrorManager.MISSING_NONBINDING_FOR_ANNOTATION_VALUE_IN_QUALIFIER_TYPE_MEMBER_ID,
- AddAnnotationMarkerResolution.class);
+ AddAnnotationMarkerResolution.class, true);
}
public void testDeleteDisposesAnnotationFromParameterResolution() throws CoreException{
- util.checkPrpposal(tckProject,
+ util.checkProposal(tckProject,
"JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/DeleteAnnotation.java",
"JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/DeleteAnnotation.qfxresult",
CDIValidationErrorManager.CONSTRUCTOR_PARAMETER_ANNOTATED_DISPOSES_ID,
- DeleteAnnotationMarkerResolution.class);
+ DeleteAnnotationMarkerResolution.class, true);
}
+ public void _testCreateBeanClassResolution() throws CoreException{
+ util.checkProposal(tckProject,
+ "WebContent/WEB-INF/beans.xml",
+ "JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/NonExistingAlternative.qfxresult",
+ CDIValidationErrorManager.UNKNOWN_ALTERNATIVE_BEAN_CLASS_NAME_ID,
+ CreateCDIElementMarkerResolution.class, false);
+ }
+
+ public void _testCreateStereotypeResolution() throws CoreException{
+ util.checkProposal(tckProject,
+ "WebContent/WEB-INF/beans.xml",
+ "JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/NonExistingStereotype.qfxresult",
+ CDIValidationErrorManager.UNKNOWN_ALTERNATIVE_ANNOTATION_NAME_ID,
+ CreateCDIElementMarkerResolution.class, false);
+ }
+
+ public void _testCreateDecoratorResolution() throws CoreException{
+ util.checkProposal(tckProject,
+ "WebContent/WEB-INF/beans.xml",
+ "JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/NonExistingDecorator.qfxresult",
+ CDIValidationErrorManager.UNKNOWN_DECORATOR_BEAN_CLASS_NAME_ID,
+ CreateCDIElementMarkerResolution.class, false);
+ }
+
+ public void _testCreateInterceptorResolution() throws CoreException{
+ util.checkProposal(tckProject,
+ "WebContent/WEB-INF/beans.xml",
+ "JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/NonExistingInterceptor.qfxresult",
+ CDIValidationErrorManager.UNKNOWN_INTERCEPTOR_CLASS_NAME_ID,
+ CreateCDIElementMarkerResolution.class, false);
+ }
}
Modified: trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/quickfix/IQuickFixGenerator.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/quickfix/IQuickFixGenerator.java 2012-09-06 16:20:55 UTC (rev 43471)
+++ trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/quickfix/IQuickFixGenerator.java 2012-09-06 17:54:33 UTC (rev 43472)
@@ -11,6 +11,7 @@
package org.jboss.tools.common.quickfix;
import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
+import org.eclipse.jface.text.Position;
import org.eclipse.jface.text.source.Annotation;
public interface IQuickFixGenerator {
@@ -22,7 +23,7 @@
* @return <code>true</code> if there are proposals for the given annotation,
* <code>false</code> if not
*/
- public boolean hasProposals(Annotation annotation);
+ public boolean hasProposals(Annotation annotation, Position position);
/**
* Returns array of proposals for the given annotation (may
@@ -31,5 +32,5 @@
* @param annotation the annotation
* @return list of proposals for the given annotation
*/
- public IJavaCompletionProposal[] getProposals(Annotation annotation);
+ public IJavaCompletionProposal[] getProposals(Annotation annotation, Position position);
}
Modified: trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/quickfix/MarkerAnnotationInfo.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/quickfix/MarkerAnnotationInfo.java 2012-09-06 16:20:55 UTC (rev 43471)
+++ trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/quickfix/MarkerAnnotationInfo.java 2012-09-06 17:54:33 UTC (rev 43472)
@@ -82,9 +82,9 @@
// get all relevant quick fixes for this annotation
- if(isDirty() && QuickFixManager.getInstance().hasProposals(annotation)){
+ if(isDirty() && QuickFixManager.getInstance().hasProposals(annotation, info.position)){
annotation.setAdditionalFixInfo(viewer.getDocument());
- List<IJavaCompletionProposal> proposals = QuickFixManager.getInstance().getProposals(annotation);
+ List<IJavaCompletionProposal> proposals = QuickFixManager.getInstance().getProposals(annotation, info.position);
allProposals.addAll(proposals);
}
Modified: trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/quickfix/QuickFixManager.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/quickfix/QuickFixManager.java 2012-09-06 16:20:55 UTC (rev 43471)
+++ trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/quickfix/QuickFixManager.java 2012-09-06 17:54:33 UTC (rev 43472)
@@ -15,6 +15,7 @@
import java.util.List;
import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
+import org.eclipse.jface.text.Position;
import org.eclipse.jface.text.source.Annotation;
public class QuickFixManager {
@@ -49,19 +50,19 @@
generators.remove(generator);
}
- public boolean hasProposals(Annotation annotation){
+ public boolean hasProposals(Annotation annotation, Position position){
for(IQuickFixGenerator generator : generators.values()){
- if(generator.hasProposals(annotation)){
+ if(generator.hasProposals(annotation, position)){
return true;
}
}
return false;
}
- public List<IJavaCompletionProposal> getProposals(Annotation annotation){
+ public List<IJavaCompletionProposal> getProposals(Annotation annotation, Position position){
ArrayList<IJavaCompletionProposal> proposals = new ArrayList<IJavaCompletionProposal>();
for(IQuickFixGenerator generator : generators.values()){
- IJavaCompletionProposal[] pp = generator.getProposals(annotation);
+ IJavaCompletionProposal[] pp = generator.getProposals(annotation, position);
for(IJavaCompletionProposal p : pp){
proposals.add(p);
}
Modified: trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/marker/ConfigureProblemSeverityResolutionGenerator.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/marker/ConfigureProblemSeverityResolutionGenerator.java 2012-09-06 16:20:55 UTC (rev 43471)
+++ trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/marker/ConfigureProblemSeverityResolutionGenerator.java 2012-09-06 17:54:33 UTC (rev 43472)
@@ -22,6 +22,7 @@
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.internal.ui.javaeditor.JavaMarkerAnnotation;
import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
+import org.eclipse.jface.text.Position;
import org.eclipse.jface.text.source.Annotation;
import org.eclipse.ui.IMarkerResolution;
import org.eclipse.ui.IMarkerResolutionGenerator2;
@@ -157,12 +158,12 @@
}
@Override
- public boolean hasProposals(Annotation annotation) {
+ public boolean hasProposals(Annotation annotation, Position position) {
return getPreferenceKey(annotation) != null && getPreferencePageId(annotation) != null;
}
@Override
- public IJavaCompletionProposal[] getProposals(Annotation annotation) {
+ public IJavaCompletionProposal[] getProposals(Annotation annotation, Position position) {
ArrayList<IJavaCompletionProposal> proposals = new ArrayList<IJavaCompletionProposal>();
String preferenceKey = getPreferenceKey(annotation);
String preferencePageId = getPreferencePageId(annotation);
@@ -170,14 +171,14 @@
if(annotation instanceof TempJavaProblemAnnotation){
TempJavaProblemAnnotation tAnnotation = (TempJavaProblemAnnotation)annotation;
if(JavaMarkerAnnotation.WARNING_ANNOTATION_TYPE.equals(tAnnotation.getType())){
- int position = getPosition(tAnnotation);
+ int offset = position.getOffset();
IFile file = getFile(tAnnotation);
if(file != null){
- IJavaElement element = findJavaElement(tAnnotation, position);
+ IJavaElement element = findJavaElement(tAnnotation, offset);
if(element != null){
if(element instanceof IMethod){
try{
- ILocalVariable parameter = findParameter((IMethod)element, position);
+ ILocalVariable parameter = findParameter((IMethod)element, offset);
if(parameter != null){
proposals.add(new AddSuppressWarningsMarkerResolution(file, parameter, preferenceKey, tAnnotation.getCompilationUnit()));
}
@@ -195,9 +196,6 @@
return proposals.toArray(new IJavaCompletionProposal[]{});
}
- private int getPosition(TempJavaProblemAnnotation annotation){
- return annotation.getPosition();
- }
private IFile getFile(TempJavaProblemAnnotation annotation){
if(annotation.getCompilationUnit() != null){
Modified: trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/quickfix/BaseJavaHover.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/quickfix/BaseJavaHover.java 2012-09-06 16:20:55 UTC (rev 43471)
+++ trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/quickfix/BaseJavaHover.java 2012-09-06 17:54:33 UTC (rev 43472)
@@ -51,8 +51,8 @@
if(propArray == null){
ArrayList<IJavaCompletionProposal> proposals= new ArrayList<IJavaCompletionProposal>();
- if(QuickFixManager.getInstance().hasProposals(annotation)){
- List<IJavaCompletionProposal> pp = QuickFixManager.getInstance().getProposals(annotation);
+ if(QuickFixManager.getInstance().hasProposals(annotation, position)){
+ List<IJavaCompletionProposal> pp = QuickFixManager.getInstance().getProposals(annotation, position);
proposals.addAll(pp);
}
propArray = proposals.toArray(new ICompletionProposal[proposals.size()]);
Modified: trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/java/TempJavaProblemAnnotation.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/java/TempJavaProblemAnnotation.java 2012-09-06 16:20:55 UTC (rev 43471)
+++ trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/java/TempJavaProblemAnnotation.java 2012-09-06 17:54:33 UTC (rev 43472)
@@ -30,8 +30,4 @@
public Map getAttributes() {
return problem.getAttributes();
}
-
- public int getPosition(){
- return problem.getSourceStart();
- }
}
\ No newline at end of file
Modified: trunk/common/tests/org.jboss.tools.common.base.test/src/org/jboss/tools/common/base/test/MarkerResolutionTestUtil.java
===================================================================
--- trunk/common/tests/org.jboss.tools.common.base.test/src/org/jboss/tools/common/base/test/MarkerResolutionTestUtil.java 2012-09-06 16:20:55 UTC (rev 43471)
+++ trunk/common/tests/org.jboss.tools.common.base.test/src/org/jboss/tools/common/base/test/MarkerResolutionTestUtil.java 2012-09-06 17:54:33 UTC (rev 43472)
@@ -134,7 +134,7 @@
}
}
- private static void copyFiles(IProject project, String[] fileNames) throws CoreException{
+ public static void copyFiles(IProject project, String[] fileNames) throws CoreException{
for(String fileName : fileNames){
IFile file = project.getFile(fileName);
IFile copyFile = project.getFile(fileName+".copy");
@@ -158,7 +158,7 @@
}
}
- private static void restoreFiles(IProject project, String[] fileNames) throws CoreException {
+ public static void restoreFiles(IProject project, String[] fileNames) throws CoreException {
for(String fileName : fileNames){
IFile file = project.getFile(fileName);
IFile copyFile = project.getFile(fileName+".copy");
Modified: trunk/common/tests/org.jboss.tools.common.base.test/src/org/jboss/tools/common/base/test/QuickFixTestUtil.java
===================================================================
--- trunk/common/tests/org.jboss.tools.common.base.test/src/org/jboss/tools/common/base/test/QuickFixTestUtil.java 2012-09-06 16:20:55 UTC (rev 43471)
+++ trunk/common/tests/org.jboss.tools.common.base.test/src/org/jboss/tools/common/base/test/QuickFixTestUtil.java 2012-09-06 17:54:33 UTC (rev 43472)
@@ -14,16 +14,27 @@
import org.eclipse.jdt.internal.ui.javaeditor.JavaMarkerAnnotation;
import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.Position;
+import org.eclipse.jface.text.source.Annotation;
import org.eclipse.jface.text.source.IAnnotationModel;
import org.eclipse.jface.text.source.ISourceViewer;
import org.eclipse.ltk.core.refactoring.CompositeChange;
import org.eclipse.ltk.core.refactoring.RefactoringStatus;
import org.eclipse.ltk.core.refactoring.participants.RefactoringProcessor;
import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IEditorDescriptor;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorRegistry;
+import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.editors.text.EditorsUI;
import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
+import org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation;
+import org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart;
+import org.jboss.tools.common.editor.ObjectMultiPageEditor;
+import org.jboss.tools.common.model.ui.editor.EditorPartWrapper;
import org.jboss.tools.common.quickfix.QuickFixManager;
import org.jboss.tools.common.refactoring.TestableResolutionWithDialog;
import org.jboss.tools.common.refactoring.TestableResolutionWithRefactoringProcessor;
@@ -40,14 +51,32 @@
protected ISourceViewer getViewer(IEditorPart editor){
if(editor instanceof JavaEditor){
return ((JavaEditor)editor).getViewer();
+ }else if(editor instanceof EditorPartWrapper){
+ IEditorPart ed = ((EditorPartWrapper)editor).getEditor();
+
+ if(ed instanceof ObjectMultiPageEditor){
+ ((ObjectMultiPageEditor)ed).selectPageByName("Source");
+ return ((ObjectMultiPageEditor)ed).getSourceEditor().getTextViewer();
+ }else {
+ Assert.fail("Editor must be ObjectMultiPageEditor, was - "+ed.getClass());
+ }
}else{
- Assert.fail("editor must be instanceof JavaEditor");
+ Assert.fail("editor must be instanceof JavaEditor or EditorPartWrapper, but was "+editor.getClass());
}
return null;
}
- protected String getEditorID(){
- return "org.eclipse.jdt.ui.CompilationUnitEditor";
+ protected String getEditorId(String filename) {
+ if(filename.endsWith(".xml")){
+ return "org.jboss.tools.common.model.ui.editor.EditorPartWrapper";
+ }
+ IWorkbench workbench = PlatformUI.getWorkbench();
+ IEditorRegistry editorRegistry = workbench.getEditorRegistry();
+ IEditorDescriptor descriptor = editorRegistry
+ .getDefaultEditor(filename);
+ if (descriptor != null)
+ return descriptor.getId();
+ return EditorsUI.DEFAULT_TEXT_EDITOR_ID;
}
private void checkForConfigureProblemSeverity(IJavaCompletionProposal[] proposals){
@@ -58,18 +87,20 @@
Assert.fail("Configure Problem Severity quick fix not found");
}
- private void checkForAddSuppressWarnings(IFile file, TempJavaProblemAnnotation annotation, IJavaCompletionProposal[] proposals){
- String severity = annotation.getMarkerType();
- if(file.getFileExtension().equals("java") && severity.equals(JavaMarkerAnnotation.WARNING_ANNOTATION_TYPE)){
- for(IJavaCompletionProposal proposal : proposals){
- if(proposal.getClass().equals(AddSuppressWarningsMarkerResolution.class))
- return;
+ private void checkForAddSuppressWarnings(IFile file, Annotation annotation, IJavaCompletionProposal[] proposals){
+ if(annotation instanceof TempJavaProblemAnnotation){
+ String severity = ((TempJavaProblemAnnotation)annotation).getMarkerType();
+ if(file.getFileExtension().equals("java") && severity.equals(JavaMarkerAnnotation.WARNING_ANNOTATION_TYPE)){
+ for(IJavaCompletionProposal proposal : proposals){
+ if(proposal.getClass().equals(AddSuppressWarningsMarkerResolution.class))
+ return;
+ }
+ Assert.fail("Add @SuppressWarnings marker resolution not found");
}
- Assert.fail("Add @SuppressWarnings marker resolution not found");
}
}
- public void checkPrpposal(IProject project, String fileName, String newFile, int id, Class<? extends IJavaCompletionProposal> proposalClass) throws CoreException {
+ public void checkProposal(IProject project, String fileName, String newFile, int id, Class<? extends IJavaCompletionProposal> proposalClass, boolean checkResult) throws CoreException {
IFile file = project.getFile(fileName);
IFile nFile = project.getFile(newFile);
@@ -78,9 +109,11 @@
IEditorInput input = new FileEditorInput(file);
- IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().openEditor(input, getEditorID(), true);
+ IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().openEditor(input, getEditorId(file.getName()), true);
ISourceViewer viewer = getViewer(editor);
+ MarkerResolutionTestUtil.copyFiles(project, new String[]{fileName});
+
try{
// change file
IDocument document = viewer.getDocument();
@@ -90,7 +123,8 @@
document.set(text);
// Find annotation
- TempJavaProblemAnnotation[] annotations = waitForProblemAnnotationAppearance(viewer, id);
+ IAnnotationModel annotationModel = viewer.getAnnotationModel();
+ Annotation[] annotations = waitForProblemAnnotationAppearance(annotationModel, id);
//System.out.println("ANNOTATIONS Before...");
//for(TempJavaProblemAnnotation a : annotations){
// System.out.println(a.getText());
@@ -98,46 +132,47 @@
Assert.assertTrue("No annotations found", annotations.length > 0);
- for(TempJavaProblemAnnotation annotation : annotations){
- IJavaCompletionProposal[] proposals = getCompletionProposals(annotation);
+ for(Annotation annotation : annotations){
+ Position position = annotationModel.getPosition(annotation);
+ IJavaCompletionProposal[] proposals = getCompletionProposals(annotation, position);
checkForConfigureProblemSeverity(proposals);
checkForAddSuppressWarnings(file, annotation, proposals);
for(IJavaCompletionProposal proposal : proposals){
if (proposal.getClass().equals(proposalClass)) {
+ if(checkResult){
+ if(proposal instanceof TestableResolutionWithRefactoringProcessor){
+ RefactoringProcessor processor = ((TestableResolutionWithRefactoringProcessor)proposal).getRefactoringProcessor();
+
+ RefactoringStatus status = processor.checkInitialConditions(new NullProgressMonitor());
+
+ Assert.assertNull("Rename processor returns fatal error", status.getEntryMatchingSeverity(RefactoringStatus.FATAL));
+
+ status = processor.checkFinalConditions(new NullProgressMonitor(), null);
+
+ Assert.assertNull("Rename processor returns fatal error", status.getEntryMatchingSeverity(RefactoringStatus.FATAL));
+
+ CompositeChange rootChange = (CompositeChange)processor.createChange(new NullProgressMonitor());
+
+ rootChange.perform(new NullProgressMonitor());
+ } else if(proposal instanceof TestableResolutionWithDialog){
+ ((TestableResolutionWithDialog) proposal).runForTest(null);
+ } else {
+ proposal.apply(document);
+ }
+
+ //TestUtil.validate(file);
+
+ Annotation[] newAnnotations = waitForProblemAnnotationAppearance(annotationModel, id);
+ //System.out.println("ANNOTATIONS After...");
+ //for(TempJavaProblemAnnotation a : newAnnotations){
+ // System.out.println(a.getText());
+ //}
- if(proposal instanceof TestableResolutionWithRefactoringProcessor){
- RefactoringProcessor processor = ((TestableResolutionWithRefactoringProcessor)proposal).getRefactoringProcessor();
-
- RefactoringStatus status = processor.checkInitialConditions(new NullProgressMonitor());
-
- Assert.assertNull("Rename processor returns fatal error", status.getEntryMatchingSeverity(RefactoringStatus.FATAL));
-
- status = processor.checkFinalConditions(new NullProgressMonitor(), null);
-
- Assert.assertNull("Rename processor returns fatal error", status.getEntryMatchingSeverity(RefactoringStatus.FATAL));
-
- CompositeChange rootChange = (CompositeChange)processor.createChange(new NullProgressMonitor());
-
- rootChange.perform(new NullProgressMonitor());
- } else if(proposal instanceof TestableResolutionWithDialog){
- ((TestableResolutionWithDialog) proposal).runForTest(null);
- } else {
- proposal.apply(document);
+
+ Assert.assertTrue("Quick fix did not decrease number of problems. was: "+annotations.length+" now: "+newAnnotations.length, newAnnotations.length <= annotations.length);
+
+ checkResults(file, document.get());
}
-
- //TestUtil.validate(file);
-
- TempJavaProblemAnnotation[] newAnnotations = waitForProblemAnnotationAppearance(viewer, id);
- //System.out.println("ANNOTATIONS After...");
- //for(TempJavaProblemAnnotation a : newAnnotations){
- // System.out.println(a.getText());
- //}
-
-
- Assert.assertTrue("Quick fix did not decrease number of problems. was: "+annotations.length+" now: "+newAnnotations.length, newAnnotations.length <= annotations.length);
-
- checkResults(file, document.get());
-
return;
}
}
@@ -148,14 +183,15 @@
if(editor.isDirty()){
editor.doSave(new NullProgressMonitor());
}
+ MarkerResolutionTestUtil.restoreFiles(project, new String[]{fileName});
}
}
- public static IJavaCompletionProposal[] getCompletionProposals(TempJavaProblemAnnotation annotation){
+ public static IJavaCompletionProposal[] getCompletionProposals(Annotation annotation, Position position){
ArrayList<IJavaCompletionProposal> proposals = new ArrayList<IJavaCompletionProposal>();
- if(QuickFixManager.getInstance().hasProposals(annotation)){
- List<IJavaCompletionProposal> list = QuickFixManager.getInstance().getProposals(annotation);
+ if(QuickFixManager.getInstance().hasProposals(annotation, position)){
+ List<IJavaCompletionProposal> list = QuickFixManager.getInstance().getProposals(annotation, position);
proposals.addAll(list);
}
@@ -168,8 +204,8 @@
Assert.assertEquals("Wrong result of resolution", fileContent, text);
}
- protected TempJavaProblemAnnotation[] waitForProblemAnnotationAppearance(final ISourceViewer viewer, final int problemId) {
- final ArrayList<TempJavaProblemAnnotation> annotations = new ArrayList<TempJavaProblemAnnotation>();
+ protected Annotation[] waitForProblemAnnotationAppearance(final IAnnotationModel annotationModel, final int problemId) {
+ final ArrayList<Annotation> annotations = new ArrayList<Annotation>();
Display.getDefault().syncExec(new Runnable() {
public void run() {
@@ -188,7 +224,7 @@
}
//boolean found = false;
- IAnnotationModel annotationModel = viewer.getAnnotationModel();
+
Iterator it = annotationModel.getAnnotationIterator();
while (it.hasNext()) {
Object o = it.next();
@@ -199,6 +235,13 @@
annotations.add((TempJavaProblemAnnotation) o);
found = true;
}
+ }else if(o instanceof TemporaryAnnotation){
+ Integer attribute = ((Integer) ((TemporaryAnnotation)o).getAttributes().get("Message_id"));
+ int id = attribute.intValue();
+ if(id == problemId){
+ annotations.add((TemporaryAnnotation) o);
+ found = true;
+ }
}
}
@@ -207,6 +250,6 @@
}
});
- return annotations.toArray(new TempJavaProblemAnnotation[]{});
+ return annotations.toArray(new Annotation[]{});
}
}
Modified: trunk/jsf/tests/org.jboss.tools.jsf.ui.test/src/org/jboss/tools/jsf/ui/test/JSPProblemMarkerResolutionTest.java
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.ui.test/src/org/jboss/tools/jsf/ui/test/JSPProblemMarkerResolutionTest.java 2012-09-06 16:20:55 UTC (rev 43471)
+++ trunk/jsf/tests/org.jboss.tools.jsf.ui.test/src/org/jboss/tools/jsf/ui/test/JSPProblemMarkerResolutionTest.java 2012-09-06 17:54:33 UTC (rev 43472)
@@ -15,6 +15,7 @@
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.Position;
import org.eclipse.jface.text.source.IAnnotationModel;
import org.eclipse.jface.text.source.SourceViewer;
import org.eclipse.jst.jsp.ui.internal.validation.JSPContentSourceValidator;
@@ -243,13 +244,15 @@
document.replace(region.getOffset(), region.getLength(), "");
// Find annotation
- TemporaryAnnotation problemAnnotation = waitForProblemAnnotationAppearance(viewer, "Unknown tag (", MAX_SECONDS_TO_WAIT);
+ IAnnotationModel annotationModel = viewer.getAnnotationModel();
+ TemporaryAnnotation problemAnnotation = waitForProblemAnnotationAppearance(annotationModel, "Unknown tag (", MAX_SECONDS_TO_WAIT);
+ Position position = annotationModel.getPosition(problemAnnotation);
assertNotNull("No Unknown tag TemporaryAnnotation found", problemAnnotation);
problemAnnotation.setAdditionalFixInfo(document);
// get all relevant quick fixes for this annotation
- if(QuickFixManager.getInstance().hasProposals(problemAnnotation)){
- List<IJavaCompletionProposal> proposals = QuickFixManager.getInstance().getProposals(problemAnnotation);
+ if(QuickFixManager.getInstance().hasProposals(problemAnnotation, position)){
+ List<IJavaCompletionProposal> proposals = QuickFixManager.getInstance().getProposals(problemAnnotation, position);
assertTrue("No quick fixes found", proposals.size() > 0);
assertEquals("Add tag library definition quick fix not found", AddTLDMarkerResolution.class, proposals.get(0).getClass());
}else{
@@ -261,7 +264,7 @@
}
private TemporaryAnnotation waitForProblemAnnotationAppearance(
- final SourceViewer viewer, final String name, final int seconds) {
+ final IAnnotationModel annotationModel, final String name, final int seconds) {
final TemporaryAnnotation[] result = new TemporaryAnnotation[]{null};
Display.getDefault().syncExec(new Runnable() {
@@ -280,7 +283,7 @@
}
//boolean found = false;
- IAnnotationModel annotationModel = viewer.getAnnotationModel();
+ //IAnnotationModel annotationModel = viewer.getAnnotationModel();
Iterator it = annotationModel.getAnnotationIterator();
while (it.hasNext()) {
Object o = it.next();
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/action/JSPProblemMarkerResolutionGenerator.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/action/JSPProblemMarkerResolutionGenerator.java 2012-09-06 16:20:55 UTC (rev 43471)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/action/JSPProblemMarkerResolutionGenerator.java 2012-09-06 17:54:33 UTC (rev 43472)
@@ -20,6 +20,7 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.Position;
import org.eclipse.jface.text.source.Annotation;
import org.eclipse.ui.IMarkerResolution;
import org.eclipse.ui.IMarkerResolutionGenerator2;
@@ -98,7 +99,7 @@
return true;
}
- private IJavaCompletionProposal[] isOurCase(Annotation annotation){
+ private IJavaCompletionProposal[] isOurCase(Annotation annotation, Position position){
ArrayList<IJavaCompletionProposal> proposals = new ArrayList<IJavaCompletionProposal>();
if(!(annotation instanceof TemporaryAnnotation)){
return new IJavaCompletionProposal[]{};
@@ -109,9 +110,9 @@
if(ta.getPosition() == null)
return new IJavaCompletionProposal[]{};
- final int start = ta.getPosition().getOffset();
+ final int start = position.getOffset();
- final int end = ta.getPosition().getOffset()+ta.getPosition().getLength();
+ final int end = position.getOffset()+position.getLength();
if(!message.startsWith(UNKNOWN_TAG))
return new IJavaCompletionProposal[]{};
@@ -292,13 +293,13 @@
}
@Override
- public boolean hasProposals(Annotation annotation) {
+ public boolean hasProposals(Annotation annotation, Position position) {
String message = annotation.getText();
return message.startsWith(UNKNOWN_TAG);
}
@Override
- public IJavaCompletionProposal[] getProposals(Annotation annotation) {
- return isOurCase(annotation);
+ public IJavaCompletionProposal[] getProposals(Annotation annotation, Position position) {
+ return isOurCase(annotation, position);
}
}
\ No newline at end of file
13 years, 7 months
JBoss Tools SVN: r43471 - trunk/build/target-platform.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2012-09-06 12:20:55 -0400 (Thu, 06 Sep 2012)
New Revision: 43471
Modified:
trunk/build/target-platform/target2targetTemplate.xsl
trunk/build/target-platform/targetUpdateFromRepo.xml
Log:
instead of regenerating .target file with a single version of an IU when there are multiple versions present (and needed) omit those entries. In future, would be better to regen whole nodes instead of just the versions so that .target file could list ALL IUs present (features/plugins) including dupe IUs w/ multiple versions
Modified: trunk/build/target-platform/target2targetTemplate.xsl
===================================================================
--- trunk/build/target-platform/target2targetTemplate.xsl 2012-09-06 13:46:17 UTC (rev 43470)
+++ trunk/build/target-platform/target2targetTemplate.xsl 2012-09-06 16:20:55 UTC (rev 43471)
@@ -12,14 +12,25 @@
<xsl:template match="unit">
<xsl:choose>
<xsl:when test="$replace.versions">
-<unit id="{@id}" version="${{{(a)id}.version}}">
+
+<xsl:variable name="prevID"><xsl:value-of select="preceding-sibling::* [1]/@id" /></xsl:variable> <!-- <prevID><xsl:value-of select="$prevID"/></prevID> -->
+<xsl:variable name="thisID"><xsl:value-of select="@id" /></xsl:variable> <!-- <thisID><xsl:value-of select="$thisID"/></thisID> -->
+<xsl:variable name="nextID"><xsl:value-of select="following-sibling::* [1]/@id" /></xsl:variable> <!-- <nextID><xsl:value-of select="$nextID"/></nextID> -->
+
+<!-- if there is more than one node matching <unit id="some.id"/> then DO NOT REPLACE the version -->
+<xsl:choose>
+ <xsl:when test="contains ($thisID, $nextID) or contains ($thisID, $prevID)">
+ <!-- <xsl:comment> Note multiple versions of this IU; cannot update automatically. </xsl:comment> -->
+ <unit id="{@id}" version="{@version}"><xsl:apply-templates/></unit>
+ </xsl:when>
+ <xsl:otherwise>
+ <unit id="{@id}" version="${{{(a)id}.version}}"><xsl:apply-templates/></unit>
+ </xsl:otherwise>
+</xsl:choose>
<xsl:apply-templates/>
-</unit>
</xsl:when>
<xsl:otherwise>
-<unit id="{@id}" version="{@version}">
-<xsl:apply-templates/>
-</unit>
+<unit id="{@id}" version="{@version}"><xsl:apply-templates/></unit>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Modified: trunk/build/target-platform/targetUpdateFromRepo.xml
===================================================================
--- trunk/build/target-platform/targetUpdateFromRepo.xml 2012-09-06 13:46:17 UTC (rev 43470)
+++ trunk/build/target-platform/targetUpdateFromRepo.xml 2012-09-06 16:20:55 UTC (rev 43471)
@@ -122,8 +122,9 @@
<filterchain>
<linecontains>
<contains value="${test.pattern}" />
- <contains value="feature.group" />
+ <!-- <contains value="feature.group" /> -->
</linecontains>
+ <striplinecomments><comment value="#"/></striplinecomments>
</filterchain>
</loadfile>
<echo file="${tmpfile}">${artifactVersionsPropertiesContents}</echo>
13 years, 7 months
JBoss Tools SVN: r43470 - trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/selection/bar.
by jbosstools-commits@lists.jboss.org
Author: dmaliarevich
Date: 2012-09-06 09:46:17 -0400 (Thu, 06 Sep 2012)
New Revision: 43470
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/selection/bar/SelectionBar.java
Log:
https://issues.jboss.org/browse/JBIDE-12435 - Selection Bar is drown in black background color - fixed.
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/selection/bar/SelectionBar.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/selection/bar/SelectionBar.java 2012-09-06 13:43:43 UTC (rev 43469)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/selection/bar/SelectionBar.java 2012-09-06 13:46:17 UTC (rev 43470)
@@ -206,9 +206,12 @@
closeItemComposite.setLayoutData(closeBarData);
/*
- * Create tool bar that will contain nodes from the source editor
+ * Create tool bar that will contain nodes from the source editor.
+ *
+ * https://issues.jboss.org/browse/JBIDE-12435 --
+ * Do not use SWT.NO_BACKGROUND style, it leads to a black color.
*/
- toolbar = new ToolBar(realBar, SWT.HORIZONTAL | SWT.FLAT | SWT.NO_BACKGROUND);
+ toolbar = new ToolBar(realBar, SWT.HORIZONTAL | SWT.FLAT);
toolbarData = new FormData();
toolbarData.left = new FormAttachment(0);
toolbarData.right = new FormAttachment(closeItemComposite, 0, SWT.LEFT);
13 years, 7 months
JBoss Tools SVN: r43469 - trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/selection/bar.
by jbosstools-commits@lists.jboss.org
Author: dmaliarevich
Date: 2012-09-06 09:43:43 -0400 (Thu, 06 Sep 2012)
New Revision: 43469
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/selection/bar/SelectionBar.java
Log:
https://issues.jboss.org/browse/JBIDE-7692 - adding text and attr nodes to the selection bar.
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/selection/bar/SelectionBar.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/selection/bar/SelectionBar.java 2012-09-06 12:36:51 UTC (rev 43468)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/selection/bar/SelectionBar.java 2012-09-06 13:43:43 UTC (rev 43469)
@@ -64,6 +64,7 @@
import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
import org.eclipse.wst.sse.ui.StructuredTextEditor;
+import org.eclipse.wst.xml.core.internal.document.AttrImpl;
import org.jboss.tools.jst.jsp.JspEditorPlugin;
import org.jboss.tools.jst.jsp.jspeditor.JSPMultiPageEditor;
import org.jboss.tools.jst.jsp.messages.JstUIMessages;
@@ -71,6 +72,8 @@
import org.jboss.tools.jst.jsp.selection.SelectionHelper;
import org.jboss.tools.jst.jsp.selection.SourceSelection;
import org.jboss.tools.jst.jsp.selection.SourceSelectionBuilder;
+import org.w3c.dom.Attr;
+import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@@ -261,8 +264,8 @@
* according to the source selection.
*/
public void updateNodes(boolean forceUpdate) {
- SourceSelectionBuilder sourceSelectionBuilder = new SourceSelectionBuilder(
- textEditor);
+ SourceSelectionBuilder sourceSelectionBuilder =
+ new SourceSelectionBuilder(textEditor);
SourceSelection selection = sourceSelectionBuilder.getSelection();
if (selection == null) {
return;
@@ -270,9 +273,18 @@
// Node node = selection.getFocusNode();
Node node = selection.getStartNode();
- if (node != null && node.getNodeType() == Node.TEXT_NODE) {
- node = node.getParentNode();
+ /*
+ * https://issues.jboss.org/browse/JBIDE-7692
+ * Display selected attribute names and
+ * text nodes on the VPE selection bar
+ */
+ Attr attr = selection.getFocusAttribute();
+ if (attr != null) {
+ node = attr;
}
+// if (node != null && node.getNodeType() == Node.TEXT_NODE) {
+// node = node.getParentNode();
+// }
if (currentSelectedNode == node && !forceUpdate) {
return;
@@ -331,9 +343,12 @@
// for now dropDownMenu = null
int elementCounter = 0;
+ boolean createDDLofAttributes = false;
while (node != null
&& (node.getNodeType() == Node.ELEMENT_NODE
- || node.getNodeType() == Node.COMMENT_NODE)) {
+ || node.getNodeType() == Node.COMMENT_NODE
+ || node.getNodeType() == Node.ATTRIBUTE_NODE
+ || node.getNodeType() == Node.TEXT_NODE)) {
addNodeListenerTo(node);
/*
@@ -344,32 +359,63 @@
NodeList children = node.getChildNodes();
List<Node> list = new ArrayList<Node>();
for (int i = 0; i < children.getLength(); i++) {
- if (children.item(i).getNodeType() == Node.ELEMENT_NODE) {
- list.add(children.item(i));
+ Node child = children.item(i);
+ if ((child.getNodeType() == Node.ELEMENT_NODE)
+ || (child.getNodeType() == Node.TEXT_NODE)) {
+ list.add(child);
}
}
/*
* for the last tag -- show check button
*/
- if (elementCounter == 0 && list.size() == 0){
- item = new ToolItem(toolbar, SWT.FLAT | SWT.CHECK, 1);
- item.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- handleSelectionEvent(e);
+ if ((elementCounter == 0 && list.size() == 0) || createDDLofAttributes) {
+ /*
+ * For the last element in Selection Bar add its attributes
+ * to the DropDownMenu for this toolitem.
+ */
+ NamedNodeMap attrsMap = node.getAttributes();
+ if (attrsMap != null && attrsMap.getLength() > 0) {
+ list.clear();
+ for (int i = 0; i < attrsMap.getLength(); i++) {
+ list.add(attrsMap.item(i));
}
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- handleSelectionEvent(e);
- }
- });
+ item = new ToolItem(toolbar, SWT.DROP_DOWN, 1);
+ final DropdownSelectionListener dropdownListener =
+ new DropdownSelectionListener(item, list);
+ item.addSelectionListener(dropdownListener);
+ /*
+ * Dispose the menu manually when the item is disposed.
+ * Thus unnecessary memory will be released.
+ */
+ item.addDisposeListener(new DisposeListener() {
+ @Override
+ public void widgetDisposed(DisposeEvent e) {
+ dropdownListener.disposeMenu();
+ }
+ });
+ } else {
+ /*
+ * If there is no attributes for the node -- leave it as flat button
+ */
+ item = new ToolItem(toolbar, SWT.FLAT | SWT.CHECK, 1);
+ item.addSelectionListener(new SelectionListener() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ handleSelectionEvent(e);
+ }
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+ handleSelectionEvent(e);
+ }
+ });
+ }
} else {
/*
* Create DropDownMenu button
*/
item = new ToolItem(toolbar, SWT.DROP_DOWN, 1);
- final DropdownSelectionListener dropdownListener = new DropdownSelectionListener(
- item, list);
+ final DropdownSelectionListener dropdownListener =
+ new DropdownSelectionListener(item, list);
item.addSelectionListener(dropdownListener);
/*
* Dispose the menu manually when the item is disposed.
@@ -382,6 +428,9 @@
}
});
}
+ /*
+ * Set the text for the element in Selection Bar
+ */
item.setData(node);
item.setText(node.getNodeName());
/*
@@ -392,14 +441,14 @@
item.dispose();
dropDownMenu = new Menu(toolbar);
}
- }
-
+ }
+
/*
* After the DDM has been created
* all other items will be added to the DDM
* as they do not fit to the selection bar any more.
*/
- if (dropDownMenu != null) {
+ if (dropDownMenu != null) {
MenuItem menuItem = new MenuItem(dropDownMenu, SWT.CHECK, 0);
menuItem.addSelectionListener(new SelectionListener() {
@Override
@@ -414,7 +463,6 @@
menuItem.setText(node.getNodeName());
menuItem.setData(node);
}
-
/*
* Count the elements
*/
@@ -422,7 +470,17 @@
/*
* Get the parent to put it to the bar
*/
- node = node.getParentNode();
+ createDDLofAttributes = false;
+ if (node instanceof AttrImpl) {
+ node = ((AttrImpl) node).getOwnerElement();
+ /*
+ * Create the list of attributes for the parent
+ * during the next iteration.
+ */
+ createDDLofAttributes = true;
+ } else {
+ node = node.getParentNode();
+ }
}
itemCount = elementCounter;
arrowButton.setEnabled(dropDownMenu != null);
13 years, 7 months
JBoss Tools SVN: r43468 - branches/jbosstools-4.0.0.Alpha1/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/dialog.
by jbosstools-commits@lists.jboss.org
Author: fbricon
Date: 2012-09-06 08:36:51 -0400 (Thu, 06 Sep 2012)
New Revision: 43468
Modified:
branches/jbosstools-4.0.0.Alpha1/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/dialog/IdentifyMavenDependencyPage.java
Log:
JBIDE-12551 Disable utterly broken reset button
Modified: branches/jbosstools-4.0.0.Alpha1/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/dialog/IdentifyMavenDependencyPage.java
===================================================================
--- branches/jbosstools-4.0.0.Alpha1/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/dialog/IdentifyMavenDependencyPage.java 2012-09-06 12:05:51 UTC (rev 43467)
+++ branches/jbosstools-4.0.0.Alpha1/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/dialog/IdentifyMavenDependencyPage.java 2012-09-06 12:36:51 UTC (rev 43468)
@@ -332,7 +332,7 @@
if (Boolean.getBoolean("org.jboss.tools.maven.conversion.debug")) {
addIdentifyButton(container, "Identify dependencies");
}
- addResetButton(container, "Reset");
+ //addResetButton(container, "Reset");
//addCellEditors();
}
13 years, 7 months
JBoss Tools SVN: r43467 - in trunk: tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types and 5 other directories.
by jbosstools-commits@lists.jboss.org
Author: vpakan(a)redhat.com
Date: 2012-09-06 08:05:51 -0400 (Thu, 06 Sep 2012)
New Revision: 43467
Modified:
trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTTestExt.java
trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/IDELabel.java
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/BlockCommentTest.java
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/ScrollingSynchronizationTest.java
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/ToggleCommentTest.java
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/VPEEditorTestCase.java
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/pagedesign/AddSubstitutedELExpressionFolderScopeTest.java
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/pagedesign/SubstitutedELTestCase.java
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/preferences/BorderForUnknownTagsTest.java
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/preferences/PreferencesTestCase.java
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/preferences/ShowNonVisualTagsTest.java
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/preferences/ShowResourceBundlesUsageasELexpressionsTest.java
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/jbide/Jbide10020_TestHotKeyForVpeRefresh.java
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/tools/SWTBotWebBrowser.java
Log:
Fixes for JBT 4.0.0.Alpha1
Modified: trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTTestExt.java
===================================================================
--- trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTTestExt.java 2012-09-06 11:37:24 UTC (rev 43466)
+++ trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTTestExt.java 2012-09-06 12:05:51 UTC (rev 43467)
@@ -74,4 +74,9 @@
protected void setUp() throws Exception {
super.setUp();
}
+
+ @Override
+ public void runBare() throws Throwable {
+ super.runBare();
+ }
}
Modified: trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/IDELabel.java
===================================================================
--- trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/IDELabel.java 2012-09-06 11:37:24 UTC (rev 43466)
+++ trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/IDELabel.java 2012-09-06 12:05:51 UTC (rev 43467)
@@ -755,7 +755,7 @@
public static class ToolbarButton{
- public static final String REFRESH = "Refresh (F5)";
+ public static final String REFRESH = "Refresh (Ctrl+R)";
public static final String REFRESH_MAC_OS = "Refresh (⌘R)";
}
Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/BlockCommentTest.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/BlockCommentTest.java 2012-09-06 11:37:24 UTC (rev 43466)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/BlockCommentTest.java 2012-09-06 12:05:51 UTC (rev 43467)
@@ -13,7 +13,9 @@
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
+import org.jboss.tools.ui.bot.ext.SWTBotExt;
import org.jboss.tools.ui.bot.ext.SWTJBTExt;
+import org.jboss.tools.vpe.ui.bot.test.tools.SWTBotWebBrowser;
public class BlockCommentTest extends VPEEditorTestCase{
@@ -31,14 +33,20 @@
getEditor().selectLine(22);
bot.menu("Source").menu("Add Block Comment").click(); //$NON-NLS-1$//$NON-NLS-2$
getEditor().save();
- checkVPE("BlockCommentTestToggle.xml"); //$NON-NLS-1$
+ waitForBlockingJobsAcomplished(VISUAL_UPDATE);
+ SWTBotWebBrowser webBrowser = new SWTBotWebBrowser(TEST_PAGE, new SWTBotExt());
+ assertVisualEditorContainsManyComments(webBrowser, 1, TEST_PAGE);
+ final String commentValue = "<h:commandButton action=\"hello\" value=\"Say Hello!\" />";
+ assertTrue("Visual Representation of page doesn't contain comment with value " + commentValue,
+ webBrowser.containsCommentWithValue(commentValue));
//Test remove block comment from Source menu
getEditor().selectLine(22);
bot.menu("Source").menu("Remove Block Comment").click(); //$NON-NLS-1$//$NON-NLS-2$
getEditor().save();
- checkVPE("CommentTestUntoggle.xml"); //$NON-NLS-1$
+ waitForBlockingJobsAcomplished(VISUAL_UPDATE);
+ assertVisualEditorContainsManyComments(webBrowser, 0, TEST_PAGE);
//Test add block comment with CTRL+SHIFT+/ hot keys
@@ -46,14 +54,18 @@
getEditor().selectLine(22);
pressBlockCommentHotKeys();
getEditor().save();
- checkVPE("BlockCommentTestToggle.xml"); //$NON-NLS-1$
+ waitForBlockingJobsAcomplished(VISUAL_UPDATE);
+ assertVisualEditorContainsManyComments(webBrowser, 1, TEST_PAGE);
+ assertTrue("Visual Representation of page doesn't contain comment with value " + commentValue,
+ webBrowser.containsCommentWithValue(commentValue));
//Test remove block comment with CTRL+SHIFT+\ hot keys
getEditor().selectLine(22);
pressUnBlockCommentHotKeys();
getEditor().save();
- checkVPE("CommentTestUntoggle.xml"); //$NON-NLS-1$
+ waitForBlockingJobsAcomplished(VISUAL_UPDATE);
+ assertVisualEditorContainsManyComments(webBrowser, 0, TEST_PAGE);
}
Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/ScrollingSynchronizationTest.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/ScrollingSynchronizationTest.java 2012-09-06 11:37:24 UTC (rev 43466)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/ScrollingSynchronizationTest.java 2012-09-06 12:05:51 UTC (rev 43467)
@@ -45,7 +45,7 @@
*/
try {
FileHelper.copyFilesBinary(
- new File(getPathToResources(IDELabel.JsfProjectTree.WEB_CONTENT + "/" + FACELETS_JSP)), //$NON-NLS-1$
+ new File(getPathToRootResources(IDELabel.JsfProjectTree.WEB_CONTENT + "/" + FACELETS_JSP)), //$NON-NLS-1$
new File(FileHelper.getProjectLocation(JBT_TEST_PROJECT_NAME, bot),
IDELabel.JsfProjectTree.WEB_CONTENT + "/" + IDELabel.JsfProjectTree.PAGES)); //$NON-NLS-1$
} catch (IOException ioe) {
Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/ToggleCommentTest.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/ToggleCommentTest.java 2012-09-06 11:37:24 UTC (rev 43466)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/ToggleCommentTest.java 2012-09-06 12:05:51 UTC (rev 43467)
@@ -13,7 +13,9 @@
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
+import org.jboss.tools.ui.bot.ext.SWTBotExt;
import org.jboss.tools.ui.bot.ext.SWTJBTExt;
+import org.jboss.tools.vpe.ui.bot.test.tools.SWTBotWebBrowser;
public class ToggleCommentTest extends VPEEditorTestCase{
@@ -27,32 +29,41 @@
setEditorText(getEditor().getText());
//Test toggle comment from Source menu
-
getEditor().navigateTo(22,22);
bot.menu("Source").menu("Toggle Comment").click(); //$NON-NLS-1$ //$NON-NLS-2$
getEditor().save();
- checkVPE("ToggleCommentTestToggle.xml"); //$NON-NLS-1$
+ waitForBlockingJobsAcomplished(VISUAL_UPDATE);
+ SWTBotWebBrowser webBrowser = new SWTBotWebBrowser(TEST_PAGE, new SWTBotExt());
+ assertVisualEditorContainsManyComments(webBrowser, 1, TEST_PAGE);
+ final String commentValue = "<h:commandButton action=\"hello\" value=\"Say Hello!\" />";
+ assertTrue("Visual Representation of page doesn't contain comment with value " + commentValue,
+ webBrowser.containsCommentWithValue(commentValue));
//Test untoggle comment from Source menu
getEditor().navigateTo(22,22);
bot.menu("Source").menu("Toggle Comment").click(); //$NON-NLS-1$ //$NON-NLS-2$
getEditor().save();
- checkVPE("CommentTestUntoggle.xml"); //$NON-NLS-1$
+ waitForBlockingJobsAcomplished(VISUAL_UPDATE);
+ assertVisualEditorContainsManyComments(webBrowser, 0, TEST_PAGE);
//Test toggle comment with CTRL+SHIFT+C hot keys
getEditor().navigateTo(22,22);
pressToggleCommentHotKeys();
getEditor().save();
- checkVPE("ToggleCommentTestToggle.xml"); //$NON-NLS-1$
+ waitForBlockingJobsAcomplished(VISUAL_UPDATE);
+ assertVisualEditorContainsManyComments(webBrowser, 1, TEST_PAGE);
+ assertTrue("Visual Representation of page doesn't contain comment with value " + commentValue,
+ webBrowser.containsCommentWithValue(commentValue));
//Test untoggle comment with CTRL+SHIFT hot keys
getEditor().navigateTo(22,22);
pressToggleCommentHotKeys();
getEditor().save();
- checkVPE("CommentTestUntoggle.xml"); //$NON-NLS-1$
+ waitForBlockingJobsAcomplished(VISUAL_UPDATE);
+ assertVisualEditorContainsManyComments(webBrowser, 0, TEST_PAGE);
}
Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/VPEEditorTestCase.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/VPEEditorTestCase.java 2012-09-06 11:37:24 UTC (rev 43466)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/VPEEditorTestCase.java 2012-09-06 12:05:51 UTC (rev 43467)
@@ -64,6 +64,9 @@
return filePath;
}
+ protected String getPathToRootResources(String testPage) throws IOException {
+ return super.getPathToResources(testPage);
+ }
protected void openPage(){
SWTBot innerBot = bot.viewByTitle(WidgetVariables.PACKAGE_EXPLORER).bot();
SWTBotTree tree = innerBot.tree();
@@ -206,4 +209,22 @@
attributeValues));
}
+ /**
+ * Asserts if Visual Editor contains node nodeNameToContain exactly numOccurrencies times
+ * @param webBrowser
+ * @param nodeNameToContain
+ * @param numOccurrences
+ * @param fileName
+ */
+ protected static void assertVisualEditorContainsManyComments (SWTBotWebBrowser webBrowser,
+ int numOccurrences,
+ String fileName){
+
+ assertTrue("Visual Representation of file " + fileName
+ + " has to contain "
+ + numOccurrences
+ + " comment nodes but it doesn't",
+ webBrowser.getCommentNodes().size() == numOccurrences);
+
+ }
}
Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/pagedesign/AddSubstitutedELExpressionFolderScopeTest.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/pagedesign/AddSubstitutedELExpressionFolderScopeTest.java 2012-09-06 11:37:24 UTC (rev 43466)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/pagedesign/AddSubstitutedELExpressionFolderScopeTest.java 2012-09-06 12:05:51 UTC (rev 43467)
@@ -11,13 +11,13 @@
package org.jboss.tools.vpe.ui.bot.test.editor.pagedesign;
import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEclipseEditor;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
import org.eclipse.swtbot.swt.finder.SWTBot;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTable;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.jboss.tools.ui.bot.ext.SWTBotExt;
import org.jboss.tools.ui.bot.ext.gen.ActionItem;
import org.jboss.tools.ui.bot.ext.types.IDELabel;
import org.jboss.tools.ui.bot.test.WidgetVariables;
+import org.jboss.tools.vpe.ui.bot.test.tools.SWTBotWebBrowser;
public class AddSubstitutedELExpressionFolderScopeTest extends SubstitutedELTestCase{
@@ -104,17 +104,27 @@
// waitForBlockingJobsAcomplished(VISUAL_REFRESH);
//Check page content
-
- checkVPEForTestPage("AddSubstitutedELExpressionTestPage.xml"); //$NON-NLS-1$
- checkVPEForHelloPage("AddSubstitutedELExpressionHelloPage.xml"); //$NON-NLS-1$
- checkVPEForTestPageFolder("RemoveSubstitutedELExpressionTestPage.xml"); //$NON-NLS-1$
-
- //Test check the page in the same folder
-
-
-
- //Test open Page Design Options
-
+ openPage();
+ SWTBotExt botExt = new SWTBotExt();
+ assertVisualEditorContains(new SWTBotWebBrowser(TEST_PAGE,botExt),
+ "INPUT",
+ new String[]{"value"},
+ new String[]{EL_VALUE},
+ TEST_PAGE);
+ openPage("hello.jsp");
+ assertVisualEditorContainsNodeWithValue(new SWTBotWebBrowser("hello.jsp",botExt),
+ EL_VALUE,
+ "hello.jsp");
+ packageExplorer.openFile(JBT_TEST_PROJECT_NAME,
+ "WebContent",
+ TEST_FOLDER,
+ TEST_PAGE_FOR_FOLDER+".jsp");
+ assertVisualEditorContains(new SWTBotWebBrowser(TEST_PAGE_FOR_FOLDER+".jsp",botExt),
+ "INPUT",
+ new String[]{"value"},
+ new String[]{"#{user.name}"},
+ TEST_PAGE_FOR_FOLDER+".jsp");
+ openPage();
bot.toolbarButtonWithTooltip(PAGE_DESIGN).click();
bot.shell(PAGE_DESIGN).activate();
@@ -129,10 +139,21 @@
bot.button("OK").click(); //$NON-NLS-1$
//Check VPE content
+ assertVisualEditorContains(new SWTBotWebBrowser(TEST_PAGE,botExt),
+ "INPUT",
+ new String[]{"value"},
+ new String[]{"#{user.name}"},
+ TEST_PAGE);
- checkVPEForTestPage("RemoveSubstitutedELExpressionTestPage.xml"); //$NON-NLS-1$
- checkVPEForHelloPage("RemoveSubstitutedELExpressionHelloPage.xml"); //$NON-NLS-1$
- checkVPEForTestPageFolder("RemoveSubstitutedELExpressionTestPage.xml"); //$NON-NLS-1$
+ assertVisualEditorContainsNodeWithValue(new SWTBotWebBrowser("hello.jsp",botExt),
+ "#{user.name}",
+ "hello.jsp");
+
+ assertVisualEditorContains(new SWTBotWebBrowser(TEST_PAGE_FOR_FOLDER+".jsp",botExt),
+ "INPUT",
+ new String[]{"value"},
+ new String[]{"#{user.name}"},
+ TEST_PAGE_FOR_FOLDER+".jsp");
}
@Override
@@ -147,30 +168,5 @@
delay();
super.tearDown();
}
-
- private void checkVPEForTestPageFolder(String testPageFolder) throws Throwable{
- //Open hello page
-
- SWTBot innerBot = bot.viewByTitle(WidgetVariables.PACKAGE_EXPLORER).bot();
- SWTBotTree tree = innerBot.tree();
- tree.expandNode(JBT_TEST_PROJECT_NAME)
- .expandNode("WebContent").expandNode(TEST_FOLDER) //$NON-NLS-1$
- .getNode(TEST_PAGE_FOR_FOLDER+".jsp").doubleClick(); //$NON-NLS-1$
- SWTBotEditor editor = bot.editorByTitle(TEST_PAGE_FOR_FOLDER+".jsp"); //$NON-NLS-1$
- // waitForBlockingJobsAcomplished(VISUAL_REFRESH);
-
- //Check page content
-
- try {
- performContentTestByDocument(testPageFolder, bot.multiPageEditorByTitle(TEST_PAGE_FOR_FOLDER+".jsp")); //$NON-NLS-1$
- } catch (Throwable e) {
- throw e;
- }finally{
- editor.close();
- openPage();
- }
-
- }
-
}
Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/pagedesign/SubstitutedELTestCase.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/pagedesign/SubstitutedELTestCase.java 2012-09-06 11:37:24 UTC (rev 43466)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/pagedesign/SubstitutedELTestCase.java 2012-09-06 12:05:51 UTC (rev 43467)
@@ -10,12 +10,8 @@
******************************************************************************/
package org.jboss.tools.vpe.ui.bot.test.editor.pagedesign;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
-import org.eclipse.swtbot.swt.finder.SWTBot;
import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTable;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-import org.jboss.tools.ui.bot.test.WidgetVariables;
public abstract class SubstitutedELTestCase extends PageDesignTestCase{
@@ -42,11 +38,6 @@
return isOpened;
}
-
- void checkVPEForTestPage(String testPage) throws Throwable{
- performContentTestByDocument(testPage, bot.multiPageEditorByTitle(TEST_PAGE));
- }
-
@Override
public void setUp() throws Exception {
super.setUp();
@@ -77,27 +68,5 @@
catch (WidgetNotFoundException e) {
}
}
-
- void checkVPEForHelloPage(String testHelloPage) throws Throwable{
- //Open hello page
-
- SWTBot innerBot = bot.viewByTitle(WidgetVariables.PACKAGE_EXPLORER).bot();
- SWTBotTree tree = innerBot.tree();
- tree.expandNode(JBT_TEST_PROJECT_NAME)
- .expandNode("WebContent").expandNode("pages").getNode("hello.jsp").doubleClick(); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- SWTBotEditor editor = bot.editorByTitle("hello.jsp"); //$NON-NLS-1$
-
- //Check page content
-
- try {
- performContentTestByDocument(testHelloPage, bot.multiPageEditorByTitle("hello.jsp")); //$NON-NLS-1$
- } catch (Throwable e) {
- throw e;
- }finally{
- editor.close();
- openPage();
- }
- }
-
}
Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/preferences/BorderForUnknownTagsTest.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/preferences/BorderForUnknownTagsTest.java 2012-09-06 11:37:24 UTC (rev 43466)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/preferences/BorderForUnknownTagsTest.java 2012-09-06 12:05:51 UTC (rev 43467)
@@ -12,6 +12,8 @@
import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEclipseEditor;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotCheckBox;
+import org.jboss.tools.ui.bot.ext.SWTBotExt;
+import org.jboss.tools.vpe.ui.bot.test.tools.SWTBotWebBrowser;
public class BorderForUnknownTagsTest extends PreferencesTestCase{
@@ -28,7 +30,8 @@
//Test insert unknown tag
editor.navigateTo(12, 52);
- editor.insertText("<tagunknown></tagunknown>"); //$NON-NLS-1$
+ final String unknownTag = "tagunknown";
+ editor.insertText("<" + unknownTag + "></" + unknownTag + ">"); //$NON-NLS-1$
//Test default Show Border value
@@ -42,25 +45,32 @@
//Test check VPE content
- checkVPE("ShowBorderForUnknownTag.xml"); //$NON-NLS-1$
-
+ SWTBotWebBrowser webBrowser = new SWTBotWebBrowser(TEST_PAGE, new SWTBotExt());
+ assertVisualEditorContains(webBrowser,
+ "DIV",
+ new String[]{"style","title"},
+ new String[]{"-moz-user-modify: read-only; border: 1px solid green;",unknownTag},
+ TEST_PAGE);
//Test hide border for unknown tag
selectBorder();
- checkVPE("HideBorderForUnknownTag.xml"); //$NON-NLS-1$
-
+ assertVisualEditorContains(webBrowser,
+ "DIV",
+ new String[]{"style","title"},
+ new String[]{"-moz-user-modify: read-only;",unknownTag},
+ TEST_PAGE);
+
//Test restore previous state
selectBorder();
- checkVPE("ShowBorderForUnknownTag.xml"); //$NON-NLS-1$
+ assertVisualEditorContains(webBrowser,
+ "DIV",
+ new String[]{"style","title"},
+ new String[]{"-moz-user-modify: read-only; border: 1px solid green;",unknownTag},
+ TEST_PAGE);
}
- private void checkVPE(String testPage) throws Throwable{
-// waitForBlockingJobsAcomplished(VISUAL_REFRESH);
- performContentTestByDocument(testPage, bot.multiPageEditorByTitle(TEST_PAGE));
- }
-
private void selectBorder(){
bot.toolbarButtonWithTooltip(PREF_TOOLTIP).click();
bot.shell(PREF_FILTER_SHELL_TITLE).activate();
Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/preferences/PreferencesTestCase.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/preferences/PreferencesTestCase.java 2012-09-06 11:37:24 UTC (rev 43466)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/preferences/PreferencesTestCase.java 2012-09-06 12:05:51 UTC (rev 43467)
@@ -21,9 +21,9 @@
import org.jboss.tools.ui.bot.ext.SWTJBTExt;
import org.jboss.tools.ui.bot.ext.types.IDELabel;
import org.jboss.tools.vpe.ui.bot.test.Activator;
-import org.jboss.tools.vpe.ui.bot.test.VPEAutoTestCase;
+import org.jboss.tools.vpe.ui.bot.test.editor.VPEEditorTestCase;
-public abstract class PreferencesTestCase extends VPEAutoTestCase{
+public abstract class PreferencesTestCase extends VPEEditorTestCase{
protected static final String TOGGLE_SELECTION_BAR_TOOLTIP = "Toggle selection tag bar (" + //$NON-NLS-1$
(SWTJBTExt.isRunningOnMacOs() ? "⌘6" : "Ctrl+6") + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/preferences/ShowNonVisualTagsTest.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/preferences/ShowNonVisualTagsTest.java 2012-09-06 11:37:24 UTC (rev 43466)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/preferences/ShowNonVisualTagsTest.java 2012-09-06 12:05:51 UTC (rev 43467)
@@ -10,32 +10,37 @@
******************************************************************************/
package org.jboss.tools.vpe.ui.bot.test.editor.preferences;
+import org.jboss.tools.ui.bot.ext.SWTBotExt;
+import org.jboss.tools.vpe.ui.bot.test.tools.SWTBotWebBrowser;
+
public class ShowNonVisualTagsTest extends PreferencesTestCase{
public void testShowNonVisualTags() throws Throwable{
openPage();
- checkVPE("DumpedTestPage.xml"); //$NON-NLS-1$
-
- //Test Show Non-Visual Tags
-
+ //Test Show Non-Visual Tags
selectShowNonVisual();
closePage();
openPage();
- checkVPE("ShowNonVisualTags.xml"); //$NON-NLS-1$
-
+ SWTBotWebBrowser webBrowser = new SWTBotWebBrowser(TEST_PAGE, new SWTBotExt());
+ assertVisualEditorContainsNodeWithValue(webBrowser,
+ "jsp:directive.taglib",
+ TEST_PAGE);
+ assertVisualEditorContainsNodeWithValue(webBrowser,
+ "f:loadBundle",
+ TEST_PAGE);
//Test Hide Non-Visual Tags
selectShowNonVisual();
closePage();
openPage();
- checkVPE("DumpedTestPage.xml"); //$NON-NLS-1$
-
+ webBrowser = new SWTBotWebBrowser(TEST_PAGE, new SWTBotExt());
+ assertVisualEditorNotContainNodeWithValue(webBrowser,
+ "jsp:directive.taglib",
+ TEST_PAGE);
+ assertVisualEditorNotContainNodeWithValue(webBrowser,
+ "f:loadBundle",
+ TEST_PAGE);
}
- private void checkVPE(String testPage) throws Throwable{
-// waitForBlockingJobsAcomplished(VISUAL_REFRESH);
- performContentTestByDocument(testPage, bot.multiPageEditorByTitle(TEST_PAGE));
- }
-
private void selectShowNonVisual(){
bot.toolbarButtonWithTooltip(PREF_TOOLTIP).click();
bot.shell(PREF_FILTER_SHELL_TITLE).activate();
Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/preferences/ShowResourceBundlesUsageasELexpressionsTest.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/preferences/ShowResourceBundlesUsageasELexpressionsTest.java 2012-09-06 11:37:24 UTC (rev 43466)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/editor/preferences/ShowResourceBundlesUsageasELexpressionsTest.java 2012-09-06 12:05:51 UTC (rev 43467)
@@ -11,6 +11,8 @@
package org.jboss.tools.vpe.ui.bot.test.editor.preferences;
import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEclipseEditor;
+import org.jboss.tools.ui.bot.ext.SWTBotExt;
+import org.jboss.tools.vpe.ui.bot.test.tools.SWTBotWebBrowser;
public class ShowResourceBundlesUsageasELexpressionsTest extends PreferencesTestCase{
@@ -22,17 +24,37 @@
openPage();
editor = bot.editorByTitle(TEST_PAGE).toTextEditor();
textEditor = editor.getText();
-
+ SWTBotWebBrowser webBrowser = new SWTBotWebBrowser(TEST_PAGE, new SWTBotExt());
//Test check VPE content with resource bundles
-
selectELExpressions();
- checkVPE("ShowResourceBundlesUsageasELExpressions.xml"); //$NON-NLS-1$
-
+ assertVisualEditorContainsNodeWithValue(webBrowser,
+ "#{Message.prompt_message}",
+ TEST_PAGE);
+ assertVisualEditorContainsNodeWithValue(webBrowser,
+ "#{Message.header}",
+ TEST_PAGE);
+ assertVisualEditorNotContainNodeWithValue(webBrowser,
+ "Hello Demo Application",
+ TEST_PAGE);
+ assertVisualEditorNotContainNodeWithValue(webBrowser,
+ "Name:",
+ TEST_PAGE);
//Test check VPE content without resource bundles
selectELExpressions();
- checkVPE("HideResourceBundlesUsageasELExpressions.xml"); //$NON-NLS-1$
-
+ new SWTBotWebBrowser(TEST_PAGE, new SWTBotExt()).displayWebBrowserDOM();
+ assertVisualEditorNotContainNodeWithValue(webBrowser,
+ "#{Message.prompt_message}",
+ TEST_PAGE);
+ assertVisualEditorNotContainNodeWithValue(webBrowser,
+ "#{Message.header}",
+ TEST_PAGE);
+ assertVisualEditorContainsNodeWithValue(webBrowser,
+ "Hello Demo Application",
+ TEST_PAGE);
+ assertVisualEditorContainsNodeWithValue(webBrowser,
+ "Name:",
+ TEST_PAGE);
}
@Override
@@ -48,11 +70,6 @@
super.tearDown();
}
- private void checkVPE(String testPage) throws Throwable{
-// waitForBlockingJobsAcomplished(VISUAL_REFRESH);
- performContentTestByDocument(testPage, bot.multiPageEditorByTitle(TEST_PAGE));
- }
-
private void selectELExpressions(){
bot.toolbarButtonWithTooltip(PREF_TOOLTIP).click();
bot.shell(PREF_FILTER_SHELL_TITLE).activate();
Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/jbide/Jbide10020_TestHotKeyForVpeRefresh.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/jbide/Jbide10020_TestHotKeyForVpeRefresh.java 2012-09-06 11:37:24 UTC (rev 43466)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/jbide/Jbide10020_TestHotKeyForVpeRefresh.java 2012-09-06 12:05:51 UTC (rev 43467)
@@ -11,13 +11,15 @@
package org.jboss.tools.vpe.ui.bot.test.jbide;
import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
+import org.jboss.tools.ui.bot.ext.SWTJBTExt;
import org.jboss.tools.ui.bot.ext.SWTTestExt;
+import org.jboss.tools.ui.bot.ext.types.IDELabel;
import org.jboss.tools.vpe.ui.bot.test.VPEAutoTestCase;
public class Jbide10020_TestHotKeyForVpeRefresh extends VPEAutoTestCase {
- private final String TOOL_TIP = "Refresh (F5)"; //$NON-NLS-1$
- private final String TOOL_TIP2 = "Refresh"; //$NON-NLS-1$
+ private final String TOOL_TIP = SWTJBTExt.isRunningOnMacOs() ?
+ IDELabel.ToolbarButton.REFRESH_MAC_OS: IDELabel.ToolbarButton.REFRESH;
private final String ERROR_MESSAGE =
"Could not find tool bar button with tooltip '" + TOOL_TIP //$NON-NLS-1$
+ "' on the toolbar. Hot key 'F5' for VPE refresh is broken."; //$NON-NLS-1$
@@ -41,7 +43,7 @@
/*
* Case 1:
* When focus is on in the VPE --
- * Find "Refresh (F5)" toolbar button
+ * Find "Refresh (Ctrl+5)" toolbar button
*/
editor.setFocus();
try {
@@ -55,10 +57,6 @@
* Find "Refresh" toolbar button without HotKey defined.
*/
packageExplorer.show();
- try {
- bot.toolbarButtonWithTooltip(TOOL_TIP2);
- } catch (Exception e) {
- fail("Hot key for VPE refresh is *NOT* disabled in Package Explorer"); //$NON-NLS-1$
- }
+ assertNotEnabled(bot.toolbarButtonWithTooltip(TOOL_TIP));
}
}
Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/tools/SWTBotWebBrowser.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/tools/SWTBotWebBrowser.java 2012-09-06 11:37:24 UTC (rev 43466)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/tools/SWTBotWebBrowser.java 2012-09-06 12:05:51 UTC (rev 43467)
@@ -968,4 +968,61 @@
return result;
}
+
+ /**
+ * Returns all comment nodes
+ * @return
+ */
+ public List<nsIDOMNode> getCommentNodes(){
+ return getCommentNodes(mozillaEditor.getDomDocument());
+ }
+ /**
+ * Returns all comment nodes of node
+ * @param node
+ * @return
+ */
+ public List<nsIDOMNode> getCommentNodes(nsIDOMNode node){
+ LinkedList<nsIDOMNode> result = new LinkedList<nsIDOMNode>();
+ final String commentNodeName = "#comment";
+ if (node.getNodeName().trim().equals(commentNodeName)){
+ result.add(node);
+ }
+ else{
+ // check children children
+ nsIDOMNodeList children = node.getChildNodes();
+ for (int i = 0; i < children.getLength(); i++) {
+
+ nsIDOMNode child = children.item(i);
+ // leave out empty text nodes in test dom model
+ if ((child.getNodeType() == Node.TEXT_NODE)
+ && ((child.getNodeValue() == null) || (child.getNodeValue().trim()
+ .length() == 0)))
+ continue;
+
+ result.addAll(getCommentNodes(child));
+ }
+ }
+ return result;
+ }
+ /**
+ * Returns true if browser contains comment node with value
+ * @param value
+ * @return
+ */
+ public boolean containsCommentWithValue (String value){
+ boolean notFound = true;
+
+ List<nsIDOMNode> comments = getCommentNodes();
+ if (comments != null && comments.size() > 0){
+ Iterator<nsIDOMNode> itNode = comments.iterator();
+ while (itNode.hasNext() && notFound){
+ nsIDOMNode node = itNode.next();
+ if (stripTextFromSpecChars(node.getNodeValue()).equalsIgnoreCase(value)){
+ notFound = false;
+ }
+ }
+ }
+
+ return !notFound;
+ }
}
13 years, 7 months
JBoss Tools SVN: r43466 - trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/dialog.
by jbosstools-commits@lists.jboss.org
Author: fbricon
Date: 2012-09-06 07:37:24 -0400 (Thu, 06 Sep 2012)
New Revision: 43466
Modified:
trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/dialog/IdentifyMavenDependencyPage.java
Log:
JBIDE-12548 : Fixed unhandled event loop exception when converting to maven project
Modified: trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/dialog/IdentifyMavenDependencyPage.java
===================================================================
--- trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/dialog/IdentifyMavenDependencyPage.java 2012-09-06 11:10:35 UTC (rev 43465)
+++ trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/dialog/IdentifyMavenDependencyPage.java 2012-09-06 11:37:24 UTC (rev 43466)
@@ -576,7 +576,9 @@
}
public List<Dependency> getDependencies() {
-
+ if (dependenciesViewer == null || dependenciesViewer.getTable().isDisposed()) {
+ return Collections.emptyList();
+ }
Object[] selection = dependenciesViewer.getCheckedElements();
List<Dependency> dependencies = new ArrayList<Dependency>(selection.length);
for (Object o : selection) {
13 years, 7 months