]> source.dussan.org Git - vaadin-framework.git/commitdiff
Clean up SQL container tests. (#8091)
authorDenis <denis@vaadin.com>
Wed, 28 Dec 2016 09:14:12 +0000 (11:14 +0200)
committerGitHub <noreply@github.com>
Wed, 28 Dec 2016 09:14:12 +0000 (11:14 +0200)
Only one UI smoke test for the SQL container (along with a Table).

Fixes vaadin/framework8-issues#582

15 files changed:
uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxSQLContainerFilteredValueChange.java [deleted file]
uitest/src/main/java/com/vaadin/tests/components/table/DisabledSortingTableSqlContainer.java [deleted file]
uitest/src/main/java/com/vaadin/tests/components/table/TableScrollingWithSQLContainer.java [deleted file]
uitest/src/main/java/com/vaadin/tests/components/table/TableSqlContainer.java [deleted file]
uitest/src/main/java/com/vaadin/tests/containers/sqlcontainer/ComboBoxUpdateProblem.java [deleted file]
uitest/src/main/java/com/vaadin/tests/containers/sqlcontainer/DatabaseHelper.java [deleted file]
uitest/src/main/java/com/vaadin/tests/containers/sqlcontainer/MassInsertMemoryLeakTestApp.java [deleted file]
uitest/src/main/java/com/vaadin/tests/containers/sqlcontainer/SqlcontainertableApplication.java [deleted file]
uitest/src/main/java/com/vaadin/tests/containers/sqlcontainer/TableQueryWithNonUniqueFirstPrimaryKey.java [deleted file]
uitest/src/main/java/com/vaadin/tests/smoke/TableSqlContainer.java [new file with mode: 0644]
uitest/src/main/java/com/vaadin/v7/data/util/sqlcontainer/SQLTestsConstants.java [deleted file]
uitest/src/test/java/com/vaadin/tests/components/table/DisabledSortingTableTest.java
uitest/src/test/java/com/vaadin/tests/components/table/TableScrollingWithSQLContainerTest.java [deleted file]
uitest/src/test/java/com/vaadin/tests/containers/sqlcontainer/TableQueryWithNonUniqueFirstPrimaryKeyTest.java [deleted file]
uitest/src/test/java/com/vaadin/tests/smoke/TableSqlContainerTest.java [new file with mode: 0644]

diff --git a/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxSQLContainerFilteredValueChange.java b/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxSQLContainerFilteredValueChange.java
deleted file mode 100644 (file)
index a3d804b..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-package com.vaadin.tests.components.combobox;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.Statement;
-
-import com.vaadin.tests.components.TestBase;
-import com.vaadin.ui.Label;
-import com.vaadin.ui.VerticalLayout;
-import com.vaadin.v7.data.Property;
-import com.vaadin.v7.data.Property.ValueChangeEvent;
-import com.vaadin.v7.data.util.sqlcontainer.SQLContainer;
-import com.vaadin.v7.data.util.sqlcontainer.connection.JDBCConnectionPool;
-import com.vaadin.v7.data.util.sqlcontainer.connection.SimpleJDBCConnectionPool;
-import com.vaadin.v7.data.util.sqlcontainer.query.TableQuery;
-import com.vaadin.v7.ui.AbstractSelect.Filtering;
-import com.vaadin.v7.ui.ComboBox;
-
-public class ComboBoxSQLContainerFilteredValueChange extends TestBase {
-
-    @Override
-    protected void setup() {
-        VerticalLayout layout = new VerticalLayout();
-        addComponent(layout);
-
-        final ComboBox myCombo = new ComboBox("MyCaption");
-        layout.addComponent(myCombo);
-
-        final Label selectedLabel = new Label("Selected: null");
-        layout.addComponent(selectedLabel);
-
-        try {
-            JDBCConnectionPool connectionPool = new SimpleJDBCConnectionPool(
-                    "org.hsqldb.jdbc.JDBCDriver",
-                    "jdbc:hsqldb:mem:sqlcontainer", "SA", "", 2, 20);
-
-            createTestTable(connectionPool);
-            insertTestData(connectionPool);
-
-            TableQuery q = new TableQuery("mytable", connectionPool);
-            q.setVersionColumn("version");
-            SQLContainer myContainer = new SQLContainer(q);
-
-            myCombo.setContainerDataSource(myContainer);
-
-        } catch (SQLException e) {
-            e.printStackTrace();
-        }
-
-        myCombo.setItemCaptionPropertyId("MYFIELD");
-        myCombo.setFilteringMode(Filtering.FILTERINGMODE_CONTAINS);
-        myCombo.setImmediate(true);
-        myCombo.setWidth("100.0%");
-        myCombo.setHeight("-1px");
-        myCombo.addListener(new Property.ValueChangeListener() {
-            @Override
-            public void valueChange(ValueChangeEvent event) {
-                selectedLabel.setValue(
-                        "Selected: " + event.getProperty().getValue());
-            }
-        });
-    }
-
-    @Override
-    protected String getDescription() {
-        return "Selecting the first filtered item should change the value of the label under the ComboBox to 'Selected: 1'.";
-    }
-
-    @Override
-    protected Integer getTicketNumber() {
-        return 10471;
-    }
-
-    /**
-     * (Re)creates the test table
-     *
-     * @param connectionPool
-     */
-    private void createTestTable(JDBCConnectionPool connectionPool) {
-        Connection conn = null;
-        try {
-            conn = connectionPool.reserveConnection();
-            Statement statement = conn.createStatement();
-            try {
-                statement.executeUpdate("DROP TABLE mytable");
-            } catch (SQLException e) {
-            }
-            statement.execute("CREATE TABLE mytable "
-                    + "(id INTEGER GENERATED BY DEFAULT AS IDENTITY, "
-                    + "MYFIELD VARCHAR(45), " + "PRIMARY KEY(ID))");
-            statement.close();
-            conn.commit();
-        } catch (SQLException e) {
-            e.printStackTrace();
-        } finally {
-            connectionPool.releaseConnection(conn);
-        }
-    }
-
-    /**
-     * Adds test data to the test table
-     *
-     * @param connectionPool
-     * @throws SQLException
-     */
-    private void insertTestData(JDBCConnectionPool connectionPool)
-            throws SQLException {
-        Connection conn = null;
-        try {
-            conn = connectionPool.reserveConnection();
-            Statement statement = conn.createStatement();
-
-            statement.executeUpdate("INSERT INTO mytable VALUES(1, 'A0')");
-            statement.executeUpdate("INSERT INTO mytable VALUES(2, 'A1')");
-            statement.executeUpdate("INSERT INTO mytable VALUES(3, 'B0')");
-            statement.executeUpdate("INSERT INTO mytable VALUES(4, 'B1')");
-
-            statement.close();
-            conn.commit();
-        } catch (SQLException e) {
-            e.printStackTrace();
-        } finally {
-            connectionPool.releaseConnection(conn);
-        }
-    }
-}
diff --git a/uitest/src/main/java/com/vaadin/tests/components/table/DisabledSortingTableSqlContainer.java b/uitest/src/main/java/com/vaadin/tests/components/table/DisabledSortingTableSqlContainer.java
deleted file mode 100644 (file)
index bc4cd71..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.vaadin.tests.components.table;
-
-import com.vaadin.server.VaadinRequest;
-import com.vaadin.ui.Button;
-
-public class DisabledSortingTableSqlContainer extends TableSqlContainer {
-
-    @Override
-    protected void setup(VaadinRequest request) {
-        super.setup(request);
-
-        addButton("Enable sorting", new Button.ClickListener() {
-            @Override
-            public void buttonClick(Button.ClickEvent event) {
-                table.setSortEnabled(true);
-            }
-        });
-
-        addButton("Disable sorting", new Button.ClickListener() {
-            @Override
-            public void buttonClick(Button.ClickEvent event) {
-                table.setSortEnabled(false);
-            }
-        });
-
-        addButton("Sort by empty array", new Button.ClickListener() {
-            @Override
-            public void buttonClick(Button.ClickEvent event) {
-                table.sort(new Object[] {}, new boolean[] {});
-            }
-        });
-    }
-
-    @Override
-    protected String getTestDescription() {
-        return "Sorting with empty arrays should reset sorting and hide sorting indicator in Table connected to a SQLContainer";
-    }
-
-    @Override
-    protected Integer getTicketNumber() {
-        return 16563;
-    }
-
-}
diff --git a/uitest/src/main/java/com/vaadin/tests/components/table/TableScrollingWithSQLContainer.java b/uitest/src/main/java/com/vaadin/tests/components/table/TableScrollingWithSQLContainer.java
deleted file mode 100644 (file)
index d36f0c5..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-package com.vaadin.tests.components.table;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.Statement;
-
-import com.vaadin.server.VaadinRequest;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.Button.ClickEvent;
-import com.vaadin.ui.Button.ClickListener;
-import com.vaadin.ui.UI;
-import com.vaadin.ui.VerticalLayout;
-import com.vaadin.v7.data.util.sqlcontainer.SQLContainer;
-import com.vaadin.v7.data.util.sqlcontainer.connection.JDBCConnectionPool;
-import com.vaadin.v7.data.util.sqlcontainer.connection.SimpleJDBCConnectionPool;
-import com.vaadin.v7.data.util.sqlcontainer.query.QueryDelegate;
-import com.vaadin.v7.data.util.sqlcontainer.query.TableQuery;
-import com.vaadin.v7.data.util.sqlcontainer.query.generator.DefaultSQLGenerator;
-import com.vaadin.v7.ui.Table;
-
-@SuppressWarnings("serial")
-public class TableScrollingWithSQLContainer extends UI {
-
-    /** Table should never end up calling indexOfId in this case */
-    private class LimitedSQLContainer extends SQLContainer {
-
-        public LimitedSQLContainer(QueryDelegate delegate) throws SQLException {
-            super(delegate);
-        }
-
-        @Override
-        public int indexOfId(Object itemId) {
-            throw new RuntimeException("This function should not be called");
-        }
-    }
-
-    private void generateTestData(JDBCConnectionPool connectionPool)
-            throws SQLException {
-        Connection conn = connectionPool.reserveConnection();
-        Statement statement = conn.createStatement();
-        try {
-            statement.execute("drop table PEOPLE");
-        } catch (SQLException e) {
-            // Will fail if table doesn't exist, which is OK.
-            conn.rollback();
-        }
-        statement.execute(
-                "create table people (id integer generated always as identity,"
-                        + " name varchar(32), AGE INTEGER)");
-        statement.execute("alter table people add primary key (id)");
-        for (int i = 0; i < 5000; i++) {
-            statement
-                    .executeUpdate("insert into people values(default, 'Person "
-                            + i + "', '" + i % 99 + "')");
-        }
-        statement.close();
-        conn.commit();
-        connectionPool.releaseConnection(conn);
-    }
-
-    static final String TABLE = "table";
-
-    @Override
-    public void init(VaadinRequest request) {
-        try {
-            SimpleJDBCConnectionPool connectionPool = new SimpleJDBCConnectionPool(
-                    "org.hsqldb.jdbc.JDBCDriver",
-                    "jdbc:hsqldb:mem:sqlcontainer", "SA", "", 2, 20);
-            generateTestData(connectionPool);
-
-            TableQuery query = new TableQuery("people", connectionPool,
-                    new DefaultSQLGenerator());
-
-            SQLContainer container = new LimitedSQLContainer(query);
-
-            final VerticalLayout rootLayout = new VerticalLayout();
-
-            final Table table = new Table();
-            table.setContainerDataSource(container);
-            table.setCurrentPageFirstItemIndex(300);
-            rootLayout.addComponent(table);
-
-            table.setImmediate(true);
-
-            rootLayout.addComponent(new Button("GOTO 200", new ClickListener() {
-
-                @Override
-                public void buttonClick(ClickEvent event) {
-                    table.setCurrentPageFirstItemIndex(200);
-                }
-            }));
-
-            setContent(rootLayout);
-
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/uitest/src/main/java/com/vaadin/tests/components/table/TableSqlContainer.java b/uitest/src/main/java/com/vaadin/tests/components/table/TableSqlContainer.java
deleted file mode 100644 (file)
index c6bd3b3..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-package com.vaadin.tests.components.table;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.Locale;
-
-import com.vaadin.server.VaadinRequest;
-import com.vaadin.tests.components.AbstractReindeerTestUI;
-import com.vaadin.ui.CheckBox;
-import com.vaadin.ui.Label;
-import com.vaadin.ui.VerticalLayout;
-import com.vaadin.v7.data.Property;
-import com.vaadin.v7.data.Property.ValueChangeEvent;
-import com.vaadin.v7.data.util.sqlcontainer.SQLContainer;
-import com.vaadin.v7.data.util.sqlcontainer.connection.JDBCConnectionPool;
-import com.vaadin.v7.data.util.sqlcontainer.connection.SimpleJDBCConnectionPool;
-import com.vaadin.v7.data.util.sqlcontainer.query.TableQuery;
-import com.vaadin.v7.ui.Table;
-
-public class TableSqlContainer extends AbstractReindeerTestUI {
-
-    protected Table table;
-
-    @Override
-    protected void setup(VaadinRequest request) {
-        setLocale(Locale.ENGLISH);
-        VerticalLayout layout = new VerticalLayout();
-        addComponent(layout);
-
-        table = new Table("Table with SQLContainer");
-        layout.addComponent(table);
-
-        final Label selectedLabel = new Label("Selected: null");
-        layout.addComponent(selectedLabel);
-
-        try {
-            JDBCConnectionPool connectionPool = new SimpleJDBCConnectionPool(
-                    "org.hsqldb.jdbc.JDBCDriver",
-                    "jdbc:hsqldb:mem:sqlcontainer", "SA", "", 2, 20);
-
-            createTestTable(connectionPool);
-            insertTestData(connectionPool);
-
-            TableQuery q = new TableQuery("mytable", connectionPool);
-            q.setVersionColumn("version");
-            SQLContainer myContainer = new SQLContainer(q);
-
-            table.setContainerDataSource(myContainer);
-
-        } catch (SQLException e) {
-            e.printStackTrace();
-        }
-
-        table.setImmediate(true);
-        table.setSizeFull();
-        table.setSelectable(true);
-        table.addValueChangeListener(new Property.ValueChangeListener() {
-            @Override
-            public void valueChange(ValueChangeEvent event) {
-                selectedLabel.setValue(
-                        "Selected: " + event.getProperty().getValue());
-            }
-        });
-
-        final CheckBox editMode = new CheckBox("Edit mode");
-        editMode.addValueChangeListener(
-                event -> table.setEditable(editMode.getValue()));
-        addComponent(editMode);
-    }
-
-    /**
-     * (Re)creates the test table
-     *
-     * @param connectionPool
-     */
-    private void createTestTable(JDBCConnectionPool connectionPool) {
-        Connection conn = null;
-        try {
-            conn = connectionPool.reserveConnection();
-            Statement statement = conn.createStatement();
-            try {
-                statement.executeUpdate("DROP TABLE mytable");
-            } catch (SQLException e) {
-            }
-            statement.execute("CREATE TABLE mytable "
-                    + "(id INTEGER GENERATED BY DEFAULT AS IDENTITY, D DATE,"
-                    + "MYFIELD VARCHAR(45), " + "PRIMARY KEY(ID))");
-            statement.close();
-            conn.commit();
-        } catch (SQLException e) {
-            e.printStackTrace();
-        } finally {
-            connectionPool.releaseConnection(conn);
-        }
-    }
-
-    /**
-     * Adds test data to the test table
-     *
-     * @param connectionPool
-     * @throws SQLException
-     */
-    private void insertTestData(JDBCConnectionPool connectionPool)
-            throws SQLException {
-        Connection conn = null;
-        try {
-            conn = connectionPool.reserveConnection();
-            Statement statement = conn.createStatement();
-
-            statement.executeUpdate(
-                    "INSERT INTO mytable VALUES(1, '2013-05-24', 'A0')");
-            statement.executeUpdate(
-                    "INSERT INTO mytable VALUES(2, '2013-04-26', 'A1')");
-            statement.executeUpdate(
-                    "INSERT INTO mytable VALUES(3, '2013-05-27', 'B0')");
-            statement.executeUpdate(
-                    "INSERT INTO mytable VALUES(4, '2013-04-28', 'B1')");
-
-            statement.close();
-            conn.commit();
-        } catch (SQLException e) {
-            e.printStackTrace();
-        } finally {
-            connectionPool.releaseConnection(conn);
-        }
-    }
-
-    @Override
-    protected String getTestDescription() {
-        return "A test with Table connected to a SQLContainer using TableQuery";
-    }
-
-    @Override
-    protected Integer getTicketNumber() {
-        return 11224;
-    }
-
-}
diff --git a/uitest/src/main/java/com/vaadin/tests/containers/sqlcontainer/ComboBoxUpdateProblem.java b/uitest/src/main/java/com/vaadin/tests/containers/sqlcontainer/ComboBoxUpdateProblem.java
deleted file mode 100644 (file)
index 496f2fb..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.vaadin.tests.containers.sqlcontainer;
-
-import com.vaadin.server.LegacyApplication;
-import com.vaadin.ui.LegacyWindow;
-import com.vaadin.v7.shared.ui.combobox.FilteringMode;
-import com.vaadin.v7.ui.ComboBox;
-
-/**
- * See http://dev.vaadin.com/ticket/9155 .
- */
-public class ComboBoxUpdateProblem extends LegacyApplication {
-    private final DatabaseHelper databaseHelper = new DatabaseHelper();
-
-    @Override
-    public void init() {
-        setMainWindow(new LegacyWindow("Test window"));
-
-        ComboBox combo = new ComboBox("Names",
-                databaseHelper.getTestContainer());
-        combo.setItemCaptionPropertyId("FIELD1");
-        combo.setFilteringMode(FilteringMode.CONTAINS);
-        combo.setImmediate(true);
-
-        getMainWindow().addComponent(combo);
-    }
-
-}
diff --git a/uitest/src/main/java/com/vaadin/tests/containers/sqlcontainer/DatabaseHelper.java b/uitest/src/main/java/com/vaadin/tests/containers/sqlcontainer/DatabaseHelper.java
deleted file mode 100644 (file)
index 0e91f37..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-package com.vaadin.tests.containers.sqlcontainer;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.Statement;
-
-import com.vaadin.v7.data.util.sqlcontainer.SQLContainer;
-import com.vaadin.v7.data.util.sqlcontainer.SQLTestsConstants;
-import com.vaadin.v7.data.util.sqlcontainer.connection.JDBCConnectionPool;
-import com.vaadin.v7.data.util.sqlcontainer.connection.SimpleJDBCConnectionPool;
-import com.vaadin.v7.data.util.sqlcontainer.query.TableQuery;
-
-class DatabaseHelper {
-
-    private JDBCConnectionPool connectionPool = null;
-    private SQLContainer testContainer = null;
-    private static final String TABLENAME = "testtable";
-    private SQLContainer largeContainer = null;
-    private static final String LARGE_TABLENAME = "largetable";
-
-    public DatabaseHelper() {
-        initConnectionPool();
-        initDatabase();
-        initContainers();
-    }
-
-    private void initDatabase() {
-        try {
-            Connection conn = connectionPool.reserveConnection();
-            Statement statement = conn.createStatement();
-            try {
-                statement.execute("drop table " + TABLENAME);
-            } catch (SQLException e) {
-                // Will fail if table doesn't exist, which is OK.
-                conn.rollback();
-            }
-            try {
-                statement.execute("drop table " + LARGE_TABLENAME);
-            } catch (SQLException e) {
-                // Will fail if table doesn't exist, which is OK.
-                conn.rollback();
-            }
-            switch (SQLTestsConstants.db) {
-            case HSQLDB:
-                statement.execute("create table " + TABLENAME
-                        + " (id integer GENERATED BY DEFAULT AS IDENTITY, field1 varchar(100), field2 boolean, primary key(id))");
-                statement.execute("create table " + LARGE_TABLENAME
-                        + " (id integer GENERATED BY DEFAULT AS IDENTITY, field1 varchar(100), primary key(id))");
-                break;
-            case MYSQL:
-                statement.execute("create table " + TABLENAME
-                        + " (id integer auto_increment not null, field1 varchar(100), field2 boolean, primary key(id))");
-                statement.execute("create table " + LARGE_TABLENAME
-                        + " (id integer auto_increment not null, field1 varchar(100), primary key(id))");
-                break;
-            case POSTGRESQL:
-                statement.execute("create table " + TABLENAME
-                        + " (\"id\" serial primary key, \"field1\" varchar(100), \"field2\" boolean)");
-                statement.execute("create table " + LARGE_TABLENAME
-                        + " (\"id\" serial primary key, \"field1\" varchar(100))");
-                break;
-            }
-            statement.executeUpdate("insert into " + TABLENAME
-                    + " values(default, 'Kalle', 'true')");
-            statement.executeUpdate("insert into " + TABLENAME
-                    + " values(default, 'Ville', 'true')");
-            statement.executeUpdate("insert into " + TABLENAME
-                    + " values(default, 'Jussi', 'true')");
-
-            for (int i = 0; i < 400; ++i) {
-                statement.executeUpdate("insert into " + LARGE_TABLENAME
-                        + " values(default, 'User " + i + "')");
-            }
-
-            statement.close();
-            conn.commit();
-            connectionPool.releaseConnection(conn);
-        } catch (SQLException e) {
-            e.printStackTrace();
-        }
-    }
-
-    private void initContainers() {
-        try {
-            TableQuery q1 = new TableQuery(TABLENAME, connectionPool);
-            q1.setVersionColumn("id");
-            testContainer = new SQLContainer(q1);
-
-            TableQuery q2 = new TableQuery(LARGE_TABLENAME, connectionPool);
-            q2.setVersionColumn("id");
-            largeContainer = new SQLContainer(q2);
-        } catch (SQLException e) {
-            e.printStackTrace();
-        }
-    }
-
-    private void initConnectionPool() {
-        try {
-            connectionPool = new SimpleJDBCConnectionPool(
-                    SQLTestsConstants.dbDriver, SQLTestsConstants.dbURL,
-                    SQLTestsConstants.dbUser, SQLTestsConstants.dbPwd, 2, 5);
-        } catch (SQLException e) {
-            e.printStackTrace();
-        }
-    }
-
-    public SQLContainer getTestContainer() {
-        return testContainer;
-    }
-
-    public SQLContainer getLargeContainer() {
-        return largeContainer;
-    }
-}
diff --git a/uitest/src/main/java/com/vaadin/tests/containers/sqlcontainer/MassInsertMemoryLeakTestApp.java b/uitest/src/main/java/com/vaadin/tests/containers/sqlcontainer/MassInsertMemoryLeakTestApp.java
deleted file mode 100644 (file)
index 9390f06..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-package com.vaadin.tests.containers.sqlcontainer;
-
-import java.sql.SQLException;
-
-import com.vaadin.server.LegacyApplication;
-import com.vaadin.ui.Alignment;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.Button.ClickEvent;
-import com.vaadin.ui.ComponentContainer;
-import com.vaadin.ui.LegacyWindow;
-import com.vaadin.ui.VerticalLayout;
-import com.vaadin.v7.data.util.sqlcontainer.SQLContainer;
-import com.vaadin.v7.data.util.sqlcontainer.connection.JDBCConnectionPool;
-import com.vaadin.v7.data.util.sqlcontainer.connection.SimpleJDBCConnectionPool;
-import com.vaadin.v7.data.util.sqlcontainer.query.TableQuery;
-import com.vaadin.v7.ui.ProgressIndicator;
-
-// author table in testdb (MySQL) is set out as follows
-// +-------------+-------------+------+-----+---------+----------------+
-// | Field       | Type        | Null | Key | Default | Extra          |
-// +-------------+-------------+------+-----+---------+----------------+
-// | id          | int(11)     | NO   | PRI | NULL    | auto_increment |
-// | last_name   | varchar(40) | NO   |     | NULL    |                |
-// | first_names | varchar(80) | NO   |     | NULL    |                |
-// +-------------+-------------+------+-----+---------+----------------+
-
-@SuppressWarnings("serial")
-public class MassInsertMemoryLeakTestApp extends LegacyApplication {
-
-    ProgressIndicator proggress = new ProgressIndicator();
-    Button process = new Button("Mass insert");
-
-    @Override
-    public void init() {
-        setMainWindow(new LegacyWindow("SQLContainer Test", buildLayout()));
-
-        process.addClickListener(new Button.ClickListener() {
-            @Override
-            public void buttonClick(ClickEvent event) {
-                MassInsert mi = new MassInsert();
-                mi.start();
-            }
-        });
-    }
-
-    private class MassInsert extends Thread {
-
-        @Override
-        public void start() {
-            getContext().lock();
-            try {
-                proggress.setVisible(true);
-                proggress.setValue(new Float(0));
-                proggress.setPollingInterval(100);
-                process.setEnabled(false);
-                proggress.setCaption("");
-                super.start();
-            } finally {
-                getContext().unlock();
-            }
-        }
-
-        @Override
-        public void run() {
-            JDBCConnectionPool pool = getConnectionPool();
-            if (pool != null) {
-                try {
-                    int cents = 100;
-                    for (int cent = 0; cent < cents; cent++) {
-                        TableQuery q = new TableQuery("AUTHOR", pool);
-                        q.setVersionColumn("ID");
-                        SQLContainer c = new SQLContainer(q);
-                        for (int i = 0; i < 100; i++) {
-                            Object id = c.addItem();
-                            c.getContainerProperty(id, "FIRST_NAMES")
-                                    .setValue(getRandonName());
-                            c.getContainerProperty(id, "LAST_NAME")
-                                    .setValue(getRandonName());
-                        }
-                        c.commit();
-                        getContext().lock();
-                        try {
-                            proggress
-                                    .setValue(new Float((1.0f * cent) / cents));
-                            proggress.setCaption(
-                                    "" + 100 * cent + " rows inserted");
-                        } finally {
-                            getContext().unlock();
-                        }
-                    }
-                } catch (SQLException e) {
-                    getMainWindow().showNotification(
-                            "SQLException while processing",
-                            e.getLocalizedMessage());
-                    e.printStackTrace();
-                }
-            }
-            getContext().lock();
-            try {
-                proggress.setVisible(false);
-                proggress.setPollingInterval(0);
-                process.setEnabled(true);
-            } finally {
-                getContext().unlock();
-            }
-        }
-    }
-
-    private ComponentContainer buildLayout() {
-        VerticalLayout lo = new VerticalLayout();
-        lo.setSizeFull();
-        lo.addComponent(proggress);
-        lo.addComponent(process);
-        lo.setComponentAlignment(proggress, Alignment.BOTTOM_CENTER);
-        lo.setComponentAlignment(process, Alignment.TOP_CENTER);
-        lo.setSpacing(true);
-        proggress.setIndeterminate(false);
-        proggress.setVisible(false);
-        return lo;
-    }
-
-    private String getRandonName() {
-        final String[] tokens = new String[] { "sa", "len", "da", "vid", "ma",
-                "ry", "an", "na", "jo", "bri", "son", "mat", "e", "ric", "ge",
-                "eu", "han", "har", "ri", "ja", "lo" };
-        StringBuffer sb = new StringBuffer();
-        int len = (int) (Math.random() * 3 + 2);
-        while (len-- > 0) {
-            sb.append(tokens[(int) (Math.random() * tokens.length)]);
-        }
-        return Character.toUpperCase(sb.charAt(0)) + sb.toString().substring(1);
-    }
-
-    private JDBCConnectionPool getConnectionPool() {
-        SimpleJDBCConnectionPool pool = null;
-        try {
-            pool = new SimpleJDBCConnectionPool("com.mysql.jdbc.Driver",
-                    "jdbc:mysql://localhost:3306/sqlcontainer", "sqlcontainer",
-                    "sqlcontainer");
-        } catch (SQLException e) {
-            getMainWindow().showNotification("Error connecting to database");
-        }
-        return pool;
-    }
-
-}
diff --git a/uitest/src/main/java/com/vaadin/tests/containers/sqlcontainer/SqlcontainertableApplication.java b/uitest/src/main/java/com/vaadin/tests/containers/sqlcontainer/SqlcontainertableApplication.java
deleted file mode 100644 (file)
index caaf25f..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-package com.vaadin.tests.containers.sqlcontainer;
-
-import com.vaadin.server.LegacyApplication;
-import com.vaadin.ui.HorizontalSplitPanel;
-import com.vaadin.ui.Label;
-import com.vaadin.ui.LegacyWindow;
-import com.vaadin.v7.data.Property.ValueChangeEvent;
-import com.vaadin.v7.data.Property.ValueChangeListener;
-import com.vaadin.v7.ui.Table;
-
-public class SqlcontainertableApplication extends LegacyApplication {
-    private LegacyWindow mainWindow;
-    private Table table;
-    private HorizontalSplitPanel panel;
-    private Label label = new Label();
-
-    @Override
-    public void init() {
-        mainWindow = new LegacyWindow("SQLContainer Test");
-        setMainWindow(mainWindow);
-        mainWindow.getContent().setSizeFull();
-
-        panel = new HorizontalSplitPanel();
-        panel.setSecondComponent(label);
-
-        final DatabaseHelper helper = new DatabaseHelper();
-        table = new Table();
-        table.setSizeFull();
-        table.setContainerDataSource(helper.getLargeContainer());
-        table.setSelectable(true);
-        table.setImmediate(true);
-        table.setMultiSelect(true);
-        table.addValueChangeListener(new ValueChangeListener() {
-            @Override
-            public void valueChange(ValueChangeEvent event) {
-                label.setValue(table.getValue().toString());
-            }
-        });
-
-        panel.setSizeFull();
-        panel.addComponent(table);
-
-        mainWindow.addComponent(panel);
-
-    }
-
-}
diff --git a/uitest/src/main/java/com/vaadin/tests/containers/sqlcontainer/TableQueryWithNonUniqueFirstPrimaryKey.java b/uitest/src/main/java/com/vaadin/tests/containers/sqlcontainer/TableQueryWithNonUniqueFirstPrimaryKey.java
deleted file mode 100644 (file)
index fab357d..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-package com.vaadin.tests.containers.sqlcontainer;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.Statement;
-
-import com.vaadin.server.VaadinRequest;
-import com.vaadin.tests.components.AbstractReindeerTestUI;
-import com.vaadin.v7.data.Item;
-import com.vaadin.v7.data.Property;
-import com.vaadin.v7.data.Property.ValueChangeEvent;
-import com.vaadin.v7.data.util.filter.Compare.Equal;
-import com.vaadin.v7.data.util.sqlcontainer.SQLContainer;
-import com.vaadin.v7.data.util.sqlcontainer.connection.JDBCConnectionPool;
-import com.vaadin.v7.data.util.sqlcontainer.connection.SimpleJDBCConnectionPool;
-import com.vaadin.v7.data.util.sqlcontainer.query.TableQuery;
-import com.vaadin.v7.shared.ui.combobox.FilteringMode;
-import com.vaadin.v7.ui.ComboBox;
-
-public class TableQueryWithNonUniqueFirstPrimaryKey
-        extends AbstractReindeerTestUI {
-
-    @Override
-    public void setup(VaadinRequest request) {
-
-        try {
-            JDBCConnectionPool connectionPool = new SimpleJDBCConnectionPool(
-                    "org.hsqldb.jdbc.JDBCDriver",
-                    "jdbc:hsqldb:mem:sqlcontainer", "SA", "", 2, 20);
-
-            createTestTable(connectionPool);
-            insertTestData(connectionPool);
-
-            TableQuery q = new TableQuery("MYTABLE2", connectionPool);
-            q.setVersionColumn("VERSION");
-            SQLContainer myContainer = new SQLContainer(q);
-            // Uncommenting these works around the issue
-            // myContainer.addOrderBy(new OrderBy("PFX", true));
-            // myContainer.addOrderBy(new OrderBy("NUMERO", true));
-            myContainer.removeAllContainerFilters();
-            myContainer.addContainerFilter(new Equal("PFX", "C"));
-
-            final ComboBox myCombo = new ComboBox("MyCaption");
-            myCombo.setDescription("Description");
-            myCombo.setContainerDataSource(myContainer);
-            myCombo.setItemCaptionPropertyId("MYFIELD");
-            myCombo.setFilteringMode(FilteringMode.CONTAINS);
-            myCombo.setImmediate(true);
-            myCombo.setWidth("100.0%");
-            myCombo.setHeight("-1px");
-            myCombo.addValueChangeListener(new Property.ValueChangeListener() {
-                @Override
-                public void valueChange(ValueChangeEvent event) {
-                    if (myCombo.getValue() != null) {
-                        Item item = myCombo
-                                .getItem(event.getProperty().getValue());
-                        String selected = item.getItemProperty("MYFIELD")
-                                .getValue().toString();
-                        System.out.println("Selected " + selected);
-                    }
-                }
-            });
-            addComponent(myCombo);
-        } catch (Exception ex) {
-            ex.printStackTrace();
-        }
-    }
-
-    /**
-     * (Re)creates the test table
-     *
-     * @param connectionPool
-     */
-    private void createTestTable(JDBCConnectionPool connectionPool) {
-        Connection conn = null;
-        try {
-            conn = connectionPool.reserveConnection();
-            Statement statement = conn.createStatement();
-            try {
-                statement.executeUpdate("DROP TABLE mytable2");
-            } catch (SQLException e) {
-            }
-            String q = "CREATE TABLE mytable2 (id INTEGER GENERATED BY DEFAULT AS IDENTITY,"
-                    + "  MYFIELD varchar(60)," + "  PFX varchar(1),"
-                    + "  numero integer" + ", PRIMARY KEY (pfx,numero));";
-            statement.execute(q);
-            statement.close();
-            conn.commit();
-        } catch (SQLException e) {
-            e.printStackTrace();
-        } finally {
-            connectionPool.releaseConnection(conn);
-        }
-    }
-
-    /**
-     * Adds test data to the test table
-     *
-     * @param connectionPool
-     * @throws SQLException
-     */
-    private void insertTestData(JDBCConnectionPool connectionPool)
-            throws SQLException {
-        Connection conn = null;
-        try {
-            conn = connectionPool.reserveConnection();
-            Statement statement = conn.createStatement();
-
-            statement.executeUpdate(
-                    "insert  into mytable2(myfield,pfx,numero) values ('COSTRUEDIL DI GAGLIOSTRO & C.SNC','C',6),('AUTOBUDA SRL','C',7),('CAFARELLI TINDARO AUTORICAMBI','C',8),('LARTE DEL MOBILE DI QUINTO CUTRI','C',9),('GRAPHIC DESIGN','C',10),('FOTI CARMELO','C',11),('MALAGRECA MICHELE OFF.ELETTR.','C',12),('CLIENTE NUOVO FRANCESCO','C',13),('LAROCCA ETTORE','C',14),('ALCAM SNC DI MARAFIOTI ALESSANDRO E','C',15),('EUROPA TYRES S.R.L.','C',16),('CROCE ROSSA ITALIANA COM.LOCALE','C',17),('RUGNETTA BRUNO','C',18),('BOSA VINCENZO TUTTO PER LA PESCA','C',19),('C.P.R.CENTRO POSE ROMEO','C',20),('VIOLI ORESTE  OFF.AUTOCARROZ.','C',21),('LIGATO SALVATORE','C',22),('DECORFORM DI IANNINO DARIO','C',23),('BEVI SUD DI DAGOSTINO GIUSEPPE','C',24),('BUSTE E CARTA DI GALLICO DARIO','C',25),('CELESTINO CRISAFULLI','C',26),('IMPRESA EDILE IS.AS.DI SALVATORE','C',27),('RASO GIUSEPPE','C',28),('EUROTECNICA 3A SAS DI ANELLO FRANC.','C',29),('EXO AUTOMOTIVE S.P.A.','C',30),('GHEA SISTEM S.R.L.','C',31),('AUTOTECNICA DI IANNELLI GIUSEPPE','C',32),('NATURAL SALUMI DI ARENA GIANCARLO','C',33),('LOIACONO PASQUALE & C. S.a.s.','C',34),('LONGO CLAUDIO','C',35),('CLASS SERVICING S.R.L.','C',36),('CADI SNC F.LLI MILASI','C',37),('MARTURANO FRANCESCO','C',38),('ARICOASSICUR.DI ARICOMARIATERESA','C',39),('','C',40),('SICILIANO FRANCESCO','C',41),('PREVITERA CATERINA ALIMENTARI','C',42),('AUTOFFICINA LUCAGIOVANNI','C',43),('NON UTILIZZARE','C',44),('','C',45),('SAFFIOTI MELO MACELLERIA GASTRON.','C',46),('MANGERUGA SERAFINO','C',47),('S.D.A. s.a.s.di Palmitessa Carlo','C',48),('IPER SCAVI S.R.L.','C',49),('','C',50),('FABBRICA ARTIGIANA LUIGI COLOMBO','C',51),('ELETTRO GLOBAL SERVICE DI ELIA','C',52),('FORTUNATO','C',53),('STEFANO BAJLO','C',54),('.','C',55),('FORTUGNO S.R.L.','C',56),('PARRELLO GIUSEPPE','C',57),('GAS E CUCINE DI SANTORO GIOVANNI','C',58),('LUPPINO MAURIZIO','C',59),('','C',60),('CHARTER LINE SAS','C',61),('CAMPAGNA GIUSEPPE EREDE DI CAMPAGNA','C',62),('TREBI DI BARBARO FRANCESCO','C',63),('COOPERATIVA SOCIALE ONLUS','C',64),('','C',65),('SASOL ITALY  S.P.A.','C',66),('AVATI ROCCO','C',67),('DOLCE FREDDO DI DAGOSTINO G.PPE','C',68),('GUERRERA FRANCESCO','C',69),('','C',70),('AGRICOLA PALMESE DI ARICO EMAN.&C.','C',71),('BORRELLO COSIMO TENDAGGI TAPPEZZ.','C',72),('DAMIANO PUTRINO OFF.MECC.','C',73),('CENTRO FORNITURE S.R.L.','C',74),('','C',75),('CLIENTE NUOVO FORTUNATO','C',76),('AVV.FERDINANDO DE LEONARDIS','C',77),('INSTALLAZIONE DI IMPINATI ELETTR.','C',78),('VIOLI PIETRO','C',79),('','C',80),('BASILE VINCENZO','C',81),('SAFFIOTI APPALTI & COSTRUZIONI','C',82),('SOC.COOP.MULTISERVICE MAMMOLA','C',83),('ARCH.TIZIANA GAGLIOTI','C',84),('','C',85),('GAGLIOTI SRL','C',86),('PINO MICHELE IMPRESA COSTRUZ.','C',87),('','C',88),('BORGESE GIUSEPPE','C',89),('','C',90),('PREVITERA SALVATORE','C',91),('PASTORE SRL','C',92),('OFF.LUCI CARMELO','C',93),('GIOFFRE CARMELO','C',94),('','C',95),('COGIMI S.R.L.','C',96),('CANTINE ZAGARI SNC','C',97),('ALBEDA IMPIANTI DI LOPRETE ANTONIO','C',98),('VETRARIA BRUTIA S.R.L. UNIPERSONALE','C',99),('COSTANZO TOTI','C',100),('GRASSO DAVIDE','C',101),('SGROMO BERNARDO','C',102),('PANIFICIO CIAPPINA','C',103),('ARCA INDUSTRIAL SUPPLIES S.R.L.','C',104),('','C',105),('ZUMBO DR.TOMMASO','C',106),('PUNTO SIDIS   DI SACCA PASQUALE','C',107),('BARRARA SALVATORE','C',108),('IMEX P-TRADE S.R.L.','C',109),('','C',110),('DOTT.AGR.VINCENZO CILONA','C',111),('PIANEGONDA DARIO S.A.S.','C',112),('DALOI GIUSEPPE AUTOFFICINA','C',113),('BARBARO MOTO SAS','C',114),('','C',115),('DE FRANCESCO VINCENZO','C',116),('RICAUTO SPA','C',117),('GERICO SAS','C',118),('GISMONDO VINCENZO','C',119),('','C',120),('IMPRESA COSTR.EUROEDIL DI MOIO F.SC','C',121),('SUD.INFORMATICA S.R.L.','C',122),('CRAZY MOBIL SNC DI GAGLIOTI G.PPE','C',123),('A.D.S.S.E. SRL DI RUGGIERO PACIFICO','C',124),('','C',125),('GRAMUGLIA VINCENZO','C',126),('LUIGI NIZZARI SUBAGENTE ALLIANZ SPA','C',127),('BRUZZESE ANNUNZIATA','C',128),('HOTEL STELLA MARIS  SRL','C',129),('','C',130),('ATRE EXPRESS SRL','C',131),('GATTO ANTONINO','C',132),('BO.GE.CO. S.R.L.','C',133),('VALENTINO TECNICA SNC','C',134),('','C',135),('NASO GIUSEPPE','C',136),('GALIBERTI LUCIANO STEFANO','C',137),('MURACE FRANCESCO','C',138),('GEOM.GIOFFRE SAVERIO','C',139),('','C',140),('PIANA PALMI MULTISERVIZI S.P.A.','C',141),('GOLDEN GROUP SNC','C',142),('DE CREA FORTUNATO','C',143),('LUPPINO MICHELE','C',144),('','C',145),('STILLITANO SRL','C',146),('FERREDIL DI MANUCRA GEOM.MARIO','C',147),('L & R LABORATORI E RICERCHE SRL','C',148),('EDIL SUD DI MALACRINOALESSIO G.','C',149),('','C',150),('FRESH BLU DI MELISSARI CETTINA','C',151),('BAGALA ROBERTO','C',152),('SERGI ROSALBA','C',153),('CO.MEC. DI VIOLI DOMENICO','C',154),('','C',155),('RADIO FRECCIA NET WORK','C',156),('GIOVINAZZO IPPOLITO','C',157),('ELECTRONIC CENTER DI ZAGARI ROSARIO','C',158),('EMPORIO ROGGIO GIUSEPPE','C',159),('','C',160),('CALAFIORE ANTONIO','C',161),('PARRELLO GIUSEPPE','C',162),('RUGGERI & PIAZZA SNC','C',163),('FRESCHEZZA IN TAVOLA DI FOTI ROSA','C',164),('','C',165),('AUGIMERI CARMINE AUTOFFICINA','C',166),('MATTIANI DOMENICO','C',167),('CALDERAZZO GIANCARLO','C',168),('ROMANIN ELVIO STUDIO COMMERCIALE','C',169),('','C',170),('G.TRIPODI SRL','C',171),('DEDMONDO FRANCESCO','C',172),('IDROCAR DI IANTORNO MARIO','C',173),('ZAGARI PAOLO IMP.ELETTRICI','C',174),('','C',175),('SELF AREA AGIP \"LA SOSTA S.A.S.\"DI','C',176),('MARKET MIMMO DI MAMMONE ANNA MARIA','C',177),('OSRAV ALFEO MORET S.P.A.','C',178),('A.S.PALLAVOLO PALMI','C',179),('','C',180),('GN.RISTRUTTUR.DI GANGEMI NICOLA','C',181),('ANNULLATO PRESO PER TRADE EVOLUT','C',182),('PULEIO PASQUALE','C',183),('ROTONDO S.R.L.','C',184),('','C',185),('DOMENICO ORTUSO & C. S.a.s','C',186),('FABIO PIERANGELI','C',187),('EDIL PALMI SAS di CRUCITTI F.SCO &C','C',188),('MLD LOGISTICA E DISTRIBUZIONE SRL','C',189),('','C',190),('HOTEL SANTA CROCE','C',191),('CUBA MOTOR','C',192),('CENTRO SERVIZI AUTO DI FURFARO','C',193),('TRAS PUGLIA DI SPINA GIUSEPPE','C',194),('','C',195),('LAMINAZIONE SOTTILE SPA','C',196),('FULCO DOMENICO OFFICINA','C',197),('DAMICO MICHELE AUTOFFICINA','C',198),('CAPRARI ADRIANO','C',199),('','C',200),('FARINA ANTONIO','C',201),('CALABROROSARIO DOMENICO','C',202),('NUOVA CASALAUTO DI CREPALDI GIAN','C',203),('AS TAUREANA CARS DI PALMA FEBBO','C',204),('REPACI TEODORO TRASPORTO MERCI','C',205),('GIEMME IMPIANTI DI IANNELLO MICHELE','C',206),('MUSICO S.R.L.','C',207),('GULLI CARMELO','C',208),('CASCIANO GIACOMO','C',209),('MARKET MARTURANO LETTERIO','C',210),('FOGLIARO FORTUNATO & C. SNC','C',211),('RAVAGLI VITTORIO FERRAMENTA UTENS.','C',212),('GRIMI AUTO DI GRIMI DOMENICO SNC','C',213),('BARONE DOMENICO','C',214),('RANUCCIO SONIA AZIENDA AGRICOLA','C',215),('A.B.COMPUTING DI BAGALAANTONIO','C',216),('GIOIA CAR SRL','C',217),('TOTO MONTAGGI DI MARINO ANTONIO G.','C',218),('GEOM.GIUSEPPE OLIVERI','C',219),('IMPRESA COSTR.EDILI CILONA G.PPE','C',220),('TERMOIDRAULICA DI TALLARIDA G.PPE','C',221),('RIGHETTINI EMANUELE','C',222),('CM INDUSTRIE SRL','C',223),('AUTOGOLD DI DE SANCTIS G.','C',224),('RIGON GIAN CARLO AUTOTRASPORTI','C',225),('IMPIOMBATO ANTONINO','C',226),('I.F.E.S.DI CUTRI GIUSEPPE','C',227),('COMPANIE DHOTELLERIE SUISSE SRL','C',228),('LARTE DEL FALEGNAME SNC','C',230),('AUTOSERVICE 2000 SAS','C',231),('SERVICE RICAMBI E ACCESSORI DI','C',232),('CAPPONE MICHELE LAV.VETRI','C',250),('COLELLA FRANCECSO','C',251),('LA PIANA SNC DI BARBARO ANGELINA','C',252),('SURACE GIANFRANCO','C',253),('EDIL CERAMICHE PALMI DI SCHIPILLITI','C',254),('AGOSTINO ROMEO SRL','C',260),('SGROFRANCESCO','C',261),('IMPRESA EDILE DI CERAVOLO GIUSEPPE','C',262),('FICARRA ROBERTO IMPRESA EDILE MOV.','C',263),('CAR SERVICE DI GALLO DANIELE','C',264),('LAGRICOLA DI BALDO FRANCESCO & C.','C',265),('ARENA VINCENZO','C',266),('ROMEO MARIA','C',267),('BERTIM EDILIZIA E COSTA SRL','C',268),('ITALIA TRASPORTI E LOGISTICA SRL','C',269),('STUDIO DI PROGETTAZIONE ARCHITETTO','C',270),('CALOGERO SALVATORE','C',271),('CANANZI AUTO','C',272),('OLEIFICIO BORGESE FILOMENA','C',273),('ASSOCIAZ.DI VOLONTARIATO PRESENZA','C',274),('IPO S.R.L.','C',275),('SMAC  SNC & C. DI MERCURI SALVATORE','C',276),('MODAFFERI MICHELE ELETTRAUTO','C',277),('ROMEO FORTUNATO','C',278),('BAR BRUZZESE FRANCESCO','C',279),('AUTOFFICINA MARCELLO GULLI','C',280),('SCAVA ROSARIO','C',281),('CASELLA DOTT.MARIO DOMENICO','C',290),('SAFFIOTI ROCCO','C',999),('POINT CAR SERVICE SAS','C',1000),('AUTORICAMBI PRAIA SAS DI UGO','C',3001),('AUTOF.CATANANTI DI DIBIANCO GIOV.NI','C',3002),('AUTOPIU DI GRIFFO V.&.C. sas','C',3003),('ARMENI AUTO DI ARMENI ANDREA & C.','C',3004),('LA BELLA ROBERTO','C',3005),('TERMOIDRAULICA DI IANNINO SOCCORSA','C',3006),('AUTOBUDA DI ZAPPIA ANTONELLA','C',3007),('BELCASTRO ROSARIO R.B.AUTOR.','C',3008),('PNEUSERVICE SRL','C',3009),('AUTOFORNITURE MILANESI SPA','C',3010),('ORTOLANI CARLUMBERTO','C',3011),('AZZARA CARMELO','C',3012),('AUTOSILA S.R.L.','C',3013),('ATTISANO MICHELE','C',3014),('AMMENDOLA GIUSEPPE','C',3023),('ANNULLATO AUTOPARTS DI FIEROMONTE T','C',3026),('CENT.TELEFONIA DE PASCALE DANIELA','C',3027),('TYRE HUNTER DI CANTISANI CARMINE','C',3028),('AUTOFFICINA AMMENDOLA DEMETRIO','C',3029),('CENTER CAR S.R.L.','C',3032),('MACELLERIA DI BARBERA FRANCESCO','C',3101),('BLEVIO PIETRO','C',3103),('AZIENDA AGRICOLA SURACE GIUSEPPINA','C',3104),('C.F.S.CARRELL FULL SERVICE DUE sas','C',3106),('IMPRESA COSTRUZ.GEOM.CIAPPINA F.SCO','C',3107),('BELLISSIMO ANTONIO','C',3108),('BARBARO GIUSEPPE  DITTA','C',3111),('BARILLARI GABRIELE AUTORICAMBI','C',3112),('BORGESE GIUSEPPE','C',3113),('BARA GIUSEPPE OFF.& RICAMBI','C',3114),('AUTO IARIA S.R.L.','C',3115),('TRIPODI GEOM.ANTONINO IMPRESA EDILE','C',3120),('BARRECA DEMETRIO','C',3129),('BOVA VINCENZO','C',3139),('BRUNO AUTORICAMBI S.a.s.','C',3145),('CILIONE & C. SRL','C',3200),('CANDIDO GIULIO','C',3202),('LUDDENI MARIO MARKET DEL RIC.','C',3205),('RIOTTO SAVERIO','C',3207),('MOTORSPORT DI CIRICOSTA G.PPE','C',3209),('CE.D.R.A. DI CUCUNATO NATALE','C',3211),('S.D.S. CARBURANTI S.A.S.','C',3215),('TURANO G.PPE & C.snc AUTORICAMBI','C',3216),('CILIONE CONSOLATO !! SOSPESO !!','C',3217),('PUGLIESE ERNESTO','C',3219),('CALABRO LORENZO','C',3220),('LAGANADOMENICO','C',3222),('ANNULLATO  INVIATO A TETI A.','C',3224),('AUTO SERVICE DI IOPPOLO G.GIULINO','C',3226),('TRIPODI FORTUNATO','C',3228),('COMEDIL DI P.SGRO & C. sas','C',3232),('SGROORLANDO AUTORICAMBI','C',3234),('DOTT.PALMIRO ZAPPONE','C',3236),('POLIRICAMBI SRLS','C',3240),('ROCCHETTO RENATO','C',3241),('CURRA ANTONINO','C',3242),('COLOSI FRANCESCO INFISSI IN','C',3244),('CUORE ANTONIO','C',3245),('GRAMUGLIA DOMENICO OFF.MECC.','C',3246),('CALIO srl RICAMBI AUTO','C',3248),('COZZA ELIO','C',3252),('OERRE PARTS S.R.L.','C',3257),('EURODIESEL DI CASSALIA MAURIZIO','C',3262),('@ 2X INSTALLAZIONI DI PUGLIESE A.','C',3263),('TECNO TRADE SRL','C',3265),('CROCCO FRANCO','C',3267),('CARTELLA MASSIMO','C',3269),('SCARMATO FORTUNATO','C',3275),('C.M.G. BRAM  SRL','C',3278),('CARONZOLO ROSARIO','C',3279),('CALIPARI SERAFINO','C',3286),('EDIL DORA DI BRUNO ROMEO','C',3294),('EXIDE TECHNOLOGIES SRL','C',3295),('IL TEMPIO DEL RIC.DI GIORDANO LUIGI','C',3301),('OFFICINA DE GRAZIA SAS','C',3302),('REGALI E SORRISI DI GUERRERA D.CO','C',3304),('UNIFLUID SUD SRL','C',3305),('CONSORZIO PDA','C',3307),('SURACE ROCCO','C',3308),('DITTA CILONA VINCENZO','C',3309),('DAGOSTINO AUTORICAMBI','C',3310),('DATTOLA AUTO & C. snc','C',3312),('DE NISI DOMENICO','C',3315),('IMPRESA COSTRUZ.SIMONETTA VINCENZO','C',3316),('AUTORICAMBI E ACCESSORI DI MARZIA','C',3317),('CHIAPPALONE ANNUNZIATO','C',3319),('EUROPA RICAMBI DI DE MARIA CARLO &','C',3320),('BRUZZESE FRANCESCO','C',3323),('DE GREGORIO SRL','C',3325),('LOGATTO VINCENZO V.L AUTORICAMBI','C',3326),('TARUSCIO GIOVANNI','C',3331),('TODARO SAVERIO','C',3334),('FERRARO LUIGI','C',3403),('AUTORICAMBI ERRIGO C.& C. S.A.S','C',3404),('PISANO GAETANO','C',3409),('AGRINOVA DI CORRADO NICOLA','C',3501),('FE e SA & C. DI SANTORO B. sas','C',3502),('CAR SHOP AUTORICAMBI','C',3503),('BRIGA LUCIANO','C',3504),('FIDALE GIACOMO & C.sas CAR SERVICES','C',3505),('FERRERO MASSIMILIANO IF.AUTORIC.','C',3506),('ASSOCIAZIONE RADIOAMATORI ITALIANI','C',3507),('FALBO ANTONIO','C',3508),('DAGOSTINO BIRRE DI GINO','C',3510),('FULLONE MARIO','C',3512),('EMMEDUE COSTRUZIONI','C',3514),('PALMCART OLIVERIO GIUSEPPE','C',3516),('BORGESE RANIERI & CLAUDIO SNC','C',3519),('FUTIA SALVATORE','C',3522),('FRANCHINA MASSIMILIANO Autoricambi','C',3523),('FUTIA DOMENICO Ricambi Auto','C',3525),('IMPRESA EDILE SCHIPILLITI V.ZO','C',3526),('MEDITERRANEA TRASPORTI SOC.COOP','C',3527),('AGENZIA LOGISTICA MERIDIONALE','C',3528),('RAGO UMILE RICAMBI-OFFICINA','C',3531),('SE.MA.C. SRL','C',3534),('IMPRESA EDILE GAGLIOSTRO V.ZO','C',3541),('FIGLIUZZI SALVATORE','C',3544),('FRAGOMENI DOMENICO','C',3548),('FIEROMONTE & CHIAPPALONE sas','C',3551),('F.T.R. F.LLI TRIULCIO SRL','C',3553),('GIORDANELLI SERGIO','C',3602),('F.LLI GUIDA sas','C',3603),('GRILLO GIUSEPPE','C',3604),('GALLO STANISLAO MANGIMI CONCIMI','C',3605),('COARSA SOC.CONS.IMP.SANLURESI SRL','C',3606),('PASCHOU MARIA','C',3607),('PELLEGRINO PIETRO ROCCO  AZIENDA','C',3608),('ROSANNA EX GRM RICAMBI','C',3609),('INDUSTRIA BOSCHIVA DICH.STEL.','C',3610),('GILBERTO DROGHETTI DOTT.','C',3611),('GALLE  NICOLA','C',3615),('EUROELETTRA S.N.C.DI NICOLOSI &','C',3616),('PALETTA ALBERTO AUTORIC.','C',3617),('GIOFFRE GIUSEPPE','C',3620),('PRINTING CENTER S.A.S.','C',3621),('SUD CARNI DI LEONELLO PASQUALE','C',3622),('GIOVINAZZO AUTORICAMBI','C',3623),('GENCARELLI GIUSEPPE','C',3627),('GRASSO FRANCESCO','C',3631),('GALLO GIOVANBATTISTA','C',3632),('CIESSEGI SNC DI CATOZZA MARIO & C.','C',3639),('AUTOMARKET DI PAPALIA ROBERTO','C',3646),('CENTRO RICAMBI DI MARINO & C.SNC','C',3700),('IMPRESA EDILE RECHICHI GIANCARLO','C',3701),('G.R.RICAMBI SRL','C',3704),('BRUZIA RICAMBI DI HRISCU CARMEN','C',3705),('AUTORIC.IANNI DI IANNI FRANCESCO','C',3706),('ITAL RICAMBI DI IAROPOLI V.& C.sas','C',3708),('INFORTUNA SANTO','C',3710),('IOVINE NICOLA','C',3711),('FILIPPONE ANTONINO','C',3712),('INFANTINO GIUSEPPE ELETTRAUTO','C',3717),('IDA RAG.ENZO','C',3719),('DE MASI PASQUALE DE.CA AUTORICAMBI','C',3800),('CANTIERI NAUTICI COSTA VIOLA','C',3803),('BG.CAFFE DI GIUSEPPE BALO','C',3805),('GUARASCIO LUIGI AUTORICAMBI','C',3806),('GIOFFREGAETANO','C',3807),('CENTRO AUTO MOTO DI LAGANA sas','C',3810),('LONGO CLAUDIO','C',3811),('LAGANA GIOVANNI','C',3814),('EDILDECORO DI FORTUGNO & SAFFIOTI','C',3815),('ATC DI PUGLIESE ALBERTO & C.SAS','C',3818),('LONDINO SERGIO','C',3822),('ANANIA ROCCO & GRILLO F.SCO SNC','C',3825),('FARMACIA FORGIONE DANIELA','C',3827),('AUTORICAMBI RAG.SAVERIO LAGAZZO','C',3828),('SERVICE AUTO SAS CENTRO REVISIONI','C',3829),('MASSARA NICOLA ACCESSORI PER AUTO','C',3832),('FANELLI GIOVANNI','C',3833),('LOIACONO GIUSEPPE','C',3835),('ANNULLATO UTILIZZATO PER IL WEB','C',3843),('ANNULLATO','C',3844),('AUTORICAMBI LAGANAROBERTO DI','C',3845),('ANNULLATO UTILIZZATO PER IL WEB','C',3846),('MELITO GIAMPIERO','C',3901),('MRC RICAMBI S.R.L.','C',3903),('MARONGELLI ANTONIO','C',3908),('MORELLO ANTONIO','C',3911),('M.A.I.R.S.AGATA DI DE BENEDETTO N.A','C',3912),('MONTELEONE MICHELE Autoricambi','C',3913),('FOTI PASQUALE','C',3914),('METALLURGICA RIVORALESE SPA','C',3915),('MARTINO DOMENICO','C',3917),('MALIZIA PASQUALE','C',3918),('DE SIBIO MECCANICA sas DI DESIBIO D','C',3924),('PUBBLIWORLD DI GULLO ANTONINO','C',3926),('MAZZITELLI & TASSONE S.N.C.','C',3927),('LANDRO AUTOMOBILI','C',3928),('MEZZATESTA ANTONIO','C',3931),('MOTOR SHOP Autoricambi sas','C',3932),('REPACI GIOVANNI','C',3933),('MERLINO CARMELO','C',3934),('ONESHOT S.A.S.','C',3935),('MANARITI GIUSEPPE','C',3936),('FESTA LEONA','C',3937),('CB SPECIAL COMPONENTS DI BERTOT','C',3939),('EDICOLA ARCURI LUCIA','C',3942),('LANDRO LEONE','C',3943),('COOPERATIVA REGGINA 08','C',3944),('MUZZI BRUNO','C',3952),('CAMERA ANTONIO','C',3957),('MAMONE GERARDO CENTRO RICAMBI AUTO','C',3961),('MALARA GIUSEPPE','C',3962),('R.C. TUNING DI LORENZO ANTIMO','C',3963),('MAIO CESARE','C',3966),('MACELLERIA LEONELLO SALVATORE','C',3967),('CAMERA DOMENICO','C',3972),('COZZOLINO SAVERIO AUTOPARTS','C',3976),('MARINO GABRIELE & F. sas','C',3978),('SYSTEM SUD SNC','C',3981),('MSC AUTOVEICOLI DI MUSICOARNALDO','C',4001),('GALATI ANTONIO AUTOTRASPORTI','C',4003),('NILAUTO srl','C',4004),('NUCERA FILOMENO','C',4007),('NUCERA MAURIZIO','C',4008),('OTTOBRE TRADE SRL','C',4205),('CONDOLUCI MARIA GIUSEPPA','C',4207),('PUGLIESE SALVATORE RICAMBI AUTO','C',4208),('NOVEMBRE ROSANNA MINUT.E MECC.','C',4210),('CABBOI GRAZIELLA','C',4212),('PETRONAS LUBRICANTS ITALY SPA','C',4213),('PERRI MIMMO','C',4215),('D.SSA ZAPPONE LILIANA','C',4222),('PUPO GIUSEPPE AUTORICAMBI','C',4226),('OFF.MECC.FRATELLI PIRILLI','C',4229),('RACO ELISABETTA RIF.TAMOIL','C',4230),('PICCOLO MARIO AUTORICAMBI','C',4232),('AUTORICAMBI VENTURA VINCENZO','C',4236),('TECNO EDIL DI VIOLA SANTO','C',4242),('PALMA AUTORICAMBI S.R.L.','C',4243),('PULIMENI ANTONIO & C. sas','C',4244),('PALERMO OLIVA Autoricambi','C',4246),('MAX MOTO DI PELLEGRINO M.A.','C',4249),('POLIMENI FRANCO','C',4256),('PEZZANO PIETRO','C',4261),('POLITI FRANCESCO Elettrauto','C',4263),('TROPEANO STEFANO RICAMBI AUTO','C',4303),('ROPERTO ALDO CENTRO COMMERC.RICAMBI','C',4304),('TENUTA GIANFRANCO AUTORICAMBI','C',4305),('F.LLI ROSE Snc di UMILE & FRANCO R','C',4308),('AUTORICAMBI RUGGIERO sas','C',4310),('VIOLA ERMANNO STAZ.SERV.ERG','C',4312),('R.AUTO IN snc','C',4313),('GOMMAUTO DI RODA & C. snc','C',4314),('DECA S.a.s. DI G.PPE DE PASCALI &C.','C',4318),('A.G.C.SRL','C',4320),('NUOVA RIMA DI CAPULA RAFFAELE','C',4324),('CRUCITTI GROUP SRL','C',4325),('INFORAMA DI DENISI V.ZO E C.SAS','C',4328),('EVALTO FRANCESCO & FIGLI','C',4401),('SCHIPANI RICAMBI','C',4404),('SPINA ALEXANDRO','C',4405),('SCUOLA CALCIO VIGOR PALMI 2004','C',4406),('SURIANO ALV SAS','C',4407),('AUDINO SAVERIO','C',4408),('SOBER RICAMBI AUTO sas','C',4409),('ROMEO VINCENZO & C. SNC','C',4411),('SAIM snc DI TAVELLA ANTONIA','C',4414),('SAINATO PASQUALE','C',4415),('SMEC SRL','C',4416),('F.LLI SINOPOLI snc Ric.Auto-Moto','C',4417),('F.LLI SPINELLI snc','C',4418),('AZ.AGR SORGES DI ROSA SORLETI','C',4420),('DUEMME S.A.S.','C',4421),('SPOLETO NUOVA AUTOACCESSORI','C',4422),('LOMBARDO DOMENICO FU GREGORIO','C',4423),('MULTISERVIZI M.G.D. DI PARRELLO','C',4427),('SCIARRONE SPA','C',4429),('SCRIVO ANTONIO','C',4432),('SERRATORE FRANCESCO','C',4440),('ANNULLATO UTILIZZATO PER IL WEB','C',4441),('LA BOTTEGA DEL RESTAURO DI FOTI R.','C',4442),('EREDI SURACE LORENZO di SURACE','C',4443),('S.D.R. sas','C',4446),('SAMA & CODISPOTI SAS','C',4451),('SCIONTI ROCCO Jr.','C',4452),('SOFI PAOLO','C',4454),('SISCA ANTONIO MECCANICO ARTIGIANO','C',4460),('ITALCOGE SPA','C',4463),('ANNULLATO TASSO SAL','C',4466),('BISCARDI LUIGI TUTTO PER LAUTO','C',4501),('B.P.SOLLEVAMENTI di ETTORE BELLINI','C',4502),('TROVATO AUTORIPARAZIONE','C',4506),('TASSONE PASQUALE','C',4514),('LA TIRRENICA DI CAPUA GIUSEPPE','C',4517),('TASSONE sas DI TASSONE GUERINO & C.','C',4521),('TASSO ANTONIO LEONE AUTORICAMBI','C',4522),('MAZZA ANDREA','C',4523),('TORCHIA ANGELO','C',4525),('TAVELLA ANTONIO','C',4533),('ANNULATO','C',4600),('VENTRA SAS di VENTRA VINCENZO & C.','C',4601),('VALOTTA FRANCESCO','C',4606),('VONO S.A.S. DI VONO G.& CO.','C',4607),('MEG DI ROMEO CARMELO','C',4611),('VENTRE AUTORICAMBI DI VENTRE G.PPE','C',4612),('TECHNO BUS SRL','C',4613),('LA FLAVIA DI FILIPPO SPINELLI','C',4614),('VRENNA LUCA MECC.& SICUREZZA','C',4615),('DELIZIE DI CALABRIA S.A.S DI ARENA','C',4621),('GENTILE FRANCESCO','C',4702),('ZICARELLI SALVATORE','C',4704),('ZAPPIA CARMELO','C',4705),('ATTENZIONE ! LA MECCANICA 2','C',5000),('EVA TECH S.A.S.DI DANIELE MEGALIZZI','C',5002),('RESTUCCIA ROSA RITA BOSCH CAR SERV.','C',5003),('PIMEC SRL','C',5004),('DAVIGIUSEPPE','C',5007),('VITETTA ANTONINO','C',5009),('STIL GOMMA DI NINO IANNELLI','C',5011),('ANNULLATO UTILIZZATO PER IL WEB','C',5017),('OFF.MECCANICA ROTONDO ANTONIO','C',5019),('COMBUSTION AND ENERGEY SRL','C',5020),('HOTEL RESIDENCE \"ARCOBALENO\"','C',5022),('BRANDO CARMELO','C',5024),('CASILE ROBERTO','C',5029),('AVVENTURA SOC.COOPERATIVA ARL','C',5035),('RA.DI SRL','C',5036),('CENTRO GOMME DI CONDINA GIOVANNI','C',5040),('JOLLY FRUTTA DI PAPASERGIO ANGELA','C',5043),('SURACE ANTONINO','C',5055),('FORTEBUONO METALLINFISSI S.r.l.','C',5056),('BAGALAGIUSEPPE','C',5057),('CASEIFICIO IL GRANATORE DI ZAGARI','C',5060),('RUSSO GAETANO AUTORICAMBI','C',5062),('RAFFAELI SRL','C',5073),('ALESSI PINA IMPRESA EDILE','C',5075),('ERREBI SRL','C',5076),('LA CORTE DELLA CARNE DI PEPPINO','C',5078),('MANOCCIO GENNARO','C',5084),('DE CARIA MOTORS SRL','C',5085),('DOTT.MARCELLO MELARA','C',5087),('F.LLI ATTISANO SRL ORTOFRUTTA','C',5088),('GIOFFRE PASQUALE','C',5089),('M.G. LOGISTIES SERVICES SRL','C',5091),('CONSORZIO ACQUEDOTTO VINA','C',5094),('MD COLLECTION DI MARRA DOMENICO','C',5100),('CRUCITTI SRL','C',5101),('VITALONE ROCCO OFF.MECC.','C',5102),('MOTORCYCLE & AUTO REPAIRS','C',5107),('QUASED SRL','C',5108),('CADI SERVICE S.A.S.','C',5110),('CO.DI.M. SRL','C',5114),('LEUZZI GIANCARLO','C',5115),('SCUTERI FRANCESCO','C',5116),('DI PINO TINDARO AUTORICAMBI','C',5117),('COMUNE DI SEMINARA','C',5123),('MATINA DOMENICO','C',5125),('ACCARDO ANNUNZIATO FILIPPO','C',5127),('BOLIGNANO ROBERTA DONATELLA','C',5131),('EVENTI FIORITI DI ROBERTA ANGALO','C',5132),('RAZIONALE ROSARIO HIPPONIO AUTO EL.','C',5133),('ERREMME di ROMEO DOMENICO MASSIMO','C',5134),('MAXICAR DI A.TRICOMI','C',5136),('MONTELEONE MARIA MADDALENA','C',5141),('REGGIORICAMBI DI MICHELANGELO','C',5142),('IL GENIO DEL PANE DI GARZO GREGORIO','C',5143),('ANNULLATO UTILIZZATO PER IL WEB','C',5144),('DAL MASO GIADOMENICO','C',5146),('RIZZITANO ANTONINO','C',5147),('MAURO AUTORICAMBI DI BADAMI MARIA','C',5150),('EDIL QUATTRO DI SAPONE G.& C. SNC','C',5151),('MARIA MADDALENA SICA','C',5163),('CILONA ANTONINO','C',5164),('MAGAZZU ARREDAMENTI','C',5165),('BORGESE VINCENZO','C',5166),('ARCHIMEDE DI MATTIANI PASQUALE','C',5169),('BAR RISTORANTE ULIVARELLA','C',5174),('CENTRO RICAMBI CALABRESI SNC    CRC','C',5178),('PINNERI ANTONINO','C',5179),('F.LLI SCORDAMAGLIA S.N.C DI F.SCO','C',5182),('PANUCCIO ING.DOMENICO IMPR.COSTRUZ.','C',5183),('LOMBARDO ALLESTIMENTI','C',5195),('BOSCHETTO FRANCESCO ELETTRAUTO','C',5198),('PONTECOPROGES SRL','C',5199),('G.C.SERVICE DI GAGLIOSTRO CARMELO','C',5203),('PELLICANO S.R.L.','C',5208),('MACELLERIA DA ROCCO DI PRONESTI','C',5209),('MAGNETI MARELLI AFTER MARKET PARTS','C',5210),('IL POLLICE VERDE DI FARFAGLIA','C',5212),('COMUNE DI PALMI','C',5215),('BARA MOTO DI BARA FABIO','C',5225),('SAFFIOTI MASSIMO EMILIANO','C',5226),('LOIACONO GIULIO','C',5231),('SETTECERZE VINCENZO','C',5232),('BAGNOLI ROBERTO ELETTRAUTO','C',5234),('ALAMPI SALAVATORE IMPRESA EDILE','C',5236),('PANETTA CARLO','C',5239),('MYPLANET SRL','C',5240),('AUTO 3 snc F.LLI ARTESI','C',5241),('MATTIANI GIUSEPPE','C',5243),('ASP N.5 DI REGGIO CALABRIA','C',5244),('CANNIZZARO GIUSEPPE','C',5246),('SORICAL SPA','C',5248),('ROSACE GIUSEPPE','C',5249),('MOTORSPORT SNC DI SALVATI G.PPE & C','C',5250),('SLESC-SCHITRY DI SCHIPILLITI C.LO','C',5251),('LAURENDI GIOVANNA','C',5252),('OFF.MECC.GANGEMI DOMENICO','C',5253),('CUSAN di SANTORO & C. snc','C',5256),('MAISANO MARIANNA EURORICAMBI','C',5259),('NICOLI SANTINO ASS.PIAGGIO','C',5260),('ELETTROSISTEM DI LAFACE GIUSEPPE','C',5261),('F.LLI CAPOGRECO snc','C',5263),('COSENTINO FRANCESCA','C',5264),('TERMINE CLAUDIO AUTORICAMBI','C',5266),('CHIRICO PAOLO','C',5267),('MERCURI VINCENZA','C',5268),('AZIENDA AGRICOLA BIVONE MARIA','C',5269),('ANDREARCHIO ALESSANDRO','C',5271),('SICILIANO PASQUALE','C',5272),('APEIRON S.A.S DI F.SCO BARONE & C.','C',5273),('STAR SERVICE PICCOLA SOC.COOP.ARL','C',5274),('ZOCCALI ANTONIO','C',5276),('CONDELLO MARCO ALIMENTARI','C',5278),('MARTINO PAOLO PIETRO','C',5279),('PRELIBATEZZE DI RITA ARICO','C',5280),('AMORUSO LUIGI SRL','C',5281),('MAZZULLO LUCIANO','C',5282),('POLIAUTO DI POLIZZO UMILE','C',5286),('RIGANOFRANCESCO','C',5289),('AMBROGIO GIUSEPPE','C',5290),('ISOTERM DI VIGLIANTE GEOM.D.CO','C',5296),('MACELLERIA MICHELE LUPPINO','C',5297),('MARTORANO PASQUALE','C',5299),('TECNOVIDEO DI LAGANA','C',5301),('ASSIST.RENAULT ARCISIACONO ORAZIO','C',5302),('AUTOSERVICE MINNITI S.A.S.','C',5305),('CRO.MAR TRONIC DI G.MARZULLO','C',5308),('CRD  SRL','C',5310),('VALENTE PNEUMATICI srl','C',5312),('SPADA AGOSTINO','C',5316),('RAMONDINO MARCO','C',5317),('SHOPSTORE SRL','C',5319),('LOIACONO ANNALISA','C',5321),('COLLURA ALESSANDRO','C',5324),('AP.RICAMBI DI PLUMARI ANTONINO','C',5325),('CENTRO DIAGNOSI DI GRAZIANO','C',5326),('MILITANO FRANCESCANTONIO','C',5327),('EUROSERVICE 2000 DI GIANLUCA CIMINO','C',5329),('CELESTI PIETRO ELETTRAUTO','C',5336),('AUTORICAMBI GABRIELE DI GABRIELE','C',5337),('JONICA RICAMBI SNC DI MUSCOLINO E','C',5338),('THE BEST AUTORIC.S.A.S.DI GALLO','C',5339),('VOLPE CARMELA OFF.RICAMBI AUTO','C',5341),('LOCCASIONE snc di PELLICANO P & C.','C',5342),('AZ.AGR.CARMELITANO MATTEO','C',5343),('PRISCOGLIO GIUSEPPE FRANCESCO','C',5344),('ANNULLATO INVIATO A motorline','C',5347),('PUTRINO DOMENICO STUDIO DI GEOLOGIA','C',5348),('CAPUTO NATALE AUTORIC.','C',5350),('SPORTAUTO di GAGLIOSTRO VINCENZO','C',5355),('ZERBI FABIO','C',5357),('ARICONATALE','C',5358),('VALOTTA LEOLUCA OFF.ELETTROMEC.','C',5360),('BARBARO CONCETTA LUCIA','C',5361),('PENNESTRILUIGI  OFF.MECC.','C',5364),('RETTIFICHE MANNINO SRL','C',5366),('SPAGNOLO DOMENICO','C',5373),('AUTORICAMBI DLC DI ABOSSIDA G&C sas','C',5375),('AMBROGIO DOMENICO','C',5376),('BENEDETTO STEFANO','C',5377),('NICOLETTA GIUSEPPE','C',5378),('ESSERICAMBI DI ANNA MARIA SCHIRRIPA','C',5379),('DOTT.DOMENICO FARERI','C',5383),('V.I.M.A.R. SAS','C',5384),('AUTORICAMBI \"RUGGERI\" DI C.&D.CAR','C',5385),('ICOREL DI IERACE ROBERTO','C',5386),('S.G.AVIATION SRL','C',5387),('SUPERMERCATO PRINCI SAS','C',5388),('CALABRIA LUCIANO AUTORICAMBI C.D.R','C',5389),('MISALE GIUSEPPE','C',5390),('LASCALA DOMENICO','C',5393),('DELIVERY EXPRESS DI NUCARA A.','C',5394),('CUCCI FERDINANDO AUTORICAMBI','C',5402),('LENTINI MONTEDORO AUTORICAMBI','C',5407),('BORGESE CARMELO','C',5408),('TECNOSTUDIO DI ZACCURI GIOVANNI','C',5409),('SOC.COOP.ARCOBALENO A.R.L.','C',5411),('DE.SAL.CAR. DI DE SALVO ROBERTO','C',5412),('PM 2 DI MILITANO NATALE','C',5416),('EURO CAR DI BARONE ANTONINO','C',5417),('ROSINA ANTONINO','C',5418),('PALMERI MICHELE','C',5419),('S.D.CAR DI SALVATORE DOMENICO','C',5421),('CENTRO RICAMBI MINNITI','C',5422),('A.B.S. AQUILA BROADCASTING SETS','C',5424),('EDIL CASA DI DANDREA DOMENICA','C',5427),('RICAMBI 2000 S.N.C. DI LAGONIA &','C',5428),('KRIOS AC S.R.L.','C',5429),('MUSICO ANTONINO','C',5430),('NSA NUOVI SERVIZI AUTO S.P.A','C',5432),('FRAMEL SRL','C',5433),('ANNUL.LA BELLA FRANCESCO','C',5434),('IMPIOMBATO ANTONIO','C',5435),('ALFIERI SALVATORE','C',5436),('PASTIFICIO LANTICO MULINO','C',5437),('RICAMBI INDUSTRIALI S.R.L.','C',5438),('ANNULLATO INVIATO A CARPOINT','C',5439),('BARBIERI AUTORICAMBI di COSMA','C',5440),('SGRO GIUSEPPE','C',5441),('GIOIA HOSPITAL','C',5442),('AUTORICAMBI MAMONE PEPPINO','C',5444),('LA SOSPENS LIDO DI GABRIELE PIETRO','C',5445),('MICHELE SURACE DOTT.COMMERCIALISTA','C',5446),('CERENZIA GAETANO','C',5447),('BARBARO CARMINE','C',5448),('CALANNI RINDINA SPRINT AUTORICAMBI','C',5449),('ALAMPI SANTO','C',5450),('GIDAR srl','C',5451),('MARTELLI GIUSEPPE','C',5452),('OFF.MECC.BARBERA MATTEO','C',5453),('MARIANO GAETANO RIC.OFF.GOMME','C',5454),('CANNISTRA FRANCESCO','C',5455),('PIZZINO GIUSEPPE','C',5456),('GRIPPAUDO VINCENZO','C',5457),('SCANDURRA TIZIANA DIMENSIONE AUTO','C',5458),('AUTOSHOP S.R.L.','C',5459),('AUTORICAMBI DIANA ROBERTO & C.SAS','C',5460),('OLIVERI FRANCESCO','C',5461),('COSENTINO VITTORIO','C',5462),('C&P CERTIFICAZIONI S.R.L..','C',5463),('AR.RICAMBI SNC ARUTA SALV.& SANDRO','C',5464),('MAZZA ANTONIO','C',5466),('GANGEMI GIUSEPPE','C',5467),('STUDIO LEG.AVV.PELLEGRINO PASQUALE','C',5468),('OLIVERIO GIOVANNI','C',5469),('CASTAGNA PASQUALE AUTORICAMBI GOMME','C',5470),('GRAFIA PUBLICITA DI CIPRI GIUSEPPE','C',5471),('SAIJA ANGELO','C',5472),('CILIBERTO RENATO','C',5473),('CATANZARO SALVATORE','C',5474),('EUROAUTO srl','C',5475),('AGENZ.VIAGGI E TURISMO DE NICOLA','C',5476),('LA CONCORDIA SNC','C',5477),('MACOS srl','C',5478),('SIC.COM. S.A.S.','C',5479),('DONATO DANIELE AUTOR.','C',5480),('TROPICAL FRUIT DI LUPPINO FRANCESCO','C',5481),('SCIARRONE VINCENZO RICAMBI','C',5482),('CLIMAUTO DI TRAPASSO GIUSEPPE SNC','C',5483),('DABATE ORAZIO C.R. CENTRO RICAMBI','C',5484),('LB RICAMBI AUTO SAS','C',5485),('FAR.O.L.RICAMBI srl           FAROL','C',5486),('CAPRINO ANTONIO AUTORICAMBI','C',5487),('MEGNA ANTONIO','C',5488),('MARINCOLO SERAFINO ELETTRAUTO','C',5489),('TECNORICAMBI SNC','C',5490),('PRESTIPINO SALVATORE','C',5491),('COSENTINO GIUSEPPE','C',5492),('SANTORO ANTONINO','C',5493),('R.S.STORE SRL','C',5494),('DE LUCA SERVICE DI DELUCA F.SCO SAS','C',5495),('AUTORICAMBI BRUNO SERGIO','C',5496),('INDUSTRIAL POINT S.R.L.','C',5497),('ANNULLATO PRESO PER IL WEB','C',5498),('MORABITO LEONARDO ITALRICAMBI','C',5499),('PENNA ANTONINO IMP.AGIP 8898','C',5500),('CARUSO ROCCO','C',5501),('COMPUTER & INTERNET DI FORTUNATO','C',5502),('IGRO SUD DI MERCURI GIANCARLO','C',5503),('PISANELLI SANTO','C',5504),('PISANO ANTONIO','C',5505),('RUFFO GELSOMINA GFC AUTORICAMBI','C',5506),('SUORE SALESIANE DEI SACRI CUORI','C',5507),('ALPA AUTO S.R.L.','C',5508),('ESPOSITO LORENZO','C',5509),('GAGLIOSTRO STEFANO','C',5510),('SIRIO AUTORICAMBI DI UFRASCATI G.','C',5511),('ELETTRAUTO AMATO FAUSTO','C',5512),('ALBANESE GIUSEPPE','C',5513),('ANNULLATO PRESO PER IL WEB','C',5514),('RI.A  S.R.L.','C',5515),('AUTOFORNITURE TINO DAGATE','C',5516),('GLORIOSO ADRIANO','C',5517),('AUTORICAMBI ITALIANO di CURCURUTO','C',5518),('AUTOFORNITURE GULLOTTA','C',5519),('MANGIARRATTI EMANUELE IDROTEC','C',5520),('DOMINICI SRL','C',5521),('C.R.A.E.di DI BENEDETTO PROVVIDENZA','C',5522),('SPADA CARMELA SRL','C',5523),('LOMBARDO GIUSEPPE','C',5524),('MANOLA SALVATORE SA.MA','C',5525),('FARACI RAFFAELE TUTTAUTO','C',5526),('AUTORICAMBI CIARCIA CARMELO','C',5527),('MESSINA GIUSEPPE','C',5528),('AUTORICAMBI MEGARA SNC','C',5529),('MOTORPOINT SRL','C',5530),('ANASTASI GIOVANNI','C',5531),('AUTORICAMBI G.S.di SCOZZARICARLO','C',5532),('MA.DI.DI snc AUTOMARKET 2000','C',5533),('R.A.V. DI SORRENTINO LUIGI S.A.S','C',5534),('SA.MA RICAMBI DI SALAFIA MAURO','C',5535),('O.R.A. SPALLITTA & C. snc','C',5536),('TUTTAUTO ALBERGHINA GIANFRANCO','C',5537),('VINCI CONCETTO AUTOTECNICA AUTOR.','C',5538),('ANULLATO UTILIZZATO PER IL WEB','C',5539),('GIANNUSO GIOVANNI','C',5540),('CE.RI. DI CATANIA BIAGIO & C. SAS','C',5541),('ILARDI MARGHERITA & C. SNC','C',5542),('PUNTO RICAMBI SRL','C',5543),('NIGRELLI LUIGI','C',5544),('A.R.A.T. DI MARIO DI GIOVANNI','C',5545),('DILIBERTO AUTORICAMBI','C',5546),('DI COSTA S.R.L.','C',5547),('C.R.SERVICE SRL','C',5548),('ALOISI ANTONIO','C',5549),('PAONE RICAMBI DI PAONE G. SAS','C',5550),('FERICAM DI PISU FEDERICO','C',5551),('SANTOCONO & C.  R.A.I.E.snc','C',5552),('VESPO SALVATORE','C',5553),('AUTORICAMBI MOTTA srl','C',5554),('GRASSO & FIGLI sas DI GRASSO D.e C.','C',5555),('VECCHI SNC','C',5556),('F.LLI CHIARAMIDA AUTORICAMBI sas','C',5557),('FUTURA RICAMBI DI SCACCIAFERRO','C',5558),('COSENTINO F.e G. snc','C',5559),('FENECH AUTORICAMBI srl','C',5560),('SAMMITO ANGELA','C',5561),('CENTRO RICAMBI SRL','C',5562),('AUTORICAMBI STRANO SRL','C',5563),('SURIANO PAOLO','C',5564),('AUTORICAMBI GLORIOSO srl','C',5565),('VECAM DI OLIVELLI VENERANDO E C.snc','C',5566),('MEC.CARS RICAMBI DI SCIALFA G.PPE','C',5567),('PENNISI AUTO DI G.PENNISI','C',5568),('AUTORICAMBI MAGGIO GIUSEPPE','C',5569),('GRILLO NICOLA AUTOFORN.','C',5570),('AUTORICAMBI TROGYLOS SRL','C',5571),('PRIVITERA STEFANO','C',5572),('AUTOFFICINA M.A.&.V  S.a.s di OSCAR','C',5573),('IEMMOLO VINCENZO','C',5574),('GENNUSA GIUSEPPE AUTORICAMBI','C',5575),('C.R.A. Snc di Salvatore Tanasi & C.','C',5576),('F.LLI MUSARRA sas','C',5577),('S.G.R. DI ROSANO V.ZO & C. sas','C',5578),('ADAMO ROBERTO','C',5579),('ELIOS AUTORICAMBI SRL','C',5580),('DIEMME SRL','C',5581),('NUZZO FILIPPO','C',5582),('AUTOR.FISICARO DI FISICARO FILIPPO','C',5583),('CENTRO RICAMBI DESARI GIUSEPPE','C',5584),('AUTORIC.PROFETA DI PROFETA ONOFRIO','C',5585),('MARTUCCI REMO AUTORICAMBI','C',5586),('CHECKS SRL','C',5587),('AUTOETNA DI INTRESSALVI M.& C. snc','C',5588),('FRICANO ROBERTO & C.RI.AS.sas','C',5589),('GAGLIARDI VALENTINO','C',5590),('MICIELI SALVATORE SNC','C',5591),('GIARDINA GIOVANNI','C',5592),('BOCCHIARO GIUSTO & C. snc','C',5593),('R.D.C. DI VALERIA FILI','C',5594),('PALAZZOLO GIUSEPPE','C',5595),('CARILLO MARTINO AUTORICAMBI','C',5596),('AUTORIC.FAVUZZA SOC.COOP.','C',5597),('F.LLI RUSSO DI GAETANO RUSSO & C','C',5598),('DI.R.MEC SRL','C',5599),('AUTOCOMPONENTI COSENTINO','C',5600),('OLIVERI FRANCESCO AUTORICAMBI','C',5601),('PULIZZI GIOACCHINO','C',5602),('AUTORICAMBI RIITANO DOMENICO','C',5603),('FARRUGGIO BIAGIO','C',5604),('DISTEFANO M.& PELLEGRINO A. S.N.C.','C',5605),('SORTINO S.r.l.','C',5606),('B.R.M. di MARINELLI G.PPE & C. snc','C',5607),('C.A.R. DI CAMPISI ISABELLA','C',5608),('ARENA SRL','C',5609),('AUTOMECHANIKA SRL','C',5610),('PRECAV S.N.C. DI CAVALLARO ROSARIO','C',5611),('COIR srl','C',5612),('DI BELLA SERVICE','C',5613),('GARDEN BAR RACITI PAOLA & C. SNC','C',5614),('TUTTORICAMBI snc DI MUSCIA V.& G.','C',5615),('RICAS RICAMBI E ACCESSORI DI','C',5616),('DI PIETRO AUTOSERVICE DI PIETRO C.','C',5617),('EUROPARTIAUTO DI COCO CARMELO','C',5618),('AUTORICAMBI ODDO CARMELO','C',5619),('LAUTORICAMBI SRL','C',5620),('CUNSOLO MARIO AUTORICAMBI','C',5621),('AUTORICAMBI GRECO FINA','C',5622),('CORRADO CASALE SNC','C',5623),('R.A.I.A.R. srl','C',5624),('CASA DEL RADIATORE','C',5625),('CENTRO CLIMA SNC','C',5626),('SCARLATO SALVATORE ELETTROCAR','C',5627),('VIOLA FRANCESCO','C',5628),('CENTRORICAMBI NIGRO srl','C',5629),('MASTROGIOVANNI SRL','C',5630),('F.LLI PIZZA SNC','C',5631),('VIOLI CARLO','C',5632),('AVV.CARMELA CLEMENTE','C',5633),('DE CARIA ROCCO AUTORICAMBI','C',5634),('DIESEL TRUCKS DI SCADUTO ANGELO','C',5635),('MESSINA FILIPPO AUTORICAMBI','C',5636),('ERRECI DI RAFFAELE CANTAFIO','C',5637),('DOTT.GIUSEPPE FAVIA GUARNIERI SRL','C',5638),('ROSSETTI ALESSANDRO','C',5639),('STAZIONE DI SERVIZIO MANGANI','C',5640),('RONDINELLI GIOVANNI BATTISTA','C',5641),('DALTORICAMBI SRL','C',5642),('CORDIANO MARCELLO','C',5643),('EURORICAMBI DI TUSCIANO GIUSEPPE','C',5644),('AUTORIPARAZIONI IORI SNC.DI GRASSI','C',5645),('RI.CAR. srl','C',5646),('CAPPARELLI FRANCESCO','C',5647),('TUTTO MARMITTE DI BORSELLINO TANINA','C',5648),('PUGLIESE ANTONINO','C',5649),('AUTOFFICINA FUDA DI','C',5650),('TUTTO RICAMBI DI PRIOLO MARCO','C',5651),('LUCKY BAR RUGARI & GALLETTA S.A.S','C',5652),('ROCCAFORTE EURORICAMBI','C',5653),('CENTRO MIDAS REGGIO CALABRIA','C',5654),('BELLANTONI VINCENZO','C',5655),('AUTOFFICINA MISIANO SALVATORE','C',5656),('DEMASI GIUSEPPE','C',5657),('DIESELTRUCK DI ALFANO FABIO','C',5658),('ARIGANELLO MASSIMO AUTORICAMBI','C',5659),('MI.RA. RICAMBI SAS           MIRA','C',5660),('AGF SICILIA srl','C',5661),('MOLISE RICAMBI di A.Tamburri SNC','C',5662),('GARANZIA EUROPA GROUP SPA','C',5663),('FORESTIERI BRUNO ITALTRONYC','C',5664),('MORABITO VITO','C',5666),('MORABITO SALVATORE','C',5667),('LA MECCANICA SRL','C',5668),('GENNARO CACCIAPUOTI','C',5669),('PALAMARA GIUSEPPE PIT STOP','C',5670),('POLITO CARBURANTI DI ROCCO POLITO','C',5671),('STAZ.SERV.AGIP DI FRUCI GIUSEPPE','C',5672),('MARTINO SRL','C',5673),('SCHIPANI MARIANGELA AUTORICAMBI','C',5674),('AUTO VIP SRL','C',5675),('VECCHI GIUSEPPE RICAMBI','C',5676),('FARNO FULVIO & S. snc','C',5677),('CIRIMELLI AUTORICAMBI DI SAVERIO P.','C',5678),('IL CANNETO TAMOIL DI POLITO A. SAS','C',5679),('CARDINALE AUTOMOBILI SRL','C',5680),('D.R.A.M. snc','C',5681),('MANCUSO ILARIA AUTORICAMBI','C',5682),('COTRONEO DOMENICO','C',5683),('GRANATA F.CO F.G. AUTORICAMBI','C',5684),('RE.MA.DI ESPOSITO R.& BELSITO M.SRL','C',5685),('STAZ.SERV.AGIP DI BAGNATO SALVATORE','C',5686),('CAMMILLERI GAETANO AUTO GT','C',5687),('AGRILU DI MALVASI LUCIA','C',5688),('R.G. di ROSARIO GAROFOLO','C',5689),('AUTOELETTRONICA F.LLI DOMINICI snc','C',5690),('MELI CAR RENTALS LTD','C',5691),('RF srl','C',5692),('RUSSO GIUSEPPE','C',5693),('FALCONE FRANCESCO','C',5694),('STEFANELLI DOMENICO','C',5695),('GR srl','C',5696),('DIMENSIONE AUTO SRL','C',5697),('LATTANZIO DONATELLA','C',5698),('AUTOCOM SRL','C',5699),('GIORDANO SALVATORE OFF.CHEVROLET','C',5700),('CO.R.A.R.09 SRL','C',5701),('TRIMARCAR AUTORIC.DI MACRI PALMA','C',5702),('VIOLAUTO SRL','C',5703),('G.& V.POLICASTRI SNC','C',5704),('A.G.S.RICAMBI SRL','C',5705),('FLORI MOTORI SRL unipersonale','C',5706),('CUCINOTTA ANGELO AUTORICAMBI','C',5707),('ARCURI MARCELLO AUTORICAMBI','C',5708),('GAMMA RICAMBI SRL','C',5709),('VIOLA VINCENZO AUTORICAMBI','C',5710),('BELLOCCO RAFFAELE','C',5711),('BELCASTRO ANGELO ACCESSORI','C',5712),('SAFFIOTI CARMELO IMPRESA EDILE','C',5713),('A.M.RICAMBI DI ESPOSITO S.','C',5714),('3C RICAMBI DI COLAPRISTI VINCENZO','C',5715),('SURACE AUTO DI SURACE ROCCO','C',5716),('DIEMME SRL','C',5717),('F.LLI SCANGA SRL','C',5718),('ARTE FERRO DI ROSARIO BAGNATO','C',5719),('AUTORIC.CHIURCO DI LORICCHIO V.ZO','C',5720),('TIRRENO SNC.DI LUCCHESE V.ZO','C',5721),('CO.GE.TECH SRL','C',5722),('SALADINI SRL','C',5723),('TURANO ARMANDO','C',5724),('G.E.S.T. AUTORICAMBI SRL','C',5725),('CONDO ANTONIO','C',5726),('PUNTO MARMITTE DI FERRARA DOMENICO','C',5727),('INTERNAZIONALE RICAMBI SRL','C',5728),('A.A.R. DI CURCIO VINCENZO','C',5729),('RIC.PIAGGIO F.LLI SERGI DI SERGI G.','C',5730),('LAURITO GIUSEPPE AUTORICAMBI','C',5731),('AUTORICAMBI TRE A DI A.LUZZI','C',5732),('VISCOMI AGOSTINO','C',5733),('GROUP ECO ITALIA SRL','C',5734),('MESITI LUCA','C',5735),('AUTORICAMBI SCHIRRIPA SAS','C',5736),('TRUSCELLI ANTONIO','C',5737),('AUTORIC.GODINO DI MENDICINO LORETTA','C',5739),('MICHELE CAROLI SRL','C',5741),('CIRIA ALESSIO AUTORICAMBI','C',5742),('F.LLI LORENTI RICAMBI AUTO SRL','C',5743),('R.S.RICAMBI DI ROBERTO SGAMBELLURI','C',5744),('ARCURI SISTINO AUTORICAMBI','C',5745),('2V CAR PARTS DI VALERIO MACRI','C',5746),('BARILLARI GIUSEPPE AUTORICAMBI','C',5747),('AUTORICAMBI COSENTINO SRL uniperson','C',5748),('EURORICAMBI SRLS','C',5749),('AUTORICAMBI 2G DI GIANFRANCO GARUFI','C',9002),('A.R.A. RICAMBI VENETICO srl','C',9005),('BELLANTONI DOMENICO','C',9034),('BASILE SANTO','C',9036),('AUTORICAMBIFOX DI FOSSATI MATTEO','C',9062),('GRANDI RICAMBI DI GRANDI SIMONE','C',9070),('CARUSO CALOGERO','C',9071),('CALDERONE PAOLO FRANCESCO','C',9074),('GAGLIO GIUSEPPE Ricambi Auto e Acc.','C',9185),('GIORGIANNI AUTORICAMBI S.N.C.','C',9190),('SAPORITO MASSIMO LAUTORICAMBIO','C',9284),('LOMBARDO SANTO','C',9285),('MICALI GIOVANNI','C',9324),('MERLINO ANTONINO','C',9331),('MILONE GIUSEPPE','C',9352),('CENTRO AUTO DI TRAMONTANO','C',9380),('PINTAUDI ROCCO','C',9422),('AUTORICAMBI DI PINO SRL','C',9475),('SETTIMO GIOVANNI','C',9502),('SANFILIPPO GIUSEPPE','C',9505),('STURNIOLO ANTONINO Elettrauto','C',9507),('SUD RICAMBI snc DI GUGLIOTTA C.& C.','C',9508),('SPRINT CAR AUTORICAMBI DI GRECO A.','C',9511),('GIORGIO FRANCESCO','C',9534),('TRIFILO FILIPPO TUTTO AUTORICAMBI','C',9537),('RIGGIO GIUSEPPE & C. SNC','C',9620),('CORRISPETTIVI','C',999999),('','F',0),('SAFFIOTI CARMELO SNC','F',1),('TRENTINELLA FRANCESCO','F',2),('PRINTING.CENTER','F',3),('MAZZULLO FORTUNATO','F',4),('MGG ITALIA S.R.L. GRUPPO IMCO','F',5),('GLS GENERAL LOGISTICS SYSTEMS','F',6),('CIFANI SRL','F',7),('BARTOLINI spa','F',8),('ITALIA RECAPITI S.R.L','F',9),('UNI EURO S.P.A','F',10),('FORMAT S.A.S. DI PISCOPO ANTONIO &C','F',11),('GIAMMARRESI NICOLO','F',12),('CANNATA VINCENZO srl','F',13),('GRIMAS srl Etichette','F',14),('CONSORZIO ASSORICAMBI','F',15),('B.C.R. srl','F',16),('CADI snc F.LLI MILASI','F',17),('JET EXPRESS srl CORRIERE ESPRESSO','F',18),('PAPERNET SPA','F',19),('FIAMMA DI A.SEMINARA','F',20),('COSTANZO SALVATORE','F',21),('MONDOFFICE SRL','F',22),('SOF.INN. INFORMATICA srl','F',23),('G.TRIPODI SRL','F',24),('ARMES SPA','F',25),('J-SOFTWARE SRL','F',26),('SARITEL','F',27),('SDA  EXPRESS COURIER','F',28),('TRASPORTI PE.CAM','F',29),('CONSOZIO PDA','F',30),('OPITERGINA MARMITTE DI NESPOLO','F',31),('SCATOLIFICIO VENETO S.R.L.','F',32),('AUTOCOM SRL','F',33),('LT SRL LOGISTICA E TRASPORTI','F',34),('FUTIA DOMENICO','F',35),('SETEFI  SPA   GRUPPO INTESABCI','F',36),('ELPIDA D.O.O.','F',37),('I.F.R. DI MAURIZIO ROMANO','F',38),('CRUCITTI SRL','F',39),('GRAFICAJONICA SNC','F',40),('PANALPINA TRASP.MOND.SPA','F',41),('ARUBA SPA','F',42),('ENGINET SRL','F',43),('POLIGRAFICO SRL','F',44),('SERIBAG DI ZAGARI DANIELA','F',46),('PISANI FRANCESCO & FIGLI SPA','F',50),('INGROSUD DI PRATICO ANTONIO','F',51),('MEDIA WORLD COMPRA ON-LINE','F',53),('PM2 DI MILITANO NATALE','F',58),('RAG.PARISI GIUSEPPE','F',60),('REDOIL ITALIA spa','F',64),('BARBARO SPORT S.A.S.','F',75),('KRIOS  A.C. srl','F',83),('SERFEM DI SERGIO FEMIA','F',86),('SOVEB AUTO SRL','F',90),('SUSA TRASPORTI SPA','F',93),('SDA sas DI PALMITESSA (UNIGOM)','F',94),('NOTAIO MARCELLA CLARA RENI','F',96),('AB ELETTROSISTEMI','F',97),('SOCET srl  (TOTAL)','F',100),('DELIVERY EXPRESS','F',101),('TAZZETTI GUIDO & C. SPA Div.ACR','F',102),('COMPUTER ASSIST S.A.S. DI RUFFOLO','F',103),('ALDASA DI FRANCO SILENO','F',104),('STUDIO LEGALE AVV.GIULIANA METE','F',105),('TRIONE RICAMBI S.P.A','F',107),('RICAMBIFLEX GM srl','F',110),('CASA DEL RICAMBIO SRL','F',111),('LEONARDO SNC DIGITAL STUDIO','F',112),('MUSICO MACCHINE AGRICOLE','F',115),('ROBERT BOSCH spa','F',116),('C.B.F. BALDUCCI SPA','F',117),('ENGINE COMPONENTS srl GLASER','F',118),('SEAL-TECH SRL','F',119),('SMAT NORD srl','F',120),('RIVOIRA S.P.A','F',121),('BRENTA SRL','F',122),('RAPISARDA CARLO CARMELO','F',123),('CIEFFEBI TRASPORTI','F',124),('CAST BOLZONELLA S.A.S.','F',125),('EURODECOS S.R.L.','F',126),('DALTORICAMBI SRL','F',127),('LUBEX S.P.A.','F',128),('ITALTRADE SRL','F',129),('SAMAUTO SPA','F',130),('FRAP srl','F',135),('SOGEFI FILTRATION SPA','F',140),('UNIPART NV INTERNATIONAL RADIATOR','F',145),('EXIDE ITALIA SRL','F',150),('IBS SRL','F',155),('ASSOMARMITTE SRL','F',160),('IPS PARTS SRL','F',165),('OSRAV ALFEO MORET SPA         DAMPO','F',170),('EXO AUTOMOTIVE SPA  REMSA-OPENPARTS','F',175),('KAYABA ITALY GmbH','F',180),('SALADINI SRL','F',185),('CARTIERA LUCCHESE SPA (LUCART)','F',190),('TIRRENA IMPEX SRL','F',195),('FAAL BATTERIE SRL','F',200),('NRF ITALIA SRL','F',205),('DICRA SPA','F',210),('MECARM srl','F',215),('LEART-DIVISIONE EUROLITES SPA','F',1202),('EUROLITES S.P.A     ARIC','F',1203),('MORONI CESARE & C. snc','F',1307),('M.T.S. spa','F',1310),('MAGNETI MARELLI AFTERMARKET AND SER','F',1323),('MALO spa','F',1329),('NEWFREN SPA','F',1401),('OLYMPIA srl','F',1501),('F.LLI TRIPODI  SNC','F',1502),('FL.ITALIA srl OLEOBLITZ','F',1505),('OSRAM spa','F',1507),('PHILIPS SPA','F',1602),('DAYCO EUROPE SRL','F',1605),('RICAUTO SPA','F',1804),('R.M.S. S.P.A.','F',1817),('COMMERCIALE LUCANA snc','F',1901),('ENZO PARISI S.R.L.','F',1902),('SIOM S.R.L.','F',1908),('SIA INDUSTRIA ACCUMULATORI spa','F',1914),('SIMAKA','F',1923),('SITO GRUPPO INDISTRIALE spa','F',1935),('TOMAS RENATO & BRUNO sas','F',2001),('UMMAC srl','F',2201),('VEMA srl','F',2306),('VALEO SERVICE ITALIA S.P.A.','F',2308),('WD-40 COMPANY LTD','F',2309),('A.C.S. DI CORDOVANA SALVATORE','F',3101),('DELTA SERVICE snc','F',3103),('AUTOFORNITURE MILANESI spa','F',3104),('AGIP PETROLI ( Agenzia RC )','F',3105),('ARSAUTO SRL','F',3110),('AREXONS DIVISIONE DI FL SELENIA SPA','F',3116),('BOSATTA F.LLI \"F.B.\"srl','F',3201),('BIFFI & PREMOLI srl','F',3205),('BERGAMASCHI & F. spa','F',3213),('F.G.WOLF SRL','F',3302),('C.D.A. spa','F',3303),('CENTAURO srl','F',3307),('CASA DEL BULLONE sas','F',3311),('ORIGINAL BIRTH spa','F',3314),('FORTEBUONO METALLINFISSI SRL','F',3321),('C.C.R. srl CENTRO CUSCINETTI','F',3325),('CRAMER SRL','F',3328),('TOMMASELLI srl','F',3401),('DELLORTO spa','F',3403),('FEDERAL MOGUL ITALY SRL','F',3408),('F.A. ITALIA snc','F',3620),('FODONE sas','F',3621),('GUARNITAUTO spa','F',3707),('G.V.S. DI SALA RINALDO','F',3718),('PRES-SING S.A.S.','F',3906),('CODICI ANNULLATI','F',9999),('','F',999999);");
-
-            statement.close();
-            conn.commit();
-        } catch (SQLException e) {
-            e.printStackTrace();
-        } finally {
-            connectionPool.releaseConnection(conn);
-        }
-    }
-
-    @Override
-    protected String getTestDescription() {
-        return "Ensure unique ordering when using TableQuery with multiple primary key columns.";
-    }
-
-    @Override
-    protected Integer getTicketNumber() {
-        return 10878;
-    }
-}
diff --git a/uitest/src/main/java/com/vaadin/tests/smoke/TableSqlContainer.java b/uitest/src/main/java/com/vaadin/tests/smoke/TableSqlContainer.java
new file mode 100644 (file)
index 0000000..6f353b4
--- /dev/null
@@ -0,0 +1,140 @@
+package com.vaadin.tests.smoke;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.Locale;
+
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractReindeerTestUI;
+import com.vaadin.ui.CheckBox;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.VerticalLayout;
+import com.vaadin.v7.data.Property;
+import com.vaadin.v7.data.Property.ValueChangeEvent;
+import com.vaadin.v7.data.util.sqlcontainer.SQLContainer;
+import com.vaadin.v7.data.util.sqlcontainer.connection.JDBCConnectionPool;
+import com.vaadin.v7.data.util.sqlcontainer.connection.SimpleJDBCConnectionPool;
+import com.vaadin.v7.data.util.sqlcontainer.query.TableQuery;
+import com.vaadin.v7.ui.Table;
+
+public class TableSqlContainer extends AbstractReindeerTestUI {
+
+    protected Table table;
+
+    @Override
+    protected void setup(VaadinRequest request) {
+        setLocale(Locale.ENGLISH);
+        VerticalLayout layout = new VerticalLayout();
+        addComponent(layout);
+
+        table = new Table("Table with SQLContainer");
+        layout.addComponent(table);
+
+        final Label selectedLabel = new Label("Selected: null");
+        selectedLabel.setId("selection");
+        layout.addComponent(selectedLabel);
+
+        try {
+            JDBCConnectionPool connectionPool = new SimpleJDBCConnectionPool(
+                    "org.hsqldb.jdbc.JDBCDriver",
+                    "jdbc:hsqldb:mem:sqlcontainer", "SA", "", 2, 20);
+
+            createTestTable(connectionPool);
+            insertTestData(connectionPool);
+
+            TableQuery q = new TableQuery("mytable", connectionPool);
+            q.setVersionColumn("version");
+            SQLContainer myContainer = new SQLContainer(q);
+
+            table.setContainerDataSource(myContainer);
+
+        } catch (SQLException e) {
+            e.printStackTrace();
+        }
+
+        table.setImmediate(true);
+        table.setSizeFull();
+        table.setSelectable(true);
+        table.addValueChangeListener(new Property.ValueChangeListener() {
+            @Override
+            public void valueChange(ValueChangeEvent event) {
+                selectedLabel.setValue(
+                        "Selected: " + event.getProperty().getValue());
+            }
+        });
+
+        final CheckBox editMode = new CheckBox("Edit mode");
+        editMode.addValueChangeListener(
+                event -> table.setEditable(editMode.getValue()));
+        addComponent(editMode);
+    }
+
+    /**
+     * (Re)creates the test table
+     *
+     * @param connectionPool
+     */
+    private void createTestTable(JDBCConnectionPool connectionPool) {
+        Connection conn = null;
+        try {
+            conn = connectionPool.reserveConnection();
+            Statement statement = conn.createStatement();
+            try {
+                statement.executeUpdate("DROP TABLE mytable");
+            } catch (SQLException e) {
+            }
+            statement.execute("CREATE TABLE mytable "
+                    + "(id INTEGER GENERATED BY DEFAULT AS IDENTITY, D DATE,"
+                    + "MYFIELD VARCHAR(45), " + "PRIMARY KEY(ID))");
+            statement.close();
+            conn.commit();
+        } catch (SQLException e) {
+            e.printStackTrace();
+        } finally {
+            connectionPool.releaseConnection(conn);
+        }
+    }
+
+    /**
+     * Adds test data to the test table
+     *
+     * @param connectionPool
+     * @throws SQLException
+     */
+    private void insertTestData(JDBCConnectionPool connectionPool)
+            throws SQLException {
+        Connection conn = null;
+        try {
+            conn = connectionPool.reserveConnection();
+            Statement statement = conn.createStatement();
+
+            statement.executeUpdate(
+                    "INSERT INTO mytable VALUES(1, '2013-05-24', 'A0')");
+            statement.executeUpdate(
+                    "INSERT INTO mytable VALUES(2, '2013-04-26', 'A1')");
+            statement.executeUpdate(
+                    "INSERT INTO mytable VALUES(3, '2013-05-27', 'B0')");
+            statement.executeUpdate(
+                    "INSERT INTO mytable VALUES(4, '2013-04-28', 'B1')");
+
+            statement.close();
+            conn.commit();
+        } catch (SQLException e) {
+            e.printStackTrace();
+        } finally {
+            connectionPool.releaseConnection(conn);
+        }
+    }
+
+    @Override
+    protected String getTestDescription() {
+        return "A test with Table connected to a SQLContainer using TableQuery";
+    }
+
+    @Override
+    protected Integer getTicketNumber() {
+        return 11224;
+    }
+
+}
diff --git a/uitest/src/main/java/com/vaadin/v7/data/util/sqlcontainer/SQLTestsConstants.java b/uitest/src/main/java/com/vaadin/v7/data/util/sqlcontainer/SQLTestsConstants.java
deleted file mode 100755 (executable)
index f7a1358..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright 2000-2016 Vaadin Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.vaadin.v7.data.util.sqlcontainer;
-
-import com.vaadin.v7.data.util.sqlcontainer.query.generator.DefaultSQLGenerator;
-import com.vaadin.v7.data.util.sqlcontainer.query.generator.MSSQLGenerator;
-import com.vaadin.v7.data.util.sqlcontainer.query.generator.OracleGenerator;
-import com.vaadin.v7.data.util.sqlcontainer.query.generator.SQLGenerator;
-
-public class SQLTestsConstants {
-
-    /* Set the DB used for testing here! */
-    public enum DB {
-        HSQLDB, MYSQL, POSTGRESQL, MSSQL, ORACLE;
-    }
-
-    /* 0 = HSQLDB, 1 = MYSQL, 2 = POSTGRESQL, 3 = MSSQL, 4 = ORACLE */
-    public static final DB db = DB.HSQLDB;
-
-    /* Auto-increment column offset (HSQLDB = 0, MYSQL = 1, POSTGRES = 1) */
-    public static int offset;
-    /* Garbage table creation query (=three queries for oracle) */
-    public static String createGarbage;
-    public static String createGarbageSecond;
-    public static String createGarbageThird;
-    /* DB Drivers, urls, usernames and passwords */
-    public static String dbDriver;
-    public static String dbURL;
-    public static String dbUser;
-    public static String dbPwd;
-    /* People -test table creation statement(s) */
-    public static String peopleFirst;
-    public static String peopleSecond;
-    public static String peopleThird;
-    /* Schema test creation statement(s) */
-    public static String createSchema;
-    public static String createProductTable;
-    public static String dropSchema;
-    /* Versioned -test table createion statement(s) */
-    public static String[] versionStatements;
-    /* SQL Generator used during the testing */
-    public static SQLGenerator sqlGen;
-
-    /* Set DB-specific settings based on selected DB */
-    static {
-        sqlGen = new DefaultSQLGenerator();
-        switch (db) {
-        case HSQLDB:
-            offset = 0;
-            createGarbage = "create table garbage (id integer generated always as identity, type varchar(32), PRIMARY KEY(id))";
-            dbDriver = "org.hsqldb.jdbc.JDBCDriver";
-            dbURL = "jdbc:hsqldb:mem:sqlcontainer";
-            dbUser = "SA";
-            dbPwd = "";
-            peopleFirst = "create table people (id integer generated always as identity, name varchar(32), AGE INTEGER)";
-            peopleSecond = "alter table people add primary key (id)";
-            versionStatements = new String[] {
-                    "create table versioned (id integer generated always as identity, text varchar(255), version tinyint default 0)",
-                    "alter table versioned add primary key (id)" };
-            // TODO these should ideally exist for all databases
-            createSchema = "create schema oaas authorization DBA";
-            createProductTable = "create table oaas.product (\"ID\" integer generated always as identity primary key, \"NAME\" VARCHAR(32))";
-            dropSchema = "drop schema if exists oaas cascade";
-            break;
-        case MYSQL:
-            offset = 1;
-            createGarbage = "create table GARBAGE (ID integer auto_increment, type varchar(32), PRIMARY KEY(ID))";
-            dbDriver = "com.mysql.jdbc.Driver";
-            dbURL = "jdbc:mysql:///sqlcontainer";
-            dbUser = "sqlcontainer";
-            dbPwd = "sqlcontainer";
-            peopleFirst = "create table PEOPLE (ID integer auto_increment not null, NAME varchar(32), AGE INTEGER, primary key(ID))";
-            peopleSecond = null;
-            versionStatements = new String[] {
-                    "create table VERSIONED (ID integer auto_increment not null, TEXT varchar(255), VERSION tinyint default 0, primary key(ID))",
-                    "CREATE TRIGGER upd_version BEFORE UPDATE ON VERSIONED"
-                            + " FOR EACH ROW SET NEW.VERSION = OLD.VERSION+1" };
-            break;
-        case POSTGRESQL:
-            offset = 1;
-            createGarbage = "create table GARBAGE (\"ID\" serial PRIMARY KEY, \"TYPE\" varchar(32))";
-            dbDriver = "org.postgresql.Driver";
-            dbURL = "jdbc:postgresql://localhost:5432/test";
-            dbUser = "postgres";
-            dbPwd = "postgres";
-            peopleFirst = "create table PEOPLE (\"ID\" serial primary key, \"NAME\" VARCHAR(32), \"AGE\" INTEGER)";
-            peopleSecond = null;
-            versionStatements = new String[] {
-                    "create table VERSIONED (\"ID\" serial primary key, \"TEXT\" VARCHAR(255), \"VERSION\" INTEGER DEFAULT 0)",
-                    "CREATE OR REPLACE FUNCTION zz_row_version() RETURNS TRIGGER AS $$"
-                            + "BEGIN" + "   IF TG_OP = 'UPDATE'"
-                            + "       AND NEW.\"VERSION\" = old.\"VERSION\""
-                            + "       AND ROW(NEW.*) IS DISTINCT FROM ROW (old.*)"
-                            + "   THEN"
-                            + "       NEW.\"VERSION\" := NEW.\"VERSION\" + 1;"
-                            + "   END IF;" + "   RETURN NEW;" + "END;"
-                            + "$$ LANGUAGE plpgsql;",
-                    "CREATE TRIGGER \"mytable_modify_dt_tr\" BEFORE UPDATE"
-                            + "   ON VERSIONED FOR EACH ROW"
-                            + "   EXECUTE PROCEDURE \"public\".\"zz_row_version\"();" };
-            createSchema = "create schema oaas";
-            createProductTable = "create table oaas.product (\"ID\" serial primary key, \"NAME\" VARCHAR(32))";
-            dropSchema = "drop schema oaas cascade";
-            break;
-        case MSSQL:
-            offset = 1;
-            createGarbage = "create table GARBAGE (\"ID\" int identity(1,1) primary key, \"TYPE\" varchar(32))";
-            dbDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
-            dbURL = "jdbc:sqlserver://localhost:1433;databaseName=tempdb;";
-            dbUser = "sa";
-            dbPwd = "sa";
-            peopleFirst = "create table PEOPLE (\"ID\" int identity(1,1) primary key, \"NAME\" VARCHAR(32), \"AGE\" INTEGER)";
-            peopleSecond = null;
-            versionStatements = new String[] {
-                    "create table VERSIONED (\"ID\" int identity(1,1) primary key, \"TEXT\" VARCHAR(255), \"VERSION\" rowversion not null)" };
-            sqlGen = new MSSQLGenerator();
-            break;
-        case ORACLE:
-            offset = 1;
-            createGarbage = "create table GARBAGE (\"ID\" integer primary key, \"TYPE\" varchar2(32))";
-            createGarbageSecond = "create sequence garbage_seq start with 1 increment by 1 nomaxvalue";
-            createGarbageThird = "create trigger garbage_trigger before insert on GARBAGE for each row begin select garbage_seq.nextval into :new.ID from dual; end;";
-            dbDriver = "oracle.jdbc.OracleDriver";
-            dbURL = "jdbc:oracle:thin:test/test@localhost:1521:XE";
-            dbUser = "test";
-            dbPwd = "test";
-            peopleFirst = "create table PEOPLE (\"ID\" integer primary key, \"NAME\" VARCHAR2(32), \"AGE\" INTEGER)";
-            peopleSecond = "create sequence people_seq start with 1 increment by 1 nomaxvalue";
-            peopleThird = "create trigger people_trigger before insert on PEOPLE for each row begin select people_seq.nextval into :new.ID from dual; end;";
-            versionStatements = new String[] {
-                    "create table VERSIONED (\"ID\" integer primary key, \"TEXT\" VARCHAR(255), \"VERSION\" INTEGER DEFAULT 0)",
-                    "create sequence versioned_seq start with 1 increment by 1 nomaxvalue",
-                    "create trigger versioned_trigger before insert on VERSIONED for each row begin select versioned_seq.nextval into :new.ID from dual; end;",
-                    "create sequence versioned_version start with 1 increment by 1 nomaxvalue",
-                    "create trigger versioned_version_trigger before insert or update on VERSIONED for each row begin select versioned_version.nextval into :new.VERSION from dual; end;" };
-            sqlGen = new OracleGenerator();
-            break;
-        }
-    }
-
-}
index b35dbf7a6e5bb68ccd4dca29e3b99cff9f489aea..fbd7501f75c94f417494d974d198e03a98ce337b 100644 (file)
@@ -37,22 +37,6 @@ public class DisabledSortingTableTest extends MultiBrowserTest {
         assertThatFirstCellHasText("4");
     }
 
-    @Test
-    public void emptySortingClearsIndicatorAndResetsSortingWithSQLContainer() {
-        uiClass = DisabledSortingTableSqlContainer.class;
-        openTestURL();
-
-        assertThatFirstCellHasText("1");
-
-        sortFirstColumnAscending();
-        assertThatFirstCellHasText("2");
-
-        disableSorting();
-        sortByEmptyArray();
-
-        assertThatFirstCellHasText("1");
-    }
-
     private void sortFirstColumnAscending() {
         getFirstColumnHeader().click();
         waitUntilHeaderHasExpectedClass("v-table-header-cell-asc");
diff --git a/uitest/src/test/java/com/vaadin/tests/components/table/TableScrollingWithSQLContainerTest.java b/uitest/src/test/java/com/vaadin/tests/components/table/TableScrollingWithSQLContainerTest.java
deleted file mode 100644 (file)
index 893b41e..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 2000-2016 Vaadin Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.vaadin.tests.components.table;
-
-import org.junit.Assert;
-import org.junit.Test;
-import org.openqa.selenium.By;
-
-import com.vaadin.tests.tb3.MultiBrowserTest;
-
-public class TableScrollingWithSQLContainerTest extends MultiBrowserTest {
-
-    @Test
-    public void verifySQLContainerIndexOfIDNotCalled() {
-        openTestURL();
-
-        vaadinElement("/VVerticalLayout[0]/VButton[0]").click();
-
-        Assert.assertTrue("SQLContainer indexOfId was called", driver
-                .findElements(By.className("v-errorindicator")).isEmpty());
-    }
-}
diff --git a/uitest/src/test/java/com/vaadin/tests/containers/sqlcontainer/TableQueryWithNonUniqueFirstPrimaryKeyTest.java b/uitest/src/test/java/com/vaadin/tests/containers/sqlcontainer/TableQueryWithNonUniqueFirstPrimaryKeyTest.java
deleted file mode 100644 (file)
index 30182c7..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.vaadin.tests.containers.sqlcontainer;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.junit.Assert;
-import org.junit.Test;
-import org.openqa.selenium.Keys;
-import org.openqa.selenium.WebElement;
-
-import com.vaadin.testbench.By;
-import com.vaadin.testbench.customelements.ComboBoxElement;
-import com.vaadin.tests.tb3.MultiBrowserTest;
-
-public class TableQueryWithNonUniqueFirstPrimaryKeyTest
-        extends MultiBrowserTest {
-
-    private static final String[] DATA = { "TARUSCIO GIOVANNI",
-            "RUSSO GAETANO AUTORICAMBI", "AMORUSO LUIGI SRL", "CARUSO ROCCO",
-            "F.LLI RUSSO DI GAETANO RUSSO & C", "RUSSO GIUSEPPE",
-            "TRUSCELLI ANTONIO", "CARUSO CALOGERO" };
-
-    @Test
-    public void testComboBoxSuggestionsListedCorrectly() throws Exception {
-        openTestURL();
-        $(ComboBoxElement.class).first().findElement(By.vaadin("#textbox"))
-                .sendKeys("rus", Keys.ENTER);
-
-        List<String> result = new ArrayList<>();
-
-        // pick list items that are shown in suggestion popup
-        List<WebElement> elems = findElements(
-                By.cssSelector("td[role=\"listitem\"]"));
-        Assert.assertEquals("not enough suggestions shown", DATA.length,
-                elems.size());
-
-        for (WebElement elem : elems) {
-            result.add(elem.getText());
-        }
-
-        Assert.assertArrayEquals("popup items not what they should be", DATA,
-                result.toArray());
-
-    }
-}
diff --git a/uitest/src/test/java/com/vaadin/tests/smoke/TableSqlContainerTest.java b/uitest/src/test/java/com/vaadin/tests/smoke/TableSqlContainerTest.java
new file mode 100644 (file)
index 0000000..97d6a7b
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.tests.smoke;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.openqa.selenium.By;
+
+import com.vaadin.testbench.elements.TableElement;
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+/**
+ * @author Vaadin Ltd
+ *
+ */
+public class TableSqlContainerTest extends MultiBrowserTest {
+
+    @Test
+    public void sqlContainerSmokeTest() {
+        openTestURL();
+
+        TableElement table = $(TableElement.class).first();
+        char ch = 'A';
+        for (int i = 0; i < 4; i++) {
+            Assert.assertEquals(String.valueOf(i + 1),
+                    table.getCell(i, 0).getText());
+            Assert.assertEquals(String.valueOf(ch) + i % 2,
+                    table.getCell(i, 2).getText());
+            if (i == 1) {
+                ch++;
+            }
+        }
+
+        table.getCell(1, 0).click();
+
+        Assert.assertEquals("Selected: 2",
+                findElement(By.id("selection")).getText());
+    }
+
+}