You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by sk...@apache.org on 2016/10/20 14:49:36 UTC
[1/7] cayenne git commit: Revert to the old Reverse Engineering UI
style
Repository: cayenne
Updated Branches:
refs/heads/master f7ad0cc17 -> f72210ccb
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ModelerDbLoader.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ModelerDbLoader.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ModelerDbLoader.java
deleted file mode 100644
index a6d6d93..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ModelerDbLoader.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.cayenne.modeler.dialog.db;
-
-import org.apache.cayenne.dbsync.naming.DefaultObjectNameGenerator;
-import org.apache.cayenne.dbsync.reverse.db.DbLoader;
-import org.apache.cayenne.dbsync.reverse.db.DbLoaderConfiguration;
-import org.apache.cayenne.dbsync.reverse.db.DefaultDbLoaderDelegate;
-import org.apache.cayenne.dbsync.reverse.filters.CatalogFilter;
-import org.apache.cayenne.dbsync.reverse.filters.SchemaFilter;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.map.DbAttribute;
-import org.apache.cayenne.map.Procedure;
-import org.apache.cayenne.modeler.dialog.db.model.DbCatalog;
-import org.apache.cayenne.modeler.dialog.db.model.DbColumn;
-import org.apache.cayenne.modeler.dialog.db.model.DbElement;
-import org.apache.cayenne.modeler.dialog.db.model.DbEntity;
-import org.apache.cayenne.modeler.dialog.db.model.DbModel;
-import org.apache.cayenne.modeler.dialog.db.model.DbProcedure;
-import org.apache.cayenne.modeler.dialog.db.model.DbSchema;
-import org.apache.cayenne.modeler.dialog.pref.TreeEditor;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.util.List;
-import java.util.Map;
-
-// TODO: rewrite this whole thing...
-class ModelerDbLoader extends DbLoader {
-
- private static final Log LOGGER = LogFactory.getLog(ModelerDbLoader.class);
-
- private TreeEditor treeEditor;
- private ReverseEngineeringController reverseEngineeringController;
-
- public ModelerDbLoader(ReverseEngineeringController reverseEngineeringController, TreeEditor treeEditor, Connection connection) {
- super(connection,
- reverseEngineeringController.adapter,
- new DefaultDbLoaderDelegate(),
- new DefaultObjectNameGenerator());
- this.treeEditor = treeEditor;
- this.reverseEngineeringController = reverseEngineeringController;
- }
-
- @Override
- protected Map<String, Procedure> loadProcedures(DataMap dataMap, DbLoaderConfiguration config) throws SQLException {
- Map<String, Procedure> procedures = super.loadProcedures(dataMap, config);
- addProcedures(procedures);
- return procedures;
- }
-
- @Override
- protected void loadDbEntities(DataMap dataMap, DbLoaderConfiguration config) throws SQLException {
-
- LOGGER.info("Schema loading...");
-
- String[] types = getTableTypes(config);
-
- boolean isNullDetected = false;
- for (CatalogFilter catalog : config.getFiltersConfig().getCatalogs()) {
- for (SchemaFilter schema : catalog.schemas) {
- if (schema.name == null && catalog.name == null) {
- isNullDetected = true;
- }
- }
- }
- if (isNullDetected) {
- createIfNull(dataMap, config, types);
- } else {
- createIfNotNull(dataMap, config, types);
- }
- }
-
- private void addProcedures(Map<String, Procedure> procedureMap) throws SQLException {
- DbElement currentDBCatalog;
- DbElement currentDBSchema;
- for (Map.Entry<String, Procedure> procedure : procedureMap.entrySet()) {
- if (supportCatalogs()) {
- String dbCatalogName = procedure.getValue().getCatalog();
- DbElement dbCatalog = reverseEngineeringController.dbModel.getExistingElement(dbCatalogName);
- if (dbCatalog != null) {
- currentDBCatalog = dbCatalog;
- } else {
- currentDBCatalog = new DbCatalog(dbCatalogName);
- reverseEngineeringController.dbModel.addElement(currentDBCatalog);
- }
- if (supportSchemas()) {
- String dbSchemaName = procedure.getValue().getSchema();
- DbElement dbSchema = currentDBCatalog.getExistingElement(dbSchemaName);
- if (dbSchema != null) {
- currentDBSchema = dbSchema;
- } else {
- currentDBSchema = new DbSchema(dbSchemaName);
- currentDBCatalog.addElement(currentDBSchema);
- }
- DbProcedure currentProcedure = new DbProcedure(procedure.getValue().getName());
- currentDBSchema.addElement(currentProcedure);
- } else {
- DbProcedure currentProcedure = new DbProcedure(procedure.getValue().getName());
- currentDBCatalog.addElement(currentProcedure);
- }
- } else if (supportSchemas()) {
- String dbSchemaName = procedure.getValue().getSchema();
- DbElement dbSchema = reverseEngineeringController.dbModel.getExistingElement(dbSchemaName);
- if (dbSchema != null) {
- currentDBSchema = dbSchema;
- } else {
- currentDBSchema = new DbSchema(dbSchemaName);
- reverseEngineeringController.dbModel.addElement(currentDBSchema);
- }
- DbProcedure currentProcedure = new DbProcedure(procedure.getValue().getName());
- currentDBSchema.addElement(currentProcedure);
- }
- }
- }
-
- private void createIfNotNull(DataMap dataMap, DbLoaderConfiguration config,
- String[] types) throws SQLException {
- treeEditor.setRoot(reverseEngineeringController.dataSourceKey);
- reverseEngineeringController.dbModel = new DbModel(reverseEngineeringController.dataSourceKey);
- boolean catalogSetted = false;
- DbElement currentDBCatalog = null;
- DbElement currentDBSchema = null;
-
- for (CatalogFilter catalog : config.getFiltersConfig().getCatalogs()) {
- for (SchemaFilter schema : catalog.schemas) {
- List<org.apache.cayenne.map.DbEntity> entityList =
- createTableLoader(catalog.name, schema.name, schema.tables)
- .loadDbEntities(dataMap, config, types);
- org.apache.cayenne.map.DbEntity entityFromLoader = entityList.get(0);
-
- if (entityFromLoader != null) {
- if (!catalogSetted && entityFromLoader.getCatalog() != null) {
- currentDBCatalog = new DbCatalog(entityFromLoader.getCatalog());
- reverseEngineeringController.dbModel.addElement(currentDBCatalog);
- catalogSetted = true;
- }
-
- if (entityFromLoader.getSchema() != null) {
- currentDBSchema = new DbSchema(entityFromLoader.getSchema());
- if (currentDBCatalog != null) {
- currentDBCatalog.addElement(currentDBSchema);
- } else {
- reverseEngineeringController.dbModel.addElement(currentDBSchema);
- }
- }
- }
-
- DbEntity currentDBEntity;
- if (currentDBSchema != null) {
- for (org.apache.cayenne.map.DbEntity dbEntity : entityList) {
- currentDBEntity = new DbEntity(dbEntity.getName());
- currentDBSchema.addElement(currentDBEntity);
- for (DbAttribute dbColumn : dbEntity.getAttributes()) {
- currentDBEntity.addElement(new DbColumn(dbColumn.getName()));
- }
- }
- } else {
- for (org.apache.cayenne.map.DbEntity dbEntity : entityList) {
- currentDBEntity = new DbEntity(dbEntity.getName());
- for (DbAttribute dbColumn : dbEntity.getAttributes()) {
- currentDBEntity.addElement(new DbColumn(dbColumn.getName()));
- }
- currentDBCatalog.addElement(currentDBEntity);
- }
- }
- currentDBSchema = null;
- }
- catalogSetted = false;
- currentDBCatalog = null;
- }
- }
-
- private void createIfNull(DataMap dataMap, DbLoaderConfiguration config,
- String[] types) throws SQLException {
-
- treeEditor.setRoot(reverseEngineeringController.dataSourceKey);
- reverseEngineeringController.dbModel = new DbModel(reverseEngineeringController.dataSourceKey);
- DbElement currentDBCatalog;
- DbElement currentDBSchema;
-
- for (CatalogFilter catalog : config.getFiltersConfig().getCatalogs()) {
- for (SchemaFilter schema : catalog.schemas) {
- List<org.apache.cayenne.map.DbEntity> entityList =
- createTableLoader(catalog.name, schema.name, schema.tables)
- .loadDbEntities(dataMap, config, types);
-
- for (org.apache.cayenne.map.DbEntity dbEntity : entityList) {
- if (supportCatalogs()) {
- String dbCatalogName = dbEntity.getCatalog();
- DbElement dbCatalog = reverseEngineeringController.dbModel.getExistingElement(dbCatalogName);
- if (dbCatalog != null) {
- currentDBCatalog = dbCatalog;
- } else {
- currentDBCatalog = new DbCatalog(dbCatalogName);
- reverseEngineeringController.dbModel.addElement(currentDBCatalog);
- }
- if (supportSchemas()) {
- String dbSchemaName = dbEntity.getSchema();
- DbElement dbSchema = currentDBCatalog.getExistingElement(dbSchemaName);
- if (dbSchema != null) {
- currentDBSchema = dbSchema;
- } else {
- currentDBSchema = new DbSchema(dbSchemaName);
- currentDBCatalog.addElement(currentDBSchema);
- }
- DbEntity currentDBEntity = new DbEntity(dbEntity.getName());
- currentDBSchema.addElement(currentDBEntity);
- for (DbAttribute dbColumn : dbEntity.getAttributes()) {
- currentDBEntity.addElement(new DbColumn(dbColumn.getName()));
- }
- } else {
- DbEntity currentDBEntity = new DbEntity(dbEntity.getName());
- currentDBCatalog.addElement(currentDBEntity);
- for (DbAttribute dbColumn : dbEntity.getAttributes()) {
- currentDBEntity.addElement(new DbColumn(dbColumn.getName()));
- }
- }
- } else {
- if (supportSchemas()) {
- String dbSchemaName = dbEntity.getSchema();
- DbElement dbSchema = reverseEngineeringController.dbModel.getExistingElement(dbSchemaName);
- if (dbSchema != null) {
- currentDBSchema = dbSchema;
- } else {
- currentDBSchema = new DbSchema(dbSchemaName);
- reverseEngineeringController.dbModel.addElement(currentDBSchema);
- }
- DbEntity currentDBEntity = new DbEntity(dbEntity.getName());
- currentDBSchema.addElement(currentDBEntity);
- for (DbAttribute dbColumn : dbEntity.getAttributes()) {
- currentDBEntity.addElement(new DbColumn(dbColumn.getName()));
- }
- }
- }
- }
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringController.java
deleted file mode 100644
index 38ac5f0..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringController.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.cayenne.modeler.dialog.db;
-
-import org.apache.cayenne.dba.DbAdapter;
-import org.apache.cayenne.dbimport.ReverseEngineering;
-import org.apache.cayenne.dbsync.reverse.db.DbLoader;
-import org.apache.cayenne.dbsync.reverse.db.DbLoaderConfiguration;
-import org.apache.cayenne.dbsync.reverse.filters.FiltersConfigBuilder;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.modeler.ClassLoadingService;
-import org.apache.cayenne.modeler.ProjectController;
-import org.apache.cayenne.modeler.dialog.db.model.DbModel;
-import org.apache.cayenne.modeler.dialog.pref.PreferenceDialog;
-import org.apache.cayenne.modeler.dialog.pref.TreeEditor;
-import org.apache.cayenne.modeler.dialog.pref.XMLFileEditor;
-import org.apache.cayenne.modeler.pref.DBConnectionInfo;
-import org.apache.cayenne.modeler.util.CayenneController;
-import org.apache.cayenne.swing.BindingBuilder;
-import org.apache.cayenne.swing.ObjectBinding;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import javax.sql.DataSource;
-import javax.swing.*;
-import java.awt.*;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.Map;
-
-/**
- * A component for performing reverse engineering. Users can choose required dataMap and execute
- * reverse engineering. Also they can see tree view of db objects clicking on sync button.
- */
-public class ReverseEngineeringController extends CayenneController {
-
- private static Log LOGGER = LogFactory.getLog(ReverseEngineeringController.class);
-
- protected ProjectController projectController;
- protected ReverseEngineeringView view;
- protected Map<String, DataMapViewModel> reverseEngineeringMap;
- protected DbModel dbModel;
-
- protected DataSource dataSource;
- protected DbAdapter adapter;
-
- protected DBConnectionInfo connectionInfo;
- protected ObjectBinding dataSourceBinding;
- protected Map dataSources;
- protected String dataSourceKey;
- protected boolean canceled;
-
- public ReverseEngineeringController(ProjectController controller,
- ReverseEngineeringView source) {
- super(controller);
- this.projectController = controller;
- this.view = source;
-
- this.connectionInfo = new DBConnectionInfo();
- this.reverseEngineeringMap = view.getReverseEngineeringViewMap();
- initBindings();
- refreshDataSources();
- }
-
- protected void initBindings() {
- BindingBuilder builder = new BindingBuilder(getApplication().getBindingFactory(), this);
-
- dataSourceBinding = builder.bindToComboSelection(view.getDataSources(), "dataSourceKey");
-
- builder.bindToAction(view.getSyncButton(), "syncAction()");
- builder.bindToAction(view.getExecuteButton(), "executeAction()");
- builder.bindToAction(view.getConfigButton(), "dataSourceConfigAction()");
- }
-
- private void buildDBProperties() throws Exception {
- ClassLoadingService classLoader = getApplication().getClassLoadingService();
-
- this.dataSource = connectionInfo.makeDataSource(classLoader);
- this.adapter = connectionInfo.makeAdapter(classLoader);
- }
-
- public void syncAction() throws SQLException {
- final TreeEditor treeEditor = view.getTreeEditor();
- XMLFileEditor xmlFileEditor = view.getXmlFileEditor();
- xmlFileEditor.removeAlertMessage();
- try {
- buildDBProperties();
-
- ReverseEngineering reverseEngineering = xmlFileEditor.convertTextIntoReverseEngineering();
-
- FiltersConfigBuilder filtersConfigBuilder = new FiltersConfigBuilder(reverseEngineering);
- DbLoaderConfiguration dbLoaderConfiguration = new DbLoaderConfiguration();
- dbLoaderConfiguration.setFiltersConfig(filtersConfigBuilder.build());
-
- try(Connection connection = dataSource.getConnection()) {
- DbLoader dbLoader = new ModelerDbLoader(this, treeEditor, connection);
-
- // TODO: counterintuitive... we never use the DataMap that we loaded...
- dbLoader.load(new DataMap(), dbLoaderConfiguration);
- }
-
- String mapName = projectController.getCurrentDataMap().getName();
-
- DataMapViewModel dataMapViewModel = new DataMapViewModel();
- dataMapViewModel.setReverseEngineeringTree(dbModel);
- dataMapViewModel.setReverseEngineeringText(xmlFileEditor.getView().getEditorPane().getText());
- reverseEngineeringMap.put(mapName, dataMapViewModel);
- treeEditor.convertTreeViewIntoTreeNode(dbModel);
- } catch (Exception e) {
- xmlFileEditor.addAlertMessage(e.getMessage());
- }
- }
-
- public void executeAction() {
- XMLFileEditor xmlFileEditor = view.getXmlFileEditor();
- xmlFileEditor.removeAlertMessage();
- try {
- buildDBProperties();
-
- final ReverseEngineering reverseEngineering = xmlFileEditor.convertTextIntoReverseEngineering();
-
- Thread th = new Thread(new Runnable() {
-
- public void run() {
-
- try(Connection connection = dataSource.getConnection()) {
- new DbLoaderHelper(
- projectController,
- connection,
- adapter,
- connectionInfo, reverseEngineering).execute();
- }
- catch (SQLException e) {
- LOGGER.warn("Error on execute", e);
- }
-
- SwingUtilities.invokeLater(new Runnable() {
-
- public void run() {
- application.getUndoManager().discardAllEdits();
- }
- });
- }
- });
-
- th.start();
- view.setTempDataMap(projectController.getCurrentDataMap());
- } catch (Exception e) {
- xmlFileEditor.addAlertMessage(e.getMessage());
- }
- }
-
- /**
- * Returns configured DbAdapter.
- */
- public DbAdapter getAdapter() {
- return adapter;
- }
-
-
- public String getDataSourceKey() {
- return dataSourceKey;
- }
-
- public void setDataSourceKey(String dataSourceKey) {
- XMLFileEditor xmlFileEditor = view.getXmlFileEditor();
- xmlFileEditor.removeAlertMessage();
-
- this.dataSourceKey = dataSourceKey;
-
- DBConnectionInfo currentInfo = (DBConnectionInfo) dataSources.get(dataSourceKey);
- if (currentInfo != null) {
- currentInfo.copyTo(connectionInfo);
- } else {
- connectionInfo = new DBConnectionInfo();
- }
- }
-
- /**
- * Opens preferences panel to allow configuration of DataSource presets.
- */
- public void dataSourceConfigAction() {
- PreferenceDialog prefs = new PreferenceDialog(this);
- prefs.showDataSourceEditorAction(dataSourceKey);
- refreshDataSources();
- }
-
- public Component getView() {
- return view;
- }
-
- protected void refreshDataSources() {
- this.dataSources = getApplication().getCayenneProjectPreferences().getDetailObject(DBConnectionInfo.class)
- .getChildrenPreferences();
-
- // 1.2 migration fix - update data source adapter names
- Iterator it = dataSources.values().iterator();
-
- final String _12package = "org.objectstyle.cayenne.";
- while (it.hasNext()) {
- DBConnectionInfo info = (DBConnectionInfo) it.next();
- if (info.getDbAdapter() != null && info.getDbAdapter().startsWith(_12package)) {
- info.setDbAdapter("org.apache.cayenne." + info.getDbAdapter().substring(_12package.length()));
- }
- }
-
- Object[] keys = dataSources.keySet().toArray();
- Arrays.sort(keys);
- view.getDataSources().setModel(new DefaultComboBoxModel(keys));
-
- if (dataSources.isEmpty()) {
- dataSourceKey = null;
- }
- String key = null;
- if (keys.length > 0) {
- key = keys[0].toString();
- }
- setDataSourceKey(key);
-
- if (getDataSourceKey() == null) {
- dataSourceBinding.updateView();
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringScrollPane.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringScrollPane.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringScrollPane.java
deleted file mode 100644
index bc8c466..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringScrollPane.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.cayenne.modeler.dialog.db;
-
-import javax.swing.JScrollPane;
-
-/**
- * @since 4.0
- */
-public class ReverseEngineeringScrollPane extends JScrollPane {
-
- private ReverseEngineeringView reverseEngineeringView;
-
- public ReverseEngineeringScrollPane(ReverseEngineeringView reverseEngineeringView) {
- super(reverseEngineeringView);
- this.reverseEngineeringView = reverseEngineeringView;
- }
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringView.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringView.java
deleted file mode 100644
index 917c50a..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringView.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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
- * <p/>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
- * 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 org.apache.cayenne.modeler.dialog.db;
-
-import com.jgoodies.forms.builder.PanelBuilder;
-import com.jgoodies.forms.layout.CellConstraints;
-import com.jgoodies.forms.layout.FormLayout;
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.dbimport.ReverseEngineering;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.modeler.CayenneModelerController;
-import org.apache.cayenne.modeler.ProjectController;
-import org.apache.cayenne.modeler.dialog.db.model.DbModel;
-import org.apache.cayenne.modeler.dialog.pref.TreeEditor;
-import org.apache.cayenne.modeler.dialog.pref.XMLFileEditor;
-import org.apache.cayenne.modeler.event.DataMapDisplayEvent;
-import org.apache.cayenne.modeler.event.DataMapDisplayListener;
-import org.apache.cayenne.modeler.util.ModelerUtil;
-
-import javax.swing.BorderFactory;
-import javax.swing.Icon;
-import javax.swing.JButton;
-import javax.swing.JComboBox;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JSplitPane;
-import java.awt.BorderLayout;
-import java.awt.FlowLayout;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- */
-public class ReverseEngineeringView extends JPanel {
-
- private static final String CONFIGURATION_TEMPLATE =
- "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
- "<reverseEngineering\n" +
- " xmlns=\"http://cayenne.apache.org/schema/8/reverseEngineering\"\n" +
- " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
- " xsi:schemaLocation=\"http://cayenne.apache.org/schema/8/reverseEngineering " +
- "http://cayenne.apache.org/schema/8/reverseEngineering.xsd\">\n" +
- "\n" +
- " <skipRelationshipsLoading>false</skipRelationshipsLoading>\n" +
- " <skipPrimaryKeyLoading>false</skipPrimaryKeyLoading>\n" +
- "\n" +
- " <catalog>\n" +
- " <schema>\n" +
- " <includeTable>\n" +
- " </includeTable>\n" +
- " </schema>\n" +
- " </catalog>\n" +
- " <includeProcedure pattern=\".*\"/>\n" +
- "</reverseEngineering>";
-
- protected ProjectController controller;
- protected ReverseEngineeringController reverseEngineeringController;
- protected JPanel reverseEngineering;
-
- protected JComboBox dataSources;
- protected JButton configButton;
- protected JButton syncButton;
- protected JButton executeButton;
-
- protected PanelBuilder builder;
- protected JSplitPane splitPane;
- protected JLabel xmlLabel;
- protected JLabel treeLabel;
- protected Icon icon;
-
- protected XMLFileEditor xmlFileEditor;
- protected TreeEditor treeEditor;
-
- protected DataMap tempDataMap;
-
- protected Map<String, DataMapViewModel> reverseEngineeringViewMap;
-
- public ReverseEngineeringView(ProjectController controller) {
- this.controller = controller;
-
- this.reverseEngineeringViewMap = new HashMap<>();
- initView();
- initController();
- }
-
- private void initView() {
- this.reverseEngineering = new JPanel();
- this.dataSources = new JComboBox();
- this.splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true);
- this.configButton = new JButton("...");
- this.configButton.setToolTipText("configure local DataSource");
- this.syncButton = new JButton();
- this.icon = ModelerUtil.buildIcon("icon-refresh.png");
- this.syncButton.setIcon(icon);
- this.syncButton.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1));
- this.executeButton = new JButton("Execute");
- this.treeLabel = new JLabel("Preview");
- this.xmlLabel = new JLabel("Reverse Engineering XML Editor");
- this.treeLabel.setBorder(BorderFactory.createEmptyBorder(0, 5, 5, 5));
- this.xmlLabel.setBorder(BorderFactory.createEmptyBorder(5, 5, 10, 5));
-
- this.treeEditor = new TreeEditor(controller);
- this.xmlFileEditor = new XMLFileEditor(controller);
-
- CellConstraints cc = new CellConstraints();
- this.builder = new PanelBuilder(new FormLayout(
- "210dlu:grow, pref, 0dlu, fill:max(172dlu;pref), 3dlu, fill:20dlu",
- "p"));
- builder.setDefaultDialogBorder();
- builder.add(dataSources, cc.xy(4, 1));
- builder.add(configButton, cc.xy(6, 1));
-
- JPanel buttons = new JPanel(new FlowLayout(FlowLayout.RIGHT));
- buttons.add(executeButton);
-
- JPanel treeHeaderComponent = new JPanel(new FlowLayout(FlowLayout.LEFT));
- treeHeaderComponent.add(treeLabel);
- treeHeaderComponent.add(syncButton);
-
- JPanel leftComponent = new JPanel();
- leftComponent.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0));
- leftComponent.setLayout(new BorderLayout());
- leftComponent.add(xmlLabel, BorderLayout.NORTH);
- leftComponent.add(xmlFileEditor.getView().getScrollPane(), BorderLayout.CENTER);
-
- JPanel rightComponent = new JPanel();
- rightComponent.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 5));
- rightComponent.setLayout(new BorderLayout());
- rightComponent.add(treeHeaderComponent, BorderLayout.NORTH);
- rightComponent.add(treeEditor.getView().getScrollPane(), BorderLayout.CENTER);
-
- splitPane.setLeftComponent(leftComponent);
- splitPane.setRightComponent(rightComponent);
- splitPane.setResizeWeight(0.5);
-
- JPanel splitWithErrorsPanel = new JPanel();
- splitWithErrorsPanel.setLayout(new BorderLayout());
- splitWithErrorsPanel.add(splitPane, BorderLayout.CENTER);
- xmlFileEditor.getView().getLabel().setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 0));
- splitWithErrorsPanel.add(xmlFileEditor.getView().getLabel(), BorderLayout.SOUTH);
-
- setLayout(new BorderLayout());
- add(builder.getPanel(), BorderLayout.NORTH);
- add(splitWithErrorsPanel, BorderLayout.CENTER);
- add(buttons, BorderLayout.SOUTH);
- }
-
- public void initController() {
- controller.addDataMapDisplayListener(new DataMapDisplayListener() {
- public void currentDataMapChanged(DataMapDisplayEvent e) {
- DataMap map = e.getDataMap();
-
- if (tempDataMap != null) {
- String mapName = tempDataMap.getName();
- DataMapViewModel dataMapViewModel = new DataMapViewModel();
- String xmlText = xmlFileEditor.getView().getEditorPane().getText();
- dataMapViewModel.setReverseEngineeringText(xmlText);
- if (reverseEngineeringViewMap.containsKey(mapName)) {
- DataMapViewModel dataMapViewPrevious = reverseEngineeringViewMap.get(mapName);
- if (dataMapViewPrevious.getReverseEngineeringTree() != null) {
- dataMapViewModel.setReverseEngineeringTree(dataMapViewPrevious.getReverseEngineeringTree());
- } else {
- dataMapViewModel.setReverseEngineeringTree(new DbModel(""));
- }
- } else {
- dataMapViewModel.setReverseEngineeringTree(new DbModel(""));
- }
- reverseEngineeringViewMap.put(mapName, dataMapViewModel);
- }
- tempDataMap = map;
-
- if (map != null) {
- loadPreviousData();
- xmlFileEditor.removeAlertMessage();
- }
- }
- });
-
- this.reverseEngineeringController = new ReverseEngineeringController(controller, this);
- }
-
- public void loadPreviousData() {
- DataMap dataMap = controller.getCurrentDataMap();
- try {
- if (dataMap != null) {
- String reverseEngineeringText = null;
- if (reverseEngineeringViewMap.containsKey(dataMap.getName())) {
- reverseEngineeringText = reverseEngineeringViewMap
- .get(dataMap.getName()).getReverseEngineeringText();
- }
- if (reverseEngineeringText != null) {
- xmlFileEditor.getView().getEditorPane().setText(reverseEngineeringText);
- } else {
- if (dataMap.getReverseEngineering() == null) {
- getXmlFileEditor().getView().getEditorPane().setText(CONFIGURATION_TEMPLATE);
- } else {
- ReverseEngineering reverseEngineering = dataMap.getReverseEngineering();
- if (reverseEngineering.getConfigurationSource() != null) {
- xmlFileEditor.getView().getEditorPane()
- .setPage(reverseEngineering.getConfigurationSource().getURL());
- }
- }
- }
-
- if (reverseEngineeringViewMap.containsKey(dataMap.getName())) {
- if (reverseEngineeringViewMap.get(dataMap.getName()).getReverseEngineeringTree() != null) {
- DbModel loadedPreviousTree = reverseEngineeringViewMap
- .get(dataMap.getName()).getReverseEngineeringTree();
- treeEditor.convertTreeViewIntoTreeNode(loadedPreviousTree);
- } else {
- treeEditor.setRoot("");
- }
- } else {
- treeEditor.setRoot("");
- }
- }
-
- if (((CayenneModelerController) controller.getParent())
- .getEditorView()
- .getDataMapView()
- .getSelectedIndex() == 1) {
- ((CayenneModelerController) controller.getParent())
- .getEditorView()
- .getDataMapView()
- .setSelectedIndex(1);
- }
- } catch (IOException e) {
- throw new CayenneRuntimeException("Invalid URL");
- }
- }
-
- public JComboBox getDataSources() {
- return dataSources;
- }
-
- public JButton getConfigButton() {
- return configButton;
- }
-
- public JButton getSyncButton() {
- return syncButton;
- }
-
- public TreeEditor getTreeEditor() {
- return treeEditor;
- }
-
- public XMLFileEditor getXmlFileEditor() {
- return xmlFileEditor;
- }
-
- public JButton getExecuteButton() {
- return executeButton;
- }
-
- public Map<String, DataMapViewModel> getReverseEngineeringViewMap() {
- return reverseEngineeringViewMap;
- }
-
- public void setTempDataMap(DataMap dataMap) {
- tempDataMap = dataMap;
- }
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbCatalog.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbCatalog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbCatalog.java
deleted file mode 100644
index 5313ffa..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbCatalog.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.cayenne.modeler.dialog.db.model;
-
-/**
- * @since 4.0
- */
-public class DbCatalog extends DbElement {
-
- public DbCatalog(String name) {
- super(name);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbColumn.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbColumn.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbColumn.java
deleted file mode 100644
index a86fa94..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbColumn.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.cayenne.modeler.dialog.db.model;
-
-/**
- * @since 4.0
- */
-public class DbColumn extends DbElement {
-
- public DbColumn(String name) {
- super(name);
- }
-
- @Override
- public void addElement(DbElement dbElement) {
- throw new UnsupportedOperationException();
- }
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbElement.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbElement.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbElement.java
deleted file mode 100644
index fd82cd0..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbElement.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.cayenne.modeler.dialog.db.model;
-
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * @since 4.0
- */
-public abstract class DbElement {
-
- protected String name;
- protected List<DbElement> elements;
-
- public DbElement(String name) {
- this.name = name;
- this.elements = new LinkedList<>();
- }
-
- public List<DbElement> getElements() {
- return elements;
- }
-
- public DbElement getExistingElement(String name) {
- for (DbElement dbElement : elements) {
- if (dbElement.name.equals(name)) {
- return dbElement;
- }
- }
- return null;
- }
-
- public void addElement(DbElement dbElement) {
- elements.add(dbElement);
- }
-
- public String getName() {
- return name;
- }
-
- @Override
- public String toString() {
- return name;
- }
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbEntity.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbEntity.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbEntity.java
deleted file mode 100644
index 7e5a6d2..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbEntity.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.cayenne.modeler.dialog.db.model;
-
-/**
- * @since 4.0
- */
-public class DbEntity extends DbElement {
- public DbEntity(String name) {
- super(name);
- }
-
- public void addElement(DbElement dbElement){
- elements.add(dbElement);
- }
-
- @Override
- public String toString() {
- return name;
- }
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbModel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbModel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbModel.java
deleted file mode 100644
index adbd792..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbModel.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.cayenne.modeler.dialog.db.model;
-
-/**
- * @since 4.0
- */
-public class DbModel extends DbElement {
-
- public DbModel(String name) {
- super(name);
- }
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbProcedure.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbProcedure.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbProcedure.java
deleted file mode 100644
index f933aba..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbProcedure.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.cayenne.modeler.dialog.db.model;
-
-/**
- * @since 4.0
- */
-public class DbProcedure extends DbElement {
- public DbProcedure(String name) {
- super(name);
- }
-
- @Override
- public void addElement(DbElement dbElement) {
- throw new UnsupportedOperationException();
- }
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbSchema.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbSchema.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbSchema.java
deleted file mode 100644
index d1c2481..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/model/DbSchema.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.cayenne.modeler.dialog.db.model;
-
-/**
- * @since 4.0
- */
-public class DbSchema extends DbElement {
-
- public DbSchema(String name) {
- super(name);
- }
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/FilteredTreeCellRenderer.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/FilteredTreeCellRenderer.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/FilteredTreeCellRenderer.java
deleted file mode 100644
index 10c07b2..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/FilteredTreeCellRenderer.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.cayenne.modeler.dialog.pref;
-
-import org.apache.cayenne.modeler.dialog.db.model.DbCatalog;
-import org.apache.cayenne.modeler.dialog.db.model.DbColumn;
-import org.apache.cayenne.modeler.dialog.db.model.DbEntity;
-import org.apache.cayenne.modeler.dialog.db.model.DbProcedure;
-import org.apache.cayenne.modeler.dialog.db.model.DbSchema;
-import org.apache.cayenne.modeler.util.CellRenderers;
-
-import javax.swing.ImageIcon;
-import javax.swing.JTree;
-import javax.swing.tree.DefaultMutableTreeNode;
-import javax.swing.tree.DefaultTreeCellRenderer;
-import java.awt.Component;
-
-/**
- * @since 4.0
- */
-public class FilteredTreeCellRenderer extends DefaultTreeCellRenderer {
-
- @Override
- public Component getTreeCellRendererComponent(
- JTree tree,
- Object value,
- boolean sel,
- boolean expanded,
- boolean leaf,
- int row,
- boolean hasFocus) {
-
- super.getTreeCellRendererComponent(
- tree, value, sel,
- expanded, leaf, row,
- hasFocus);
- if ((value != null) && (value instanceof DefaultMutableTreeNode)) {
- Object userObject = ((DefaultMutableTreeNode) value)
- .getUserObject();
- ImageIcon imageIcon = CellRenderers.iconForObject(userObject);
-
- if (userObject instanceof DbCatalog) {
- setText(((DbCatalog) userObject).getName());
- setIcon(imageIcon);
- }
-
- if (userObject instanceof DbSchema) {
- setText(((DbSchema) userObject).getName());
- setIcon(imageIcon);
- }
-
- if (userObject instanceof DbEntity) {
- setText(((DbEntity) userObject).getName());
- setIcon(imageIcon);
- }
-
- if (userObject instanceof DbColumn) {
- setText(((DbColumn) userObject).getName());
- setIcon(imageIcon);
- }
-
- if (userObject instanceof DbProcedure) {
- setText(((DbProcedure) userObject).getName());
- setIcon(imageIcon);
- }
- }
- return this;
- }
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/TreeEditor.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/TreeEditor.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/TreeEditor.java
deleted file mode 100644
index c3afba3..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/TreeEditor.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.cayenne.modeler.dialog.pref;
-
-import org.apache.cayenne.modeler.dialog.db.model.DbCatalog;
-import org.apache.cayenne.modeler.dialog.db.model.DbElement;
-import org.apache.cayenne.modeler.dialog.db.model.DbEntity;
-import org.apache.cayenne.modeler.dialog.db.model.DbModel;
-import org.apache.cayenne.modeler.dialog.db.model.DbSchema;
-import org.apache.cayenne.modeler.util.CayenneController;
-
-import javax.swing.tree.DefaultMutableTreeNode;
-import javax.swing.tree.DefaultTreeModel;
-
-/**
- * @since 4.0
- */
-public class TreeEditor extends CayenneController {
- protected TreeView treeView;
- protected DefaultMutableTreeNode root;
-
- public TreeEditor(CayenneController parent) {
- super(parent);
-
- this.treeView = new TreeView(root);
- }
-
- @Override
- public TreeView getView() {
- return treeView;
- }
-
- public void setRoot(String dataSource) {
- root = new DefaultMutableTreeNode(dataSource);
- DefaultTreeModel model = (DefaultTreeModel) treeView.getTree().getModel();
- model.setRoot(root);
- }
-
- public void convertTreeViewIntoTreeNode(DbModel dbModel) {
- DefaultMutableTreeNode modelNode = new DefaultMutableTreeNode(dbModel);
- for (DbElement dbElement: dbModel.getElements()) {
- DefaultMutableTreeNode elementNode = new DefaultMutableTreeNode(dbElement);
- if (dbElement instanceof DbCatalog) {
- parseCatalog(dbElement, elementNode);
- }
- if (dbElement instanceof DbSchema) {
- parseSchema(dbElement, elementNode);
- }
- modelNode.add(elementNode);
- }
- root = modelNode;
- DefaultTreeModel model = (DefaultTreeModel) treeView.getTree().getModel();
- model.setRoot(root);
- }
-
- public void parseCatalog(DbElement catalog, DefaultMutableTreeNode elementNode) {
- for (DbElement dbElement: catalog.getElements()) {
- DefaultMutableTreeNode element = new DefaultMutableTreeNode(dbElement);
- if (dbElement instanceof DbSchema) {
- parseSchema(dbElement, element);
- }
- if (dbElement instanceof DbEntity){
- parseEntity(dbElement, element);
- }
- elementNode.add(element);
- }
- }
-
- public void parseSchema(DbElement schema, DefaultMutableTreeNode elementNode) {
- for (DbElement element: schema.getElements()) {
- DefaultMutableTreeNode entityNode = new DefaultMutableTreeNode(element);
- if (element instanceof DbEntity) {
- parseEntity(element, entityNode);
- }
- elementNode.add(entityNode);
- }
- }
-
- private void parseEntity(DbElement entity, DefaultMutableTreeNode entityNode) {
- for (DbElement column: entity.getElements()) {
- DefaultMutableTreeNode columnNode = new DefaultMutableTreeNode(column);
- entityNode.add(columnNode);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/TreeView.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/TreeView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/TreeView.java
deleted file mode 100644
index f464359..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/TreeView.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.cayenne.modeler.dialog.pref;
-
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JTree;
-import javax.swing.tree.DefaultMutableTreeNode;
-import javax.swing.tree.TreeCellRenderer;
-import java.awt.Dimension;
-
-/**
- * @since 4.0
- */
-public class TreeView extends JPanel {
- protected JTree tree;
- protected JScrollPane scrollPane;
-
- public JTree getTree() {
- return tree;
- }
-
- public void setTree(JTree tree) {
- this.tree = tree;
- }
-
- public TreeView(DefaultMutableTreeNode root) {
- this.tree = new JTree(root);
-
- TreeCellRenderer renderer = new FilteredTreeCellRenderer();
- tree.setCellRenderer(renderer);
-
- scrollPane = new JScrollPane(tree);
- scrollPane.setPreferredSize(new Dimension(210, 300));
- }
-
- public JScrollPane getScrollPane() {
- return scrollPane;
- }
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/XMLFileEditor.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/XMLFileEditor.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/XMLFileEditor.java
deleted file mode 100644
index 920e2ad..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/XMLFileEditor.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.cayenne.modeler.dialog.pref;
-
-import org.apache.cayenne.dbimport.DefaultReverseEngineeringLoader;
-import org.apache.cayenne.dbimport.DefaultReverseEngineeringWriter;
-import org.apache.cayenne.dbimport.ReverseEngineering;
-import org.apache.cayenne.dbimport.ReverseEngineeringLoaderException;
-import org.apache.cayenne.modeler.util.CayenneController;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.nio.charset.StandardCharsets;
-
-/**
- * @since 4.0
- */
-public class XMLFileEditor extends CayenneController {
- private static final Log LOGGER = LogFactory.getLog(XMLFileEditor.class);
-
- protected XMLView XMLview;
-
-
- public XMLFileEditor(CayenneController parent) {
- super(parent);
-
- this.XMLview = new XMLView();
- }
-
- public ReverseEngineering convertTextIntoReverseEngineering() throws ReverseEngineeringLoaderException {
- String text = XMLview.getEditorPane().getText();
- try(InputStream inputStream = new ByteArrayInputStream(text.getBytes(StandardCharsets.UTF_8))) {
- ReverseEngineering reverseEngineering = (new DefaultReverseEngineeringLoader()).load(inputStream);
- return reverseEngineering;
- } catch (IOException e) {
- addAlertMessage(e.getMessage());
- }
- return null;
- }
-
- public void convertReverseEngineeringIntoText(ReverseEngineering reverseEngineering) {
- StringWriter buffer = new StringWriter();
- PrintWriter writer = new PrintWriter(buffer);
- DefaultReverseEngineeringWriter reverseEngineeringWriter = new DefaultReverseEngineeringWriter();
- reverseEngineeringWriter.write(reverseEngineering, writer);
- XMLview.getEditorPane().setText(buffer.toString());
- }
-
- @Override
- public XMLView getView() {
- return XMLview;
- }
-
- public void addAlertMessage(String message) {
- XMLview.addAlertMessage(message);
- }
-
- public void removeAlertMessage() {
- XMLview.removeAlertMessage();
- }
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/XMLView.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/XMLView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/XMLView.java
deleted file mode 100644
index 8dab6c5..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/XMLView.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.cayenne.modeler.dialog.pref;
-
-
-import javax.swing.JEditorPane;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import java.awt.Color;
-import java.awt.Dimension;
-
-/**
- * @since 4.0
- */
-public class XMLView extends JPanel {
- protected JEditorPane editorPane;
- protected JScrollPane scrollPane;
- protected JLabel label;
-
- public XMLView() {
- this.editorPane = new JEditorPane();
- this.scrollPane = new JScrollPane(editorPane);
- this.label = new JLabel();
- this.label.setVisible(false);
-
- scrollPane = new JScrollPane(editorPane);
- scrollPane.setPreferredSize(new Dimension(210, 300));
- }
-
- public JEditorPane getEditorPane() {
- return editorPane;
- }
-
- public JScrollPane getScrollPane() {
- return scrollPane;
- }
-
- public JLabel getLabel() {
- return label;
- }
-
- public void setLabel(JLabel label) {
- this.label = label;
- }
-
- public void addAlertMessage(String message) {
- label.setText(message);
- label.setForeground (Color.red);
- label.setVisible(true);
- }
-
- public void removeAlertMessage() {
- label.setVisible(false);
- }
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
index 76b842d..16b0694 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
@@ -20,23 +20,16 @@ package org.apache.cayenne.modeler.editor;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ChangeListener;
import org.apache.cayenne.modeler.ProjectController;
-import org.apache.cayenne.modeler.dialog.db.ReverseEngineeringScrollPane;
-import org.apache.cayenne.modeler.dialog.db.ReverseEngineeringView;
-
-import java.awt.event.ActionEvent;
/**
* Data map editing tabs container
*
*/
-public class DataMapTabbedView extends JTabbedPane implements ChangeListener {
+public class DataMapTabbedView extends JTabbedPane {
ProjectController mediator;
- private ReverseEngineeringScrollPane reverseEngineeringScrollPane;
/**
* constructor
@@ -62,18 +55,6 @@ public class DataMapTabbedView extends JTabbedPane implements ChangeListener {
JScrollPane dataMapView = new JScrollPane(new DataMapView(mediator));
addTab("DataMap", dataMapView);
- ReverseEngineeringView reverseEngineeringView = new ReverseEngineeringView(mediator);
- reverseEngineeringScrollPane = new ReverseEngineeringScrollPane(reverseEngineeringView);
- addTab("Reverse Engineering", reverseEngineeringScrollPane);
- addChangeListener(this);
- }
-
- @Override
- public void stateChanged(ChangeEvent changeEvent) {
- if (getSelectedComponent().equals(reverseEngineeringScrollPane)) {
- ActionEvent actionEvent = new ActionEvent(this, ActionEvent.ACTION_PERFORMED, "");
- actionEvent.setSource(reverseEngineeringScrollPane);
- }
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CellRenderers.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CellRenderers.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CellRenderers.java
index dc57b10..af25a1a 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CellRenderers.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CellRenderers.java
@@ -46,7 +46,6 @@ import org.apache.cayenne.map.QueryDescriptor;
import org.apache.cayenne.map.Relationship;
import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.modeler.ProjectController;
-import org.apache.cayenne.modeler.dialog.db.model.*;
import org.apache.cayenne.util.CayenneMapEntry;
/**
@@ -121,18 +120,6 @@ public final class CellRenderers {
else if (object instanceof Embeddable) {
return embeddableIcon;
}
- else if (object instanceof DbColumn) {
- return attributeIcon;
- }
- else if (object instanceof DbProcedure) {
- return procedureIcon;
- }
- else if (object instanceof DbEntity) {
- return dbEntityIcon;
- }
- else if (object instanceof DbCatalog) {
- return catalogIcon;
- }
return null;
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java b/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java
index bce53b6..5cd3478 100644
--- a/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java
+++ b/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java
@@ -149,95 +149,29 @@ public class DbImporterMojo extends AbstractMojo {
*/
private String username;
-
- /**
- * Flag which defines from where to take the configuration of cdbImport. If
- * we define the config of cdbImport in pom.xml we should set it to true or
- * it will be set to true automatically if we define some configuration
- * parameters in pom.xml. Else it remains default(false) and for cdbImport
- * we use the configuration defined in signed dataMap
- *
- * @parameter isReverseEngineeringDefined="isReverseEngineeringDefined"
- * default-value="false"
- */
- // TODO: get rid of this fork...
- private boolean isReverseEngineeringDefined = false;
-
- public void setIsReverseEngineeringDefined(boolean isReverseEngineeringDefined) {
- this.isReverseEngineeringDefined = isReverseEngineeringDefined;
- }
-
- @Override
public void execute() throws MojoExecutionException, MojoFailureException {
Log logger = new MavenLogger(this);
DbImportConfiguration config = toParameters();
config.setLogger(logger);
- File dataMapFile = config.getDataMapFile();
+ Injector injector = DIBootstrap.createInjector(new CayenneDbSyncModule(), new ToolsModule(logger), new DbImportModule());
- if (isReverseEngineeringDefined) {
- Injector injector = DIBootstrap.createInjector(new CayenneDbSyncModule(), new ToolsModule(logger), new DbImportModule());
+ validateDbImportConfiguration(config, injector);
- validateDbImportConfiguration(config, injector);
-
- try {
- injector.getInstance(DbImportAction.class).execute(config);
- } catch (Exception ex) {
- Throwable th = Util.unwindException(ex);
-
- String message = "Error importing database schema";
+ try {
+ injector.getInstance(DbImportAction.class).execute(config);
+ } catch (Exception ex) {
+ Throwable th = Util.unwindException(ex);
- if (th.getLocalizedMessage() != null) {
- message += ": " + th.getLocalizedMessage();
- }
+ String message = "Error importing database schema";
- getLog().error(message);
- throw new MojoExecutionException(message, th);
- }
- } else {
- if (dataMapFile.exists()) {
- try {
- URL url = dataMapFile.toURI().toURL();
- URLResource resource = new URLResource(url);
-
- XMLDataMapLoader xmlDataMapLoader = new XMLDataMapLoader();
- DataMap dataMap = xmlDataMapLoader.load(resource);
- if (dataMap.getReverseEngineering() != null) {
- try {
- Injector injector = DIBootstrap.createInjector(new CayenneDbSyncModule(), new ToolsModule(logger), new DbImportModule());
- ConfigurationNameMapper nameMapper = injector.getInstance(ConfigurationNameMapper.class);
- String reverseEngineeringLocation = nameMapper.configurationLocation(ReverseEngineering.class, dataMap.getReverseEngineering().getName());
- Resource reverseEngineeringResource = new URLResource(dataMapFile.toURI().toURL()).getRelativeResource(reverseEngineeringLocation);
-
- DefaultReverseEngineeringLoader reverseEngineeringLoader = new DefaultReverseEngineeringLoader();
- ReverseEngineering reverseEngineering = reverseEngineeringLoader.load(reverseEngineeringResource.getURL().openStream());
- reverseEngineering.setName(dataMap.getReverseEngineering().getName());
- reverseEngineering.setConfigurationSource(reverseEngineeringResource);
- dataMap.setReverseEngineering(reverseEngineering);
-
- FiltersConfigBuilder filtersConfigBuilder = new FiltersConfigBuilder(dataMap.getReverseEngineering());
- config.getDbLoaderConfig().setFiltersConfig(filtersConfigBuilder.build());
- validateDbImportConfiguration(config, injector);
- injector.getInstance(DbImportAction.class).execute(config);
- } catch (Exception ex) {
- Throwable th = Util.unwindException(ex);
-
- String message = "Error importing database schema";
-
- if (th.getLocalizedMessage() != null) {
- message += ": " + th.getLocalizedMessage();
- }
-
- getLog().error(message);
- throw new MojoExecutionException(message, th);
- }
- }
- } catch (MalformedURLException e) {
- getLog().error(e);
- throw new MojoExecutionException(e.getMessage(), e);
- }
+ if (th.getLocalizedMessage() != null) {
+ message += ": " + th.getLocalizedMessage();
}
+
+ getLog().error(message);
+ throw new MojoExecutionException(message, th);
}
}
@@ -310,11 +244,6 @@ public class DbImporterMojo extends AbstractMojo {
public ReverseEngineering getReverseEngineering() {
return reverseEngineering;
}
-
- public void setReverseEngineering(ReverseEngineering reverseEngineering) {
- isReverseEngineeringDefined = true;
- this.reverseEngineering = reverseEngineering;
- }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java b/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
index 3b040f1..d1c0e48 100644
--- a/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
+++ b/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
@@ -312,7 +312,6 @@ public class DbImporterMojoTest extends AbstractMojoTestCase {
DbImportConfiguration parameters = cdbImport.toParameters();
prepareDatabase(name, parameters);
- cdbImport.setIsReverseEngineeringDefined(true);
try {
cdbImport.execute();
verifyResult(mapFile, mapFileCopy);
[6/7] cayenne git commit: Upgrade datamap schema version from 8 to 9;
Posted by sk...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/main/resources/org/apache/cayenne/schema/9/modelMap.xsd
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/resources/org/apache/cayenne/schema/9/modelMap.xsd b/cayenne-server/src/main/resources/org/apache/cayenne/schema/9/modelMap.xsd
new file mode 100644
index 0000000..2d40762
--- /dev/null
+++ b/cayenne-server/src/main/resources/org/apache/cayenne/schema/9/modelMap.xsd
@@ -0,0 +1,338 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+
+<!--
+ Cayenne entity map schema
+ Defines format of Cayenne DataMap XML files (*.map.xml). DataMap files contain
+ the metadata needed for Cayenne object-relational features. Multiple DataMaps
+ are usually combined in one shared namespace, so the elements of the DataMap
+ may reference objects from other DataMaps.
+-->
+<xs:schema targetNamespace="http://cayenne.apache.org/schema/9/modelMap"
+ xmlns:cay="http://cayenne.apache.org/schema/9/modelMap"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="9">
+ <xs:element name="data-map">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:property"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:embeddable"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:procedure"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:db-entity"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:obj-entity"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:db-relationship"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:obj-relationship"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:query"/>
+ </xs:sequence>
+ <xs:attribute name="project-version" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="db-entity">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="cay:db-attribute"/>
+ <xs:element minOccurs="0" ref="cay:db-key-generator"/>
+
+ <!-- Qualifier for DB Entity -->
+ <xs:element minOccurs="0" ref="cay:qualifier"/>
+ </xs:sequence>
+ <xs:attribute name="name" use="required" type="xs:string"/>
+ <xs:attribute name="schema" type="xs:string"/>
+ <xs:attribute name="catalog" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="db-attribute">
+ <xs:annotation>
+ <xs:documentation>A database column.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="isMandatory" type="xs:boolean"/>
+ <xs:attribute name="isPrimaryKey" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>If true, the value of attribute is unique and used as a primary key identifier.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="isGenerated" use="optional" type="xs:boolean"/>
+ <xs:attribute name="length" type="xs:integer"/>
+ <xs:attribute name="name" use="required" type="xs:string"/>
+ <xs:attribute name="scale" type="xs:integer"/>
+ <xs:attribute name="type" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="obj-entity">
+ <xs:annotation>
+ <xs:documentation>A persistent Java class managed by Cayenne.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="cay:qualifier"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:embedded-attribute"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:obj-attribute"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:attribute-override"/>
+
+ <!-- Callbacks -->
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-add"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:pre-persist"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-persist"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:pre-update"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-update"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:pre-remove"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-remove"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-load"/>
+ </xs:sequence>
+ <xs:attribute name="className" use="optional" type="xs:string"/>
+ <xs:attribute name="abstract" use="optional" type="xs:string"/>
+ <xs:attribute name="readOnly" use="optional" type="xs:boolean"/>
+ <xs:attribute name="clientClassName" use="optional" type="xs:string"/>
+ <xs:attribute name="clientSuperClassName" use="optional" type="xs:string"/>
+ <xs:attribute name="dbEntityName" use="optional" type="xs:string"/>
+ <xs:attribute name="lock-type" type="xs:string"/>
+ <xs:attribute name="name" use="required" type="xs:string"/>
+ <xs:attribute name="superClassName" use="optional" type="xs:string"/>
+ <xs:attribute name="superEntityName" use="optional" type="xs:string"/>
+ <xs:attribute name="serverOnly" use="optional" type="xs:boolean"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="qualifier" type="xs:string"/>
+
+ <xs:element name="obj-attribute">
+ <xs:complexType>
+ <xs:attribute name="db-attribute-path" use="optional" type="xs:string"/>
+ <xs:attribute name="lock" use="optional" type="xs:boolean"/>
+ <xs:attribute name="name" use="required" type="xs:string"/>
+ <xs:attribute name="type" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="attribute-override">
+ <xs:complexType>
+ <xs:attribute name="db-attribute-path" use="optional" type="xs:string"/>
+ <xs:attribute name="lock" use="optional" type="xs:boolean"/>
+ <xs:attribute name="name" use="optional" type="xs:string"/>
+ <xs:attribute name="type" use="optional" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="db-relationship">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="unbounded" ref="cay:db-attribute-pair"/>
+ </xs:sequence>
+ <xs:attribute name="name" use="required" type="xs:string"/>
+ <xs:attribute name="source" use="required" type="xs:string"/>
+ <xs:attribute name="target" use="required" type="xs:string"/>
+ <xs:attribute name="toDependentPK" type="xs:boolean"/>
+ <xs:attribute name="toMany" use="required" type="xs:boolean"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="db-attribute-pair">
+ <xs:complexType>
+ <xs:attribute name="source" use="required" type="xs:string"/>
+ <xs:attribute name="target" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="obj-relationship">
+ <xs:complexType>
+ <xs:attribute name="db-relationship-path" use="required" type="xs:string"/>
+ <xs:attribute name="deleteRule" type="xs:string"/>
+ <xs:attribute name="lock" type="xs:boolean"/>
+ <xs:attribute name="name" use="required" type="xs:string"/>
+ <xs:attribute name="source" use="required" type="xs:string"/>
+ <xs:attribute name="target" use="required" type="xs:string"/>
+ <xs:attribute name="collection-type" use="optional" type="xs:string"/>
+ <xs:attribute name="map-key" use="optional" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="query">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:property"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:sql"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:ejbql"/>
+ <xs:element name="qualifier" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:ordering"/>
+ <xs:element name="prefetch" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+ </xs:sequence>
+ <xs:attribute name="type" use="required" type="xs:string"/>
+ <xs:attribute name="name" use="required" type="xs:string"/>
+ <xs:attribute name="root" use="optional" type="xs:string"/>
+ <xs:attribute name="root-name" use="optional" type="xs:string"/>
+ <xs:attribute name="result-entity" use="optional" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="ordering">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="descending" type="xs:boolean"/>
+ <xs:attribute name="ignore-case" type="xs:boolean"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="sql">
+ <xs:annotation>
+ <xs:documentation>Defines arbitrary SQL statement. Note that SQL statement can be customized for different SQL dialects per DbAdapter class. If no adapter-specific statement is found, the one with no adapter label is used by default.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="adapter-class" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="ejbql" type="xs:string"/>
+
+ <xs:element name="property">
+ <xs:annotation>
+ <xs:documentation>A generic property used by other elements.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="name" use="required" type="xs:string"/>
+ <xs:attribute name="value" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="embeddable">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="embeddable-attribute" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="name" use="required" type="xs:string"/>
+ <xs:attribute name="type" use="required" type="xs:string"/>
+ <xs:attribute name="db-attribute-name" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="className" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="embedded-attribute">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded"
+ ref="cay:embeddable-attribute-override"/>
+ </xs:sequence>
+ <xs:attribute name="type" use="required" type="xs:string"/>
+ <xs:attribute name="name" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="embeddable-attribute-override">
+ <xs:complexType>
+ <xs:attribute name="db-attribute-path" use="required" type="xs:string"/>
+ <xs:attribute name="name" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="procedure">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="procedure-parameter">
+ <xs:complexType>
+ <xs:attribute name="name" use="required" type="xs:string"/>
+ <xs:attribute name="type" use="required" type="xs:string"/>
+ <xs:attribute name="length" use="optional" type="xs:integer"/>
+ <xs:attribute name="direction" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="name" use="required" type="xs:string"/>
+ <xs:attribute name="schema" type="xs:string"/>
+ <xs:attribute name="catalog" type="xs:string"/>
+ <xs:attribute name="returningValue" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="pre-update">
+ <xs:complexType>
+ <xs:attribute name="method-name" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="post-persist">
+ <xs:complexType>
+ <xs:attribute name="method-name" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="post-update">
+ <xs:complexType>
+ <xs:attribute name="method-name" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="post-add">
+ <xs:complexType>
+ <xs:attribute name="method-name" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="pre-persist">
+ <xs:complexType>
+ <xs:attribute name="method-name" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="post-remove">
+ <xs:complexType>
+ <xs:attribute name="method-name" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="post-load">
+ <xs:complexType>
+ <xs:attribute name="method-name" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="pre-remove">
+ <xs:complexType>
+ <xs:attribute name="method-name" use="required" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="db-key-generator">
+ <xs:annotation>
+ <xs:documentation>Used to install the Automatic Sequence/Key Generation facility for db-entity. This feature is intended for use with simple (non-compound) integral primary keys.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="db-generator-type" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Specifies the Key Generation Method that will be employed
+ 'ORACLE' - use Oracle's SEQUENCE
+ 'NAMED_SEQUENCE_TABLE' - use USER designated SEQUENCE TABLE. User specifies the name of a DBMS Table with the schema (sequence INT) which will be used to hold sequence values (not supported yet)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="db-generator-name" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>For db-generator-type ORACLE this is the name of the ORACLE SEQUENCE to use. The SEQUENCE is assumed to already exist in the Database.
+If this is db-generator-type NAMED_SEQUENCE_TABLE Key Generation, this specifies the name of the SEQUENCE TABLE to use. The NAMED_SEQUENCE_TABLE is assumed to already exist in the database.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="db-key-cache-size" type="xs:integer">
+ <xs:annotation>
+ <xs:documentation>Size of key cache. For db-generator-type ORACLE , this value MUST match the Oracle SEQUENCE INCREMENT value. If there is a mismatch between this value and the Oracle SEQUENCE INCREMENT value, then there will likely be duplicate key problems.
+For db-generator-type NAMED_SEQUENCE_TABLE , this tells how many keys the Container will fetch in a single DBMS call.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/array-type.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/array-type.map.xml b/cayenne-server/src/test/resources/array-type.map.xml
index dcceed0..8cc8f27 100644
--- a/cayenne-server/src/test/resources/array-type.map.xml
+++ b/cayenne-server/src/test/resources/array-type.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.array_type"/>
<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
<property name="clientSupported" value="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/binary-pk.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/binary-pk.map.xml b/cayenne-server/src/test/resources/binary-pk.map.xml
index b4f6153..cd53ff2 100644
--- a/cayenne-server/src/test/resources/binary-pk.map.xml
+++ b/cayenne-server/src/test/resources/binary-pk.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.binary_pk"/>
<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
<property name="clientSupported" value="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cay743/cayenne-domain.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cay743/cayenne-domain.xml b/cayenne-server/src/test/resources/cay743/cayenne-domain.xml
index 9c80f2a..5909898 100644
--- a/cayenne-server/src/test/resources/cay743/cayenne-domain.xml
+++ b/cayenne-server/src/test/resources/cay743/cayenne-domain.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="map1"/>
<map name="map2"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cay743/map1.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cay743/map1.map.xml b/cayenne-server/src/test/resources/cay743/map1.map.xml
index b82860f..d13c6d5 100644
--- a/cayenne-server/src/test/resources/cay743/map1.map.xml
+++ b/cayenne-server/src/test/resources/cay743/map1.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<obj-entity name="Entity11">
</obj-entity>
<obj-entity name="Entity12" superEntityName="Entity22">
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cay743/map2.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cay743/map2.map.xml b/cayenne-server/src/test/resources/cay743/map2.map.xml
index d635364..43b5d19 100644
--- a/cayenne-server/src/test/resources/cay743/map2.map.xml
+++ b/cayenne-server/src/test/resources/cay743/map2.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<obj-entity name="Entity21" superEntityName="Entity11">
</obj-entity>
<obj-entity name="Entity22">
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-array-type.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-array-type.xml b/cayenne-server/src/test/resources/cayenne-array-type.xml
index 6b85e55..fdf8c4e 100644
--- a/cayenne-server/src/test/resources/cayenne-array-type.xml
+++ b/cayenne-server/src/test/resources/cayenne-array-type.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="array-type"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-binary-pk.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-binary-pk.xml b/cayenne-server/src/test/resources/cayenne-binary-pk.xml
index 5ca0448..d6d21b2 100644
--- a/cayenne-server/src/test/resources/cayenne-binary-pk.xml
+++ b/cayenne-server/src/test/resources/cayenne-binary-pk.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="binary-pk"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-compound.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-compound.xml b/cayenne-server/src/test/resources/cayenne-compound.xml
index 1dc56a5..b82d21f 100644
--- a/cayenne-server/src/test/resources/cayenne-compound.xml
+++ b/cayenne-server/src/test/resources/cayenne-compound.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="compound"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-date-time.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-date-time.xml b/cayenne-server/src/test/resources/cayenne-date-time.xml
index f8d47d1..3fda070 100644
--- a/cayenne-server/src/test/resources/cayenne-date-time.xml
+++ b/cayenne-server/src/test/resources/cayenne-date-time.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="date-time"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-delete-rules.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-delete-rules.xml b/cayenne-server/src/test/resources/cayenne-delete-rules.xml
index 1d8e159..606e583 100644
--- a/cayenne-server/src/test/resources/cayenne-delete-rules.xml
+++ b/cayenne-server/src/test/resources/cayenne-delete-rules.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="delete-rules"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-embeddable.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-embeddable.xml b/cayenne-server/src/test/resources/cayenne-embeddable.xml
index 32ab708..8aa7459 100644
--- a/cayenne-server/src/test/resources/cayenne-embeddable.xml
+++ b/cayenne-server/src/test/resources/cayenne-embeddable.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="embeddable"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-empty.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-empty.xml b/cayenne-server/src/test/resources/cayenne-empty.xml
index e3ed459..3ee43c4 100644
--- a/cayenne-server/src/test/resources/cayenne-empty.xml
+++ b/cayenne-server/src/test/resources/cayenne-empty.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="empty"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-enum.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-enum.xml b/cayenne-server/src/test/resources/cayenne-enum.xml
index a62ba39..df69b89 100644
--- a/cayenne-server/src/test/resources/cayenne-enum.xml
+++ b/cayenne-server/src/test/resources/cayenne-enum.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="enum"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-extended-type.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-extended-type.xml b/cayenne-server/src/test/resources/cayenne-extended-type.xml
index 71ce19f..6c65720 100644
--- a/cayenne-server/src/test/resources/cayenne-extended-type.xml
+++ b/cayenne-server/src/test/resources/cayenne-extended-type.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="extended-type"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-generated.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-generated.xml b/cayenne-server/src/test/resources/cayenne-generated.xml
index e10820d..a880717 100644
--- a/cayenne-server/src/test/resources/cayenne-generated.xml
+++ b/cayenne-server/src/test/resources/cayenne-generated.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="generated"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-generic.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-generic.xml b/cayenne-server/src/test/resources/cayenne-generic.xml
index 4eaaf7b..7dff2a3 100644
--- a/cayenne-server/src/test/resources/cayenne-generic.xml
+++ b/cayenne-server/src/test/resources/cayenne-generic.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="generic"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-inheritance-single-table1.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-inheritance-single-table1.xml b/cayenne-server/src/test/resources/cayenne-inheritance-single-table1.xml
index 97c6a53..04b98f6 100644
--- a/cayenne-server/src/test/resources/cayenne-inheritance-single-table1.xml
+++ b/cayenne-server/src/test/resources/cayenne-inheritance-single-table1.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="inheritance-single-table1"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-inheritance-vertical.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-inheritance-vertical.xml b/cayenne-server/src/test/resources/cayenne-inheritance-vertical.xml
index 00e60dd..7edce8d 100644
--- a/cayenne-server/src/test/resources/cayenne-inheritance-vertical.xml
+++ b/cayenne-server/src/test/resources/cayenne-inheritance-vertical.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="inheritance-vertical"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-inheritance.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-inheritance.xml b/cayenne-server/src/test/resources/cayenne-inheritance.xml
index f6fea51..818c9b2 100644
--- a/cayenne-server/src/test/resources/cayenne-inheritance.xml
+++ b/cayenne-server/src/test/resources/cayenne-inheritance.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="inheritance"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-lifecycle-callbacks-order.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-lifecycle-callbacks-order.xml b/cayenne-server/src/test/resources/cayenne-lifecycle-callbacks-order.xml
index b9191a4..79900f9 100644
--- a/cayenne-server/src/test/resources/cayenne-lifecycle-callbacks-order.xml
+++ b/cayenne-server/src/test/resources/cayenne-lifecycle-callbacks-order.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="lifecycle-callbacks-order"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-lifecycles.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-lifecycles.xml b/cayenne-server/src/test/resources/cayenne-lifecycles.xml
index bcaa2e3..ba6fc19 100644
--- a/cayenne-server/src/test/resources/cayenne-lifecycles.xml
+++ b/cayenne-server/src/test/resources/cayenne-lifecycles.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="lifecycles"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-lob.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-lob.xml b/cayenne-server/src/test/resources/cayenne-lob.xml
index f575f1b..dde2a47 100644
--- a/cayenne-server/src/test/resources/cayenne-lob.xml
+++ b/cayenne-server/src/test/resources/cayenne-lob.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="lob"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-locking.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-locking.xml b/cayenne-server/src/test/resources/cayenne-locking.xml
index b58f8fd..1d4f2a5 100644
--- a/cayenne-server/src/test/resources/cayenne-locking.xml
+++ b/cayenne-server/src/test/resources/cayenne-locking.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="locking"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-map-to-many.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-map-to-many.xml b/cayenne-server/src/test/resources/cayenne-map-to-many.xml
index f15587b..10709e0 100644
--- a/cayenne-server/src/test/resources/cayenne-map-to-many.xml
+++ b/cayenne-server/src/test/resources/cayenne-map-to-many.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="map-to-many"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-meaningful-pk.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-meaningful-pk.xml b/cayenne-server/src/test/resources/cayenne-meaningful-pk.xml
index 1326169..fe17e9e 100644
--- a/cayenne-server/src/test/resources/cayenne-meaningful-pk.xml
+++ b/cayenne-server/src/test/resources/cayenne-meaningful-pk.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="meaningful-pk"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-misc-types.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-misc-types.xml b/cayenne-server/src/test/resources/cayenne-misc-types.xml
index 4821482..46adeb2 100644
--- a/cayenne-server/src/test/resources/cayenne-misc-types.xml
+++ b/cayenne-server/src/test/resources/cayenne-misc-types.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="misc-types"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-mixed-persistence-strategy.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-mixed-persistence-strategy.xml b/cayenne-server/src/test/resources/cayenne-mixed-persistence-strategy.xml
index b68da04..0723809 100644
--- a/cayenne-server/src/test/resources/cayenne-mixed-persistence-strategy.xml
+++ b/cayenne-server/src/test/resources/cayenne-mixed-persistence-strategy.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="mixed-persistence-strategy"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-multi-tier.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-multi-tier.xml b/cayenne-server/src/test/resources/cayenne-multi-tier.xml
index afd9699..65f4f51 100644
--- a/cayenne-server/src/test/resources/cayenne-multi-tier.xml
+++ b/cayenne-server/src/test/resources/cayenne-multi-tier.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="multi-tier"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-multinode.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-multinode.xml b/cayenne-server/src/test/resources/cayenne-multinode.xml
index 002aebd..7b23fb5 100644
--- a/cayenne-server/src/test/resources/cayenne-multinode.xml
+++ b/cayenne-server/src/test/resources/cayenne-multinode.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="map-db1"/>
<map name="map-db2"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-no-pk.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-no-pk.xml b/cayenne-server/src/test/resources/cayenne-no-pk.xml
index 523a90b..2905c89 100644
--- a/cayenne-server/src/test/resources/cayenne-no-pk.xml
+++ b/cayenne-server/src/test/resources/cayenne-no-pk.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="no-pk"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-numeric-types.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-numeric-types.xml b/cayenne-server/src/test/resources/cayenne-numeric-types.xml
index 9bc5084..3376ad1 100644
--- a/cayenne-server/src/test/resources/cayenne-numeric-types.xml
+++ b/cayenne-server/src/test/resources/cayenne-numeric-types.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="numeric-types"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-oneway-rels.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-oneway-rels.xml b/cayenne-server/src/test/resources/cayenne-oneway-rels.xml
index 74f1cbe..1c23877 100644
--- a/cayenne-server/src/test/resources/cayenne-oneway-rels.xml
+++ b/cayenne-server/src/test/resources/cayenne-oneway-rels.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="oneway-rels"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-org.apache.cayenne.configuration.rop.server.test-config.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-org.apache.cayenne.configuration.rop.server.test-config.xml b/cayenne-server/src/test/resources/cayenne-org.apache.cayenne.configuration.rop.server.test-config.xml
index 431d9af..19c38f0 100644
--- a/cayenne-server/src/test/resources/cayenne-org.apache.cayenne.configuration.rop.server.test-config.xml
+++ b/cayenne-server/src/test/resources/cayenne-org.apache.cayenne.configuration.rop.server.test-config.xml
@@ -1,3 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-people.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-people.xml b/cayenne-server/src/test/resources/cayenne-people.xml
index 2909c65..26629b4 100644
--- a/cayenne-server/src/test/resources/cayenne-people.xml
+++ b/cayenne-server/src/test/resources/cayenne-people.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="people"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-persistent.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-persistent.xml b/cayenne-server/src/test/resources/cayenne-persistent.xml
index 4411149..e368c57 100644
--- a/cayenne-server/src/test/resources/cayenne-persistent.xml
+++ b/cayenne-server/src/test/resources/cayenne-persistent.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="persistent"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-primitive.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-primitive.xml b/cayenne-server/src/test/resources/cayenne-primitive.xml
index 8940525..026c75c 100644
--- a/cayenne-server/src/test/resources/cayenne-primitive.xml
+++ b/cayenne-server/src/test/resources/cayenne-primitive.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="primitive"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-qualified.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-qualified.xml b/cayenne-server/src/test/resources/cayenne-qualified.xml
index d82657f..f930615 100644
--- a/cayenne-server/src/test/resources/cayenne-qualified.xml
+++ b/cayenne-server/src/test/resources/cayenne-qualified.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="qualified"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-quoted-identifiers.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-quoted-identifiers.xml b/cayenne-server/src/test/resources/cayenne-quoted-identifiers.xml
index 642885a..91cfec5 100644
--- a/cayenne-server/src/test/resources/cayenne-quoted-identifiers.xml
+++ b/cayenne-server/src/test/resources/cayenne-quoted-identifiers.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="quoted-identifiers"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-reflexive.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-reflexive.xml b/cayenne-server/src/test/resources/cayenne-reflexive.xml
index 389cdcf..e178d26 100644
--- a/cayenne-server/src/test/resources/cayenne-reflexive.xml
+++ b/cayenne-server/src/test/resources/cayenne-reflexive.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="reflexive"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-relationships-activity.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships-activity.xml b/cayenne-server/src/test/resources/cayenne-relationships-activity.xml
index 36b039c..4eb8f9a 100644
--- a/cayenne-server/src/test/resources/cayenne-relationships-activity.xml
+++ b/cayenne-server/src/test/resources/cayenne-relationships-activity.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="relationships-activity"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-relationships-child-master.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships-child-master.xml b/cayenne-server/src/test/resources/cayenne-relationships-child-master.xml
index 4c59d65..d14f075 100644
--- a/cayenne-server/src/test/resources/cayenne-relationships-child-master.xml
+++ b/cayenne-server/src/test/resources/cayenne-relationships-child-master.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="relationships-child-master"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-relationships-clob.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships-clob.xml b/cayenne-server/src/test/resources/cayenne-relationships-clob.xml
index 88196ad..abaa23d 100644
--- a/cayenne-server/src/test/resources/cayenne-relationships-clob.xml
+++ b/cayenne-server/src/test/resources/cayenne-relationships-clob.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="relationships-clob"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-relationships-collection-to-many.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships-collection-to-many.xml b/cayenne-server/src/test/resources/cayenne-relationships-collection-to-many.xml
index 0398dc7..6df5be0 100644
--- a/cayenne-server/src/test/resources/cayenne-relationships-collection-to-many.xml
+++ b/cayenne-server/src/test/resources/cayenne-relationships-collection-to-many.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="relationships-collection-to-many"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-relationships-delete-rules.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships-delete-rules.xml b/cayenne-server/src/test/resources/cayenne-relationships-delete-rules.xml
index 6cea4e1..0d9b1e8 100644
--- a/cayenne-server/src/test/resources/cayenne-relationships-delete-rules.xml
+++ b/cayenne-server/src/test/resources/cayenne-relationships-delete-rules.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="relationships-delete-rules"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-relationships-flattened.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships-flattened.xml b/cayenne-server/src/test/resources/cayenne-relationships-flattened.xml
index 7cdccc6..1283c12 100644
--- a/cayenne-server/src/test/resources/cayenne-relationships-flattened.xml
+++ b/cayenne-server/src/test/resources/cayenne-relationships-flattened.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="relationships-flattened"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-relationships-set-to-many.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships-set-to-many.xml b/cayenne-server/src/test/resources/cayenne-relationships-set-to-many.xml
index 7e92d95..a5331ce 100644
--- a/cayenne-server/src/test/resources/cayenne-relationships-set-to-many.xml
+++ b/cayenne-server/src/test/resources/cayenne-relationships-set-to-many.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="relationships-set-to-many"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-relationships-to-many-fk.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships-to-many-fk.xml b/cayenne-server/src/test/resources/cayenne-relationships-to-many-fk.xml
index d9e563c..b1e77d1 100644
--- a/cayenne-server/src/test/resources/cayenne-relationships-to-many-fk.xml
+++ b/cayenne-server/src/test/resources/cayenne-relationships-to-many-fk.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="relationships-to-many-fk"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-relationships-to-one-fk.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships-to-one-fk.xml b/cayenne-server/src/test/resources/cayenne-relationships-to-one-fk.xml
index 82dcd6e..c6884b8 100644
--- a/cayenne-server/src/test/resources/cayenne-relationships-to-one-fk.xml
+++ b/cayenne-server/src/test/resources/cayenne-relationships-to-one-fk.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="relationships-to-one-fk"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-relationships.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships.xml b/cayenne-server/src/test/resources/cayenne-relationships.xml
index 24f0c37..a709d2b 100644
--- a/cayenne-server/src/test/resources/cayenne-relationships.xml
+++ b/cayenne-server/src/test/resources/cayenne-relationships.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="relationships"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-return-types.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-return-types.xml b/cayenne-server/src/test/resources/cayenne-return-types.xml
index 95d67fb..b346de0 100644
--- a/cayenne-server/src/test/resources/cayenne-return-types.xml
+++ b/cayenne-server/src/test/resources/cayenne-return-types.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="return-types"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-small-testmap.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-small-testmap.xml b/cayenne-server/src/test/resources/cayenne-small-testmap.xml
index d11cf45..6c7d55b 100644
--- a/cayenne-server/src/test/resources/cayenne-small-testmap.xml
+++ b/cayenne-server/src/test/resources/cayenne-small-testmap.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="small-testmap"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-soft-delete.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-soft-delete.xml b/cayenne-server/src/test/resources/cayenne-soft-delete.xml
index f4a4bdc..860278a 100644
--- a/cayenne-server/src/test/resources/cayenne-soft-delete.xml
+++ b/cayenne-server/src/test/resources/cayenne-soft-delete.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="soft-delete"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-sus.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-sus.xml b/cayenne-server/src/test/resources/cayenne-sus.xml
index b830baf..7031593 100644
--- a/cayenne-server/src/test/resources/cayenne-sus.xml
+++ b/cayenne-server/src/test/resources/cayenne-sus.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="sus-map"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-table-primitives.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-table-primitives.xml b/cayenne-server/src/test/resources/cayenne-table-primitives.xml
index d87ef95..b03ffb9 100644
--- a/cayenne-server/src/test/resources/cayenne-table-primitives.xml
+++ b/cayenne-server/src/test/resources/cayenne-table-primitives.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="table-primitives"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-testmap.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-testmap.xml b/cayenne-server/src/test/resources/cayenne-testmap.xml
index 8253020..3c44022 100644
--- a/cayenne-server/src/test/resources/cayenne-testmap.xml
+++ b/cayenne-server/src/test/resources/cayenne-testmap.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="testmap"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-things.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-things.xml b/cayenne-server/src/test/resources/cayenne-things.xml
index a5e13c0..10f6104 100644
--- a/cayenne-server/src/test/resources/cayenne-things.xml
+++ b/cayenne-server/src/test/resources/cayenne-things.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="things"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-toone.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-toone.xml b/cayenne-server/src/test/resources/cayenne-toone.xml
index f46c8ac..f71983a 100644
--- a/cayenne-server/src/test/resources/cayenne-toone.xml
+++ b/cayenne-server/src/test/resources/cayenne-toone.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="toone"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-unsupported-distinct-types.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-unsupported-distinct-types.xml b/cayenne-server/src/test/resources/cayenne-unsupported-distinct-types.xml
index 6de977f..3a6ce3b 100644
--- a/cayenne-server/src/test/resources/cayenne-unsupported-distinct-types.xml
+++ b/cayenne-server/src/test/resources/cayenne-unsupported-distinct-types.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="unsupported-distinct-types"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/cayenne-uuid.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-uuid.xml b/cayenne-server/src/test/resources/cayenne-uuid.xml
index a821d12..f654de9 100644
--- a/cayenne-server/src/test/resources/cayenne-uuid.xml
+++ b/cayenne-server/src/test/resources/cayenne-uuid.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="uuid"/>
</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/compound.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/compound.map.xml b/cayenne-server/src/test/resources/compound.map.xml
index f53832b..d4210ab 100644
--- a/cayenne-server/src/test/resources/compound.map.xml
+++ b/cayenne-server/src/test/resources/compound.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.compound"/>
<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
<property name="clientSupported" value="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/date-time.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/date-time.map.xml b/cayenne-server/src/test/resources/date-time.map.xml
index 69fd0ff..b2d825d 100644
--- a/cayenne-server/src/test/resources/date-time.map.xml
+++ b/cayenne-server/src/test/resources/date-time.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.date_time"/>
<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
<property name="clientSupported" value="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/delete-rules.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/delete-rules.map.xml b/cayenne-server/src/test/resources/delete-rules.map.xml
index 85cf165..62f47aa 100644
--- a/cayenne-server/src/test/resources/delete-rules.map.xml
+++ b/cayenne-server/src/test/resources/delete-rules.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.deleterules"/>
<property name="clientSupported" value="true"/>
<property name="defaultClientPackage" value="org.apache.cayenne.testdo.deleterules"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/embeddable.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/embeddable.map.xml b/cayenne-server/src/test/resources/embeddable.map.xml
index 62c245d..84bb4b0 100644
--- a/cayenne-server/src/test/resources/embeddable.map.xml
+++ b/cayenne-server/src/test/resources/embeddable.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.embeddable"/>
<embeddable className="org.apache.cayenne.testdo.embeddable.Embeddable1">
<embeddable-attribute name="embedded10" type="java.lang.String" db-attribute-name="EMBEDDED10"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/empty.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/empty.map.xml b/cayenne-server/src/test/resources/empty.map.xml
index 7b88c75..89734f3 100644
--- a/cayenne-server/src/test/resources/empty.map.xml
+++ b/cayenne-server/src/test/resources/empty.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<db-entity name="EMPTY">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
</db-entity>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/enum.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/enum.map.xml b/cayenne-server/src/test/resources/enum.map.xml
index 8f6197c..9a1e9c9 100644
--- a/cayenne-server/src/test/resources/enum.map.xml
+++ b/cayenne-server/src/test/resources/enum.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.enum"/>
<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
<property name="clientSupported" value="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/extended-type.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/extended-type.map.xml b/cayenne-server/src/test/resources/extended-type.map.xml
index e743d0b..3cfea21 100644
--- a/cayenne-server/src/test/resources/extended-type.map.xml
+++ b/cayenne-server/src/test/resources/extended-type.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.extended_type"/>
<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
<property name="clientSupported" value="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/generated.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/generated.map.xml b/cayenne-server/src/test/resources/generated.map.xml
index 958a1d0..c3ddf35 100644
--- a/cayenne-server/src/test/resources/generated.map.xml
+++ b/cayenne-server/src/test/resources/generated.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.generated"/>
<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
<property name="clientSupported" value="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/generic.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/generic.map.xml b/cayenne-server/src/test/resources/generic.map.xml
index 184a91d..a95bbcc 100644
--- a/cayenne-server/src/test/resources/generic.map.xml
+++ b/cayenne-server/src/test/resources/generic.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.generic"/>
<db-entity name="GENERIC1">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/inheritance-single-table1.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/inheritance-single-table1.map.xml b/cayenne-server/src/test/resources/inheritance-single-table1.map.xml
index 865cced..144e407 100644
--- a/cayenne-server/src/test/resources/inheritance-single-table1.map.xml
+++ b/cayenne-server/src/test/resources/inheritance-single-table1.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.inheritance_flat"/>
<db-entity name="GROUP_MEMBERS">
<db-attribute name="group_id" type="BIGINT" isMandatory="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/inheritance-vertical.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/inheritance-vertical.map.xml b/cayenne-server/src/test/resources/inheritance-vertical.map.xml
index ad8fba4..27b9c9b 100644
--- a/cayenne-server/src/test/resources/inheritance-vertical.map.xml
+++ b/cayenne-server/src/test/resources/inheritance-vertical.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.inheritance_vertical"/>
<db-entity name="IV1_ROOT">
<db-attribute name="DISCRIMINATOR" type="VARCHAR" length="10"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/inheritance.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/inheritance.map.xml b/cayenne-server/src/test/resources/inheritance.map.xml
index a23d40e..df054be 100644
--- a/cayenne-server/src/test/resources/inheritance.map.xml
+++ b/cayenne-server/src/test/resources/inheritance.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.inheritance"/>
<db-entity name="BASE_ENTITY">
<db-attribute name="BASE_ENTITY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/lifecycle-callbacks-order.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/lifecycle-callbacks-order.map.xml b/cayenne-server/src/test/resources/lifecycle-callbacks-order.map.xml
index 78d2594..1afdc32 100644
--- a/cayenne-server/src/test/resources/lifecycle-callbacks-order.map.xml
+++ b/cayenne-server/src/test/resources/lifecycle-callbacks-order.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.lifecycle_callbacks_order"/>
<property name="clientSupported" value="true"/>
<property name="defaultClientPackage" value="org.apache.cayenne.testdo.lifecycle_callbacks_order"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/lifecycles.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/lifecycles.map.xml b/cayenne-server/src/test/resources/lifecycles.map.xml
index 62c902a..098b4c5 100644
--- a/cayenne-server/src/test/resources/lifecycles.map.xml
+++ b/cayenne-server/src/test/resources/lifecycles.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.lifecycles"/>
<property name="clientSupported" value="true"/>
<property name="defaultClientPackage" value="org.apache.cayenne.testdo.lifecycles"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/lob.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/lob.map.xml b/cayenne-server/src/test/resources/lob.map.xml
index 3ae8644..e797df7 100644
--- a/cayenne-server/src/test/resources/lob.map.xml
+++ b/cayenne-server/src/test/resources/lob.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.lob"/>
<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
<property name="clientSupported" value="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/locking.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/locking.map.xml b/cayenne-server/src/test/resources/locking.map.xml
index 9b84cf3..9092352 100644
--- a/cayenne-server/src/test/resources/locking.map.xml
+++ b/cayenne-server/src/test/resources/locking.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.locking"/>
<db-entity name="LOCKING_HELPER">
<db-attribute name="LOCKING_HELPER_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/map-db1.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/map-db1.map.xml b/cayenne-server/src/test/resources/map-db1.map.xml
index eb0f60e..7d1ef52 100644
--- a/cayenne-server/src/test/resources/map-db1.map.xml
+++ b/cayenne-server/src/test/resources/map-db1.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.db1"/>
<db-entity name="CROSSDB_M1E1">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/map-db2.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/map-db2.map.xml b/cayenne-server/src/test/resources/map-db2.map.xml
index fa3fcc8..ebe3163 100644
--- a/cayenne-server/src/test/resources/map-db2.map.xml
+++ b/cayenne-server/src/test/resources/map-db2.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.db2"/>
<db-entity name="CROSSDB_M2E1">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/map-to-many.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/map-to-many.map.xml b/cayenne-server/src/test/resources/map-to-many.map.xml
index d3099da..99dce4d 100644
--- a/cayenne-server/src/test/resources/map-to-many.map.xml
+++ b/cayenne-server/src/test/resources/map-to-many.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.map_to_many"/>
<property name="clientSupported" value="true"/>
<property name="defaultClientPackage" value="org.apache.cayenne.testdo.map_to_many"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/meaningful-pk.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/meaningful-pk.map.xml b/cayenne-server/src/test/resources/meaningful-pk.map.xml
index 3172f04..ca41207 100644
--- a/cayenne-server/src/test/resources/meaningful-pk.map.xml
+++ b/cayenne-server/src/test/resources/meaningful-pk.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.meaningful_pk"/>
<property name="clientSupported" value="true"/>
<property name="defaultClientPackage" value="org.apache.cayenne.testdo.meaningful_pk"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/misc-types.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/misc-types.map.xml b/cayenne-server/src/test/resources/misc-types.map.xml
index be79dd6..616ab44 100644
--- a/cayenne-server/src/test/resources/misc-types.map.xml
+++ b/cayenne-server/src/test/resources/misc-types.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.misc_types"/>
<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
<property name="clientSupported" value="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/mixed-persistence-strategy.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/mixed-persistence-strategy.map.xml b/cayenne-server/src/test/resources/mixed-persistence-strategy.map.xml
index ca9045e..d800e13 100644
--- a/cayenne-server/src/test/resources/mixed-persistence-strategy.map.xml
+++ b/cayenne-server/src/test/resources/mixed-persistence-strategy.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.mixed_persistence_strategy"/>
<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
<property name="clientSupported" value="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/multi-tier.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/multi-tier.map.xml b/cayenne-server/src/test/resources/multi-tier.map.xml
index 7511ab8..016fc58 100644
--- a/cayenne-server/src/test/resources/multi-tier.map.xml
+++ b/cayenne-server/src/test/resources/multi-tier.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.mt"/>
<property name="clientSupported" value="true"/>
<property name="defaultClientPackage" value="org.apache.cayenne.testdo.mt"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/no-pk.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/no-pk.map.xml b/cayenne-server/src/test/resources/no-pk.map.xml
index 618cbfc..37f913a 100644
--- a/cayenne-server/src/test/resources/no-pk.map.xml
+++ b/cayenne-server/src/test/resources/no-pk.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.no_pk"/>
<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
<property name="clientSupported" value="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/numeric-types.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/numeric-types.map.xml b/cayenne-server/src/test/resources/numeric-types.map.xml
index 4e44409..179add2 100644
--- a/cayenne-server/src/test/resources/numeric-types.map.xml
+++ b/cayenne-server/src/test/resources/numeric-types.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.numeric_types"/>
<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
<property name="clientSupported" value="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/oneway-rels.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/oneway-rels.map.xml b/cayenne-server/src/test/resources/oneway-rels.map.xml
index 626fa8b..9ce6d58 100644
--- a/cayenne-server/src/test/resources/oneway-rels.map.xml
+++ b/cayenne-server/src/test/resources/oneway-rels.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.oneway"/>
<db-entity name="oneway_table1">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/people.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/people.map.xml b/cayenne-server/src/test/resources/people.map.xml
index 68fcb7b..c62eeed 100644
--- a/cayenne-server/src/test/resources/people.map.xml
+++ b/cayenne-server/src/test/resources/people.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.inheritance_people"/>
<db-entity name="ADDRESS">
<db-attribute name="ADDRESS_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
[3/7] cayenne git commit: Merge branch 'reverse-engineering-ui'
https://github.com/apache/cayenne/pull/113
Posted by sk...@apache.org.
Merge branch 'reverse-engineering-ui'
https://github.com/apache/cayenne/pull/113
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/82a984a8
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/82a984a8
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/82a984a8
Branch: refs/heads/master
Commit: 82a984a8f93a0732740038d7b2b29cc5de1eb73a
Parents: f7ad0cc 29671e7
Author: Savva Kolbachev <s....@gmail.com>
Authored: Thu Oct 20 12:54:59 2016 +0300
Committer: Savva Kolbachev <s....@gmail.com>
Committed: Thu Oct 20 12:57:44 2016 +0300
----------------------------------------------------------------------
.../dbsync/naming/DeduplicationVisitor.java | 24 --
.../dbsync/naming/DefaultBaseNameVisitor.java | 6 -
.../dbsync/naming/NormalizationVisitor.java | 6 -
.../cayenne/project/ConfigurationSaver.java | 9 -
.../project/ConfigurationSourceGetter.java | 5 -
.../project/ConfigurationSourceSetter.java | 7 -
.../DefaultConfigurationNodeParentGetter.java | 12 -
.../cayenne/project/SaveableNodesGetter.java | 9 -
.../validation/DefaultProjectValidator.java | 8 -
.../validation/ReverseEngineeringValidator.java | 42 ---
.../project/ReverseEngineeringSaverTest.java | 62 ----
.../BaseConfigurationNodeVisitor.java | 5 -
.../configuration/ConfigurationNodeVisitor.java | 3 -
.../DefaultConfigurationNameMapper.java | 18 --
.../XMLDataChannelDescriptorLoader.java | 18 --
.../cayenne/dbimport/ReverseEngineering.java | 21 +-
.../java/org/apache/cayenne/map/DataMap.java | 15 -
.../java/org/apache/cayenne/map/MapLoader.java | 22 --
.../org/apache/cayenne/schema/8/modelMap.xsd | 7 -
.../apache/cayenne/tools/DbImporterTask.java | 111 ++------
.../modeler/ProjectFileChangeTracker.java | 6 -
.../cayenne/modeler/action/RemoveAction.java | 4 -
.../action/ReverseEngineeringAction.java | 66 ++++-
.../modeler/dialog/db/ConnectionWizard.java | 89 ++++++
.../modeler/dialog/db/DataMapViewModel.java | 46 ---
.../modeler/dialog/db/DataSourceWizard.java | 222 +++++++++++++++
.../modeler/dialog/db/DataSourceWizardView.java | 94 +++++++
.../modeler/dialog/db/DbLoaderHelper.java | 50 +++-
.../dialog/db/DbLoaderOptionsDialog.java | 253 +++++++++++++++++
.../modeler/dialog/db/ModelerDbLoader.java | 258 -----------------
.../dialog/db/ReverseEngineeringController.java | 243 ----------------
.../dialog/db/ReverseEngineeringScrollPane.java | 34 ---
.../dialog/db/ReverseEngineeringView.java | 281 -------------------
.../modeler/dialog/db/model/DbCatalog.java | 30 --
.../modeler/dialog/db/model/DbColumn.java | 34 ---
.../modeler/dialog/db/model/DbElement.java | 62 ----
.../modeler/dialog/db/model/DbEntity.java | 37 ---
.../modeler/dialog/db/model/DbModel.java | 29 --
.../modeler/dialog/db/model/DbProcedure.java | 33 ---
.../modeler/dialog/db/model/DbSchema.java | 29 --
.../dialog/pref/FilteredTreeCellRenderer.java | 85 ------
.../cayenne/modeler/dialog/pref/TreeEditor.java | 101 -------
.../cayenne/modeler/dialog/pref/TreeView.java | 56 ----
.../modeler/dialog/pref/XMLFileEditor.java | 82 ------
.../cayenne/modeler/dialog/pref/XMLView.java | 72 -----
.../modeler/editor/DataMapTabbedView.java | 21 +-
.../cayenne/modeler/util/CellRenderers.java | 13 -
.../apache/cayenne/tools/DbImporterMojo.java | 95 +------
.../cayenne/tools/DbImporterMojoTest.java | 1 -
49 files changed, 775 insertions(+), 2061 deletions(-)
----------------------------------------------------------------------
[7/7] cayenne git commit: Upgrade datamap schema version from 8 to 9;
Posted by sk...@apache.org.
Upgrade datamap schema version from 8 to 9;
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/f72210cc
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/f72210cc
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/f72210cc
Branch: refs/heads/master
Commit: f72210ccbd5663b71a0aee49ab527cd108bece3c
Parents: aa6efa4
Author: Savva Kolbachev <s....@gmail.com>
Authored: Thu Oct 20 17:49:09 2016 +0300
Committer: Savva Kolbachev <s....@gmail.com>
Committed: Thu Oct 20 17:49:09 2016 +0300
----------------------------------------------------------------------
.../src/test/resources/cayenne-crypto.xml | 2 +-
.../src/test/resources/datamap.map.xml | 6 +-
.../src/test/resources/cayenne-java8.xml | 2 +-
cayenne-java8/src/test/resources/java8.map.xml | 6 +-
.../src/test/resources/cayenne-joda.xml | 2 +-
cayenne-joda/src/test/resources/joda.map.xml | 6 +-
.../src/test/resources/cayenne-lifecycle.xml | 2 +-
.../src/test/resources/lifecycle-map.map.xml | 6 +-
.../cayenne/project/CayenneProjectModule.java | 4 +-
.../cayenne/project/FileProjectSaver.java | 2 +-
.../project/upgrade/v9/ProjectUpgrader_V9.java | 44 +++
.../project/upgrade/v9/UpgradeHandler_V9.java | 166 +++++++++
.../upgrade/v7/ProjectUpgrader_V7Test.java | 54 ++-
.../upgrade/v8/ProjectUpgrader_V8Test.java | 24 +-
.../upgrade/v9/ProjectUpgrader_V9Test.java | 185 ++++++++++
.../project/upgrade/v9/cayenne-PROJECT1.xml | 15 +
.../project/upgrade/v9/reverseEngineering.xml | 11 +
.../upgrade/v9/testProjectMap1_1.map.xml | 15 +
.../upgrade/v9/testProjectMap1_2.map.xml | 7 +
.../src/test/resources/cayenne-protostuff.xml | 2 +-
.../src/test/resources/protostuff.map.xml | 6 +-
.../java/org/apache/cayenne/map/DataMap.java | 4 +-
.../org/apache/cayenne/schema/8/modelMap.xsd | 338 -------------------
.../cayenne/schema/8/reverseEngineering.xsd | 141 --------
.../org/apache/cayenne/schema/9/modelMap.xsd | 338 +++++++++++++++++++
.../src/test/resources/array-type.map.xml | 6 +-
.../src/test/resources/binary-pk.map.xml | 6 +-
.../test/resources/cay743/cayenne-domain.xml | 2 +-
.../src/test/resources/cay743/map1.map.xml | 6 +-
.../src/test/resources/cay743/map2.map.xml | 6 +-
.../src/test/resources/cayenne-array-type.xml | 2 +-
.../src/test/resources/cayenne-binary-pk.xml | 2 +-
.../src/test/resources/cayenne-compound.xml | 2 +-
.../src/test/resources/cayenne-date-time.xml | 2 +-
.../src/test/resources/cayenne-delete-rules.xml | 2 +-
.../src/test/resources/cayenne-embeddable.xml | 2 +-
.../src/test/resources/cayenne-empty.xml | 2 +-
.../src/test/resources/cayenne-enum.xml | 2 +-
.../test/resources/cayenne-extended-type.xml | 2 +-
.../src/test/resources/cayenne-generated.xml | 2 +-
.../src/test/resources/cayenne-generic.xml | 2 +-
.../cayenne-inheritance-single-table1.xml | 2 +-
.../resources/cayenne-inheritance-vertical.xml | 2 +-
.../src/test/resources/cayenne-inheritance.xml | 2 +-
.../cayenne-lifecycle-callbacks-order.xml | 2 +-
.../src/test/resources/cayenne-lifecycles.xml | 2 +-
.../src/test/resources/cayenne-lob.xml | 2 +-
.../src/test/resources/cayenne-locking.xml | 2 +-
.../src/test/resources/cayenne-map-to-many.xml | 2 +-
.../test/resources/cayenne-meaningful-pk.xml | 2 +-
.../src/test/resources/cayenne-misc-types.xml | 2 +-
.../cayenne-mixed-persistence-strategy.xml | 2 +-
.../src/test/resources/cayenne-multi-tier.xml | 2 +-
.../src/test/resources/cayenne-multinode.xml | 2 +-
.../src/test/resources/cayenne-no-pk.xml | 2 +-
.../test/resources/cayenne-numeric-types.xml | 2 +-
.../src/test/resources/cayenne-oneway-rels.xml | 2 +-
...nne.configuration.rop.server.test-config.xml | 2 +-
.../src/test/resources/cayenne-people.xml | 2 +-
.../src/test/resources/cayenne-persistent.xml | 2 +-
.../src/test/resources/cayenne-primitive.xml | 2 +-
.../src/test/resources/cayenne-qualified.xml | 2 +-
.../resources/cayenne-quoted-identifiers.xml | 2 +-
.../src/test/resources/cayenne-reflexive.xml | 2 +-
.../cayenne-relationships-activity.xml | 2 +-
.../cayenne-relationships-child-master.xml | 2 +-
.../resources/cayenne-relationships-clob.xml | 2 +-
...cayenne-relationships-collection-to-many.xml | 2 +-
.../cayenne-relationships-delete-rules.xml | 2 +-
.../cayenne-relationships-flattened.xml | 2 +-
.../cayenne-relationships-set-to-many.xml | 2 +-
.../cayenne-relationships-to-many-fk.xml | 2 +-
.../cayenne-relationships-to-one-fk.xml | 2 +-
.../test/resources/cayenne-relationships.xml | 2 +-
.../src/test/resources/cayenne-return-types.xml | 2 +-
.../test/resources/cayenne-small-testmap.xml | 2 +-
.../src/test/resources/cayenne-soft-delete.xml | 2 +-
.../src/test/resources/cayenne-sus.xml | 2 +-
.../test/resources/cayenne-table-primitives.xml | 2 +-
.../src/test/resources/cayenne-testmap.xml | 2 +-
.../src/test/resources/cayenne-things.xml | 2 +-
.../src/test/resources/cayenne-toone.xml | 2 +-
.../cayenne-unsupported-distinct-types.xml | 2 +-
.../src/test/resources/cayenne-uuid.xml | 2 +-
.../src/test/resources/compound.map.xml | 6 +-
.../src/test/resources/date-time.map.xml | 6 +-
.../src/test/resources/delete-rules.map.xml | 6 +-
.../src/test/resources/embeddable.map.xml | 6 +-
cayenne-server/src/test/resources/empty.map.xml | 6 +-
cayenne-server/src/test/resources/enum.map.xml | 6 +-
.../src/test/resources/extended-type.map.xml | 6 +-
.../src/test/resources/generated.map.xml | 6 +-
.../src/test/resources/generic.map.xml | 6 +-
.../resources/inheritance-single-table1.map.xml | 6 +-
.../test/resources/inheritance-vertical.map.xml | 6 +-
.../src/test/resources/inheritance.map.xml | 6 +-
.../resources/lifecycle-callbacks-order.map.xml | 6 +-
.../src/test/resources/lifecycles.map.xml | 6 +-
cayenne-server/src/test/resources/lob.map.xml | 6 +-
.../src/test/resources/locking.map.xml | 6 +-
.../src/test/resources/map-db1.map.xml | 6 +-
.../src/test/resources/map-db2.map.xml | 6 +-
.../src/test/resources/map-to-many.map.xml | 6 +-
.../src/test/resources/meaningful-pk.map.xml | 6 +-
.../src/test/resources/misc-types.map.xml | 6 +-
.../mixed-persistence-strategy.map.xml | 6 +-
.../src/test/resources/multi-tier.map.xml | 6 +-
cayenne-server/src/test/resources/no-pk.map.xml | 6 +-
.../src/test/resources/numeric-types.map.xml | 6 +-
.../src/test/resources/oneway-rels.map.xml | 6 +-
.../src/test/resources/people.map.xml | 6 +-
.../src/test/resources/persistent.map.xml | 6 +-
.../src/test/resources/primitive.map.xml | 6 +-
.../src/test/resources/qualified.map.xml | 6 +-
.../test/resources/quoted-identifiers.map.xml | 6 +-
.../src/test/resources/reflexive.map.xml | 6 +-
.../resources/relationships-activity.map.xml | 6 +-
.../relationships-child-master.map.xml | 6 +-
.../test/resources/relationships-clob.map.xml | 6 +-
.../relationships-collection-to-many.map.xml | 6 +-
.../relationships-delete-rules.map.xml | 6 +-
.../resources/relationships-flattened.map.xml | 6 +-
.../resources/relationships-set-to-many.map.xml | 6 +-
.../resources/relationships-to-many-fk.map.xml | 6 +-
.../resources/relationships-to-one-fk.map.xml | 6 +-
.../src/test/resources/relationships.map.xml | 6 +-
.../src/test/resources/return-types.map.xml | 6 +-
.../src/test/resources/soft-delete.map.xml | 6 +-
.../src/test/resources/sus-map.map.xml | 6 +-
.../src/test/resources/table-primitives.map.xml | 6 +-
.../src/test/resources/testmap.map.xml | 6 +-
.../src/test/resources/things.map.xml | 6 +-
cayenne-server/src/test/resources/toone.map.xml | 6 +-
.../unsupported-distinct-types.map.xml | 6 +-
cayenne-server/src/test/resources/uuid.map.xml | 6 +-
.../tools/build-include-table.map.xml-result | 8 +-
.../testCustomObjectLayerSettings.map.xml | 6 +-
...testCustomObjectLayerSettings.map.xml-result | 6 +-
.../dbimport/testDefaultPackage.map.xml-result | 6 +-
.../testFilteringWithSchema.map.xml-result | 6 +-
...nsManyToManyWithRecursiveLink.map.xml-result | 6 +-
.../testImportAddTableAndColumn.map.xml | 6 +-
.../testImportAddTableAndColumn.map.xml-result | 6 +-
.../testImportNewDataMap.map.xml-result | 6 +-
.../dbimport/testImportWithoutChanges.map.xml | 6 +-
.../testImportWithoutChanges.map.xml-result | 6 +-
.../tools/dbimport/testOneToOne.map.xml-result | 6 +-
.../testPreserveCustomObjMappings.map.xml | 6 +-
...testPreserveCustomObjMappings.map.xml-result | 6 +-
.../dbimport/testPreserveRelationships.map.xml | 6 +-
.../testPreserveRelationships.map.xml-result | 6 +-
.../testSchemasAndTableExclude.map.xml-result | 6 +-
.../dbimport/testSkipPrimaryKeyLoading.map.xml | 6 +-
.../testSkipPrimaryKeyLoading.map.xml-result | 6 +-
.../testSkipRelationshipsLoading.map.xml | 6 +-
.../testSkipRelationshipsLoading.map.xml-result | 6 +-
...SupportsCatalogsOnReverseEngineering.map.xml | 6 +-
.../dbimport/testTableTypes.map.xml-result | 6 +-
.../dbimport/testUnFlattensManyToMany.map.xml | 6 +-
.../testUnFlattensManyToMany.map.xml-result | 6 +-
.../dbimport/testViewsExclude.map.xml-result | 6 +-
.../src/main/resources/cayenne-project.xml | 2 +-
.../src/main/resources/datamap.map.xml | 6 +-
163 files changed, 1151 insertions(+), 843 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-crypto/src/test/resources/cayenne-crypto.xml
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/resources/cayenne-crypto.xml b/cayenne-crypto/src/test/resources/cayenne-crypto.xml
index cf7e20f..bd98b69 100644
--- a/cayenne-crypto/src/test/resources/cayenne-crypto.xml
+++ b/cayenne-crypto/src/test/resources/cayenne-crypto.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="datamap"/>
<node name="datanode"
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-crypto/src/test/resources/datamap.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/resources/datamap.map.xml b/cayenne-crypto/src/test/resources/datamap.map.xml
index b71de41..4182205 100644
--- a/cayenne-crypto/src/test/resources/datamap.map.xml
+++ b/cayenne-crypto/src/test/resources/datamap.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.crypto.db"/>
<db-entity name="TABLE1">
<db-attribute name="CRYPTO_INT" type="BLOB"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-java8/src/test/resources/cayenne-java8.xml
----------------------------------------------------------------------
diff --git a/cayenne-java8/src/test/resources/cayenne-java8.xml b/cayenne-java8/src/test/resources/cayenne-java8.xml
index d4ad35d..93f67fd 100644
--- a/cayenne-java8/src/test/resources/cayenne-java8.xml
+++ b/cayenne-java8/src/test/resources/cayenne-java8.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="java8"/>
<node name="datanode"
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-java8/src/test/resources/java8.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-java8/src/test/resources/java8.map.xml b/cayenne-java8/src/test/resources/java8.map.xml
index 1d8a274..734c915 100644
--- a/cayenne-java8/src/test/resources/java8.map.xml
+++ b/cayenne-java8/src/test/resources/java8.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.java8.db"/>
<db-entity name="LOCAL_DATE_TEST">
<db-attribute name="Date" type="DATE"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-joda/src/test/resources/cayenne-joda.xml
----------------------------------------------------------------------
diff --git a/cayenne-joda/src/test/resources/cayenne-joda.xml b/cayenne-joda/src/test/resources/cayenne-joda.xml
index 7c7ef9d..68673f9 100644
--- a/cayenne-joda/src/test/resources/cayenne-joda.xml
+++ b/cayenne-joda/src/test/resources/cayenne-joda.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="joda"/>
<node name="datanode"
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-joda/src/test/resources/joda.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-joda/src/test/resources/joda.map.xml b/cayenne-joda/src/test/resources/joda.map.xml
index 0234bf8..b1021f8 100644
--- a/cayenne-joda/src/test/resources/joda.map.xml
+++ b/cayenne-joda/src/test/resources/joda.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.joda.db"/>
<db-entity name="DATE_TIME_TEST">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-lifecycle/src/test/resources/cayenne-lifecycle.xml
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/resources/cayenne-lifecycle.xml b/cayenne-lifecycle/src/test/resources/cayenne-lifecycle.xml
index cffc16b..5b9a83e 100644
--- a/cayenne-lifecycle/src/test/resources/cayenne-lifecycle.xml
+++ b/cayenne-lifecycle/src/test/resources/cayenne-lifecycle.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="lifecycle-map"/>
<node name="lifecycle-db"
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-lifecycle/src/test/resources/lifecycle-map.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/resources/lifecycle-map.map.xml b/cayenne-lifecycle/src/test/resources/lifecycle-map.map.xml
index 312b7ac..7b62e06 100644
--- a/cayenne-lifecycle/src/test/resources/lifecycle-map.map.xml
+++ b/cayenne-lifecycle/src/test/resources/lifecycle-map.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.lifecycle.db"/>
<db-entity name="AUDITABLE1">
<db-attribute name="CHAR_PROPERTY1" type="VARCHAR" length="200"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-project/src/main/java/org/apache/cayenne/project/CayenneProjectModule.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/CayenneProjectModule.java b/cayenne-project/src/main/java/org/apache/cayenne/project/CayenneProjectModule.java
index f066e2f..6f31b9c 100644
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/CayenneProjectModule.java
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/CayenneProjectModule.java
@@ -21,7 +21,7 @@ package org.apache.cayenne.project;
import org.apache.cayenne.di.Binder;
import org.apache.cayenne.di.Module;
import org.apache.cayenne.project.upgrade.ProjectUpgrader;
-import org.apache.cayenne.project.upgrade.v8.ProjectUpgrader_V8;
+import org.apache.cayenne.project.upgrade.v9.ProjectUpgrader_V9;
import org.apache.cayenne.project.validation.DefaultProjectValidator;
import org.apache.cayenne.project.validation.ProjectValidator;
@@ -36,7 +36,7 @@ public class CayenneProjectModule implements Module {
public void configure(Binder binder) {
binder.bind(ProjectLoader.class).to(DataChannelProjectLoader.class);
binder.bind(ProjectSaver.class).to(FileProjectSaver.class);
- binder.bind(ProjectUpgrader.class).to(ProjectUpgrader_V8.class);
+ binder.bind(ProjectUpgrader.class).to(ProjectUpgrader_V9.class);
binder.bind(ProjectValidator.class).to(DefaultProjectValidator.class);
binder.bind(ConfigurationNodeParentGetter.class).to(
DefaultConfigurationNodeParentGetter.class);
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-project/src/main/java/org/apache/cayenne/project/FileProjectSaver.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/FileProjectSaver.java b/cayenne-project/src/main/java/org/apache/cayenne/project/FileProjectSaver.java
index 95ef738..5b22b08 100644
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/FileProjectSaver.java
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/FileProjectSaver.java
@@ -62,7 +62,7 @@ public class FileProjectSaver implements ProjectSaver {
}
public String getSupportedVersion() {
- return "8";
+ return "9";
}
public void save(Project project) {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v9/ProjectUpgrader_V9.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v9/ProjectUpgrader_V9.java b/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v9/ProjectUpgrader_V9.java
new file mode 100644
index 0000000..2f585b2
--- /dev/null
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v9/ProjectUpgrader_V9.java
@@ -0,0 +1,44 @@
+/*****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.cayenne.project.upgrade.v9;
+
+
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.di.Injector;
+import org.apache.cayenne.project.upgrade.ProjectUpgrader;
+import org.apache.cayenne.project.upgrade.UpgradeHandler;
+import org.apache.cayenne.resource.Resource;
+
+/**
+ * A ProjectUpgrader that handles project upgrades from version 4.0.M4 and 8
+ * to version 9.
+ */
+public class ProjectUpgrader_V9 implements ProjectUpgrader {
+
+ @Inject
+ protected Injector injector;
+
+ @Override
+ public UpgradeHandler getUpgradeHandler(Resource projectSource) {
+ UpgradeHandler_V9 handler = new UpgradeHandler_V9(projectSource);
+ injector.injectMembers(handler);
+ return handler;
+ }
+
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v9/UpgradeHandler_V9.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v9/UpgradeHandler_V9.java b/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v9/UpgradeHandler_V9.java
new file mode 100644
index 0000000..2a3faaa
--- /dev/null
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/upgrade/v9/UpgradeHandler_V9.java
@@ -0,0 +1,166 @@
+/*****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.cayenne.project.upgrade.v9;
+
+import org.apache.cayenne.ConfigurationException;
+import org.apache.cayenne.configuration.ConfigurationTree;
+import org.apache.cayenne.configuration.DataChannelDescriptor;
+import org.apache.cayenne.configuration.XMLDataChannelDescriptorLoader;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.di.Injector;
+import org.apache.cayenne.project.Project;
+import org.apache.cayenne.project.ProjectSaver;
+import org.apache.cayenne.project.upgrade.BaseUpgradeHandler;
+import org.apache.cayenne.project.upgrade.UpgradeHandler;
+import org.apache.cayenne.project.upgrade.UpgradeMetaData;
+import org.apache.cayenne.project.upgrade.UpgradeType;
+import org.apache.cayenne.project.upgrade.v8.ProjectUpgrader_V8;
+import org.apache.cayenne.resource.Resource;
+import org.apache.cayenne.util.Util;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathFactory;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+
+public class UpgradeHandler_V9 extends BaseUpgradeHandler {
+
+ static final String TO_VERSION = "9";
+ static final String MIN_SUPPORTED_VERSION = "8";
+
+ @Inject
+ protected Injector injector;
+
+ @Inject
+ private ProjectSaver projectSaver;
+
+ public UpgradeHandler_V9(Resource source) {
+ super(source);
+ }
+
+ @Override
+ protected Resource doPerformUpgrade(UpgradeMetaData metaData) throws ConfigurationException {
+ if (compareVersions(metaData.getProjectVersion(), MIN_SUPPORTED_VERSION) == 0) {
+ ProjectUpgrader_V8 upgraderV8 = new ProjectUpgrader_V8();
+ injector.injectMembers(upgraderV8);
+ UpgradeHandler handlerV8 = upgraderV8.getUpgradeHandler(projectSource);
+ projectSource = handlerV8.performUpgrade();
+ }
+
+ deleteReverseEngineeringFiles(projectSource);
+
+ XMLDataChannelDescriptorLoader loader = new XMLDataChannelDescriptorLoader();
+ injector.injectMembers(loader);
+ ConfigurationTree<DataChannelDescriptor> tree = loader.load(projectSource);
+ Project project = new Project(tree);
+
+ // load and safe cycle updates project version
+ projectSaver.save(project);
+ return project.getConfigurationResource();
+ }
+
+ private void deleteReverseEngineeringFiles(Resource projectSource) {
+ Document projectDoc = readDOMDocument(projectSource);
+
+ try {
+ XPath xpath = XPathFactory.newInstance().newXPath();
+ NodeList nodes = (NodeList) xpath.evaluate("/domain/map/@name", projectDoc, XPathConstants.NODESET);
+
+ for (int i = 0; i < nodes.getLength(); i++) {
+ Node mapNode = nodes.item(i);
+
+ Resource mapResource = projectSource.getRelativeResource(mapNode.getNodeValue() + ".map.xml");
+
+ Document datamapDoc = readDOMDocument(mapResource);
+
+ Node reNode = (Node) xpath.evaluate("/data-map/reverse-engineering-config",
+ datamapDoc, XPathConstants.NODE);
+
+ if (reNode != null) {
+ String reFileName = ((Element) reNode).getAttribute("name") + ".xml";
+
+ try {
+ String directoryPath = Util.toFile(projectSource.getURL()).getParent();
+
+ File file = new File(directoryPath + "/" + reFileName);
+ if (file.exists()) {
+ file.delete();
+ }
+ } catch (Exception e) {
+ // ignore...
+ }
+ }
+ }
+
+ } catch (Exception e) {
+ throw new ConfigurationException("Unable to parse Cayenne XML configuration files.", e);
+ }
+ }
+
+ private Document readDOMDocument(Resource resource) {
+ DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
+ try {
+ DocumentBuilder domBuilder = documentBuilderFactory.newDocumentBuilder();
+
+ try (InputStream inputStream = resource.getURL().openStream()) {
+ return domBuilder.parse(inputStream);
+ } catch (IOException | SAXException e) {
+ throw new ConfigurationException("Error loading configuration from %s", e, resource);
+ }
+ } catch (ParserConfigurationException e) {
+ throw new ConfigurationException(e);
+ }
+ }
+
+ @Override
+ protected UpgradeMetaData loadMetaData() {
+ String version = loadProjectVersion();
+
+ UpgradeMetaData metadata = new UpgradeMetaData();
+ metadata.setSupportedVersion(TO_VERSION);
+ metadata.setProjectVersion(version);
+
+ int c1 = compareVersions(version, MIN_SUPPORTED_VERSION);
+ int c2 = compareVersions(TO_VERSION, version);
+
+ if (c1 < 0) {
+ metadata.setIntermediateUpgradeVersion(MIN_SUPPORTED_VERSION);
+ metadata.setUpgradeType(UpgradeType.INTERMEDIATE_UPGRADE_NEEDED);
+ } else if (c2 < 0) {
+ metadata.setUpgradeType(UpgradeType.DOWNGRADE_NEEDED);
+ } else if (c2 == 0) {
+ metadata.setUpgradeType(UpgradeType.UPGRADE_NOT_NEEDED);
+ } else {
+ metadata.setUpgradeType(UpgradeType.UPGRADE_NEEDED);
+ }
+
+ return metadata;
+ }
+
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v7/ProjectUpgrader_V7Test.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v7/ProjectUpgrader_V7Test.java b/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v7/ProjectUpgrader_V7Test.java
index 7fa997b..d97733f 100644
--- a/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v7/ProjectUpgrader_V7Test.java
+++ b/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v7/ProjectUpgrader_V7Test.java
@@ -18,36 +18,13 @@
****************************************************************/
package org.apache.cayenne.project.upgrade.v7;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpression;
-import javax.xml.xpath.XPathFactory;
-
import org.apache.cayenne.configuration.ConfigurationNameMapper;
import org.apache.cayenne.configuration.DataMapLoader;
import org.apache.cayenne.configuration.DefaultConfigurationNameMapper;
import org.apache.cayenne.configuration.XMLDataMapLoader;
import org.apache.cayenne.configuration.server.JNDIDataSourceFactory;
import org.apache.cayenne.configuration.server.XMLPoolingDataSourceFactory;
-import org.apache.cayenne.di.AdhocObjectFactory;
-import org.apache.cayenne.di.Binder;
-import org.apache.cayenne.di.ClassLoaderManager;
-import org.apache.cayenne.di.DIBootstrap;
-import org.apache.cayenne.di.Injector;
-import org.apache.cayenne.di.Module;
+import org.apache.cayenne.di.*;
import org.apache.cayenne.di.spi.DefaultAdhocObjectFactory;
import org.apache.cayenne.di.spi.DefaultClassLoaderManager;
import org.apache.cayenne.project.FileProjectSaver;
@@ -64,6 +41,17 @@ import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpression;
+import javax.xml.xpath.XPathFactory;
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.junit.Assert.*;
+
public class ProjectUpgrader_V7Test extends Project2Case {
@Test
@@ -274,7 +262,7 @@ public class ProjectUpgrader_V7Test extends Project2Case {
XPath xpath = XPathFactory.newInstance().newXPath();
assertEquals("", xpath.evaluate("/domain/@name", document));
- assertEquals("8", xpath.evaluate("/domain/@project-version", document));
+ assertEquals("9", xpath.evaluate("/domain/@project-version", document));
NodeList maps = (NodeList) xpath.evaluate("/domain/map", document, XPathConstants.NODESET);
assertNotNull(maps);
@@ -316,7 +304,7 @@ public class ProjectUpgrader_V7Test extends Project2Case {
XPath xpath = XPathFactory.newInstance().newXPath();
assertEquals("", xpath.evaluate("/domain/@name", document));
- assertEquals("8", xpath.evaluate("/domain/@project-version", document));
+ assertEquals("9", xpath.evaluate("/domain/@project-version", document));
NodeList maps = (NodeList) xpath.evaluate("/domain/map", document, XPathConstants.NODESET);
assertNotNull(maps);
@@ -350,14 +338,14 @@ public class ProjectUpgrader_V7Test extends Project2Case {
Document document = toDOMTree(file);
XPath xpath = XPathFactory.newInstance().newXPath();
- assertEquals("8", xpath.evaluate("/data-map/@project-version", document));
+ assertEquals("9", xpath.evaluate("/data-map/@project-version", document));
}
private void assertPerformUpgrade_3_0_0_1_d1Map2(File file) throws Exception {
Document document = toDOMTree(file);
XPath xpath = XPathFactory.newInstance().newXPath();
- assertEquals("8", xpath.evaluate("/data-map/@project-version", document));
+ assertEquals("9", xpath.evaluate("/data-map/@project-version", document));
}
@Test
@@ -408,7 +396,7 @@ public class ProjectUpgrader_V7Test extends Project2Case {
Document document = toDOMTree(file);
XPath xpath = XPathFactory.newInstance().newXPath();
- assertEquals("8", xpath.evaluate("/data-map/@project-version", document));
+ assertEquals("9", xpath.evaluate("/data-map/@project-version", document));
NodeList maps = (NodeList) xpath.evaluate("/data-map/obj-entity/entity-listener", document,
XPathConstants.NODESET);
@@ -420,14 +408,14 @@ public class ProjectUpgrader_V7Test extends Project2Case {
Document document = toDOMTree(file);
XPath xpath = XPathFactory.newInstance().newXPath();
- assertEquals("8", xpath.evaluate("/domain/@project-version", document));
+ assertEquals("9", xpath.evaluate("/domain/@project-version", document));
}
private void assertPerformUpgradeMap2(File file) throws Exception {
Document document = toDOMTree(file);
XPath xpath = XPathFactory.newInstance().newXPath();
- assertEquals("8", xpath.evaluate("/data-map/@project-version", document));
+ assertEquals("9", xpath.evaluate("/data-map/@project-version", document));
}
@Test
@@ -483,7 +471,7 @@ public class ProjectUpgrader_V7Test extends Project2Case {
Document document = toDOMTree(file);
XPath xpath = XPathFactory.newInstance().newXPath();
- assertEquals("8", xpath.evaluate("/data-map/@project-version", document));
+ assertEquals("9", xpath.evaluate("/data-map/@project-version", document));
String xpathValue = "/data-map/obj-entity[@name='GreatArtist']/obj-attribute";
XPathExpression expr = xpath.compile(xpathValue);
@@ -496,7 +484,7 @@ public class ProjectUpgrader_V7Test extends Project2Case {
Document document = toDOMTree(file);
XPath xpath = XPathFactory.newInstance().newXPath();
- assertEquals("8", xpath.evaluate("/data-map/@project-version", document));
+ assertEquals("9", xpath.evaluate("/data-map/@project-version", document));
String xpath_1 = "/data-map/obj-entity[@name='House']/obj-attribute/@name";
String xpath_2 = "/data-map/obj-entity[@name='Penthouse']/obj-attribute/@name";
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v8/ProjectUpgrader_V8Test.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v8/ProjectUpgrader_V8Test.java b/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v8/ProjectUpgrader_V8Test.java
index ceb87a8..610d77c 100644
--- a/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v8/ProjectUpgrader_V8Test.java
+++ b/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v8/ProjectUpgrader_V8Test.java
@@ -1,3 +1,21 @@
+/*****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.cayenne.project.upgrade.v8;
import org.apache.cayenne.CayenneRuntimeException;
@@ -126,7 +144,7 @@ public class ProjectUpgrader_V8Test extends Project2Case {
XPath xpath = XPathFactory.newInstance().newXPath();
assertEquals("", xpath.evaluate("/domain/@name", document));
- assertEquals("8", xpath.evaluate("/domain/@project-version", document));
+ assertEquals("9", xpath.evaluate("/domain/@project-version", document));
NodeList maps = (NodeList) xpath.evaluate("/domain/map", document, XPathConstants.NODESET);
assertNotNull(maps);
@@ -147,7 +165,7 @@ public class ProjectUpgrader_V8Test extends Project2Case {
Document document = toDOMTree(file);
XPath xpath = XPathFactory.newInstance().newXPath();
- assertEquals("8", xpath.evaluate("/data-map/@project-version", document));
+ assertEquals("9", xpath.evaluate("/data-map/@project-version", document));
NodeList queryNodes = (NodeList) xpath.evaluate("/data-map/query", document, XPathConstants.NODESET);
assertNotNull(queryNodes);
@@ -174,6 +192,6 @@ public class ProjectUpgrader_V8Test extends Project2Case {
Document document = toDOMTree(file);
XPath xpath = XPathFactory.newInstance().newXPath();
- assertEquals("8", xpath.evaluate("/data-map/@project-version", document));
+ assertEquals("9", xpath.evaluate("/data-map/@project-version", document));
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v9/ProjectUpgrader_V9Test.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v9/ProjectUpgrader_V9Test.java b/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v9/ProjectUpgrader_V9Test.java
new file mode 100644
index 0000000..32f4b68
--- /dev/null
+++ b/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v9/ProjectUpgrader_V9Test.java
@@ -0,0 +1,185 @@
+/*****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.cayenne.project.upgrade.v9;
+
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.configuration.ConfigurationNameMapper;
+import org.apache.cayenne.configuration.DataMapLoader;
+import org.apache.cayenne.configuration.DefaultConfigurationNameMapper;
+import org.apache.cayenne.configuration.XMLDataMapLoader;
+import org.apache.cayenne.di.*;
+import org.apache.cayenne.di.spi.DefaultAdhocObjectFactory;
+import org.apache.cayenne.di.spi.DefaultClassLoaderManager;
+import org.apache.cayenne.project.FileProjectSaver;
+import org.apache.cayenne.project.ProjectSaver;
+import org.apache.cayenne.project.unit.Project2Case;
+import org.apache.cayenne.project.upgrade.UpgradeHandler;
+import org.apache.cayenne.resource.Resource;
+import org.apache.cayenne.resource.URLResource;
+import org.apache.cayenne.test.file.FileUtil;
+import org.apache.cayenne.test.resource.ResourceUtil;
+import org.junit.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathFactory;
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
+
+public class ProjectUpgrader_V9Test extends Project2Case {
+
+ protected File setupTestDirectory(String subfolder) {
+ String classPath = getClass().getName().replace('.', '/');
+ String location = "target/testrun/" + classPath + "/" + subfolder;
+ File testDirectory = new File(location);
+
+ // delete old tests
+ if (testDirectory.exists()) {
+ if (!FileUtil.delete(location, true)) {
+ throw new CayenneRuntimeException(
+ "Error deleting test directory '%s'",
+ location);
+ }
+ }
+
+ if (!testDirectory.mkdirs()) {
+ throw new CayenneRuntimeException(
+ "Error creating test directory '%s'",
+ location);
+ }
+
+ return testDirectory;
+ }
+
+ @Test
+ public void testPerformUpgradeFrom8() throws Exception {
+
+ File testFolder = setupTestDirectory("testPerformUpgradeFrom8");
+ String sourceUrl = getClass().getPackage().getName().replace('.', '/') + "/";
+
+ List<String> sources = new ArrayList<>();
+
+ sources.add("cayenne-PROJECT1.xml");
+ sources.add("testProjectMap1_1.map.xml");
+ sources.add("testProjectMap1_2.map.xml");
+ sources.add("reverseEngineering.xml");
+
+ // upgrades are done in-place, so copy it first
+ List<File> targetsBefore = new ArrayList<>();
+ for (String source : sources) {
+
+ URL url = getClass().getClassLoader().getResource(sourceUrl + source);
+ File target = new File(testFolder, source);
+ assertNotNull(source);
+ ResourceUtil.copyResourceToFile(url, target);
+ targetsBefore.add(target);
+ }
+
+ Module testModule = new Module() {
+
+ public void configure(Binder binder) {
+ binder.bind(ClassLoaderManager.class).to(DefaultClassLoaderManager.class);
+ binder.bind(AdhocObjectFactory.class).to(DefaultAdhocObjectFactory.class);
+ binder.bind(ProjectSaver.class).to(FileProjectSaver.class);
+ binder.bind(ConfigurationNameMapper.class).to(DefaultConfigurationNameMapper.class);
+ binder.bind(DataMapLoader.class).to(XMLDataMapLoader.class);
+ }
+ };
+
+ ProjectUpgrader_V9 upgrader = new ProjectUpgrader_V9();
+ Injector injector = DIBootstrap.createInjector(testModule);
+ injector.injectMembers(upgrader);
+
+ Resource source = new URLResource(targetsBefore.get(0).toURL());
+ UpgradeHandler handler = upgrader.getUpgradeHandler(source);
+
+ Resource upgraded = handler.performUpgrade();
+ assertNotNull(upgraded);
+ assertNotSame(source, upgrader);
+
+ // check that all the new files are created...
+ String[] targetsAfterNames = new String[] {
+ "cayenne-PROJECT1.xml", "testProjectMap1_1.map.xml", "testProjectMap1_2.map.xml"
+ };
+
+ File[] targetsAfter = new File[targetsAfterNames.length];
+ for (int i = 0; i < targetsAfter.length; i++) {
+ targetsAfter[i] = new File(testFolder, targetsAfterNames[i]);
+ assertTrue("File was not created: " + targetsAfter[i].getAbsolutePath(), targetsAfter[i].exists());
+ }
+
+ // assert XML structure of the generated files
+ assertPerformUpgradeFrom8_cayenne(targetsAfter[0]);
+ assertPerformUpgradeFrom8_map1_1(targetsAfter[1]);
+ assertPerformUpgradeFrom8_map1_2(targetsAfter[2]);
+ assertFalse(new File(testFolder, "reverseEngineering.xml").exists());
+ }
+
+ private void assertPerformUpgradeFrom8_cayenne(File file) throws Exception {
+ Document document = toDOMTree(file);
+
+ XPath xpath = XPathFactory.newInstance().newXPath();
+ assertEquals("", xpath.evaluate("/domain/@name", document));
+ assertEquals("9", xpath.evaluate("/domain/@project-version", document));
+
+ NodeList maps = (NodeList) xpath.evaluate("/domain/map", document, XPathConstants.NODESET);
+ assertNotNull(maps);
+ assertEquals(2, maps.getLength());
+
+ Node map1 = maps.item(0);
+ Node map2 = maps.item(1);
+
+ assertEquals("testProjectMap1_1", xpath.evaluate("@name", map1));
+ assertEquals("testProjectMap1_2", xpath.evaluate("@name", map2));
+
+ NodeList nodes = (NodeList) xpath.evaluate("/domain/node", document, XPathConstants.NODESET);
+ assertNotNull(nodes);
+ assertEquals(1, nodes.getLength());
+ }
+
+ private void assertPerformUpgradeFrom8_map1_1(File file) throws Exception {
+ Document document = toDOMTree(file);
+
+ XPath xpath = XPathFactory.newInstance().newXPath();
+ assertEquals("9", xpath.evaluate("/data-map/@project-version", document));
+
+ NodeList reverseEngineeringNodes = (NodeList) xpath.evaluate("/data-map/reverse-engineering-config",
+ document, XPathConstants.NODESET);
+ assertEquals(0, reverseEngineeringNodes.getLength());
+ }
+
+ private void assertPerformUpgradeFrom8_map1_2(File file) throws Exception {
+ Document document = toDOMTree(file);
+
+ XPath xpath = XPathFactory.newInstance().newXPath();
+ assertEquals("9", xpath.evaluate("/data-map/@project-version", document));
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/v9/cayenne-PROJECT1.xml
----------------------------------------------------------------------
diff --git a/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/v9/cayenne-PROJECT1.xml b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/v9/cayenne-PROJECT1.xml
new file mode 100644
index 0000000..745ea3f
--- /dev/null
+++ b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/v9/cayenne-PROJECT1.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="8">
+
+ <map name="testProjectMap1_1" />
+ <map name="testProjectMap1_2" />
+
+ <node name="testProjectNode1"
+ adapter="org.example.test.Adapter" factory="org.example.test.DataSourceFactory">
+ <data-source>
+ <connectionPool min="1" max="1" />
+ <login />
+ </data-source>
+ <map-ref name="testProjectMap1_1" />
+ </node>
+</domain>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/v9/reverseEngineering.xml
----------------------------------------------------------------------
diff --git a/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/v9/reverseEngineering.xml b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/v9/reverseEngineering.xml
new file mode 100644
index 0000000..f88b81f
--- /dev/null
+++ b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/v9/reverseEngineering.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<reverseEngineering xsi:schemaLocation="http://cayenne.apache.org/schema/8/reverseEngineering http://cayenne.apache.org/schema/8/reverseEngineering.xsd" xmlns="http://cayenne.apache.org/schema/8/reverseEngineering" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <skipRelationshipsLoading>false</skipRelationshipsLoading>
+ <skipPrimaryKeyLoading>false</skipPrimaryKeyLoading>
+ <catalog>
+ <schema>
+ <includeTable/>
+ <includeProcedure pattern=".*"/>
+ </schema>
+ </catalog>
+</reverseEngineering>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/v9/testProjectMap1_1.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/v9/testProjectMap1_1.map.xml b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/v9/testProjectMap1_1.map.xml
new file mode 100644
index 0000000..e7dcd65
--- /dev/null
+++ b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/v9/testProjectMap1_1.map.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
+ project-version="8">
+ <reverse-engineering-config name="reverseEngineering"/>
+ <db-entity name="Artist">
+ <db-attribute name="untitledAttr" type="CHAR" isPrimaryKey="true" isMandatory="true" length="10"/>
+ <db-attribute name="untitledAttr1" type="DATE"/>
+ </db-entity>
+ <obj-entity name="Artist" dbEntityName="Artist">
+ <entity-listener class="NowyListener">
+ </entity-listener>
+ </obj-entity>
+</data-map>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/v9/testProjectMap1_2.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/v9/testProjectMap1_2.map.xml b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/v9/testProjectMap1_2.map.xml
new file mode 100644
index 0000000..67968c9
--- /dev/null
+++ b/cayenne-project/src/test/resources/org/apache/cayenne/project/upgrade/v9/testProjectMap1_2.map.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap http://cayenne.apache.org/schema/3.0/modelMap.xsd"
+ project-version="8">
+
+</data-map>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-protostuff/src/test/resources/cayenne-protostuff.xml
----------------------------------------------------------------------
diff --git a/cayenne-protostuff/src/test/resources/cayenne-protostuff.xml b/cayenne-protostuff/src/test/resources/cayenne-protostuff.xml
index e585624..08d85b1 100644
--- a/cayenne-protostuff/src/test/resources/cayenne-protostuff.xml
+++ b/cayenne-protostuff/src/test/resources/cayenne-protostuff.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="protostuff"/>
<node name="datanode"
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-protostuff/src/test/resources/protostuff.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-protostuff/src/test/resources/protostuff.map.xml b/cayenne-protostuff/src/test/resources/protostuff.map.xml
index 373b84e..d3277bf 100644
--- a/cayenne-protostuff/src/test/resources/protostuff.map.xml
+++ b/cayenne-protostuff/src/test/resources/protostuff.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.rop.protostuff.persistent"/>
<property name="clientSupported" value="true"/>
<property name="defaultClientPackage" value="org.apache.cayenne.rop.protostuff.persistent"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java b/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
index 5f7d9ab..0d66f55 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
@@ -120,7 +120,7 @@ public class DataMap implements Serializable, ConfigurationNode, XMLSerializable
* The namespace in which the data map XML file will be created. This is
* also the URI to locate a copy of the schema document.
*/
- public static final String SCHEMA_XSD = "http://cayenne.apache.org/schema/8/modelMap";
+ public static final String SCHEMA_XSD = "http://cayenne.apache.org/schema/9/modelMap";
protected String name;
protected String location;
@@ -311,7 +311,7 @@ public class DataMap implements Serializable, ConfigurationNode, XMLSerializable
* @since 1.1
*/
public void encodeAsXML(XMLEncoder encoder) {
- encoder.println("<data-map xmlns=\"http://cayenne.apache.org/schema/8/modelMap\"");
+ encoder.println("<data-map xmlns=\"http://cayenne.apache.org/schema/9/modelMap\"");
encoder.indent(1);
encoder.println(" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"");
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/modelMap.xsd
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/modelMap.xsd b/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/modelMap.xsd
deleted file mode 100644
index 45c0792..0000000
--- a/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/modelMap.xsd
+++ /dev/null
@@ -1,338 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you 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.
--->
-
-<!--
- Cayenne entity map schema
- Defines format of Cayenne DataMap XML files (*.map.xml). DataMap files contain
- the metadata needed for Cayenne object-relational features. Multiple DataMaps
- are usually combined in one shared namespace, so the elements of the DataMap
- may reference objects from other DataMaps.
--->
-<xs:schema targetNamespace="http://cayenne.apache.org/schema/8/modelMap"
- xmlns:cay="http://cayenne.apache.org/schema/8/modelMap"
- xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="8">
- <xs:element name="data-map">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:property"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:embeddable"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:procedure"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:db-entity"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:obj-entity"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:db-relationship"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:obj-relationship"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:query"/>
- </xs:sequence>
- <xs:attribute name="project-version" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="db-entity">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="cay:db-attribute"/>
- <xs:element minOccurs="0" ref="cay:db-key-generator"/>
-
- <!-- Qualifier for DB Entity -->
- <xs:element minOccurs="0" ref="cay:qualifier"/>
- </xs:sequence>
- <xs:attribute name="name" use="required" type="xs:string"/>
- <xs:attribute name="schema" type="xs:string"/>
- <xs:attribute name="catalog" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="db-attribute">
- <xs:annotation>
- <xs:documentation>A database column.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:attribute name="isMandatory" type="xs:boolean"/>
- <xs:attribute name="isPrimaryKey" type="xs:boolean">
- <xs:annotation>
- <xs:documentation>If true, the value of attribute is unique and used as a primary key identifier.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="isGenerated" use="optional" type="xs:boolean"/>
- <xs:attribute name="length" type="xs:integer"/>
- <xs:attribute name="name" use="required" type="xs:string"/>
- <xs:attribute name="scale" type="xs:integer"/>
- <xs:attribute name="type" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="obj-entity">
- <xs:annotation>
- <xs:documentation>A persistent Java class managed by Cayenne.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" ref="cay:qualifier"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:embedded-attribute"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:obj-attribute"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:attribute-override"/>
-
- <!-- Callbacks -->
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-add"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:pre-persist"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-persist"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:pre-update"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-update"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:pre-remove"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-remove"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-load"/>
- </xs:sequence>
- <xs:attribute name="className" use="optional" type="xs:string"/>
- <xs:attribute name="abstract" use="optional" type="xs:string"/>
- <xs:attribute name="readOnly" use="optional" type="xs:boolean"/>
- <xs:attribute name="clientClassName" use="optional" type="xs:string"/>
- <xs:attribute name="clientSuperClassName" use="optional" type="xs:string"/>
- <xs:attribute name="dbEntityName" use="optional" type="xs:string"/>
- <xs:attribute name="lock-type" type="xs:string"/>
- <xs:attribute name="name" use="required" type="xs:string"/>
- <xs:attribute name="superClassName" use="optional" type="xs:string"/>
- <xs:attribute name="superEntityName" use="optional" type="xs:string"/>
- <xs:attribute name="serverOnly" use="optional" type="xs:boolean"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="qualifier" type="xs:string"/>
-
- <xs:element name="obj-attribute">
- <xs:complexType>
- <xs:attribute name="db-attribute-path" use="optional" type="xs:string"/>
- <xs:attribute name="lock" use="optional" type="xs:boolean"/>
- <xs:attribute name="name" use="required" type="xs:string"/>
- <xs:attribute name="type" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="attribute-override">
- <xs:complexType>
- <xs:attribute name="db-attribute-path" use="optional" type="xs:string"/>
- <xs:attribute name="lock" use="optional" type="xs:boolean"/>
- <xs:attribute name="name" use="optional" type="xs:string"/>
- <xs:attribute name="type" use="optional" type="xs:string"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="db-relationship">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="unbounded" ref="cay:db-attribute-pair"/>
- </xs:sequence>
- <xs:attribute name="name" use="required" type="xs:string"/>
- <xs:attribute name="source" use="required" type="xs:string"/>
- <xs:attribute name="target" use="required" type="xs:string"/>
- <xs:attribute name="toDependentPK" type="xs:boolean"/>
- <xs:attribute name="toMany" use="required" type="xs:boolean"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="db-attribute-pair">
- <xs:complexType>
- <xs:attribute name="source" use="required" type="xs:string"/>
- <xs:attribute name="target" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="obj-relationship">
- <xs:complexType>
- <xs:attribute name="db-relationship-path" use="required" type="xs:string"/>
- <xs:attribute name="deleteRule" type="xs:string"/>
- <xs:attribute name="lock" type="xs:boolean"/>
- <xs:attribute name="name" use="required" type="xs:string"/>
- <xs:attribute name="source" use="required" type="xs:string"/>
- <xs:attribute name="target" use="required" type="xs:string"/>
- <xs:attribute name="collection-type" use="optional" type="xs:string"/>
- <xs:attribute name="map-key" use="optional" type="xs:string"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="query">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:property"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:sql"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:ejbql"/>
- <xs:element name="qualifier" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:ordering"/>
- <xs:element name="prefetch" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
- </xs:sequence>
- <xs:attribute name="type" use="required" type="xs:string"/>
- <xs:attribute name="name" use="required" type="xs:string"/>
- <xs:attribute name="root" use="optional" type="xs:string"/>
- <xs:attribute name="root-name" use="optional" type="xs:string"/>
- <xs:attribute name="result-entity" use="optional" type="xs:string"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="ordering">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="descending" type="xs:boolean"/>
- <xs:attribute name="ignore-case" type="xs:boolean"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="sql">
- <xs:annotation>
- <xs:documentation>Defines arbitrary SQL statement. Note that SQL statement can be customized for different SQL dialects per DbAdapter class. If no adapter-specific statement is found, the one with no adapter label is used by default.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="adapter-class" type="xs:string"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="ejbql" type="xs:string"/>
-
- <xs:element name="property">
- <xs:annotation>
- <xs:documentation>A generic property used by other elements.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:attribute name="name" use="required" type="xs:string"/>
- <xs:attribute name="value" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="embeddable">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="embeddable-attribute" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:attribute name="name" use="required" type="xs:string"/>
- <xs:attribute name="type" use="required" type="xs:string"/>
- <xs:attribute name="db-attribute-name" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="className" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="embedded-attribute">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded"
- ref="cay:embeddable-attribute-override"/>
- </xs:sequence>
- <xs:attribute name="type" use="required" type="xs:string"/>
- <xs:attribute name="name" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="embeddable-attribute-override">
- <xs:complexType>
- <xs:attribute name="db-attribute-path" use="required" type="xs:string"/>
- <xs:attribute name="name" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="procedure">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" name="procedure-parameter">
- <xs:complexType>
- <xs:attribute name="name" use="required" type="xs:string"/>
- <xs:attribute name="type" use="required" type="xs:string"/>
- <xs:attribute name="length" use="optional" type="xs:integer"/>
- <xs:attribute name="direction" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="name" use="required" type="xs:string"/>
- <xs:attribute name="schema" type="xs:string"/>
- <xs:attribute name="catalog" type="xs:string"/>
- <xs:attribute name="returningValue" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="pre-update">
- <xs:complexType>
- <xs:attribute name="method-name" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="post-persist">
- <xs:complexType>
- <xs:attribute name="method-name" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="post-update">
- <xs:complexType>
- <xs:attribute name="method-name" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="post-add">
- <xs:complexType>
- <xs:attribute name="method-name" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="pre-persist">
- <xs:complexType>
- <xs:attribute name="method-name" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="post-remove">
- <xs:complexType>
- <xs:attribute name="method-name" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="post-load">
- <xs:complexType>
- <xs:attribute name="method-name" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="pre-remove">
- <xs:complexType>
- <xs:attribute name="method-name" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="db-key-generator">
- <xs:annotation>
- <xs:documentation>Used to install the Automatic Sequence/Key Generation facility for db-entity. This feature is intended for use with simple (non-compound) integral primary keys.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="db-generator-type" type="xs:string">
- <xs:annotation>
- <xs:documentation>Specifies the Key Generation Method that will be employed
- 'ORACLE' - use Oracle's SEQUENCE
- 'NAMED_SEQUENCE_TABLE' - use USER designated SEQUENCE TABLE. User specifies the name of a DBMS Table with the schema (sequence INT) which will be used to hold sequence values (not supported yet)</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element minOccurs="0" name="db-generator-name" type="xs:string">
- <xs:annotation>
- <xs:documentation>For db-generator-type ORACLE this is the name of the ORACLE SEQUENCE to use. The SEQUENCE is assumed to already exist in the Database.
-If this is db-generator-type NAMED_SEQUENCE_TABLE Key Generation, this specifies the name of the SEQUENCE TABLE to use. The NAMED_SEQUENCE_TABLE is assumed to already exist in the database.</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element minOccurs="0" name="db-key-cache-size" type="xs:integer">
- <xs:annotation>
- <xs:documentation>Size of key cache. For db-generator-type ORACLE , this value MUST match the Oracle SEQUENCE INCREMENT value. If there is a mismatch between this value and the Oracle SEQUENCE INCREMENT value, then there will likely be duplicate key problems.
-For db-generator-type NAMED_SEQUENCE_TABLE , this tells how many keys the Container will fetch in a single DBMS call.</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-</xs:schema>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/reverseEngineering.xsd
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/reverseEngineering.xsd b/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/reverseEngineering.xsd
deleted file mode 100644
index 93248ba..0000000
--- a/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/reverseEngineering.xsd
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you 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.
- -->
-<xs:schema attributeFormDefault="unqualified"
- elementFormDefault="qualified"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
-
- <xs:complexType name="PatternParamType" mixed="true">
- <xs:annotation>
- <xs:documentation>
- At least one of 3 options ot fill pattern information should be used
- 1) <tag>pattern<tag>
- 2) <tag pattern="pattern" />
- 3) <tag>
- <pattern>pattern</pattern>
- </tag>
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element type="xs:string" name="pattern" minOccurs="0"/>
- </xs:sequence>
- <xs:attribute type="xs:string" name="pattern" use="optional"/>
- </xs:complexType>
-
- <xs:complexType name="IncludeTableType" mixed="true">
- <xs:complexContent>
- <xs:extension base="PatternParamType">
- <xs:sequence>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="includeColumn" type="PatternParamType" />
- <xs:element name="excludeColumn" type="PatternParamType" />
- </xs:choice>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="FilterContainerType">
- <xs:sequence>
- <xs:choice minOccurs="1" maxOccurs="unbounded">
- <xs:element name="includeTable" type="IncludeTableType" />
- <xs:element name="excludeTable" type="PatternParamType" />
- <xs:element name="includeColumn" type="PatternParamType" />
- <xs:element name="excludeColumn" type="PatternParamType" />
- <xs:element name="includeProcedure" type="PatternParamType" />
- <xs:element name="excludeProcedure" type="PatternParamType" />
- </xs:choice>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="SchemaType" mixed="true">
- <xs:annotation>
- <xs:documentation>
- At least one of 3 options to provide schema name can be used:
- 1) <schema>name<schema>
- 2) <schema name="name" />
- 3) <schema>
- <name>name</name>
- </schema>
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="FilterContainerType">
- <xs:sequence>
- <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" />
- </xs:sequence>
- <xs:attribute type="xs:string" name="name" use="optional" />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="CatalogType" mixed="true">
- <xs:annotation>
- <xs:documentation>
- At least one of 3 options to provide schema name can be used:
- 1) <catalog>name<catalog>
- 2) <catalog name="name" />
- 3) <catalog>
- <name>name</name>
- </catalog>
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="FilterContainerType">
- <xs:sequence>
- <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" />
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="schema" type="SchemaType" />
- </xs:choice>
- </xs:sequence>
- <xs:attribute type="xs:string" name="name" use="optional" />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="ReverseEngineeringType">
- <xs:annotation>
- <xs:documentation>
- <!-- TODO -->
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="FilterContainerType">
- <xs:sequence>
- <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" />
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="skipRelationshipsLoading" type="xs:boolean" />
- <xs:element name="skipPrimaryKeyLoading" type="xs:boolean" />
- <xs:element name="catalog" type="CatalogType" />
- <xs:element name="schema" type="SchemaType" />
- </xs:choice>
- </xs:sequence>
- <xs:attribute type="xs:string" name="name" use="optional" />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="reverseEngineering" type="ReverseEngineeringType">
- <xs:annotation>
- <!-- TODO -->
- <xs:documentation> </xs:documentation>
- </xs:annotation>
- </xs:element>
-
-</xs:schema>
[2/7] cayenne git commit: Revert to the old Reverse Engineering UI
style
Posted by sk...@apache.org.
Revert to the old Reverse Engineering UI style
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/29671e75
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/29671e75
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/29671e75
Branch: refs/heads/master
Commit: 29671e75b38620811c2bfc6c0f2b0af01d4942dd
Parents: f7ad0cc
Author: ollybondareva <ol...@gmail.com>
Authored: Wed Oct 19 17:37:45 2016 +0300
Committer: Savva Kolbachev <s....@gmail.com>
Committed: Thu Oct 20 12:53:11 2016 +0300
----------------------------------------------------------------------
.../dbsync/naming/DeduplicationVisitor.java | 24 --
.../dbsync/naming/DefaultBaseNameVisitor.java | 6 -
.../dbsync/naming/NormalizationVisitor.java | 6 -
.../cayenne/project/ConfigurationSaver.java | 9 -
.../project/ConfigurationSourceGetter.java | 5 -
.../project/ConfigurationSourceSetter.java | 7 -
.../DefaultConfigurationNodeParentGetter.java | 12 -
.../cayenne/project/SaveableNodesGetter.java | 9 -
.../validation/DefaultProjectValidator.java | 8 -
.../validation/ReverseEngineeringValidator.java | 42 ---
.../project/ReverseEngineeringSaverTest.java | 62 ----
.../BaseConfigurationNodeVisitor.java | 5 -
.../configuration/ConfigurationNodeVisitor.java | 3 -
.../DefaultConfigurationNameMapper.java | 18 --
.../XMLDataChannelDescriptorLoader.java | 18 --
.../cayenne/dbimport/ReverseEngineering.java | 21 +-
.../java/org/apache/cayenne/map/DataMap.java | 15 -
.../java/org/apache/cayenne/map/MapLoader.java | 22 --
.../org/apache/cayenne/schema/8/modelMap.xsd | 7 -
.../apache/cayenne/tools/DbImporterTask.java | 111 ++------
.../modeler/ProjectFileChangeTracker.java | 6 -
.../cayenne/modeler/action/RemoveAction.java | 4 -
.../action/ReverseEngineeringAction.java | 66 ++++-
.../modeler/dialog/db/ConnectionWizard.java | 89 ++++++
.../modeler/dialog/db/DataMapViewModel.java | 46 ---
.../modeler/dialog/db/DataSourceWizard.java | 222 +++++++++++++++
.../modeler/dialog/db/DataSourceWizardView.java | 94 +++++++
.../modeler/dialog/db/DbLoaderHelper.java | 50 +++-
.../dialog/db/DbLoaderOptionsDialog.java | 253 +++++++++++++++++
.../modeler/dialog/db/ModelerDbLoader.java | 258 -----------------
.../dialog/db/ReverseEngineeringController.java | 243 ----------------
.../dialog/db/ReverseEngineeringScrollPane.java | 34 ---
.../dialog/db/ReverseEngineeringView.java | 281 -------------------
.../modeler/dialog/db/model/DbCatalog.java | 30 --
.../modeler/dialog/db/model/DbColumn.java | 34 ---
.../modeler/dialog/db/model/DbElement.java | 62 ----
.../modeler/dialog/db/model/DbEntity.java | 37 ---
.../modeler/dialog/db/model/DbModel.java | 29 --
.../modeler/dialog/db/model/DbProcedure.java | 33 ---
.../modeler/dialog/db/model/DbSchema.java | 29 --
.../dialog/pref/FilteredTreeCellRenderer.java | 85 ------
.../cayenne/modeler/dialog/pref/TreeEditor.java | 101 -------
.../cayenne/modeler/dialog/pref/TreeView.java | 56 ----
.../modeler/dialog/pref/XMLFileEditor.java | 82 ------
.../cayenne/modeler/dialog/pref/XMLView.java | 72 -----
.../modeler/editor/DataMapTabbedView.java | 21 +-
.../cayenne/modeler/util/CellRenderers.java | 13 -
.../apache/cayenne/tools/DbImporterMojo.java | 95 +------
.../cayenne/tools/DbImporterMojoTest.java | 1 -
49 files changed, 775 insertions(+), 2061 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/DeduplicationVisitor.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/DeduplicationVisitor.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/DeduplicationVisitor.java
index 09d2d97..cd42d32 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/DeduplicationVisitor.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/DeduplicationVisitor.java
@@ -22,7 +22,6 @@ import org.apache.cayenne.configuration.ConfigurationNode;
import org.apache.cayenne.configuration.ConfigurationNodeVisitor;
import org.apache.cayenne.configuration.DataChannelDescriptor;
import org.apache.cayenne.configuration.DataNodeDescriptor;
-import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -206,29 +205,6 @@ class DeduplicationVisitor implements ConfigurationNodeVisitor<String> {
});
}
- @Override
- public String visitReverseEngineering(ReverseEngineering reverseEngineering) {
- return resolve(new Predicate() {
- @Override
- public boolean isNameInUse(String name) {
-
- if (parent == null) {
- return false;
- }
-
- DataChannelDescriptor dataChannelDescriptor = (DataChannelDescriptor) parent;
- for (DataMap dataMap : dataChannelDescriptor.getDataMaps()) {
- if (dataMap != null && dataMap.getReverseEngineering() != null &&
- dataMap.getReverseEngineering().getName() != null
- && dataMap.getReverseEngineering().getName().equals(name)) {
- return true;
- }
- }
- return false;
- }
- });
- }
-
String resolve(Predicate nameChecker) {
int c = 1;
String name = baseName;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/DefaultBaseNameVisitor.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/DefaultBaseNameVisitor.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/DefaultBaseNameVisitor.java
index ecc17f0..f08e04e 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/DefaultBaseNameVisitor.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/DefaultBaseNameVisitor.java
@@ -21,7 +21,6 @@ package org.apache.cayenne.dbsync.naming;
import org.apache.cayenne.configuration.ConfigurationNodeVisitor;
import org.apache.cayenne.configuration.DataChannelDescriptor;
import org.apache.cayenne.configuration.DataNodeDescriptor;
-import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -114,9 +113,4 @@ class DefaultBaseNameVisitor implements ConfigurationNodeVisitor<String> {
public String visitQuery(QueryDescriptor query) {
return "query";
}
-
- @Override
- public String visitReverseEngineering(ReverseEngineering reverseEngineering) {
- return "reverseEngineering";
- }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/NormalizationVisitor.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/NormalizationVisitor.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/NormalizationVisitor.java
index 75d941d..ba8cf9d 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/NormalizationVisitor.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/naming/NormalizationVisitor.java
@@ -21,7 +21,6 @@ package org.apache.cayenne.dbsync.naming;
import org.apache.cayenne.configuration.ConfigurationNodeVisitor;
import org.apache.cayenne.configuration.DataChannelDescriptor;
import org.apache.cayenne.configuration.DataNodeDescriptor;
-import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -115,9 +114,4 @@ class NormalizationVisitor implements ConfigurationNodeVisitor<String> {
public String visitQuery(QueryDescriptor query) {
return baseName;
}
-
- @Override
- public String visitReverseEngineering(ReverseEngineering reverseEngineering) {
- return baseName;
- }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-project/src/main/java/org/apache/cayenne/project/ConfigurationSaver.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/ConfigurationSaver.java b/cayenne-project/src/main/java/org/apache/cayenne/project/ConfigurationSaver.java
index 01d3989..9ed8a88 100644
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/ConfigurationSaver.java
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/ConfigurationSaver.java
@@ -22,7 +22,6 @@ import java.io.PrintWriter;
import org.apache.cayenne.configuration.BaseConfigurationNodeVisitor;
import org.apache.cayenne.configuration.DataChannelDescriptor;
-import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.util.XMLEncoder;
@@ -55,14 +54,6 @@ class ConfigurationSaver extends BaseConfigurationNodeVisitor<Void> {
return null;
}
- @Override
- public Void visitReverseEngineering(ReverseEngineering node) {
- XMLEncoder encoder = new XMLEncoder(printWriter, "\t", version);
- printXMLHeader(encoder);
- node.encodeAsXML(encoder);
- return null;
- }
-
private void printXMLHeader(XMLEncoder encoder) {
encoder.println("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-project/src/main/java/org/apache/cayenne/project/ConfigurationSourceGetter.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/ConfigurationSourceGetter.java b/cayenne-project/src/main/java/org/apache/cayenne/project/ConfigurationSourceGetter.java
index be68dad..61cafe6 100644
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/ConfigurationSourceGetter.java
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/ConfigurationSourceGetter.java
@@ -20,7 +20,6 @@ package org.apache.cayenne.project;
import org.apache.cayenne.configuration.BaseConfigurationNodeVisitor;
import org.apache.cayenne.configuration.DataChannelDescriptor;
-import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.resource.Resource;
@@ -41,8 +40,4 @@ class ConfigurationSourceGetter extends BaseConfigurationNodeVisitor<Resource> {
return dataMap.getConfigurationSource();
}
- @Override
- public Resource visitReverseEngineering(ReverseEngineering reverseEngineering) {
- return reverseEngineering.getConfigurationSource();
- }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-project/src/main/java/org/apache/cayenne/project/ConfigurationSourceSetter.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/ConfigurationSourceSetter.java b/cayenne-project/src/main/java/org/apache/cayenne/project/ConfigurationSourceSetter.java
index 7a3f5d3..2854df1 100644
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/ConfigurationSourceSetter.java
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/ConfigurationSourceSetter.java
@@ -21,7 +21,6 @@ package org.apache.cayenne.project;
import org.apache.cayenne.configuration.BaseConfigurationNodeVisitor;
import org.apache.cayenne.configuration.DataChannelDescriptor;
import org.apache.cayenne.configuration.DataNodeDescriptor;
-import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.resource.Resource;
@@ -55,10 +54,4 @@ class ConfigurationSourceSetter extends BaseConfigurationNodeVisitor<Void> {
node.setConfigurationSource(configurationSource);
return null;
}
-
- @Override
- public Void visitReverseEngineering(ReverseEngineering node) {
- node.setConfigurationSource(configurationSource);
- return null;
- }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-project/src/main/java/org/apache/cayenne/project/DefaultConfigurationNodeParentGetter.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/DefaultConfigurationNodeParentGetter.java b/cayenne-project/src/main/java/org/apache/cayenne/project/DefaultConfigurationNodeParentGetter.java
index dc3c839..669d80b 100644
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/DefaultConfigurationNodeParentGetter.java
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/DefaultConfigurationNodeParentGetter.java
@@ -22,7 +22,6 @@ import org.apache.cayenne.configuration.BaseConfigurationNodeVisitor;
import org.apache.cayenne.configuration.ConfigurationNode;
import org.apache.cayenne.configuration.ConfigurationNodeVisitor;
import org.apache.cayenne.configuration.DataNodeDescriptor;
-import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -34,7 +33,6 @@ import org.apache.cayenne.map.ObjEntity;
import org.apache.cayenne.map.ObjRelationship;
import org.apache.cayenne.map.Procedure;
import org.apache.cayenne.map.ProcedureParameter;
-import org.apache.cayenne.map.QueryDescriptor;
public class DefaultConfigurationNodeParentGetter implements ConfigurationNodeParentGetter {
@@ -109,15 +107,5 @@ public class DefaultConfigurationNodeParentGetter implements ConfigurationNodePa
public ConfigurationNode visitProcedureParameter(ProcedureParameter parameter) {
return (ConfigurationNode) parameter.getParent();
}
-
- @Override
- public ConfigurationNode visitQuery(QueryDescriptor query) {
- return query.getDataMap();
- }
-
- @Override
- public ConfigurationNode visitReverseEngineering(ReverseEngineering reverseEngineering) {
- return reverseEngineering;
- }
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-project/src/main/java/org/apache/cayenne/project/SaveableNodesGetter.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/SaveableNodesGetter.java b/cayenne-project/src/main/java/org/apache/cayenne/project/SaveableNodesGetter.java
index 61c9468..ee20da3 100644
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/SaveableNodesGetter.java
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/SaveableNodesGetter.java
@@ -25,7 +25,6 @@ import java.util.Collections;
import org.apache.cayenne.configuration.BaseConfigurationNodeVisitor;
import org.apache.cayenne.configuration.ConfigurationNode;
import org.apache.cayenne.configuration.DataChannelDescriptor;
-import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.map.DataMap;
/**
@@ -43,9 +42,6 @@ class SaveableNodesGetter extends
for (DataMap map : descriptor.getDataMaps()) {
nodes.add(map);
- if (map.getReverseEngineering() != null) {
- nodes.add(map.getReverseEngineering());
- }
}
return nodes;
@@ -55,9 +51,4 @@ class SaveableNodesGetter extends
public Collection<ConfigurationNode> visitDataMap(DataMap dataMap) {
return Collections.<ConfigurationNode> singletonList(dataMap);
}
-
- @Override
- public Collection<ConfigurationNode> visitReverseEngineering(ReverseEngineering reverseEngineering) {
- return null;
- }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DefaultProjectValidator.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DefaultProjectValidator.java b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DefaultProjectValidator.java
index f240fc8..c25fefe 100644
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DefaultProjectValidator.java
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DefaultProjectValidator.java
@@ -24,7 +24,6 @@ import org.apache.cayenne.configuration.ConfigurationNode;
import org.apache.cayenne.configuration.ConfigurationNodeVisitor;
import org.apache.cayenne.configuration.DataChannelDescriptor;
import org.apache.cayenne.configuration.DataNodeDescriptor;
-import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -65,7 +64,6 @@ public class DefaultProjectValidator implements ProjectValidator {
private ProcedureQueryValidator procedureQueryValidator;
private EJBQLQueryValidator ejbqlQueryValidator;
private SQLTemplateValidator sqlTemplateValidator;
- private ReverseEngineeringValidator reverseEngineeringValidator;
DefaultProjectValidator() {
dataChannelValidator = new DataChannelValidator();
@@ -85,7 +83,6 @@ public class DefaultProjectValidator implements ProjectValidator {
procedureQueryValidator = new ProcedureQueryValidator();
ejbqlQueryValidator = new EJBQLQueryValidator();
sqlTemplateValidator = new SQLTemplateValidator();
- reverseEngineeringValidator = new ReverseEngineeringValidator();
}
public ValidationResult validate(ConfigurationNode node) {
@@ -273,10 +270,5 @@ public class DefaultProjectValidator implements ProjectValidator {
return validationResult;
}
-
- public ValidationResult visitReverseEngineering(ReverseEngineering reverseEngineering) {
- reverseEngineeringValidator.validate(reverseEngineering, validationResult);
- return validationResult;
- }
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-project/src/main/java/org/apache/cayenne/project/validation/ReverseEngineeringValidator.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/ReverseEngineeringValidator.java b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/ReverseEngineeringValidator.java
deleted file mode 100644
index 99b92ba..0000000
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/ReverseEngineeringValidator.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.cayenne.project.validation;
-
-import org.apache.cayenne.dbimport.ReverseEngineering;
-import org.apache.cayenne.util.Util;
-import org.apache.cayenne.validation.ValidationResult;
-
-/**
- * @since 4.0
- */
-public class ReverseEngineeringValidator extends ConfigurationNodeValidator{
- void validate(ReverseEngineering reverseEngineering, ValidationResult validationResult) {
- validateName(reverseEngineering, validationResult);
- }
-
- void validateName(ReverseEngineering reverseEngineering, ValidationResult validationResult) {
- String name = reverseEngineering.getName();
-
- // Must have name
- if (Util.isEmptyString(name)) {
- addFailure(validationResult, reverseEngineering, "Unnamed ReverseEngineering");
- return;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-project/src/test/java/org/apache/cayenne/project/ReverseEngineeringSaverTest.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/test/java/org/apache/cayenne/project/ReverseEngineeringSaverTest.java b/cayenne-project/src/test/java/org/apache/cayenne/project/ReverseEngineeringSaverTest.java
deleted file mode 100644
index 1176f19..0000000
--- a/cayenne-project/src/test/java/org/apache/cayenne/project/ReverseEngineeringSaverTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.apache.cayenne.project;
-
-import org.apache.cayenne.configuration.*;
-import org.apache.cayenne.dbimport.ReverseEngineering;
-import org.apache.cayenne.di.*;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.project.unit.Project2Case;
-import org.apache.cayenne.resource.URLResource;
-import org.junit.Before;
-import org.junit.Test;
-
-import java.io.File;
-import java.net.MalformedURLException;
-
-import static org.junit.Assert.assertTrue;
-
-/**
- * @since 4.0
- */
-public class ReverseEngineeringSaverTest extends Project2Case {
- private FileProjectSaver saver;
-
- @Before
- public void setUp() throws Exception {
- Module testModule = new Module() {
-
- public void configure(Binder binder) {
- binder.bind(ConfigurationNameMapper.class).to(
- DefaultConfigurationNameMapper.class);
- }
- };
-
- saver = new FileProjectSaver();
- Injector injector = DIBootstrap.createInjector(testModule);
- injector.injectMembers(saver);
- }
-
- @Test
- public void testSaveReversEngineering() throws MalformedURLException {
- File testFolder = setupTestDirectory("testSaverRE");
-
- DataChannelDescriptor rootNode = new DataChannelDescriptor();
- rootNode.setName("test");
-
- DataMap dataMap = new DataMap("datamap1");
- dataMap.setReverseEngineering(new ReverseEngineering("reverseEngineering1"));
- rootNode.getDataMaps().add(dataMap);
-
- Project project = new Project(new ConfigurationTree<>(rootNode));
- saver.saveAs(project, new URLResource(testFolder.toURL()));
-
- DataMapLoader dataMapLoader = new XMLDataMapLoader();
- DataMap dataMap1 = dataMapLoader.load(dataMap.getConfigurationSource());
- String reverseEngineeringName = dataMap1.getReverseEngineering().getName();
-
- File reFile = new File(testFolder, reverseEngineeringName + ".xml");
- assertTrue(reFile.exists());
- assertTrue(reFile.length() > 0);
- }
-
-
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-server/src/main/java/org/apache/cayenne/configuration/BaseConfigurationNodeVisitor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/BaseConfigurationNodeVisitor.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/BaseConfigurationNodeVisitor.java
index f34c813..70e07c7 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/BaseConfigurationNodeVisitor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/BaseConfigurationNodeVisitor.java
@@ -18,7 +18,6 @@
****************************************************************/
package org.apache.cayenne.configuration;
-import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -98,8 +97,4 @@ public abstract class BaseConfigurationNodeVisitor<T> implements
public T visitQuery(QueryDescriptor query) {
throw new UnsupportedOperationException("Not implemented for Query");
}
-
- public T visitReverseEngineering(ReverseEngineering reverseEngineering) {
- throw new UnsupportedOperationException("Not implemented for ReverseEngineering");
- }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-server/src/main/java/org/apache/cayenne/configuration/ConfigurationNodeVisitor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/ConfigurationNodeVisitor.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/ConfigurationNodeVisitor.java
index 508a5f8..60d2900 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/ConfigurationNodeVisitor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/ConfigurationNodeVisitor.java
@@ -18,7 +18,6 @@
****************************************************************/
package org.apache.cayenne.configuration;
-import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -67,6 +66,4 @@ public interface ConfigurationNodeVisitor<T> {
T visitProcedureParameter(ProcedureParameter parameter);
T visitQuery(QueryDescriptor query);
-
- T visitReverseEngineering(ReverseEngineering reverseEngineering);
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-server/src/main/java/org/apache/cayenne/configuration/DefaultConfigurationNameMapper.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/DefaultConfigurationNameMapper.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/DefaultConfigurationNameMapper.java
index 16b782a..ffe2868 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/DefaultConfigurationNameMapper.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/DefaultConfigurationNameMapper.java
@@ -18,7 +18,6 @@
****************************************************************/
package org.apache.cayenne.configuration;
-import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.resource.Resource;
@@ -32,8 +31,6 @@ public class DefaultConfigurationNameMapper implements ConfigurationNameMapper {
private static final String DATA_MAP_SUFFIX = ".map.xml";
- private static final String REVERSE_ENGINEERING_SUFFIX = ".xml";
-
protected ConfigurationNodeVisitor<String> nameMapper;
public DefaultConfigurationNameMapper() {
@@ -51,8 +48,6 @@ public class DefaultConfigurationNameMapper implements ConfigurationNameMapper {
return getDataChannelName(name);
} else if (DataMap.class.isAssignableFrom(type)) {
return getDataMapName(name);
- } else if (ReverseEngineering.class.isAssignableFrom(type)) {
- return getReverseEngineeringName(name);
}
throw new IllegalArgumentException("Unrecognized configuration type: " + type.getName());
@@ -109,14 +104,6 @@ public class DefaultConfigurationNameMapper implements ConfigurationNameMapper {
return name + DATA_MAP_SUFFIX;
}
- private String getReverseEngineeringName(String name) {
- if (name == null) {
- throw new NullPointerException("Null Reverse Engineering name");
- }
-
- return name + REVERSE_ENGINEERING_SUFFIX;
- }
-
final class NameMapper extends BaseConfigurationNodeVisitor<String> {
@Override
@@ -128,10 +115,5 @@ public class DefaultConfigurationNameMapper implements ConfigurationNameMapper {
public String visitDataMap(DataMap dataMap) {
return getDataMapName(dataMap.getName());
}
-
- @Override
- public String visitReverseEngineering(ReverseEngineering reverseEngineering) {
- return getReverseEngineeringName(reverseEngineering.getName());
- }
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-server/src/main/java/org/apache/cayenne/configuration/XMLDataChannelDescriptorLoader.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/XMLDataChannelDescriptorLoader.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/XMLDataChannelDescriptorLoader.java
index 4539f16..34775ef 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/XMLDataChannelDescriptorLoader.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/XMLDataChannelDescriptorLoader.java
@@ -18,11 +18,8 @@
****************************************************************/
package org.apache.cayenne.configuration;
-import org.apache.cayenne.CayenneRuntimeException;
import org.apache.cayenne.ConfigurationException;
import org.apache.cayenne.conn.DataSourceInfo;
-import org.apache.cayenne.dbimport.DefaultReverseEngineeringLoader;
-import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.di.AdhocObjectFactory;
import org.apache.cayenne.di.Inject;
import org.apache.cayenne.map.DataMap;
@@ -214,21 +211,6 @@ public class XMLDataChannelDescriptorLoader implements DataChannelDescriptorLoad
dataMap.setConfigurationSource(dataMapResource);
dataMap.setDataChannelDescriptor(descriptor);
- try {
- if (dataMap.getReverseEngineering() != null) {
- String reverseEngineeringName = dataMap.getReverseEngineering().getName();
- String reverseEngineeringLocation = nameMapper.configurationLocation(ReverseEngineering.class, reverseEngineeringName);
- Resource reverseEngineeringResource = baseResource.getRelativeResource(reverseEngineeringLocation);
- DefaultReverseEngineeringLoader reverseEngineeringLoader = new DefaultReverseEngineeringLoader();
- ReverseEngineering reverseEngineering = reverseEngineeringLoader.load(reverseEngineeringResource.getURL().openStream());
- reverseEngineering.setName(reverseEngineeringName);
- reverseEngineering.setConfigurationSource(reverseEngineeringResource);
- dataMap.setReverseEngineering(reverseEngineering);
- }
- } catch (IOException e) {
- throw new CayenneRuntimeException("Error loading reverse engineering model", e);
- }
-
descriptor.getDataMaps().add(dataMap);
} else if (localName.equals(NODE_TAG)) {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineering.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineering.java b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineering.java
index 2d74d85..5781561 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineering.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineering.java
@@ -19,16 +19,9 @@
package org.apache.cayenne.dbimport;
-import org.apache.cayenne.configuration.ConfigurationNode;
-import org.apache.cayenne.configuration.ConfigurationNodeVisitor;
import org.apache.cayenne.resource.Resource;
-import org.apache.cayenne.util.XMLEncoder;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
+import javax.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.Collection;
import java.util.LinkedList;
@@ -38,7 +31,7 @@ import java.util.LinkedList;
*/
@XmlRootElement(name = "reverseEngineering")
@XmlAccessorType(XmlAccessType.FIELD)
-public class ReverseEngineering extends FilterContainer implements ConfigurationNode, Serializable {
+public class ReverseEngineering extends FilterContainer implements Serializable {
@XmlTransient
protected Resource configurationSource;
@@ -166,16 +159,6 @@ public class ReverseEngineering extends FilterContainer implements Configuration
return super.toString(res, " ").toString();
}
- @Override
- public <T> T acceptVisitor(ConfigurationNodeVisitor<T> visitor) {
- return visitor.visitReverseEngineering(this);
- }
-
- public void encodeAsXML(XMLEncoder encoder) {
- DefaultReverseEngineeringWriter defaultReverseEngineeringWriter = new DefaultReverseEngineeringWriter();
- defaultReverseEngineeringWriter.write(this, encoder.getPrintWriter());
- }
-
/**
* @since 4.0
*/
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java b/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
index 500ee03..5f7d9ab 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
@@ -25,7 +25,6 @@ import org.apache.cayenne.Persistent;
import org.apache.cayenne.configuration.ConfigurationNode;
import org.apache.cayenne.configuration.ConfigurationNodeVisitor;
import org.apache.cayenne.configuration.DataChannelDescriptor;
-import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.map.event.DbEntityListener;
import org.apache.cayenne.map.event.EntityEvent;
import org.apache.cayenne.map.event.ObjEntityListener;
@@ -146,7 +145,6 @@ public class DataMap implements Serializable, ConfigurationNode, XMLSerializable
private SortedMap<String, Procedure> procedureMap;
private SortedMap<String, QueryDescriptor> queryDescriptorMap;
private SortedMap<String, SQLResult> results;
- private ReverseEngineering reverseEngineering;
/**
* @deprecated since 4.0 unused as listeners are no longer tied to a
@@ -322,12 +320,6 @@ public class DataMap implements Serializable, ConfigurationNode, XMLSerializable
encoder.printProjectVersion();
encoder.println(">");
- if (reverseEngineering != null) {
- encoder.print("<reverse-engineering-config");
- encoder.printAttribute("name", reverseEngineering.getName().trim());
- encoder.println("/>");
- }
-
// properties
if (defaultLockType == ObjEntity.LOCK_TYPE_OPTIMISTIC) {
encoder.printProperty(DEFAULT_LOCK_TYPE_PROPERTY, "optimistic");
@@ -1411,11 +1403,4 @@ public class DataMap implements Serializable, ConfigurationNode, XMLSerializable
return subObjectEntities;
}
- public ReverseEngineering getReverseEngineering() {
- return reverseEngineering;
- }
-
- public void setReverseEngineering(ReverseEngineering reverseEngineering) {
- this.reverseEngineering = reverseEngineering;
- }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-server/src/main/java/org/apache/cayenne/map/MapLoader.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/MapLoader.java b/cayenne-server/src/main/java/org/apache/cayenne/map/MapLoader.java
index 213e38e..f3164ab 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/MapLoader.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/MapLoader.java
@@ -46,11 +46,6 @@ public class MapLoader extends DefaultHandler {
public static final String DATA_MAP_TAG = "data-map";
- /**
- * @since 4.0
- */
- public static final String REVERSE_ENGINEERING = "reverse-engineering-config";
-
public static final String PROPERTY_TAG = "property";
/**
@@ -152,7 +147,6 @@ public class MapLoader extends DefaultHandler {
private Procedure procedure;
private QueryDescriptorLoader queryBuilder;
private String sqlKey;
- private ReverseEngineering reverseEngineering;
private String descending;
private String ignoreCase;
@@ -176,15 +170,6 @@ public class MapLoader extends DefaultHandler {
processStartDataMap(attributes);
}
});
-
- startTagOpMap.put(REVERSE_ENGINEERING, new StartClosure() {
-
- @Override
- void execute(Attributes attributes) throws SAXException {
- processStartReverseEngineering(attributes);
- }
- });
-
startTagOpMap.put(DB_ENTITY_TAG, new StartClosure() {
@@ -577,13 +562,6 @@ public class MapLoader extends DefaultHandler {
}
});
}
-
- private void processStartReverseEngineering(Attributes attributes) {
- reverseEngineering = new ReverseEngineering();
- reverseEngineering.setName(attributes.getValue("", "name"));
-
- dataMap.setReverseEngineering(reverseEngineering);
- }
private void processStartDataMap(Attributes attributes) {
this.mapVersion = attributes.getValue("", "project-version");
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/modelMap.xsd
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/modelMap.xsd b/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/modelMap.xsd
index 3d77151..45c0792 100644
--- a/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/modelMap.xsd
+++ b/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/modelMap.xsd
@@ -31,7 +31,6 @@
<xs:element name="data-map">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" maxOccurs="1" ref="cay:reverse-engineering-config"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:property"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:embeddable"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:procedure"/>
@@ -207,12 +206,6 @@
<xs:element name="ejbql" type="xs:string"/>
- <xs:element name="reverse-engineering-config">
- <xs:complexType>
- <xs:attribute name="name" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
-
<xs:element name="property">
<xs:annotation>
<xs:documentation>A generic property used by other elements.</xs:documentation>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java
index 10c3d13..87fc179 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java
@@ -18,31 +18,17 @@
****************************************************************/
package org.apache.cayenne.tools;
-import org.apache.cayenne.configuration.ConfigurationNameMapper;
import org.apache.cayenne.configuration.DataNodeDescriptor;
-import org.apache.cayenne.configuration.XMLDataMapLoader;
import org.apache.cayenne.configuration.server.DataSourceFactory;
import org.apache.cayenne.configuration.server.DbAdapterFactory;
import org.apache.cayenne.conn.DataSourceInfo;
import org.apache.cayenne.dba.DbAdapter;
-import org.apache.cayenne.dbimport.Catalog;
-import org.apache.cayenne.dbimport.DefaultReverseEngineeringLoader;
-import org.apache.cayenne.dbimport.ExcludeColumn;
-import org.apache.cayenne.dbimport.ExcludeProcedure;
-import org.apache.cayenne.dbimport.ExcludeTable;
-import org.apache.cayenne.dbimport.IncludeColumn;
-import org.apache.cayenne.dbimport.IncludeProcedure;
-import org.apache.cayenne.dbimport.IncludeTable;
-import org.apache.cayenne.dbimport.ReverseEngineering;
-import org.apache.cayenne.dbimport.Schema;
+import org.apache.cayenne.dbimport.*;
import org.apache.cayenne.dbsync.CayenneDbSyncModule;
+import org.apache.cayenne.dbsync.naming.DefaultObjectNameGenerator;
import org.apache.cayenne.dbsync.reverse.filters.FiltersConfigBuilder;
import org.apache.cayenne.di.DIBootstrap;
import org.apache.cayenne.di.Injector;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.dbsync.naming.DefaultObjectNameGenerator;
-import org.apache.cayenne.resource.Resource;
-import org.apache.cayenne.resource.URLResource;
import org.apache.cayenne.tools.configuration.ToolsModule;
import org.apache.cayenne.tools.dbimport.DbImportAction;
import org.apache.cayenne.tools.dbimport.DbImportConfiguration;
@@ -55,14 +41,11 @@ import org.apache.tools.ant.Task;
import javax.sql.DataSource;
import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
public class DbImporterTask extends Task {
private final DbImportConfiguration config;
private ReverseEngineering reverseEngineering;
- private boolean isReverseEngineeringDefined;
public DbImporterTask() {
this.config = new DbImportConfiguration();
@@ -74,66 +57,52 @@ public class DbImporterTask extends Task {
}
public void addIncludeColumn(IncludeColumn includeColumn) {
- isReverseEngineeringDefined = true;
reverseEngineering.addIncludeColumn(includeColumn);
}
public void addExcludeColumn(ExcludeColumn excludeColumn) {
- isReverseEngineeringDefined = true;
reverseEngineering.addExcludeColumn(excludeColumn);
}
public void addIncludeTable(IncludeTable includeTable) {
- isReverseEngineeringDefined = true;
reverseEngineering.addIncludeTable(includeTable);
}
public void addExcludeTable(ExcludeTable excludeTable) {
- isReverseEngineeringDefined = true;
reverseEngineering.addExcludeTable(excludeTable);
}
public void addIncludeProcedure(IncludeProcedure includeProcedure) {
- isReverseEngineeringDefined = true;
reverseEngineering.addIncludeProcedure(includeProcedure);
}
public void addExcludeProcedure(ExcludeProcedure excludeProcedure) {
- isReverseEngineeringDefined = true;
reverseEngineering.addExcludeProcedure(excludeProcedure);
}
public void setSkipRelationshipsLoading(boolean skipRelationshipsLoading) {
- isReverseEngineeringDefined = true;
reverseEngineering.setSkipRelationshipsLoading(skipRelationshipsLoading);
}
public void setSkipPrimaryKeyLoading(boolean skipPrimaryKeyLoading) {
- isReverseEngineeringDefined = true;
reverseEngineering.setSkipPrimaryKeyLoading(skipPrimaryKeyLoading);
}
public void addConfiguredTableType(AntTableType type) {
- isReverseEngineeringDefined = true;
reverseEngineering.addTableType(type.getName());
}
public void addConfiguredSchema(Schema schema) {
- isReverseEngineeringDefined = true;
reverseEngineering.addSchema(schema);
}
public void addCatalog(Catalog catalog) {
- isReverseEngineeringDefined = true;
reverseEngineering.addCatalog(catalog);
}
@Override
public void execute() {
-
- File dataMapFile = config.getDataMapFile();
config.setFiltersConfig(new FiltersConfigBuilder(reverseEngineering).build());
-
validateAttributes();
Log logger = new AntLogger(this);
@@ -142,73 +111,25 @@ public class DbImporterTask extends Task {
config.setSkipPrimaryKeyLoading(reverseEngineering.getSkipPrimaryKeyLoading());
config.setTableTypes(reverseEngineering.getTableTypes());
- // TODO: get rid of this fork...
- if (isReverseEngineeringDefined) {
- Injector injector = DIBootstrap.createInjector(new CayenneDbSyncModule(), new ToolsModule(logger), new DbImportModule());
+ Injector injector = DIBootstrap.createInjector(new CayenneDbSyncModule(), new ToolsModule(logger), new DbImportModule());
- validateDbImportConfiguration(config, injector);
+ validateDbImportConfiguration(config, injector);
- try {
- injector.getInstance(DbImportAction.class).execute(config);
- } catch (Exception ex) {
- Throwable th = Util.unwindException(ex);
-
- String message = "Error importing database schema";
+ try {
+ injector.getInstance(DbImportAction.class).execute(config);
+ } catch (Exception ex) {
+ Throwable th = Util.unwindException(ex);
- if (th.getLocalizedMessage() != null) {
- message += ": " + th.getLocalizedMessage();
- }
+ String message = "Error importing database schema";
- log(message, Project.MSG_ERR);
- throw new BuildException(message, th);
- } finally {
- injector.shutdown();
- }
- } else {
- if (dataMapFile.exists()) {
- try {
- URL url = dataMapFile.toURI().toURL();
- URLResource resource = new URLResource(url);
-
- XMLDataMapLoader xmlDataMapLoader = new XMLDataMapLoader();
- DataMap dataMap = xmlDataMapLoader.load(resource);
- if (dataMap.getReverseEngineering() != null) {
- Injector injector = DIBootstrap.createInjector(new CayenneDbSyncModule(), new ToolsModule(logger), new DbImportModule());
- try {
- ConfigurationNameMapper nameMapper = injector.getInstance(ConfigurationNameMapper.class);
- String reverseEngineeringLocation = nameMapper.configurationLocation(ReverseEngineering.class, dataMap.getReverseEngineering().getName());
- Resource reverseEngineeringResource = new URLResource(dataMapFile.toURI().toURL()).getRelativeResource(reverseEngineeringLocation);
-
- DefaultReverseEngineeringLoader reverseEngineeringLoader = new DefaultReverseEngineeringLoader();
- ReverseEngineering reverseEngineering = reverseEngineeringLoader.load(reverseEngineeringResource.getURL().openStream());
- reverseEngineering.setName(dataMap.getReverseEngineering().getName());
- reverseEngineering.setConfigurationSource(reverseEngineeringResource);
- dataMap.setReverseEngineering(reverseEngineering);
-
- FiltersConfigBuilder filtersConfigBuilder = new FiltersConfigBuilder(dataMap.getReverseEngineering());
- config.getDbLoaderConfig().setFiltersConfig(filtersConfigBuilder.build());
- validateDbImportConfiguration(config, injector);
- injector.getInstance(DbImportAction.class).execute(config);
- } catch (Exception ex) {
- Throwable th = Util.unwindException(ex);
-
- String message = "Error importing database schema";
-
- if (th.getLocalizedMessage() != null) {
- message += ": " + th.getLocalizedMessage();
- }
-
- log(message, Project.MSG_ERR);
- throw new BuildException(message, th);
- } finally {
- injector.shutdown();
- }
- }
- } catch (MalformedURLException e) {
- log(e.getMessage(), Project.MSG_ERR);
- throw new BuildException(e.getMessage(), e);
- }
+ if (th.getLocalizedMessage() != null) {
+ message += ": " + th.getLocalizedMessage();
}
+
+ log(message, Project.MSG_ERR);
+ throw new BuildException(message, th);
+ } finally {
+ injector.shutdown();
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectFileChangeTracker.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectFileChangeTracker.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectFileChangeTracker.java
index 20bb12b..bbb8e74 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectFileChangeTracker.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectFileChangeTracker.java
@@ -84,12 +84,6 @@ public class ProjectFileChangeTracker extends Thread {
while (it.hasNext()) {
DataMap dm = it.next();
addFile(dm.getConfigurationSource().getURL().getPath());
-
- if (dm.getReverseEngineering() != null) {
- if (dm.getReverseEngineering().getConfigurationSource() != null) {
- addFile(dm.getReverseEngineering().getConfigurationSource().getURL().getPath());
- }
- }
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveAction.java
index 3e3f13d..8dcf52f 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveAction.java
@@ -451,10 +451,6 @@ public class RemoveAction extends CayenneAction {
URL mapURL = map.getConfigurationSource().getURL();
Collection<URL> unusedResources = getCurrentProject().getUnusedResources();
unusedResources.add(mapURL);
- if (map.getReverseEngineering() != null && map.getReverseEngineering().getConfigurationSource() != null) {
- URL reverseEngineeringURL = map.getReverseEngineering().getConfigurationSource().getURL();
- unusedResources.add(reverseEngineeringURL);
- }
}
Iterator<DataNodeDescriptor> iterator = domain.getNodeDescriptors().iterator();
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
index b531171..b1b0eef 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
@@ -21,20 +21,27 @@ package org.apache.cayenne.modeler.action;
import org.apache.cayenne.configuration.DataChannelDescriptor;
import org.apache.cayenne.configuration.event.DataMapEvent;
+import org.apache.cayenne.dba.DbAdapter;
+import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.dbsync.naming.NameBuilder;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.event.MapEvent;
import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.modeler.CayenneModelerController;
import org.apache.cayenne.modeler.ProjectController;
+import org.apache.cayenne.modeler.dialog.db.ConnectionWizard;
+import org.apache.cayenne.modeler.dialog.db.DbLoaderHelper;
+import org.apache.cayenne.modeler.pref.DBConnectionInfo;
import org.apache.cayenne.modeler.util.CayenneAction;
+import javax.swing.*;
import java.awt.event.ActionEvent;
+import java.sql.Connection;
/**
* Action that imports database structure into a DataMap.
*/
-public class ReverseEngineeringAction extends CayenneAction {
+public class ReverseEngineeringAction extends DBWizardAction {
public ReverseEngineeringAction(Application application) {
super(getActionName(), application);
@@ -49,21 +56,50 @@ public class ReverseEngineeringAction extends CayenneAction {
*/
@Override
public void performAction(ActionEvent event) {
- ProjectController projectController = getProjectController();
- DataMap dataMap = projectController.getCurrentDataMap();
- DataChannelDescriptor dataChannelDescriptor = projectController.getCurrentDataChanel();
- if (dataMap == null) {
- dataMap = new DataMap();
- dataMap.setName(NameBuilder
- .builder(dataMap, dataChannelDescriptor)
- .name());
- dataChannelDescriptor.getDataMaps().add(dataMap);
- getProjectController().fireDataMapEvent(new DataMapEvent(this, dataMap, MapEvent.ADD));
+ // guess node connection
+ DBConnectionInfo nodeInfo = preferredDataSource();
+ String nodeKey = preferredDataSourceLabel(nodeInfo);
+
+ // connect
+ ConnectionWizard connectWizard = new ConnectionWizard(
+ getProjectController(),
+ "Reengineer DB Schema: Connect to Database",
+ nodeKey,
+ nodeInfo);
+
+ if (!connectWizard.startupAction()) {
+ // canceled
+ return;
}
- ((CayenneModelerController) projectController.getParent())
- .getEditorView()
- .getDataMapView()
- .setSelectedIndex(1);
+ Connection connection = connectWizard.getConnection();
+ DbAdapter adapter = connectWizard.getAdapter();
+ DBConnectionInfo dataSourceInfo = connectWizard.getConnectionInfo();
+
+ // from here pass control to DbLoaderHelper, running it from a thread separate
+ // from EventDispatch
+ ReverseEngineering reverseEngineering = new ReverseEngineering();
+
+ final DbLoaderHelper helper = new DbLoaderHelper(
+ getProjectController(),
+ connection,
+ adapter,
+ dataSourceInfo,
+ reverseEngineering);
+ Thread th = new Thread(new Runnable() {
+
+ public void run() {
+ helper.execute();
+
+ SwingUtilities.invokeLater(new Runnable() {
+
+ public void run() {
+ application.getUndoManager().discardAllEdits();
+ }
+ });
+ }
+ });
+
+ th.start();
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ConnectionWizard.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ConnectionWizard.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ConnectionWizard.java
new file mode 100644
index 0000000..7af622b
--- /dev/null
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ConnectionWizard.java
@@ -0,0 +1,89 @@
+/*****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.cayenne.modeler.dialog.db;
+
+import org.apache.cayenne.dba.DbAdapter;
+import org.apache.cayenne.modeler.ClassLoadingService;
+import org.apache.cayenne.modeler.pref.DBConnectionInfo;
+import org.apache.cayenne.modeler.util.CayenneController;
+
+import java.sql.Connection;
+
+/**
+ * A component for choosing a DataSource. Users can choose from the DataSources configured
+ * in preferences, and one extra set of connection settings. This object will create and
+ * keep open a JDBC connection. It is caller responsibility to dispose of it properly.
+ *
+ */
+// TODO: after refactoring DbLoader to accept a DataSource instead of connection this
+// dialog should be merged with superclass - DataSourceWizard.
+public class ConnectionWizard extends DataSourceWizard {
+ protected Connection connection;
+ protected DbAdapter adapter;
+
+ public ConnectionWizard(CayenneController parent, String title,
+ String altDataSourceKey, DBConnectionInfo altDataSource) {
+ super(parent, title, altDataSourceKey, altDataSource);
+ }
+
+ /**
+ * Overrides superclass to keep an open connection around for the caller's use.
+ */
+ public void okAction() {
+ // build connection and adapter...
+
+ DBConnectionInfo info = getConnectionInfo();
+ ClassLoadingService classLoader = getApplication().getClassLoadingService();
+
+ try {
+ this.adapter = info.makeAdapter(classLoader);
+ }
+ catch (Throwable th) {
+ reportError("DbAdapter Error", th);
+ return;
+ }
+
+ try {
+ this.connection = info.makeDataSource(classLoader).getConnection();
+ }
+ catch (Throwable th) {
+ reportError("Connection Error", th);
+ return;
+ }
+
+ // set success flag, and unblock the caller...
+ canceled = false;
+ view.dispose();
+ }
+
+ /**
+ * Returns configured DB connection.
+ */
+ public Connection getConnection() {
+ return connection;
+ }
+
+ /**
+ * Returns configured DbAdapter.
+ */
+ public DbAdapter getAdapter() {
+ return adapter;
+ }
+}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataMapViewModel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataMapViewModel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataMapViewModel.java
deleted file mode 100644
index 6b53409..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataMapViewModel.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 org.apache.cayenne.modeler.dialog.db;
-
-import org.apache.cayenne.modeler.dialog.db.model.DbModel;
-
-/**
- * @since 4.0
- */
-public class DataMapViewModel {
-
- private String reverseEngineeringText;
- private DbModel reverseEngineeringTree;
-
- public String getReverseEngineeringText() {
- return reverseEngineeringText;
- }
-
- public void setReverseEngineeringText(String reverseEngineeringText) {
- this.reverseEngineeringText = reverseEngineeringText;
- }
-
- public DbModel getReverseEngineeringTree() {
- return reverseEngineeringTree;
- }
-
- public void setReverseEngineeringTree(DbModel reverseEngineeringTree) {
- this.reverseEngineeringTree = reverseEngineeringTree;
- }
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizard.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizard.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizard.java
new file mode 100644
index 0000000..33d595b
--- /dev/null
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizard.java
@@ -0,0 +1,222 @@
+/*****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.cayenne.modeler.dialog.db;
+
+import org.apache.cayenne.modeler.ClassLoadingService;
+import org.apache.cayenne.modeler.dialog.pref.PreferenceDialog;
+import org.apache.cayenne.modeler.pref.DBConnectionInfo;
+import org.apache.cayenne.modeler.util.CayenneController;
+import org.apache.cayenne.swing.BindingBuilder;
+import org.apache.cayenne.swing.ObjectBinding;
+
+import javax.swing.*;
+import java.awt.*;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.Map;
+
+/**
+ * A subclass of ConnectionWizard that tests configured DataSource, but does not
+ * keep an open connection.
+ *
+ */
+public class DataSourceWizard extends CayenneController {
+
+ protected DataSourceWizardView view;
+
+ protected DBConnectionInfo altDataSource;
+ protected String altDataSourceKey;
+ protected ObjectBinding dataSourceBinding;
+ protected Map dataSources;
+
+ protected String dataSourceKey;
+
+ // this object is a clone of an object selected from the dropdown, as we
+ // need to allow
+ // local temporary modifications
+ protected DBConnectionInfo connectionInfo;
+
+ protected boolean canceled;
+
+ public DataSourceWizard(CayenneController parent, String title, String altDataSourceKey,
+ DBConnectionInfo altDataSource) {
+ super(parent);
+
+ this.view = createView();
+ this.view.setTitle(title);
+ this.altDataSource = altDataSource;
+ this.altDataSourceKey = altDataSourceKey;
+ this.connectionInfo = new DBConnectionInfo();
+
+ initBindings();
+ }
+
+ /**
+ * Creates swing dialog for this wizard
+ */
+ protected DataSourceWizardView createView() {
+ return new DataSourceWizardView(this);
+ }
+
+ protected void initBindings() {
+ BindingBuilder builder = new BindingBuilder(getApplication().getBindingFactory(), this);
+
+ dataSourceBinding = builder.bindToComboSelection(view.getDataSources(), "dataSourceKey");
+
+ builder.bindToAction(view.getCancelButton(), "cancelAction()");
+ builder.bindToAction(view.getOkButton(), "okAction()");
+ builder.bindToAction(view.getConfigButton(), "dataSourceConfigAction()");
+ }
+
+ public String getDataSourceKey() {
+ return dataSourceKey;
+ }
+
+ public void setDataSourceKey(String dataSourceKey) {
+ this.dataSourceKey = dataSourceKey;
+
+ // update a clone object that will be used to obtain connection...
+ DBConnectionInfo currentInfo = (DBConnectionInfo) dataSources.get(dataSourceKey);
+ if (currentInfo != null) {
+ currentInfo.copyTo(connectionInfo);
+ } else {
+ connectionInfo = new DBConnectionInfo();
+ }
+
+ view.getConnectionInfo().setConnectionInfo(connectionInfo);
+ }
+
+ /**
+ * Main action method that pops up a dialog asking for user selection.
+ * Returns true if the selection was confirmed, false - if canceled.
+ */
+ public boolean startupAction() {
+ this.canceled = true;
+
+ refreshDataSources();
+
+ view.pack();
+ view.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
+ view.setModal(true);
+ makeCloseableOnEscape();
+ centerView();
+ view.setVisible(true);
+
+ return !canceled;
+ }
+
+ public DBConnectionInfo getConnectionInfo() {
+ return connectionInfo;
+ }
+
+ /**
+ * Tests that the entered information is valid and can be used to open a
+ * conneciton. Does not store the open connection.
+ */
+ public void okAction() {
+ DBConnectionInfo info = getConnectionInfo();
+ ClassLoadingService classLoader = getApplication().getClassLoadingService();
+
+ // try making an adapter...
+ try {
+ info.makeAdapter(classLoader);
+ } catch (Throwable th) {
+ reportError("DbAdapter Error", th);
+ return;
+ }
+
+ // doing connection testing...
+ // attempt opening the connection, and close it right away
+ try {
+
+ try (Connection connection = info.makeDataSource(classLoader).getConnection();) {
+ //
+ } catch (SQLException ex) {
+ // ignore close error
+ }
+ } catch (Throwable th) {
+ reportError("Connection Error", th);
+ return;
+ }
+
+ // set success flag, and unblock the caller...
+ canceled = false;
+ view.dispose();
+ }
+
+ public void cancelAction() {
+ canceled = true;
+ view.dispose();
+ }
+
+ /**
+ * Opens preferences panel to allow configuration of DataSource presets.
+ */
+ public void dataSourceConfigAction() {
+ PreferenceDialog prefs = new PreferenceDialog(this);
+ prefs.showDataSourceEditorAction(dataSourceKey);
+ refreshDataSources();
+ }
+
+ public Component getView() {
+ return view;
+ }
+
+ protected void refreshDataSources() {
+ this.dataSources = getApplication().getCayenneProjectPreferences().getDetailObject(DBConnectionInfo.class)
+ .getChildrenPreferences();
+
+ // 1.2 migration fix - update data source adapter names
+ Iterator it = dataSources.values().iterator();
+
+ final String _12package = "org.objectstyle.cayenne.";
+ while (it.hasNext()) {
+ DBConnectionInfo info = (DBConnectionInfo) it.next();
+ if (info.getDbAdapter() != null && info.getDbAdapter().startsWith(_12package)) {
+ info.setDbAdapter("org.apache.cayenne." + info.getDbAdapter().substring(_12package.length()));
+
+ // info.getObjectContext().commitChanges();
+ }
+ }
+
+ if (altDataSourceKey != null && !dataSources.containsKey(altDataSourceKey) && altDataSource != null) {
+ dataSources.put(altDataSourceKey, altDataSource);
+ }
+
+ Object[] keys = dataSources.keySet().toArray();
+ Arrays.sort(keys);
+ view.getDataSources().setModel(new DefaultComboBoxModel(keys));
+
+ if (getDataSourceKey() == null) {
+ String key = null;
+
+ if (altDataSourceKey != null) {
+ key = altDataSourceKey;
+ } else if (keys.length > 0) {
+ key = keys[0].toString();
+ }
+
+ setDataSourceKey(key);
+ dataSourceBinding.updateView();
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizardView.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizardView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizardView.java
new file mode 100644
index 0000000..d40c8d9
--- /dev/null
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizardView.java
@@ -0,0 +1,94 @@
+/*****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.cayenne.modeler.dialog.db;
+
+import com.jgoodies.forms.builder.PanelBuilder;
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import org.apache.cayenne.modeler.Application;
+import org.apache.cayenne.modeler.dialog.pref.DBConnectionInfoEditor;
+import org.apache.cayenne.modeler.util.CayenneController;
+
+import javax.swing.*;
+import java.awt.*;
+
+/**
+ */
+public class DataSourceWizardView extends JDialog {
+
+ protected JComboBox dataSources;
+ protected JButton configButton;
+ protected JButton okButton;
+ protected JButton cancelButton;
+ protected DBConnectionInfoEditor connectionInfo;
+
+ public DataSourceWizardView(CayenneController controller) {
+ super(Application.getFrame());
+
+ this.dataSources = new JComboBox();
+
+ this.configButton = new JButton("...");
+ this.configButton.setToolTipText("configure local DataSource");
+ this.okButton = new JButton("Continue");
+ this.cancelButton = new JButton("Cancel");
+ this.connectionInfo = new DBConnectionInfoEditor(controller);
+
+ CellConstraints cc = new CellConstraints();
+ PanelBuilder builder = new PanelBuilder(new FormLayout(
+ "20dlu:grow, pref, 3dlu, fill:max(150dlu;pref), 3dlu, fill:20dlu",
+ "p"));
+ builder.setDefaultDialogBorder();
+
+ builder.addLabel("Saved DataSources:", cc.xy(2, 1));
+ builder.add(dataSources, cc.xy(4, 1));
+ builder.add(configButton, cc.xy(6, 1));
+
+ JPanel buttons = new JPanel(new FlowLayout(FlowLayout.RIGHT));
+ buttons.add(cancelButton);
+ buttons.add(okButton);
+
+ getContentPane().setLayout(new BorderLayout());
+ getContentPane().add(builder.getPanel(), BorderLayout.NORTH);
+ getContentPane().add(connectionInfo.getView(), BorderLayout.CENTER);
+ getContentPane().add(buttons, BorderLayout.SOUTH);
+
+ setTitle("DB Connection Info");
+ }
+
+ public JComboBox getDataSources() {
+ return dataSources;
+ }
+
+ public JButton getCancelButton() {
+ return cancelButton;
+ }
+
+ public JButton getConfigButton() {
+ return configButton;
+ }
+
+ public JButton getOkButton() {
+ return okButton;
+ }
+
+ public DBConnectionInfoEditor getConnectionInfo() {
+ return connectionInfo;
+ }
+}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java
index 58ef41b..7dede61 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java
@@ -21,14 +21,13 @@ package org.apache.cayenne.modeler.dialog.db;
import org.apache.cayenne.CayenneRuntimeException;
import org.apache.cayenne.configuration.ConfigurationNode;
-import org.apache.cayenne.configuration.DataChannelDescriptor;
import org.apache.cayenne.dba.DbAdapter;
-import org.apache.cayenne.dbimport.ReverseEngineering;
+import org.apache.cayenne.dbimport.*;
import org.apache.cayenne.dbsync.CayenneDbSyncModule;
import org.apache.cayenne.dbsync.naming.NameBuilder;
-import org.apache.cayenne.dbsync.reverse.filters.FiltersConfigBuilder;
import org.apache.cayenne.dbsync.reverse.db.DbLoader;
import org.apache.cayenne.dbsync.reverse.db.DefaultDbLoaderDelegate;
+import org.apache.cayenne.dbsync.reverse.filters.FiltersConfigBuilder;
import org.apache.cayenne.di.DIBootstrap;
import org.apache.cayenne.di.Injector;
import org.apache.cayenne.map.DataMap;
@@ -42,6 +41,7 @@ import org.apache.cayenne.modeler.ProjectController;
import org.apache.cayenne.modeler.pref.DBConnectionInfo;
import org.apache.cayenne.modeler.util.LongRunningTask;
import org.apache.cayenne.tools.configuration.ToolsModule;
+import org.apache.cayenne.tools.dbimport.DbImportAction;
import org.apache.cayenne.tools.dbimport.DbImportConfiguration;
import org.apache.cayenne.tools.dbimport.DbImportModule;
import org.apache.cayenne.util.Util;
@@ -80,6 +80,7 @@ public class DbLoaderHelper {
protected DbImportConfiguration config;
protected ReverseEngineering reverseEngineering;
protected String loadStatusNote;
+ protected String dbUserName;
/**
* ObjEntities which were added to project during reverse engineering
@@ -89,6 +90,7 @@ public class DbLoaderHelper {
public DbLoaderHelper(ProjectController mediator, Connection connection, DbAdapter adapter,
DBConnectionInfo dbConnectionInfo, ReverseEngineering reverseEngineering) {
this.mediator = mediator;
+ this.dbUserName = dbConnectionInfo.getUserName();
try {
this.dbCatalog = connection.getCatalog();
} catch (SQLException e) {
@@ -153,6 +155,35 @@ public class DbLoaderHelper {
return;
}
+ final DbLoaderOptionsDialog dialog = new DbLoaderOptionsDialog(schemas, catalogs, dbUserName, dbCatalog);
+
+ try {
+ // since we are not inside EventDispatcher Thread, must run it via
+ // SwingUtilities
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ public void run() {
+ dialog.setVisible(true);
+ dialog.dispose();
+ }
+ });
+ } catch (Throwable th) {
+ processException(th, "Error Reengineering Database");
+ return;
+ }
+
+ if (dialog.getChoice() == DbLoaderOptionsDialog.CANCEL) {
+ return;
+ }
+
+ reverseEngineering.addCatalog(new Catalog(dialog.getSelectedCatalog()));
+ reverseEngineering.addSchema(new Schema(dialog.getSelectedSchema()));
+ reverseEngineering.addIncludeTable(new IncludeTable(dialog.getTableNamePattern()));
+ reverseEngineering.addIncludeProcedure(new IncludeProcedure(dialog.getProcedureNamePattern()));
+
+ config.setMeaningfulPkTables(dialog.getMeaningfulPk());
+ config.setNamingStrategy(dialog.getNamingStrategy());
+
LongRunningTask loadDataMapTask = new LoadDataMapTask(Application.getFrame(), "Reengineering DB");
loadDataMapTask.startAndWait();
}
@@ -323,6 +354,7 @@ public class DbLoaderHelper {
}
public final class LoadDataMapTask extends DbLoaderTask {
+ private DbImportAction importAction;
public LoadDataMapTask(JFrame frame, String title) {
super(frame, title);
@@ -348,17 +380,6 @@ public class DbLoaderHelper {
return;
}
- DataMap dataMap = mediator.getCurrentDataMap();
- DataChannelDescriptor dataChannelDescriptor = mediator.getCurrentDataChanel();
- if (dataMap.getReverseEngineering() != null) {
- if (dataMap.getReverseEngineering().getName() != null) {
- reverseEngineering.setName(dataMap.getReverseEngineering().getName());
- reverseEngineering.setConfigurationSource(dataMap.getReverseEngineering().getConfigurationSource());
- }
- } else {
- reverseEngineering.setName(NameBuilder.builder(reverseEngineering, dataChannelDescriptor).name());
- }
-
if (dataMap.getConfigurationSource() != null) {
config.setDataMapFile(new File(dataMap.getConfigurationSource().getURL().getPath()));
}
@@ -375,7 +396,6 @@ public class DbLoaderHelper {
injector.injectMembers(importAction);
try {
importAction.execute(config);
- dataMap.setReverseEngineering(reverseEngineering);
} catch (Exception e) {
processException(e, "Error importing database schema.");
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/29671e75/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderOptionsDialog.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderOptionsDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderOptionsDialog.java
new file mode 100644
index 0000000..4d9dee4
--- /dev/null
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderOptionsDialog.java
@@ -0,0 +1,253 @@
+/*****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.cayenne.modeler.dialog.db;
+
+import com.jgoodies.forms.builder.DefaultFormBuilder;
+import com.jgoodies.forms.layout.FormLayout;
+import org.apache.cayenne.modeler.Application;
+import org.apache.cayenne.modeler.util.CayenneDialog;
+import org.apache.cayenne.modeler.util.NameGeneratorPreferences;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Collection;
+import java.util.Vector;
+
+/**
+ * Dialog for selecting database reverse-engineering parameters.
+ */
+public class DbLoaderOptionsDialog extends CayenneDialog {
+
+ private static final Log logObj = LogFactory.getLog(DbLoaderOptionsDialog.class);
+
+ public static final int CANCEL = 0;
+ public static final int SELECT = 1;
+
+ protected JLabel catalogLabel;
+ protected JComboBox catalogSelector;
+ protected JLabel schemaLabel;
+ protected JComboBox schemaSelector;
+ protected JTextField tableNamePatternField;
+ protected JTextField meaningfulPk;
+ protected JTextField procNamePatternField;
+ protected JLabel procedureLabel;
+ protected JButton selectButton;
+ protected JButton cancelButton;
+
+ public static final String WILDCARD_PATTERN = ".*";
+
+
+ /**
+ * Combobox for naming strategy
+ */
+ protected JComboBox strategyCombo;
+//
+ protected String strategy;
+
+ protected int choice;
+
+ /**
+ * Creates and initializes new ChooseSchemaDialog.
+ */
+ public DbLoaderOptionsDialog(Collection<String> schemas, Collection<String> catalogs, String dbUserName,
+ String dbCatalog) {
+ super(Application.getFrame(), "Reengineer DB Schema: Select Options");
+
+ init();
+ initController();
+ initFromModel(schemas, catalogs, dbUserName, dbCatalog);
+
+ pack();
+ setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
+ setModal(true);
+ centerWindow();
+ }
+
+ /** Sets up the graphical components. */
+ protected void init() {
+
+ // create widgets...
+ selectButton = new JButton("Continue");
+ cancelButton = new JButton("Cancel");
+ catalogSelector = new JComboBox();
+ schemaSelector = new JComboBox();
+ tableNamePatternField = new JTextField();
+ procNamePatternField = new JTextField();
+ meaningfulPk = new JTextField();
+ strategyCombo = new JComboBox();
+ strategyCombo.setEditable(true);
+
+ // assemble
+ FormLayout layout = new FormLayout(
+ "right:pref, 3dlu, fill:max(170dlu;pref):grow",
+ "");
+ DefaultFormBuilder builder = new DefaultFormBuilder(layout);
+ builder.setDefaultDialogBorder();
+
+ catalogLabel = builder.append("Select Catalog:", catalogSelector);
+ schemaLabel = builder.append("Select Schema:", schemaSelector);
+ builder.append("Table Name Pattern:", tableNamePatternField);
+ procedureLabel = builder.append("Procedure Name Pattern:", procNamePatternField);
+ builder.append("Naming Strategy:", strategyCombo);
+ builder.append("Meaningful PK", meaningfulPk);
+
+ JPanel buttons = new JPanel(new FlowLayout(FlowLayout.RIGHT));
+ buttons.add(cancelButton);
+ buttons.add(selectButton);
+
+ getContentPane().setLayout(new BorderLayout());
+ getContentPane().add(builder.getPanel(), BorderLayout.CENTER);
+ getContentPane().add(buttons, BorderLayout.SOUTH);
+ }
+
+ protected void initController() {
+ selectButton.addActionListener(new ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ processSelect();
+ }
+ });
+
+ cancelButton.addActionListener(new ActionListener() {
+
+ public void actionPerformed(ActionEvent e) {
+ processCancel();
+ }
+ });
+ }
+
+ protected void initFromModel(
+ Collection<String> schemas,
+ Collection<String> catalogs,
+ String dbUserName,
+ String dbCatalog) {
+
+ this.choice = CANCEL;
+ this.tableNamePatternField.setText(WILDCARD_PATTERN);
+ this.procNamePatternField.setText(WILDCARD_PATTERN);
+ this.meaningfulPk.setText(WILDCARD_PATTERN);
+
+ Vector<String> arr = NameGeneratorPreferences
+ .getInstance()
+ .getLastUsedStrategies();
+ strategyCombo.setModel(new DefaultComboBoxModel(arr));
+
+ boolean showSchemaSelector = schemas != null && !schemas.isEmpty();
+ schemaSelector.setVisible(showSchemaSelector);
+ schemaLabel.setVisible(showSchemaSelector);
+
+ if (showSchemaSelector) {
+
+ schemaSelector.setModel(new DefaultComboBoxModel(schemas.toArray()));
+
+ // select schema belonging to the user
+ if (dbUserName != null) {
+ for (String schema : schemas) {
+ if (dbUserName.equalsIgnoreCase(schema)) {
+ schemaSelector.setSelectedItem(schema);
+ break;
+ }
+ }
+ }
+ }
+
+ boolean showCatalogSelector = catalogs != null && !catalogs.isEmpty();
+ catalogSelector.setVisible(showCatalogSelector);
+ catalogLabel.setVisible(showCatalogSelector);
+
+ if (showCatalogSelector) {
+ catalogSelector.setModel(new DefaultComboBoxModel(catalogs.toArray()));
+
+ if (dbCatalog != null && !dbCatalog.isEmpty()) {
+ for (String catalog : catalogs) {
+ if (dbCatalog.equalsIgnoreCase(catalog)) {
+ catalogSelector.setSelectedItem(catalog);
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ public int getChoice() {
+ return choice;
+ }
+
+ private void processSelect() {
+ strategy = (String) strategyCombo.getSelectedItem();
+
+ choice = SELECT;
+ setVisible(false);
+ }
+
+ private void processCancel() {
+ choice = CANCEL;
+ setVisible(false);
+ }
+
+ /**
+ * Returns selected catalog.
+ */
+ public String getSelectedCatalog() {
+ String catalog = (String) catalogSelector.getSelectedItem();
+ return "".equals(catalog) ? null : catalog;
+ }
+
+ /**
+ * Returns selected schema.
+ */
+ public String getSelectedSchema() {
+ String schema = (String) schemaSelector.getSelectedItem();
+ return "".equals(schema) ? null : schema;
+ }
+
+ /**
+ * Returns the tableNamePattern.
+ */
+ public String getTableNamePattern() {
+ return "".equals(tableNamePatternField.getText()) ? null : tableNamePatternField
+ .getText();
+ }
+
+ public String getMeaningfulPk() {
+ return "".equals(meaningfulPk.getText()) ? null : meaningfulPk
+ .getText();
+ }
+
+ /**
+ * Returns the procedure name pattern.
+ */
+ public String getProcedureNamePattern() {
+ return "".equals(procNamePatternField.getText()) ? null : procNamePatternField
+ .getText();
+ }
+
+ /**
+ * Returns configured naming strategy
+ */
+ public String getNamingStrategy() {
+ return strategy;
+ }
+}
[4/7] cayenne git commit: CM Reverse Engineering: Remove default
wildcard pattern for tables with Meaningful PK
Posted by sk...@apache.org.
CM Reverse Engineering: Remove default wildcard pattern for tables with Meaningful PK
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/aa6efa42
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/aa6efa42
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/aa6efa42
Branch: refs/heads/master
Commit: aa6efa42ccc36fdd5cb517b77ed09ae9c8bf34e3
Parents: 82a984a
Author: Savva Kolbachev <s....@gmail.com>
Authored: Thu Oct 20 13:49:42 2016 +0300
Committer: Savva Kolbachev <s....@gmail.com>
Committed: Thu Oct 20 13:49:42 2016 +0300
----------------------------------------------------------------------
.../apache/cayenne/modeler/dialog/db/DbLoaderOptionsDialog.java | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/aa6efa42/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderOptionsDialog.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderOptionsDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderOptionsDialog.java
index 4d9dee4..3dbb59a 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderOptionsDialog.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderOptionsDialog.java
@@ -110,7 +110,7 @@ public class DbLoaderOptionsDialog extends CayenneDialog {
builder.append("Table Name Pattern:", tableNamePatternField);
procedureLabel = builder.append("Procedure Name Pattern:", procNamePatternField);
builder.append("Naming Strategy:", strategyCombo);
- builder.append("Meaningful PK", meaningfulPk);
+ builder.append("Tables with Meaningful PK Pattern:", meaningfulPk);
JPanel buttons = new JPanel(new FlowLayout(FlowLayout.RIGHT));
buttons.add(cancelButton);
@@ -146,7 +146,6 @@ public class DbLoaderOptionsDialog extends CayenneDialog {
this.choice = CANCEL;
this.tableNamePatternField.setText(WILDCARD_PATTERN);
this.procNamePatternField.setText(WILDCARD_PATTERN);
- this.meaningfulPk.setText(WILDCARD_PATTERN);
Vector<String> arr = NameGeneratorPreferences
.getInstance()
[5/7] cayenne git commit: Upgrade datamap schema version from 8 to 9;
Posted by sk...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/persistent.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/persistent.map.xml b/cayenne-server/src/test/resources/persistent.map.xml
index 18d9574..ee0481a 100644
--- a/cayenne-server/src/test/resources/persistent.map.xml
+++ b/cayenne-server/src/test/resources/persistent.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.persistent"/>
<property name="clientSupported" value="true"/>
<property name="defaultClientPackage" value="org.apache.cayenne.testdo.persistent"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/primitive.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/primitive.map.xml b/cayenne-server/src/test/resources/primitive.map.xml
index 7cc6992..d5e83dc 100644
--- a/cayenne-server/src/test/resources/primitive.map.xml
+++ b/cayenne-server/src/test/resources/primitive.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.primitive"/>
<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
<property name="clientSupported" value="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/qualified.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/qualified.map.xml b/cayenne-server/src/test/resources/qualified.map.xml
index 3375fab..0a30f4a 100644
--- a/cayenne-server/src/test/resources/qualified.map.xml
+++ b/cayenne-server/src/test/resources/qualified.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.qualified"/>
<property name="quoteSqlIdentifiers" value="true"/>
<db-entity name="TEST_QUALIFIED1">
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/quoted-identifiers.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/quoted-identifiers.map.xml b/cayenne-server/src/test/resources/quoted-identifiers.map.xml
index 739b16f..16d6713 100644
--- a/cayenne-server/src/test/resources/quoted-identifiers.map.xml
+++ b/cayenne-server/src/test/resources/quoted-identifiers.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.quotemap"/>
<property name="quoteSqlIdentifiers" value="true"/>
<db-entity name="QUOTED_ADDRESS">
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/reflexive.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/reflexive.map.xml b/cayenne-server/src/test/resources/reflexive.map.xml
index cee4586..fc8ed64 100644
--- a/cayenne-server/src/test/resources/reflexive.map.xml
+++ b/cayenne-server/src/test/resources/reflexive.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.reflexive"/>
<property name="clientSupported" value="true"/>
<property name="defaultClientPackage" value="org.apache.cayenne.testdo.reflexive"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/relationships-activity.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships-activity.map.xml b/cayenne-server/src/test/resources/relationships-activity.map.xml
index 6463e34..59e72f3 100644
--- a/cayenne-server/src/test/resources/relationships-activity.map.xml
+++ b/cayenne-server/src/test/resources/relationships-activity.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.relationships_activity"/>
<db-entity name="X_ACTIVITY">
<db-attribute name="ACTIVITY_ID" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="50"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/relationships-child-master.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships-child-master.map.xml b/cayenne-server/src/test/resources/relationships-child-master.map.xml
index abcbb15..a803e72 100644
--- a/cayenne-server/src/test/resources/relationships-child-master.map.xml
+++ b/cayenne-server/src/test/resources/relationships-child-master.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.relationships_child_master"/>
<db-entity name="CHILD">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/relationships-clob.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships-clob.map.xml b/cayenne-server/src/test/resources/relationships-clob.map.xml
index afae0b3..0456088 100644
--- a/cayenne-server/src/test/resources/relationships-clob.map.xml
+++ b/cayenne-server/src/test/resources/relationships-clob.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.relationship_clob"/>
<db-entity name="CLOB_DETAIL">
<db-attribute name="CLOB_DETAIL_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/relationships-collection-to-many.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships-collection-to-many.map.xml b/cayenne-server/src/test/resources/relationships-collection-to-many.map.xml
index d9a5c68..29a96cb 100644
--- a/cayenne-server/src/test/resources/relationships-collection-to-many.map.xml
+++ b/cayenne-server/src/test/resources/relationships-collection-to-many.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.relationships_collection_to_many"/>
<db-entity name="COLLECTION_TO_MANY">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/relationships-delete-rules.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships-delete-rules.map.xml b/cayenne-server/src/test/resources/relationships-delete-rules.map.xml
index fe470c3..b875d45 100644
--- a/cayenne-server/src/test/resources/relationships-delete-rules.map.xml
+++ b/cayenne-server/src/test/resources/relationships-delete-rules.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.relationships_delete_rules"/>
<db-entity name="DELETE_RULE_FLATA">
<db-attribute name="FLATA_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/relationships-flattened.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships-flattened.map.xml b/cayenne-server/src/test/resources/relationships-flattened.map.xml
index 6a83bd2..af9364a 100644
--- a/cayenne-server/src/test/resources/relationships-flattened.map.xml
+++ b/cayenne-server/src/test/resources/relationships-flattened.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.relationship_flattened"/>
<db-entity name="COMPLEX_JOIN">
<db-attribute name="EXTRA_COLUMN" type="VARCHAR" length="50"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/relationships-set-to-many.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships-set-to-many.map.xml b/cayenne-server/src/test/resources/relationships-set-to-many.map.xml
index bed10b0..882d8d4 100644
--- a/cayenne-server/src/test/resources/relationships-set-to-many.map.xml
+++ b/cayenne-server/src/test/resources/relationships-set-to-many.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.relationships_set_to_many"/>
<db-entity name="SET_TO_MANY">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/relationships-to-many-fk.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships-to-many-fk.map.xml b/cayenne-server/src/test/resources/relationships-to-many-fk.map.xml
index 159e962..1c8257a 100644
--- a/cayenne-server/src/test/resources/relationships-to-many-fk.map.xml
+++ b/cayenne-server/src/test/resources/relationships-to-many-fk.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.relationships_to_many_fk"/>
<db-entity name="TO_MANY_FKDEP">
<db-attribute name="DEP_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/relationships-to-one-fk.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships-to-one-fk.map.xml b/cayenne-server/src/test/resources/relationships-to-one-fk.map.xml
index a27f06a..fbb7bec 100644
--- a/cayenne-server/src/test/resources/relationships-to-one-fk.map.xml
+++ b/cayenne-server/src/test/resources/relationships-to-one-fk.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.relationships_to_one_fk"/>
<db-entity name="TO_ONE_FK1">
<db-attribute name="TO_ONE_FK1_FK" type="INTEGER" isMandatory="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/relationships.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships.map.xml b/cayenne-server/src/test/resources/relationships.map.xml
index 58769e9..305b42b 100644
--- a/cayenne-server/src/test/resources/relationships.map.xml
+++ b/cayenne-server/src/test/resources/relationships.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.relationships"/>
<db-entity name="FK_OF_DIFFERENT_TYPE">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/return-types.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/return-types.map.xml b/cayenne-server/src/test/resources/return-types.map.xml
index 915f76c..61e9eb1 100644
--- a/cayenne-server/src/test/resources/return-types.map.xml
+++ b/cayenne-server/src/test/resources/return-types.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.return_types"/>
<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
<property name="clientSupported" value="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/soft-delete.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/soft-delete.map.xml b/cayenne-server/src/test/resources/soft-delete.map.xml
index bfa3351..dbd91c8 100644
--- a/cayenne-server/src/test/resources/soft-delete.map.xml
+++ b/cayenne-server/src/test/resources/soft-delete.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.soft_delete"/>
<db-entity name="SOFT_DELETE">
<db-attribute name="DELETED" type="BOOLEAN"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/sus-map.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/sus-map.map.xml b/cayenne-server/src/test/resources/sus-map.map.xml
index f911763..6889dfa 100644
--- a/cayenne-server/src/test/resources/sus-map.map.xml
+++ b/cayenne-server/src/test/resources/sus-map.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<db-entity name="SUS1">
<db-attribute name="id" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
<db-attribute name="strNoMandatory" type="VARCHAR" length="200"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/table-primitives.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/table-primitives.map.xml b/cayenne-server/src/test/resources/table-primitives.map.xml
index 13d8193..e09d406 100644
--- a/cayenne-server/src/test/resources/table-primitives.map.xml
+++ b/cayenne-server/src/test/resources/table-primitives.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.table_primitives"/>
<property name="clientSupported" value="true"/>
<property name="defaultClientPackage" value="org.apache.cayenne.testdo.table_primitives"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/testmap.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/testmap.map.xml b/cayenne-server/src/test/resources/testmap.map.xml
index 4604801..84c04ba 100644
--- a/cayenne-server/src/test/resources/testmap.map.xml
+++ b/cayenne-server/src/test/resources/testmap.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.testmap"/>
<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
<property name="clientSupported" value="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/things.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/things.map.xml b/cayenne-server/src/test/resources/things.map.xml
index 03c705b..3212d70 100644
--- a/cayenne-server/src/test/resources/things.map.xml
+++ b/cayenne-server/src/test/resources/things.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.things"/>
<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
<property name="clientSupported" value="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/toone.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/toone.map.xml b/cayenne-server/src/test/resources/toone.map.xml
index 0f5aae5..f206e6e 100644
--- a/cayenne-server/src/test/resources/toone.map.xml
+++ b/cayenne-server/src/test/resources/toone.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.toone"/>
<property name="clientSupported" value="true"/>
<property name="defaultClientPackage" value="org.apache.cayenne.testdo.toone"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/unsupported-distinct-types.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/unsupported-distinct-types.map.xml b/cayenne-server/src/test/resources/unsupported-distinct-types.map.xml
index ebfbf99..0280918 100644
--- a/cayenne-server/src/test/resources/unsupported-distinct-types.map.xml
+++ b/cayenne-server/src/test/resources/unsupported-distinct-types.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.unsupported_distinct_types"/>
<db-entity name="COMPOSITION">
<db-attribute name="BASE_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-server/src/test/resources/uuid.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/uuid.map.xml b/cayenne-server/src/test/resources/uuid.map.xml
index af86ec2..1f38102 100644
--- a/cayenne-server/src/test/resources/uuid.map.xml
+++ b/cayenne-server/src/test/resources/uuid.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.testdo.uuid"/>
<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
<property name="clientSupported" value="true"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/cayenne-tools/src/test/resources/org/apache/cayenne/tools/build-include-table.map.xml-result
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/resources/org/apache/cayenne/tools/build-include-table.map.xml-result b/cayenne-tools/src/test/resources/org/apache/cayenne/tools/build-include-table.map.xml-result
index 760ce23..5c0d2b6 100644
--- a/cayenne-tools/src/test/resources/org/apache/cayenne/tools/build-include-table.map.xml-result
+++ b/cayenne-tools/src/test/resources/org/apache/cayenne/tools/build-include-table.map.xml-result
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<db-entity name="PARENT" schema="APP">
<db-attribute name="COL2" type="CHAR" length="25"/>
<db-attribute name="COL3" type="DECIMAL" length="10" scale="2"/>
@@ -34,4 +34,4 @@
<obj-attribute name="col4" type="java.lang.String" db-attribute-path="COL4"/>
<obj-attribute name="col5" type="java.util.Date" db-attribute-path="COL5"/>
</obj-entity>
-</data-map>
\ No newline at end of file
+</data-map>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml
index 84ecf2f..acbc62c 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultSchema" value="SCHEMA_01"/>
<db-entity name="EXISTING_TABLE" schema="SCHEMA_01">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true" length="10"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml-result
index a433b46..aa301db 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml-result
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultSchema" value="SCHEMA_01"/>
<db-entity name="EXISTING_TABLE" schema="SCHEMA_01">
<db-attribute name="COL2" type="INTEGER" length="10"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDefaultPackage.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDefaultPackage.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDefaultPackage.map.xml-result
index 88cec3a..5373617 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDefaultPackage.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDefaultPackage.map.xml-result
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="com.example.test"/>
<property name="defaultSchema" value="SCHEMA_01"/>
<db-entity name="CHILD" schema="SCHEMA_01">
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFilteringWithSchema.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFilteringWithSchema.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFilteringWithSchema.map.xml-result
index 31491cd..a65e271 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFilteringWithSchema.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFilteringWithSchema.map.xml-result
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultSchema" value="SCHEMA_01"/>
<db-entity name="CHILD" schema="SCHEMA_01">
<db-attribute name="COL3" type="DECIMAL" length="10" scale="2"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFlattensManyToManyWithRecursiveLink.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFlattensManyToManyWithRecursiveLink.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFlattensManyToManyWithRecursiveLink.map.xml-result
index ed6746b..8263273 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFlattensManyToManyWithRecursiveLink.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFlattensManyToManyWithRecursiveLink.map.xml-result
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.not.my.home"/>
<db-entity name="A" schema="APP">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true" length="10"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml
index a689c1c..2317476 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<db-entity name="testImportAddTableAndColumn" schema="APP">
<db-attribute name="COL1" type="INTEGER" isPrimaryKey="true" isMandatory="true" length="10"/>
<db-attribute name="COL2" type="CHAR" length="25"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml-result
index edd8b54..a5dd466 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml-result
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<db-entity name="CHILD" schema="APP">
<db-attribute name="COL3" type="DECIMAL" length="10" scale="2"/>
<db-attribute name="COL4" type="VARCHAR" length="25"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewDataMap.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewDataMap.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewDataMap.map.xml-result
index f1c2c9c..6133ac4 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewDataMap.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewDataMap.map.xml-result
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<db-entity name="TEST_TABLE" schema="APP">
<db-attribute name="COL1" type="INTEGER" isPrimaryKey="true" isMandatory="true" length="10"/>
<db-attribute name="COL2" type="CHAR" length="25"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportWithoutChanges.map.xml
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportWithoutChanges.map.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportWithoutChanges.map.xml
index d354661..a22e016 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportWithoutChanges.map.xml
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportWithoutChanges.map.xml
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<db-entity name="testImportWithoutChanges" schema="APP">
<db-attribute name="COL1" type="INTEGER" isPrimaryKey="true" isMandatory="true" length="10"/>
<db-attribute name="COL2" type="CHAR" length="25"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportWithoutChanges.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportWithoutChanges.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportWithoutChanges.map.xml-result
index ba5abbc..25c85af 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportWithoutChanges.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportWithoutChanges.map.xml-result
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<db-entity name="testImportWithoutChanges" schema="APP">
<db-attribute name="COL1" type="INTEGER" isPrimaryKey="true" isMandatory="true" length="10"/>
<db-attribute name="COL2" type="CHAR" length="25"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testOneToOne.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testOneToOne.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testOneToOne.map.xml-result
index 713ad1e..7dc3e2f 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testOneToOne.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testOneToOne.map.xml-result
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<db-entity name="PICK_SCHEDULE" schema="APP">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true" length="10"/>
<db-attribute name="OWNER_ID" type="INTEGER" length="10"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveCustomObjMappings.map.xml
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveCustomObjMappings.map.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveCustomObjMappings.map.xml
index 93f6b27..909c5f9 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveCustomObjMappings.map.xml
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveCustomObjMappings.map.xml
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultSchema" value="SCHEMA_01"/>
<db-entity name="PARENT" schema="SCHEMA_01">
<db-attribute name="COL2" type="CHAR" length="25"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveCustomObjMappings.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveCustomObjMappings.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveCustomObjMappings.map.xml-result
index 7c8036d..d874808 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveCustomObjMappings.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveCustomObjMappings.map.xml-result
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultSchema" value="SCHEMA_01"/>
<db-entity name="PARENT" schema="SCHEMA_01">
<db-attribute name="COL2" type="CHAR" length="25"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveRelationships.map.xml
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveRelationships.map.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveRelationships.map.xml
index 9febe2f..5d3c059 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveRelationships.map.xml
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveRelationships.map.xml
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<db-entity name="CHILD" schema="APP">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true" length="10"/>
<db-attribute name="PARENT_ID" type="INTEGER" length="10"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveRelationships.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveRelationships.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveRelationships.map.xml-result
index 71d4d9b..818c17f 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveRelationships.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testPreserveRelationships.map.xml-result
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<db-entity name="CHILD" schema="APP">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true" length="10"/>
</db-entity>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude.map.xml-result
index b0706f9..1870f1b 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude.map.xml-result
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultSchema" value="SCHEMA_01"/>
<db-entity name="PARENT" schema="SCHEMA_01">
<db-attribute name="COL2" type="CHAR" length="25"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipPrimaryKeyLoading.map.xml
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipPrimaryKeyLoading.map.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipPrimaryKeyLoading.map.xml
index ae0318a..1f08680 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipPrimaryKeyLoading.map.xml
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipPrimaryKeyLoading.map.xml
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="com.my.home"/>
<db-entity name="A" schema="APP">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true" length="10"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipPrimaryKeyLoading.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipPrimaryKeyLoading.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipPrimaryKeyLoading.map.xml-result
index cbf0e21..ae701e6 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipPrimaryKeyLoading.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipPrimaryKeyLoading.map.xml-result
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="com.my.home"/>
<db-entity name="A" schema="APP">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true" length="10"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipRelationshipsLoading.map.xml
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipRelationshipsLoading.map.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipRelationshipsLoading.map.xml
index 32a1d58..a245765 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipRelationshipsLoading.map.xml
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipRelationshipsLoading.map.xml
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="com.my.home"/>
<db-entity name="A" schema="APP">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true" length="10"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipRelationshipsLoading.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipRelationshipsLoading.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipRelationshipsLoading.map.xml-result
index 32a1d58..a245765 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipRelationshipsLoading.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSkipRelationshipsLoading.map.xml-result
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="com.my.home"/>
<db-entity name="A" schema="APP">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true" length="10"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSupportsCatalogsOnReverseEngineering.map.xml
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSupportsCatalogsOnReverseEngineering.map.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSupportsCatalogsOnReverseEngineering.map.xml
index c9e0334..81fc363 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSupportsCatalogsOnReverseEngineering.map.xml
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSupportsCatalogsOnReverseEngineering.map.xml
@@ -17,9 +17,9 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="com.my.home"/>
</data-map>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testTableTypes.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testTableTypes.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testTableTypes.map.xml-result
index 48834d3..cdc9ddd 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testTableTypes.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testTableTypes.map.xml-result
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<db-entity name="PERSON" schema="APP">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true" length="10"/>
</db-entity>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml
index 569cad1..689a94a 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="com.my.home"/>
<db-entity name="A" schema="APP">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true" length="10"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml-result
index 349ebb9..46d6a84 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testUnFlattensManyToMany.map.xml-result
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.not.my.home"/>
<db-entity name="A" schema="APP">
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true" length="10"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testViewsExclude.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testViewsExclude.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testViewsExclude.map.xml-result
index e6cd3dd..3b49289 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testViewsExclude.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testViewsExclude.map.xml-result
@@ -17,10 +17,10 @@
specific language governing permissions and limitations
under the License.
-->
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<db-entity name="GIRL" schema="APP">
<db-attribute name="ID" type="INTEGER" isMandatory="true" length="10"/>
</db-entity>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/tutorials/tutorial-rop-server-http2/src/main/resources/cayenne-project.xml
----------------------------------------------------------------------
diff --git a/tutorials/tutorial-rop-server-http2/src/main/resources/cayenne-project.xml b/tutorials/tutorial-rop-server-http2/src/main/resources/cayenne-project.xml
index 05c2351..1c7f367 100644
--- a/tutorials/tutorial-rop-server-http2/src/main/resources/cayenne-project.xml
+++ b/tutorials/tutorial-rop-server-http2/src/main/resources/cayenne-project.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="8">
+<domain project-version="9">
<map name="datamap"/>
<node name="datanode"
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f72210cc/tutorials/tutorial-rop-server-http2/src/main/resources/datamap.map.xml
----------------------------------------------------------------------
diff --git a/tutorials/tutorial-rop-server-http2/src/main/resources/datamap.map.xml b/tutorials/tutorial-rop-server-http2/src/main/resources/datamap.map.xml
index c77fcf6..e0a7e3f 100644
--- a/tutorials/tutorial-rop-server-http2/src/main/resources/datamap.map.xml
+++ b/tutorials/tutorial-rop-server-http2/src/main/resources/datamap.map.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/8/modelMap"
+<data-map xmlns="http://cayenne.apache.org/schema/9/modelMap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://cayenne.apache.org/schema/8/modelMap http://cayenne.apache.org/schema/8/modelMap.xsd"
- project-version="8">
+ xsi:schemaLocation="http://cayenne.apache.org/schema/9/modelMap http://cayenne.apache.org/schema/9/modelMap.xsd"
+ project-version="9">
<property name="defaultPackage" value="org.apache.cayenne.tutorial.persistent"/>
<property name="clientSupported" value="true"/>
<property name="defaultClientPackage" value="org.apache.cayenne.tutorial.persistent.client"/>