You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2018/11/14 14:27:52 UTC
[21/32] cayenne git commit: Cgen task refactoring
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b30e5eb5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorController.java
deleted file mode 100644
index a5ac549..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorController.java
+++ /dev/null
@@ -1,169 +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.codegen;
-//
-//import org.apache.cayenne.gen.ClassGenerationAction;
-//import org.apache.cayenne.map.DataMap;
-//import org.apache.cayenne.modeler.dialog.ErrorDebugDialog;
-//import org.apache.cayenne.modeler.util.CayenneController;
-//import org.apache.cayenne.swing.BindingBuilder;
-//import org.slf4j.Logger;
-//import org.slf4j.LoggerFactory;
-//
-//import javax.swing.JOptionPane;
-//import java.awt.Component;
-//import java.util.Collection;
-//import java.util.function.Predicate;
-//
-///**
-// * A controller for the class generator dialog.
-// */
-//public class CodeGeneratorController extends CodeGeneratorControllerBase {
-// /**
-// * Logger to print stack traces
-// */
-// private static Logger logObj = LoggerFactory.getLogger(ErrorDebugDialog.class);
-//
-// protected CodeGeneratorDialog view;
-//
-// protected ClassesTabController classesSelector;
-// protected GeneratorTabController generatorSelector;
-//
-// public CodeGeneratorController(CayenneController parent, Collection<DataMap> dataMaps) {
-// super(parent, dataMaps);
-//
-// this.classesSelector = new ClassesTabController(this, dataMaps);
-// this.generatorSelector = new GeneratorTabController(this);
-// }
-//
-// @Override
-// public Component getView() {
-// return view;
-// }
-//
-// public void startup() {
-// // show dialog even on empty DataMap, as custom generation may still take
-// // advantage of it
-//
-// view = new CodeGeneratorDialog(generatorSelector.getView(), classesSelector.getView());
-// initBindings();
-//
-// view.pack();
-// view.setModal(true);
-// centerView();
-// makeCloseableOnEscape();
-// view.setVisible(true);
-// }
-//
-// protected void initBindings() {
-// BindingBuilder builder = new BindingBuilder(
-// getApplication().getBindingFactory(),
-// this);
-//
-// builder.bindToAction(view.getCancelButton(), "cancelAction()");
-// builder.bindToAction(view.getGenerateButton(), "generateAction()");
-// builder.bindToAction(this, "classesSelectedAction()", SELECTED_PROPERTY);
-// builder.bindToAction(generatorSelector, "generatorSelectedAction()",
-// GeneratorTabController.GENERATOR_PROPERTY);
-//
-// generatorSelectedAction();
-// }
-//
-// public void generatorSelectedAction() {
-// GeneratorController controller = generatorSelector.getGeneratorController();
-// validate(controller);
-//
-// Predicate<Object> predicate = controller != null
-// ? controller.getDefaultClassFilter()
-// : o -> false;
-//
-// updateSelection(predicate);
-// classesSelector.classSelectedAction();
-// }
-//
-// public void classesSelectedAction() {
-// int size = getSelectedEntitiesSize();
-// String label;
-//
-// if (size == 0) {
-// label = "No entities selected";
-// }
-// else if (size == 1) {
-// label = "One entity selected";
-// }
-// else {
-// label = size + " entities selected";
-// }
-//
-// label = label.concat("; ");
-//
-// int sizeEmb = getSelectedEmbeddablesSize();
-//
-// if (sizeEmb == 0) {
-// label = label + "No embeddables selected";
-// }
-// else if (sizeEmb == 1) {
-// label = label + "One embeddable selected";
-// }
-// else {
-// label = label + sizeEmb + " embeddables selected";
-// }
-//
-// label = label.concat("; ");
-//
-// int sizeDataMap = getSelectedDataMapsSize();
-//
-// if(sizeDataMap == 0) {
-// label = label + "No datamaps selected";
-// } else if(sizeDataMap == 1) {
-// label = label + "One datamap selected";
-// } else {
-// label = label + sizeDataMap + " datamaps selected";
-// }
-//
-// view.getClassesCount().setText(label);
-// }
-//
-// public void cancelAction() {
-// view.dispose();
-// }
-//
-// public void generateAction() {
-// Collection<ClassGenerationAction> generators = generatorSelector.getConfiguration();
-//
-// if (generators != null) {
-// try {
-// for (ClassGenerationAction generator : generators) {
-// generator.execute();
-// }
-// JOptionPane.showMessageDialog(
-// this.getView(),
-// "Class generation finished");
-// } catch (Exception e) {
-// logObj.error("Error generating classes", e);
-// JOptionPane.showMessageDialog(
-// this.getView(),
-// "Error generating classes - " + e.getMessage());
-// }
-// }
-//
-// view.dispose();
-// }
-//}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b30e5eb5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java
deleted file mode 100644
index 3848126..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java
+++ /dev/null
@@ -1,380 +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.codegen;
-//
-//import org.apache.cayenne.map.DataMap;
-//import org.apache.cayenne.map.Embeddable;
-//import org.apache.cayenne.map.ObjEntity;
-//import org.apache.cayenne.modeler.util.CayenneController;
-//import org.apache.cayenne.modeler.util.CellRenderers;
-//import org.apache.cayenne.validation.ValidationFailure;
-//import org.apache.cayenne.validation.ValidationResult;
-//
-//import javax.swing.Icon;
-//import javax.swing.JLabel;
-//import java.awt.Component;
-//import java.util.ArrayList;
-//import java.util.Collection;
-//import java.util.HashSet;
-//import java.util.List;
-//import java.util.Set;
-//import java.util.function.Predicate;
-//
-///**
-// * A base superclass of a top controller for the code generator. Defines all common model
-// * parts used in class generation.
-// *
-// */
-//public abstract class CodeGeneratorControllerBase extends CayenneController {
-//
-// public static final String SELECTED_PROPERTY = "selected";
-//
-// protected Collection<DataMap> dataMaps;
-//
-// protected ValidationResult validation;
-//
-// protected List<Object> classes;
-//
-// private Set<String> selectedEntities;
-// private Set<String> selectedEmbeddables;
-// private Set<String> selectedDataMaps;
-//
-// private transient Object currentClass;
-//
-// public CodeGeneratorControllerBase(CayenneController parent, Collection<DataMap> dataMaps) {
-// super(parent);
-//
-// this.dataMaps = dataMaps;
-// this.classes = new ArrayList<>();
-//
-// for(DataMap dataMap:dataMaps){
-// this.classes.addAll(dataMap.getObjEntities());
-// this.classes.addAll(dataMap.getEmbeddables());
-// this.classes.add(dataMap);
-// }
-// this.selectedEntities = new HashSet<>();
-// this.selectedEmbeddables = new HashSet<>();
-// this.selectedDataMaps = new HashSet<>();
-// }
-//
-// public List<Object> getClasses() {
-// return classes;
-// }
-//
-// public abstract Component getView();
-//
-// public void validate(GeneratorController validator) {
-//
-// ValidationResult validationBuffer = new ValidationResult();
-//
-// if (validator != null) {
-// for (Object classObj : classes) {
-// if (classObj instanceof ObjEntity) {
-// validator.validateEntity(
-// validationBuffer,
-// (ObjEntity) classObj,
-// false);
-// }
-// else if (classObj instanceof Embeddable) {
-// validator.validateEmbeddable(validationBuffer, (Embeddable) classObj);
-// }
-// }
-//
-// }
-//
-// this.validation = validationBuffer;
-// }
-//
-// public boolean updateSelection(Predicate<Object> predicate) {
-//
-// boolean modified = false;
-//
-// for (Object classObj : classes) {
-// boolean select = predicate.test(classObj);
-// if (classObj instanceof ObjEntity) {
-//
-// if (select) {
-// if (selectedEntities.add(((ObjEntity) classObj).getName())) {
-// modified = true;
-// }
-// }
-// else {
-// if (selectedEntities.remove(((ObjEntity) classObj).getName())) {
-// modified = true;
-// }
-// }
-// }
-// else if (classObj instanceof Embeddable) {
-// if (select) {
-// if (selectedEmbeddables.add(((Embeddable) classObj).getClassName())) {
-// modified = true;
-// }
-// }
-// else {
-// if (selectedEmbeddables
-// .remove(((Embeddable) classObj).getClassName())) {
-// modified = true;
-// }
-// }
-// } else if(classObj instanceof DataMap) {
-// if(select) {
-// if(selectedDataMaps.add(((DataMap) classObj).getName())) {
-// modified = true;
-// }
-// } else {
-// if(selectedDataMaps.remove(((DataMap) classObj).getName())) {
-// modified = true;
-// }
-// }
-// }
-//
-// }
-//
-// if (modified) {
-// firePropertyChange(SELECTED_PROPERTY, null, null);
-// }
-//
-// return modified;
-// }
-//
-// public boolean updateDataMapSelection(Predicate<Object> predicate, DataMap dataMap) {
-//
-// boolean modified = false;
-//
-// for (Object classObj : classes) {
-// boolean select = predicate.test(classObj);
-// if (classObj instanceof ObjEntity) {
-// if(dataMap.getObjEntities().contains(classObj)) {
-// if (select) {
-// if (selectedEntities.add(((ObjEntity) classObj).getName())) {
-// modified = true;
-// }
-// } else {
-// if (selectedEntities.remove(((ObjEntity) classObj).getName())) {
-// modified = true;
-// }
-// }
-// }
-// }
-// else if (classObj instanceof Embeddable) {
-// if(dataMap.getEmbeddables().contains(classObj)) {
-// if (select) {
-// if (selectedEmbeddables.add(((Embeddable) classObj).getClassName())) {
-// modified = true;
-// }
-// } else {
-// if (selectedEmbeddables
-// .remove(((Embeddable) classObj).getClassName())) {
-// modified = true;
-// }
-// }
-// }
-// } else {
-// if(dataMap == classObj) {
-// if (select) {
-// if (selectedDataMaps.add(((DataMap) classObj).getName())) {
-// modified = true;
-// }
-// } else {
-// if (selectedDataMaps.remove(((DataMap) classObj).getName())) {
-// modified = true;
-// }
-// }
-// }
-// }
-//
-// }
-//
-// if (modified) {
-// firePropertyChange(SELECTED_PROPERTY, null, null);
-// }
-//
-// return modified;
-// }
-//
-// public List<Embeddable> getSelectedEmbeddables() {
-//
-// List<Embeddable> selected = new ArrayList<>(selectedEmbeddables.size());
-//
-// for (Object classObj : classes) {
-// if (classObj instanceof Embeddable
-// && selectedEmbeddables.contains(((Embeddable) classObj)
-// .getClassName())) {
-// selected.add((Embeddable) classObj);
-// }
-// }
-//
-// return selected;
-// }
-//
-// public List<ObjEntity> getSelectedEntities() {
-// List<ObjEntity> selected = new ArrayList<>(selectedEntities.size());
-// for (Object classObj : classes) {
-// if (classObj instanceof ObjEntity
-// && selectedEntities.contains(((ObjEntity) classObj).getName())) {
-// selected.add(((ObjEntity) classObj));
-// }
-// }
-//
-// return selected;
-// }
-//
-// public List<DataMap> getSelectedDataMaps() {
-// List<DataMap> selected = new ArrayList<>(selectedDataMaps.size());
-// for(Object classObj : classes) {
-// if(classObj instanceof DataMap
-// && selectedDataMaps.contains(((DataMap) classObj).getName())) {
-// selected.add((DataMap) classObj);
-// }
-// }
-// return selected;
-// }
-//
-// public int getSelectedEntitiesSize() {
-// return selectedEntities.size();
-// }
-//
-// public int getSelectedEmbeddablesSize() {
-// return selectedEmbeddables.size();
-// }
-//
-// public int getSelectedDataMapsSize() {
-// return selectedDataMaps.size();
-// }
-//
-// /**
-// * Returns the first encountered validation problem for an antity matching the name or
-// * null if the entity is valid or the entity is not present.
-// */
-// public String getProblem(Object obj) {
-//
-// String name = null;
-//
-// if (obj instanceof ObjEntity) {
-// name = ((ObjEntity) obj).getName();
-// }
-// else if (obj instanceof Embeddable) {
-// name = ((Embeddable) obj).getClassName();
-// }
-//
-// if (validation == null) {
-// return null;
-// }
-//
-// List failures = validation.getFailures(name);
-// if (failures.isEmpty()) {
-// return null;
-// }
-//
-// return ((ValidationFailure) failures.get(0)).getDescription();
-// }
-//
-// public boolean isSelected() {
-// if (currentClass instanceof ObjEntity) {
-// return selectedEntities
-// .contains(((ObjEntity) currentClass).getName());
-// }
-// if (currentClass instanceof Embeddable) {
-// return selectedEmbeddables
-// .contains(((Embeddable) currentClass).getClassName());
-// }
-// if(currentClass instanceof DataMap) {
-// return selectedDataMaps
-// .contains(((DataMap) currentClass).getName());
-// }
-// return false;
-//
-// }
-//
-// public void setSelected(boolean selectedFlag) {
-// if (currentClass == null) {
-// return;
-// }
-// if (currentClass instanceof ObjEntity) {
-// if (selectedFlag) {
-// if (selectedEntities.add(((ObjEntity) currentClass).getName())) {
-// firePropertyChange(SELECTED_PROPERTY, null, null);
-// }
-// }
-// else {
-// if (selectedEntities.remove(((ObjEntity) currentClass).getName())) {
-// firePropertyChange(SELECTED_PROPERTY, null, null);
-// }
-// }
-// }
-// if (currentClass instanceof Embeddable) {
-// if (selectedFlag) {
-// if (selectedEmbeddables.add(((Embeddable) currentClass).getClassName())) {
-// firePropertyChange(SELECTED_PROPERTY, null, null);
-// }
-// }
-// else {
-// if (selectedEmbeddables
-// .remove(((Embeddable) currentClass).getClassName())) {
-// firePropertyChange(SELECTED_PROPERTY, null, null);
-// }
-// }
-// }
-// if(currentClass instanceof DataMap) {
-// if(selectedFlag) {
-// if(selectedDataMaps.add(((DataMap) currentClass).getName())) {
-// firePropertyChange(SELECTED_PROPERTY, null, null);
-// }
-// } else {
-// if(selectedDataMaps.remove(((DataMap) currentClass).getName())) {
-// firePropertyChange(SELECTED_PROPERTY, null, null);
-// }
-// }
-// }
-// }
-//
-// public Object getCurrentClass() {
-// return currentClass;
-// }
-//
-// public void setCurrentClass(Object currentClass) {
-// this.currentClass = currentClass;
-// }
-//
-// public Collection<DataMap> getDataMaps() {
-// return dataMaps;
-// }
-//
-// public JLabel getItemName(Object obj) {
-// String className;
-// Icon icon;
-// if (obj instanceof Embeddable) {
-// className = ((Embeddable) obj).getClassName();
-// icon = CellRenderers.iconForObject(new Embeddable());
-// } else if(obj instanceof ObjEntity) {
-// className = ((ObjEntity) obj).getName();
-// icon = CellRenderers.iconForObject(new ObjEntity());
-// } else {
-// className = ((DataMap) obj).getName();
-// icon = CellRenderers.iconForObject(new DataMap());
-// }
-// JLabel labelIcon = new JLabel();
-// labelIcon.setIcon(icon);
-// labelIcon.setVisible(true);
-// labelIcon.setText(className);
-// return labelIcon;
-// }
-//
-//}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b30e5eb5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorDialog.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorDialog.java
deleted file mode 100644
index c4f4bd1..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorDialog.java
+++ /dev/null
@@ -1,99 +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.codegen;
-//
-//import org.apache.cayenne.modeler.Application;
-//import org.apache.cayenne.swing.components.TopBorder;
-//
-//import javax.swing.Box;
-//import javax.swing.JButton;
-//import javax.swing.JDialog;
-//import javax.swing.JLabel;
-//import javax.swing.JPanel;
-//import javax.swing.JScrollPane;
-//import javax.swing.JSplitPane;
-//import javax.swing.ScrollPaneConstants;
-//import java.awt.BorderLayout;
-//import java.awt.Component;
-//import java.awt.Container;
-//import java.awt.Dimension;
-//import java.awt.FlowLayout;
-//
-///**
-// */
-//public class CodeGeneratorDialog extends JDialog {
-//
-// private JButton generateButton;
-// protected JButton cancelButton;
-// private JLabel classesCount;
-//
-// CodeGeneratorDialog(Component generatorPanel, Component entitySelectorPanel) {
-// super(Application.getFrame());
-//
-// JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
-// splitPane.setFocusable(false);
-//
-// this.generateButton = new JButton("Generate");
-// getRootPane().setDefaultButton(generateButton);
-//
-// this.cancelButton = new JButton("Cancel");
-// this.classesCount = new JLabel("No classes selected");
-// classesCount.setFont(classesCount.getFont().deriveFont(10f));
-//
-//
-// JScrollPane scrollPane = new JScrollPane(
-// generatorPanel,
-// ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
-// ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
-// scrollPane.setPreferredSize(new Dimension(630, 500));
-//
-// splitPane.setLeftComponent(entitySelectorPanel);
-// splitPane.setRightComponent(scrollPane);
-//
-// JPanel messages = new JPanel(new BorderLayout());
-// messages.add(classesCount, BorderLayout.WEST);
-//
-// JPanel buttons = new JPanel(new FlowLayout(FlowLayout.RIGHT));
-// buttons.setBorder(TopBorder.create());
-// buttons.add(classesCount);
-// buttons.add(Box.createHorizontalStrut(50));
-// buttons.add(cancelButton);
-// buttons.add(generateButton);
-//
-// Container contentPane = getContentPane();
-// contentPane.setLayout(new BorderLayout());
-// contentPane.add(splitPane, BorderLayout.CENTER);
-// contentPane.add(buttons, BorderLayout.SOUTH);
-//
-// setTitle("Code Generation");
-// }
-//
-// public JButton getCancelButton() {
-// return cancelButton;
-// }
-//
-// public JButton getGenerateButton() {
-// return generateButton;
-// }
-//
-// public JLabel getClassesCount() {
-// return classesCount;
-// }
-//}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b30e5eb5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java
deleted file mode 100644
index 344bd72..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java
+++ /dev/null
@@ -1,235 +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.codegen;
-//
-//import org.apache.cayenne.gen.ClassGenerationAction;
-//import org.apache.cayenne.map.DataMap;
-//import org.apache.cayenne.modeler.CodeTemplateManager;
-//import org.apache.cayenne.modeler.dialog.pref.PreferenceDialog;
-//import org.apache.cayenne.modeler.pref.DataMapDefaults;
-//import org.apache.cayenne.swing.BindingBuilder;
-//import org.apache.cayenne.swing.ObjectBinding;
-//import org.apache.cayenne.util.Util;
-//
-//import javax.swing.DefaultComboBoxModel;
-//import javax.swing.JCheckBox;
-//import javax.swing.JComboBox;
-//import java.awt.Component;
-//import java.util.List;
-//import java.util.ArrayList;
-//import java.util.Collection;
-//import java.util.Collections;
-//import java.util.Map.Entry;
-//import java.util.Objects;
-//import java.util.Set;
-//import java.util.TreeMap;
-//
-//import static org.apache.cayenne.modeler.CodeTemplateManager.SINGLE_SERVER_CLASS;
-//import static org.apache.cayenne.modeler.CodeTemplateManager.STANDARD_SERVER_SUBCLASS;
-//import static org.apache.cayenne.modeler.CodeTemplateManager.STANDARD_SERVER_SUPERCLASS;
-//import static org.apache.cayenne.modeler.dialog.pref.PreferenceDialog.TEMPLATES_KEY;
-//
-///**
-// * A controller for the custom generation mode.
-// */
-//public class CustomModeController extends GeneratorController {
-//
-// // correspond to non-public constants on MapClassGenerator.
-// private static final String MODE_ENTITY = "entity";
-//
-// protected CustomModePanel view;
-// private CodeTemplateManager templateManager;
-//
-// private ObjectBinding superTemplate;
-// private ObjectBinding subTemplate;
-//
-// private CustomPreferencesUpdater preferencesUpdater;
-//
-// public CustomPreferencesUpdater getCustomPreferencesUpdater() {
-// return preferencesUpdater;
-// }
-//
-// public CustomModeController(CodeGeneratorControllerBase parent) {
-// super(parent);
-//
-// // bind preferences and init defaults...
-//
-// Set<Entry<DataMap, DataMapDefaults>> entities = getMapPreferences().entrySet();
-//
-// for (Entry<DataMap, DataMapDefaults> entry : entities) {
-//
-// if (Util.isEmptyString(entry.getValue().getSuperclassTemplate())) {
-// entry.getValue().setSuperclassTemplate(STANDARD_SERVER_SUPERCLASS);
-// }
-//
-// if (Util.isEmptyString(entry.getValue().getSubclassTemplate())) {
-// entry.getValue().setSubclassTemplate(STANDARD_SERVER_SUBCLASS);
-// }
-//
-// if (Util.isEmptyString(entry.getValue().getProperty("mode"))) {
-// entry.getValue().setProperty("mode", MODE_ENTITY);
-// }
-//
-// if (Util.isEmptyString(entry.getValue().getProperty("overwrite"))) {
-// entry.getValue().setBooleanProperty("overwrite", false);
-// }
-//
-// if (Util.isEmptyString(entry.getValue().getProperty("pairs"))) {
-// entry.getValue().setBooleanProperty("pairs", true);
-// }
-//
-// if (Util.isEmptyString(entry.getValue().getProperty("usePackagePath"))) {
-// entry.getValue().setBooleanProperty("usePackagePath", true);
-// }
-//
-// if (Util.isEmptyString(entry.getValue().getProperty("outputPattern"))) {
-// entry.getValue().setProperty("outputPattern", "*.java");
-// }
-// }
-//
-// BindingBuilder builder = new BindingBuilder(getApplication().getBindingFactory(), this);
-//
-// builder.bindToAction(view.getManageTemplatesLink(), "popPreferencesAction()");
-//
-// builder.bindToStateChange(view.getOverwrite(), "customPreferencesUpdater.overwrite").updateView();
-//
-// builder.bindToStateChange(view.getPairs(), "customPreferencesUpdater.pairs").updateView();
-//
-// builder.bindToStateChange(view.getUsePackagePath(), "customPreferencesUpdater.usePackagePath").updateView();
-//
-// subTemplate = builder.bindToComboSelection(view.getSubclassTemplate(),
-// "customPreferencesUpdater.subclassTemplate");
-//
-// superTemplate = builder.bindToComboSelection(view.getSuperclassTemplate(),
-// "customPreferencesUpdater.superclassTemplate");
-//
-// builder.bindToTextField(view.getOutputPattern(), "customPreferencesUpdater.outputPattern").updateView();
-//
-// builder.bindToStateChange(view.getCreatePropertyNames(), "customPreferencesUpdater.createPropertyNames")
-// .updateView();
-//
-// builder.bindToStateChange(view.getCreatePKProperties(), "customPreferencesUpdater.createPKProperties")
-// .updateView();
-//
-// updateTemplates();
-// }
-//
-// protected void createDefaults() {
-// TreeMap<DataMap, DataMapDefaults> map = new TreeMap<DataMap, DataMapDefaults>();
-// Collection<DataMap> dataMaps = getParentController().getDataMaps();
-// for (DataMap dataMap : dataMaps) {
-// DataMapDefaults preferences;
-// preferences = getApplication().getFrameController().getProjectController()
-// .getDataMapPreferences(this.getClass().getName().replace(".", "/"), dataMap);
-// preferences.setSuperclassPackage("");
-// preferences.updateSuperclassPackage(dataMap, false);
-//
-// map.put(dataMap, preferences);
-//
-// if (getOutputPath() == null) {
-// setOutputPath(preferences.getOutputPath());
-// }
-// }
-//
-// setMapPreferences(map);
-// preferencesUpdater = new CustomPreferencesUpdater(map);
-// }
-//
-// protected GeneratorControllerPanel createView() {
-// this.view = new CustomModePanel();
-// return view;
-// }
-//
-// private void updateTemplates() {
-// this.templateManager = getApplication().getCodeTemplateManager();
-//
-// List<String> customTemplates = new ArrayList<>(templateManager.getCustomTemplates().keySet());
-// Collections.sort(customTemplates);
-//
-// List<String> superTemplates = new ArrayList<>(templateManager.getStandardSuperclassTemplates());
-// Collections.sort(superTemplates);
-// superTemplates.addAll(customTemplates);
-//
-// List<String> subTemplates = new ArrayList<>(templateManager.getStandardSubclassTemplates());
-// Collections.sort(subTemplates);
-// subTemplates.addAll(customTemplates);
-//
-// this.view.getSubclassTemplate().setModel(new DefaultComboBoxModel<>(subTemplates.toArray(new String[0])));
-// this.view.getSuperclassTemplate().setModel(new DefaultComboBoxModel<>(superTemplates.toArray(new String[0])));
-//
-// JCheckBox pairs = this.view.getPairs();
-// updateView();
-// pairs.addItemListener(e -> updateView());
-//
-// superTemplate.updateView();
-// subTemplate.updateView();
-// }
-//
-// private void updateView() {
-// boolean selected = view.getPairs().isSelected();
-// JComboBox<String> subclassTemplate = view.getSubclassTemplate();
-// subclassTemplate.setSelectedItem(selected ? STANDARD_SERVER_SUBCLASS : SINGLE_SERVER_CLASS);
-// view.getSuperclassTemplate().setEnabled(selected);
-// view.getOverwrite().setEnabled(!selected);
-// }
-//
-// public Component getView() {
-// return view;
-// }
-//
-// public Collection<ClassGenerationAction> createConfiguration() {
-//
-// Collection<ClassGenerationAction> generators = super.createConfiguration();
-//
-// String superKey = Objects.requireNonNull(view.getSuperclassTemplate().getSelectedItem()).toString();
-// String superTemplate = templateManager.getTemplatePath(superKey);
-//
-// String subKey = Objects.requireNonNull(view.getSubclassTemplate().getSelectedItem()).toString();
-// String subTemplate = templateManager.getTemplatePath(subKey);
-//
-// for (ClassGenerationAction generator : generators) {
-// generator.setSuperTemplate(superTemplate);
-// generator.setTemplate(subTemplate);
-// generator.setOverwrite(view.getOverwrite().isSelected());
-// generator.setUsePkgPath(view.getUsePackagePath().isSelected());
-// generator.setMakePairs(view.getPairs().isSelected());
-// generator.setCreatePropertyNames(view.getCreatePropertyNames().isSelected());
-// generator.setCreatePKProperties(view.getCreatePKProperties().isSelected());
-//
-// if (!Util.isEmptyString(view.getOutputPattern().getText())) {
-// generator.setOutputPattern(view.getOutputPattern().getText());
-// }
-// }
-//
-// return generators;
-// }
-//
-// public void popPreferencesAction() {
-// new PreferenceDialog(getApplication().getFrameController()).startupAction(TEMPLATES_KEY);
-// updateTemplates();
-// }
-//
-// @Override
-// protected ClassGenerationAction newGenerator() {
-// ClassGenerationAction action = new ClassGenerationAction();
-// getApplication().getInjector().injectMembers(action);
-// return action;
-// }
-//}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b30e5eb5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModePanel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModePanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModePanel.java
deleted file mode 100644
index 6396abd..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModePanel.java
+++ /dev/null
@@ -1,137 +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.codegen;
-//
-//import com.jgoodies.forms.builder.DefaultFormBuilder;
-//import com.jgoodies.forms.layout.FormLayout;
-//import org.apache.cayenne.swing.control.ActionLink;
-//
-//import javax.swing.JCheckBox;
-//import javax.swing.JComboBox;
-//import javax.swing.JPanel;
-//import javax.swing.JTextField;
-//import java.awt.BorderLayout;
-//import java.awt.FlowLayout;
-//
-//public class CustomModePanel extends GeneratorControllerPanel {
-//
-// private JComboBox<String> subclassTemplate;
-// private JComboBox<String> superclassTemplate;
-// protected JCheckBox pairs;
-// private JCheckBox overwrite;
-// private JCheckBox usePackagePath;
-// private JTextField outputPattern;
-// private JCheckBox createPropertyNames;
-// private JCheckBox createPKProperties;
-//
-// private ActionLink manageTemplatesLink;
-//
-// CustomModePanel() {
-//
-// this.superclassTemplate = new JComboBox<>();
-// this.subclassTemplate = new JComboBox<>();
-// this.pairs = new JCheckBox();
-// this.overwrite = new JCheckBox();
-// this.usePackagePath = new JCheckBox();
-// this.outputPattern = new JTextField();
-// this.createPropertyNames = new JCheckBox();
-// this.createPKProperties = new JCheckBox();
-// this.manageTemplatesLink = new ActionLink("Customize Templates...");
-// manageTemplatesLink.setFont(manageTemplatesLink.getFont().deriveFont(10f));
-//
-// // assemble
-// FormLayout layout = new FormLayout(
-// "right:77dlu, 1dlu, fill:100:grow, 1dlu, left:80dlu, 1dlu", "");
-// DefaultFormBuilder builder = new DefaultFormBuilder(layout);
-// builder.setDefaultDialogBorder();
-//
-// builder.append("Output Directory:", outputFolder, selectOutputFolder);
-// builder.nextLine();
-//
-// builder.append("Subclass Template:", subclassTemplate);
-// builder.nextLine();
-//
-// builder.append("Superclass Template:", superclassTemplate);
-// builder.nextLine();
-//
-// builder.append("Output Pattern:", outputPattern);
-// builder.nextLine();
-//
-// builder.append("Make Pairs:", pairs);
-// builder.nextLine();
-//
-// builder.append("Use Package Path:", usePackagePath);
-// builder.nextLine();
-//
-// builder.append("Overwrite Subclasses:", overwrite);
-// builder.nextLine();
-//
-// builder.append("Create Property Names:", createPropertyNames);
-// builder.nextLine();
-//
-// builder.append("Create PK Properties:", createPKProperties);
-// builder.nextLine();
-//
-// setLayout(new BorderLayout());
-// add(builder.getPanel(), BorderLayout.CENTER);
-//
-// JPanel links = new JPanel(new FlowLayout(FlowLayout.RIGHT));
-// links.add(manageTemplatesLink);
-// add(links, BorderLayout.SOUTH);
-//
-// add(builder.getPanel(), BorderLayout.CENTER);
-// }
-//
-// public ActionLink getManageTemplatesLink() {
-// return manageTemplatesLink;
-// }
-//
-// public JComboBox<String> getSubclassTemplate() {
-// return subclassTemplate;
-// }
-//
-// public JComboBox<String> getSuperclassTemplate() {
-// return superclassTemplate;
-// }
-//
-// public JCheckBox getOverwrite() {
-// return overwrite;
-// }
-//
-// public JCheckBox getPairs() {
-// return pairs;
-// }
-//
-// public JCheckBox getUsePackagePath() {
-// return usePackagePath;
-// }
-//
-// public JTextField getOutputPattern() {
-// return outputPattern;
-// }
-//
-// public JCheckBox getCreatePropertyNames() {
-// return createPropertyNames;
-// }
-//
-// public JCheckBox getCreatePKProperties() {
-// return createPKProperties;
-// }
-//}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b30e5eb5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomPreferencesUpdater.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomPreferencesUpdater.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomPreferencesUpdater.java
deleted file mode 100644
index a9816e0..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomPreferencesUpdater.java
+++ /dev/null
@@ -1,209 +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.codegen;
-//
-//import org.apache.cayenne.map.DataMap;
-//import org.apache.cayenne.modeler.pref.DataMapDefaults;
-//
-//import java.util.Map;
-//import java.util.Map.Entry;
-//import java.util.Set;
-//
-//public class CustomPreferencesUpdater {
-//
-// enum Property {
-// SUBCLASS_TEMPLATE,
-// SUPERCLASS_TEMPLATE,
-// OVERWRITE,
-// PAIRS,
-// USE_PACKAGE_PATH,
-// MODE,
-// OUTPUT_PATTERN,
-// CREATE_PROPERTY_NAMES,
-// CREATE_PK_PROPERTIES
-// }
-//
-// private static final String OVERWRITE = "overwrite";
-// private static final String PAIRS = "pairs";
-// private static final String USE_PACKAGE_PATH = "usePackagePath";
-// private static final String MODE = "mode";
-// private static final String OUTPUT_PATTERN = "outputPattern";
-// private static final String CREATE_PROPERTY_NAMES = "createPropertyNames";
-// private static final String CREATE_PK_PROPERTIES = "createPKProperties";
-//
-// private Map<DataMap, DataMapDefaults> mapPreferences;
-//
-//
-// public CustomPreferencesUpdater(Map<DataMap, DataMapDefaults> mapPreferences) {
-// this.mapPreferences = mapPreferences;
-// }
-//
-// public String getMode() {
-// return (String) getProperty(Property.MODE);
-// }
-//
-// public void setMode(String mode) {
-// updatePreferences(Property.MODE, mode);
-// }
-//
-// public String getSubclassTemplate() {
-// return (String) getProperty(Property.SUBCLASS_TEMPLATE);
-// }
-//
-// public void setSubclassTemplate(String subclassTemplate) {
-// updatePreferences(Property.SUBCLASS_TEMPLATE, subclassTemplate);
-// }
-//
-// public String getSuperclassTemplate() {
-// return (String) getProperty(Property.SUPERCLASS_TEMPLATE);
-// }
-//
-// public void setSuperclassTemplate(String superclassTemplate) {
-// updatePreferences(Property.SUPERCLASS_TEMPLATE, superclassTemplate);
-// }
-//
-// public Boolean getOverwrite() {
-// return (Boolean) getProperty(Property.OVERWRITE);
-// }
-//
-// public void setOverwrite(Boolean overwrite) {
-// updatePreferences(Property.OVERWRITE, overwrite);
-// }
-//
-// public Boolean getPairs() {
-// return (Boolean) getProperty(Property.PAIRS);
-// }
-//
-// public void setPairs(Boolean pairs) {
-// updatePreferences(Property.PAIRS, pairs);
-// }
-//
-// public Boolean getUsePackagePath() {
-// return (Boolean) getProperty(Property.USE_PACKAGE_PATH);
-// }
-//
-// public void setUsePackagePath(Boolean usePackagePath) {
-// updatePreferences(Property.USE_PACKAGE_PATH, usePackagePath);
-// }
-//
-// public String getOutputPattern() {
-// return (String) getProperty(Property.OUTPUT_PATTERN);
-// }
-//
-// public void setOutputPattern(String outputPattern) {
-// updatePreferences(Property.OUTPUT_PATTERN, outputPattern);
-// }
-//
-// public Boolean getCreatePropertyNames() {
-// return (Boolean) getProperty(Property.CREATE_PROPERTY_NAMES);
-// }
-//
-// public void setCreatePropertyNames(Boolean createPropertyNames) {
-// updatePreferences(Property.CREATE_PROPERTY_NAMES, createPropertyNames);
-// }
-//
-// public Boolean getCreatePKProperties() {
-// return (Boolean) getProperty(Property.CREATE_PK_PROPERTIES);
-// }
-//
-// public void setCreatePKProperties(Boolean createPKProperties) {
-// updatePreferences(Property.CREATE_PK_PROPERTIES, createPKProperties);
-// }
-//
-// private Object getProperty(Property property) {
-// Object obj = null;
-//
-// Set<Entry<DataMap, DataMapDefaults>> entities = mapPreferences.entrySet();
-// for (Entry<DataMap, DataMapDefaults> entry : entities) {
-//
-// switch (property) {
-// case MODE:
-// obj = entry.getValue().getProperty(MODE);
-// break;
-// case OUTPUT_PATTERN:
-// obj = entry.getValue().getProperty(OUTPUT_PATTERN);
-// break;
-// case SUBCLASS_TEMPLATE:
-// obj = entry.getValue().getSubclassTemplate();
-// break;
-// case SUPERCLASS_TEMPLATE:
-// obj = entry.getValue().getSuperclassTemplate();
-// break;
-// case OVERWRITE:
-// obj = entry.getValue().getBooleanProperty(OVERWRITE);
-// break;
-// case PAIRS:
-// obj = entry.getValue().getBooleanProperty(PAIRS);
-// break;
-// case USE_PACKAGE_PATH:
-// obj = entry.getValue().getBooleanProperty(USE_PACKAGE_PATH);
-// break;
-// case CREATE_PROPERTY_NAMES:
-// obj = entry.getValue().getBooleanProperty(CREATE_PROPERTY_NAMES);
-// break;
-// case CREATE_PK_PROPERTIES:
-// obj = entry.getValue().getBooleanProperty(CREATE_PK_PROPERTIES);
-// break;
-// default:
-// throw new IllegalArgumentException("Bad type property: " + property);
-// }
-//
-// }
-// return obj;
-// }
-//
-// private void updatePreferences(Property property, Object value) {
-// Set<Entry<DataMap, DataMapDefaults>> entities = mapPreferences.entrySet();
-// for (Entry<DataMap, DataMapDefaults> entry : entities) {
-//
-// switch (property) {
-// case MODE:
-// entry.getValue().setProperty(MODE, (String) value);
-// break;
-// case OUTPUT_PATTERN:
-// entry.getValue().setProperty(OUTPUT_PATTERN, (String) value);
-// break;
-// case SUBCLASS_TEMPLATE:
-// entry.getValue().setSubclassTemplate((String) value);
-// break;
-// case SUPERCLASS_TEMPLATE:
-// entry.getValue().setSuperclassTemplate((String) value);
-// break;
-// case OVERWRITE:
-// entry.getValue().setBooleanProperty(OVERWRITE, (Boolean) value);
-// break;
-// case PAIRS:
-// entry.getValue().setBooleanProperty(PAIRS, (Boolean) value);
-// break;
-// case USE_PACKAGE_PATH:
-// entry.getValue().setBooleanProperty(USE_PACKAGE_PATH, (Boolean) value);
-// break;
-// case CREATE_PROPERTY_NAMES:
-// entry.getValue().setBooleanProperty(CREATE_PROPERTY_NAMES, (Boolean) value);
-// break;
-// case CREATE_PK_PROPERTIES:
-// entry.getValue().setBooleanProperty(CREATE_PK_PROPERTIES, (Boolean) value);
-// break;
-// default:
-// throw new IllegalArgumentException("Bad type property: " + property);
-// }
-// }
-// }
-//}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b30e5eb5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorController.java
deleted file mode 100644
index 4a5b5f6..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorController.java
+++ /dev/null
@@ -1,561 +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.codegen;
-//
-//import org.apache.cayenne.CayenneRuntimeException;
-//import org.apache.cayenne.gen.ArtifactsGenerationMode;
-//import org.apache.cayenne.gen.ClassGenerationAction;
-//import org.apache.cayenne.map.DataMap;
-//import org.apache.cayenne.map.Embeddable;
-//import org.apache.cayenne.map.EmbeddableAttribute;
-//import org.apache.cayenne.map.EmbeddedAttribute;
-//import org.apache.cayenne.map.ObjAttribute;
-//import org.apache.cayenne.map.ObjEntity;
-//import org.apache.cayenne.map.ObjRelationship;
-//import org.apache.cayenne.modeler.Application;
-//import org.apache.cayenne.modeler.dialog.pref.GeneralPreferences;
-//import org.apache.cayenne.modeler.pref.DataMapDefaults;
-//import org.apache.cayenne.modeler.pref.FSPath;
-//import org.apache.cayenne.modeler.util.CayenneController;
-//import org.apache.cayenne.modeler.util.CodeValidationUtil;
-//import org.apache.cayenne.swing.BindingBuilder;
-//import org.apache.cayenne.util.Util;
-//import org.apache.cayenne.validation.BeanValidationFailure;
-//import org.apache.cayenne.validation.SimpleValidationFailure;
-//import org.apache.cayenne.validation.ValidationFailure;
-//import org.apache.cayenne.validation.ValidationResult;
-//
-//import javax.swing.JButton;
-//import javax.swing.JFileChooser;
-//import javax.swing.JOptionPane;
-//import javax.swing.JTextField;
-//import java.io.File;
-//import java.util.ArrayList;
-//import java.util.Collection;
-//import java.util.LinkedList;
-//import java.util.Map;
-//import java.util.Set;
-//import java.util.function.Predicate;
-//import java.util.prefs.Preferences;
-//
-///**
-// * A mode-specific part of the code generation dialog.
-// *
-// */
-//public abstract class GeneratorController extends CayenneController {
-//
-// protected String mode = ArtifactsGenerationMode.ALL.getLabel();
-// protected Map<DataMap, DataMapDefaults> mapPreferences;
-// private String outputPath;
-//
-// public GeneratorController(CodeGeneratorControllerBase parent) {
-// super(parent);
-//
-// createDefaults();
-// createView();
-// initBindings(new BindingBuilder(getApplication().getBindingFactory(), this));
-// }
-//
-// public String getOutputPath() {
-// return outputPath;
-// }
-//
-// public void setOutputPath(String path) {
-// String old = this.outputPath;
-// this.outputPath = path;
-// if (this.outputPath != null && !this.outputPath.equals(old)) {
-// updatePreferences(path);
-// }
-// }
-//
-// public void updatePreferences(String path) {
-// if (mapPreferences == null)
-// return;
-// Set<DataMap> keys = mapPreferences.keySet();
-// for (DataMap key : keys) {
-// mapPreferences
-// .get(key)
-// .setOutputPath(path);
-// }
-// }
-//
-// public void setMapPreferences(Map<DataMap, DataMapDefaults> mapPreferences) {
-// this.mapPreferences = mapPreferences;
-// }
-//
-// public Map<DataMap, DataMapDefaults> getMapPreferences() {
-// return this.mapPreferences;
-// }
-//
-// protected void initBindings(BindingBuilder bindingBuilder) {
-//
-// initOutputFolder();
-//
-// JTextField outputFolder = ((GeneratorControllerPanel) getView()).getOutputFolder();
-// JButton outputSelect = ((GeneratorControllerPanel) getView()).getSelectOutputFolder();
-//
-// outputFolder.setText(getOutputPath());
-// bindingBuilder.bindToAction(outputSelect, "selectOutputFolderAction()");
-// bindingBuilder.bindToTextField(outputFolder, "outputPath");
-// }
-//
-// protected CodeGeneratorControllerBase getParentController() {
-// return (CodeGeneratorControllerBase) getParent();
-// }
-//
-// protected abstract GeneratorControllerPanel createView();
-//
-// protected abstract void createDefaults();
-//
-// /**
-// * Creates an appropriate subclass of {@link ClassGenerationAction},
-// * returning it in an unconfigured state. Configuration is performed by
-// * {@link #createConfiguration()} method.
-// */
-// protected abstract ClassGenerationAction newGenerator();
-//
-// /**
-// * Creates a class generator for provided selections.
-// */
-// public Collection<ClassGenerationAction> createConfiguration() {
-//
-// File outputDir = getOutputDir();
-//
-// // no destination folder
-// if (outputDir == null) {
-// JOptionPane.showMessageDialog(this.getView(), "Select directory for source files.");
-// return null;
-// }
-//
-// // no such folder
-// if (!outputDir.exists() && !outputDir.mkdirs()) {
-// JOptionPane.showMessageDialog(this.getView(), "Can't create directory " + outputDir
-// + ". Select a different one.");
-// return null;
-// }
-//
-// // not a directory
-// if (!outputDir.isDirectory()) {
-// JOptionPane.showMessageDialog(this.getView(), outputDir + " is not a valid directory.");
-// return null;
-// }
-//
-// // remove generic entities...
-// Collection<ObjEntity> selectedEntities = new ArrayList<>(getParentController().getSelectedEntities());
-// selectedEntities.removeIf(ObjEntity::isGeneric);
-//
-// Collection<ClassGenerationAction> generators = new ArrayList<>();
-// for (DataMap map : getParentController().getDataMaps()) {
-// try {
-// ClassGenerationAction generator = newGenerator();
-//
-// if(getParentController().getSelectedDataMaps().contains(map)) {
-// mode = ArtifactsGenerationMode.ALL.getLabel();
-// } else {
-// mode = ArtifactsGenerationMode.ENTITY.getLabel();
-// }
-//
-// generator.setArtifactsGenerationMode(mode);
-// generator.setDataMap(map);
-//
-// LinkedList<ObjEntity> objEntities = new LinkedList<>(map.getObjEntities());
-// objEntities.retainAll(selectedEntities);
-// generator.addEntities(objEntities);
-//
-// LinkedList<Embeddable> embeddables = new LinkedList<>(map.getEmbeddables());
-// embeddables.retainAll(getParentController().getSelectedEmbeddables());
-// generator.addEmbeddables(embeddables);
-//
-// generator.addQueries(map.getQueryDescriptors());
-//
-// Preferences preferences = application.getPreferencesNode(GeneralPreferences.class, "");
-//
-// if (preferences != null) {
-// generator.setEncoding(preferences.get(GeneralPreferences.ENCODING_PREFERENCE, null));
-//
-// }
-//
-// generator.setMakePairs(true);
-// generator.setForce(true);
-//
-// generators.add(generator);
-// } catch (CayenneRuntimeException exception) {
-// JOptionPane.showMessageDialog(this.getView(), exception.getUnlabeledMessage());
-// return null;
-// }
-// }
-//
-// return generators;
-// }
-//
-// public void validateEmbeddable(ValidationResult validationBuffer, Embeddable embeddable) {
-// ValidationFailure embeddableFailure = validateEmbeddable(embeddable);
-// if (embeddableFailure != null) {
-// validationBuffer.addFailure(embeddableFailure);
-// return;
-// }
-//
-// for (EmbeddableAttribute attribute : embeddable.getAttributes()) {
-// ValidationFailure failure = validateEmbeddableAttribute(attribute);
-// if (failure != null) {
-// validationBuffer.addFailure(failure);
-// return;
-// }
-// }
-// }
-//
-// private ValidationFailure validateEmbeddableAttribute(EmbeddableAttribute attribute) {
-// String name = attribute.getEmbeddable().getClassName();
-//
-// ValidationFailure emptyName = BeanValidationFailure.validateNotEmpty(name, "attribute.name",
-// attribute.getName());
-// if (emptyName != null) {
-// return emptyName;
-// }
-//
-// ValidationFailure badName = CodeValidationUtil.validateJavaIdentifier(name, "attribute.name",
-// attribute.getName());
-// if (badName != null) {
-// return badName;
-// }
-//
-// ValidationFailure emptyType = BeanValidationFailure.validateNotEmpty(name, "attribute.type",
-// attribute.getType());
-// if (emptyType != null) {
-// return emptyType;
-// }
-//
-// ValidationFailure badType = BeanValidationFailure.validateJavaClassName(name, "attribute.type",
-// attribute.getType());
-// if (badType != null) {
-// return badType;
-// }
-//
-// return null;
-// }
-//
-// private ValidationFailure validateEmbeddable(Embeddable embeddable) {
-//
-// String name = embeddable.getClassName();
-//
-// ValidationFailure emptyClass = BeanValidationFailure.validateNotEmpty(name, "className",
-// embeddable.getClassName());
-// if (emptyClass != null) {
-// return emptyClass;
-// }
-//
-// ValidationFailure badClass = BeanValidationFailure.validateJavaClassName(name, "className",
-// embeddable.getClassName());
-// if (badClass != null) {
-// return badClass;
-// }
-//
-// return null;
-// }
-//
-// public void validateEntity(ValidationResult validationBuffer, ObjEntity entity, boolean clientValidation) {
-//
-// ValidationFailure entityFailure = validateEntity(clientValidation ? entity.getClientEntity() : entity);
-// if (entityFailure != null) {
-// validationBuffer.addFailure(entityFailure);
-// return;
-// }
-//
-// for (ObjAttribute attribute : entity.getAttributes()) {
-// if (attribute instanceof EmbeddedAttribute) {
-// EmbeddedAttribute embeddedAttribute = (EmbeddedAttribute) attribute;
-// for (ObjAttribute subAttribute : embeddedAttribute.getAttributes()) {
-// ValidationFailure failure = validateEmbeddedAttribute(subAttribute);
-// if (failure != null) {
-// validationBuffer.addFailure(failure);
-// return;
-// }
-// }
-// } else {
-//
-// ValidationFailure failure = validateAttribute(attribute);
-// if (failure != null) {
-// validationBuffer.addFailure(failure);
-// return;
-// }
-// }
-// }
-//
-// for (ObjRelationship rel : entity.getRelationships()) {
-// ValidationFailure failure = validateRelationship(rel, clientValidation);
-// if (failure != null) {
-// validationBuffer.addFailure(failure);
-// return;
-// }
-// }
-// }
-//
-// private ValidationFailure validateEntity(ObjEntity entity) {
-//
-// String name = entity.getName();
-//
-// if (entity.isGeneric()) {
-// return new SimpleValidationFailure(name, "Generic class");
-// }
-//
-// ValidationFailure emptyClass = BeanValidationFailure.validateNotEmpty(name, "className", entity.getClassName());
-// if (emptyClass != null) {
-// return emptyClass;
-// }
-//
-// ValidationFailure badClass = BeanValidationFailure.validateJavaClassName(name, "className",
-// entity.getClassName());
-// if (badClass != null) {
-// return badClass;
-// }
-//
-// if (entity.getSuperClassName() != null) {
-// ValidationFailure badSuperClass = BeanValidationFailure.validateJavaClassName(name, "superClassName",
-// entity.getSuperClassName());
-// if (badSuperClass != null) {
-// return badSuperClass;
-// }
-// }
-//
-// return null;
-// }
-//
-// private ValidationFailure validateAttribute(ObjAttribute attribute) {
-//
-// String name = attribute.getEntity().getName();
-//
-// ValidationFailure emptyName = BeanValidationFailure.validateNotEmpty(name, "attribute.name",
-// attribute.getName());
-// if (emptyName != null) {
-// return emptyName;
-// }
-//
-// ValidationFailure badName = CodeValidationUtil.validateJavaIdentifier(name, "attribute.name",
-// attribute.getName());
-// if (badName != null) {
-// return badName;
-// }
-//
-// ValidationFailure emptyType = BeanValidationFailure.validateNotEmpty(name, "attribute.type",
-// attribute.getType());
-// if (emptyType != null) {
-// return emptyType;
-// }
-//
-// ValidationFailure badType = BeanValidationFailure.validateJavaClassName(name, "attribute.type",
-// attribute.getType());
-// if (badType != null) {
-// return badType;
-// }
-//
-// return null;
-// }
-//
-// private ValidationFailure validateEmbeddedAttribute(ObjAttribute attribute) {
-//
-// String name = attribute.getEntity().getName();
-//
-// // validate embeddedAttribute and attribute names
-// // embeddedAttribute returned attibute as
-// // [name_embeddedAttribute].[name_attribute]
-// String[] attributes = attribute.getName().split("\\.");
-// String nameEmbeddedAttribute = attributes[0];
-// int beginIndex = attributes[0].length();
-// String attr = attribute.getName().substring(beginIndex + 1);
-//
-// ValidationFailure emptyEmbeddedName = BeanValidationFailure.validateNotEmpty(name, "attribute.name",
-// nameEmbeddedAttribute);
-// if (emptyEmbeddedName != null) {
-// return emptyEmbeddedName;
-// }
-//
-// ValidationFailure badEmbeddedName = CodeValidationUtil.validateJavaIdentifier(name, "attribute.name",
-// nameEmbeddedAttribute);
-// if (badEmbeddedName != null) {
-// return badEmbeddedName;
-// }
-//
-// ValidationFailure emptyName = BeanValidationFailure.validateNotEmpty(name, "attribute.name", attr);
-// if (emptyName != null) {
-// return emptyName;
-// }
-//
-// ValidationFailure badName = CodeValidationUtil.validateJavaIdentifier(name, "attribute.name", attr);
-// if (badName != null) {
-// return badName;
-// }
-//
-// ValidationFailure emptyType = BeanValidationFailure.validateNotEmpty(name, "attribute.type",
-// attribute.getType());
-// if (emptyType != null) {
-// return emptyType;
-// }
-//
-// ValidationFailure badType = BeanValidationFailure.validateJavaClassName(name, "attribute.type",
-// attribute.getType());
-// if (badType != null) {
-// return badType;
-// }
-//
-// return null;
-// }
-//
-// private ValidationFailure validateRelationship(ObjRelationship relationship, boolean clientValidation) {
-//
-// String name = relationship.getSourceEntity().getName();
-//
-// ValidationFailure emptyName = BeanValidationFailure.validateNotEmpty(name, "relationship.name",
-// relationship.getName());
-// if (emptyName != null) {
-// return emptyName;
-// }
-//
-// ValidationFailure badName = CodeValidationUtil.validateJavaIdentifier(name, "relationship.name",
-// relationship.getName());
-// if (badName != null) {
-// return badName;
-// }
-//
-// if (!relationship.isToMany()) {
-//
-// ObjEntity targetEntity = relationship.getTargetEntity();
-//
-// if (clientValidation && targetEntity != null) {
-// targetEntity = targetEntity.getClientEntity();
-// }
-//
-// if (targetEntity == null) {
-//
-// return new BeanValidationFailure(name, "relationship.targetEntity", "No target entity");
-// } else if (!targetEntity.isGeneric()) {
-// ValidationFailure emptyClass = BeanValidationFailure.validateNotEmpty(name,
-// "relationship.targetEntity.className", targetEntity.getClassName());
-// if (emptyClass != null) {
-// return emptyClass;
-// }
-//
-// ValidationFailure badClass = BeanValidationFailure.validateJavaClassName(name,
-// "relationship.targetEntity.className", targetEntity.getClassName());
-// if (badClass != null) {
-// return badClass;
-// }
-// }
-// }
-//
-// return null;
-// }
-//
-// /**
-// * Returns a predicate for default entity selection in a given mode.
-// */
-// public Predicate getDefaultClassFilter() {
-// return object -> {
-// if (object instanceof ObjEntity) {
-// return getParentController().getProblem(((ObjEntity) object).getName()) == null;
-// }
-//
-// if (object instanceof Embeddable) {
-// return getParentController().getProblem(((Embeddable) object).getClassName()) == null;
-// }
-//
-// return false;
-// };
-// }
-//
-// private File getOutputDir() {
-// String dir = ((GeneratorControllerPanel) getView()).getOutputFolder().getText();
-// return dir != null ? new File(dir) : new File(System.getProperty("user.dir"));
-// }
-//
-// /**
-// * An action method that pops up a file chooser dialog to pick the
-// * generation directory.
-// */
-// public void selectOutputFolderAction() {
-//
-// JTextField outputFolder = ((GeneratorControllerPanel) getView()).getOutputFolder();
-//
-// String currentDir = outputFolder.getText();
-//
-// JFileChooser chooser = new JFileChooser();
-// chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
-// chooser.setDialogType(JFileChooser.OPEN_DIALOG);
-//
-// // guess start directory
-// if (!Util.isEmptyString(currentDir)) {
-// chooser.setCurrentDirectory(new File(currentDir));
-// } else {
-// FSPath lastDir = Application.getInstance().getFrameController().getLastDirectory();
-// lastDir.updateChooser(chooser);
-// }
-//
-// int result = chooser.showOpenDialog(getView());
-// if (result == JFileChooser.APPROVE_OPTION) {
-// File selected = chooser.getSelectedFile();
-//
-// // update model
-// String path = selected.getAbsolutePath();
-// outputFolder.setText(path);
-// setOutputPath(path);
-// }
-// }
-//
-// private void initOutputFolder() {
-// String path;
-// if (getOutputPath() == null) {
-// if (System.getProperty("cayenne.cgen.destdir") != null) {
-// setOutputPath(System.getProperty("cayenne.cgen.destdir"));
-// } else {
-// // init default directory..
-// FSPath lastPath = Application.getInstance().getFrameController().getLastDirectory();
-//
-// path = checkDefaultMavenResourceDir(lastPath, "test");
-//
-// if (path != null || (path = checkDefaultMavenResourceDir(lastPath, "main")) != null) {
-// setOutputPath(path);
-// } else {
-// File lastDir = (lastPath != null) ? lastPath.getExistingDirectory(false) : null;
-// setOutputPath(lastDir != null ? lastDir.getAbsolutePath() : null);
-// }
-// }
-// }
-// }
-//
-// private String checkDefaultMavenResourceDir(FSPath lastPath, String dirType) {
-// String path = lastPath.getPath();
-// String resourcePath = buildFilePath("src", dirType, "resources");
-// int idx = path.indexOf(resourcePath);
-// if (idx < 0) {
-// return null;
-// }
-// return path.substring(0, idx) + buildFilePath("src", dirType, "java");
-// }
-//
-// private static String buildFilePath(String... pathElements) {
-// if (pathElements.length == 0) {
-// return "";
-// }
-// StringBuilder path = new StringBuilder(pathElements[0]);
-// for (int i = 1; i < pathElements.length; i++) {
-// path.append(File.separator).append(pathElements[i]);
-// }
-// return path.toString();
-// }
-//}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b30e5eb5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorControllerPanel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorControllerPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorControllerPanel.java
deleted file mode 100644
index 276284f..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorControllerPanel.java
+++ /dev/null
@@ -1,55 +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.codegen;
-//
-//import javax.swing.JButton;
-//import javax.swing.JPanel;
-//import javax.swing.JTextField;
-//import java.util.ArrayList;
-//import java.util.Collection;
-//
-///**
-// * A generic panel that is a superclass of generator panels, defining common fields.
-// *
-// */
-//public class GeneratorControllerPanel extends JPanel {
-//
-// protected Collection<StandardPanelComponent> dataMapLines;
-// protected JTextField outputFolder;
-// protected JButton selectOutputFolder;
-//
-// public GeneratorControllerPanel() {
-// this.dataMapLines = new ArrayList<>();
-// this.outputFolder = new JTextField();
-// this.selectOutputFolder = new JButton("Select");
-// }
-//
-// public JTextField getOutputFolder() {
-// return outputFolder;
-// }
-//
-// public JButton getSelectOutputFolder() {
-// return selectOutputFolder;
-// }
-//
-// public Collection<StandardPanelComponent> getDataMapLines() {
-// return dataMapLines;
-// }
-//}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b30e5eb5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorTabController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorTabController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorTabController.java
deleted file mode 100644
index 8b915fe..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorTabController.java
+++ /dev/null
@@ -1,115 +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.codegen;
-//
-//import org.apache.cayenne.gen.ClassGenerationAction;
-//import org.apache.cayenne.modeler.util.CayenneController;
-//import org.apache.cayenne.pref.CayenneProjectPreferences;
-//import org.apache.cayenne.pref.PreferenceDetail;
-//import org.apache.cayenne.swing.BindingBuilder;
-//import org.apache.cayenne.util.Util;
-//
-//import java.awt.Component;
-//import java.awt.Dimension;
-//import java.util.Collection;
-//import java.util.HashMap;
-//import java.util.Map;
-//
-///**
-// */
-//public class GeneratorTabController extends CayenneController {
-//
-// private static final String STANDARD_OBJECTS_MODE = "Standard Persistent Objects";
-// private static final String CLIENT_OBJECTS_MODE = "Client Persistent Objects";
-// private static final String ADVANCED_MODE = "Advanced";
-//
-// public static final String GENERATOR_PROPERTY = "generator";
-//
-// private static final String[] GENERATION_MODES = new String[] {
-// STANDARD_OBJECTS_MODE, CLIENT_OBJECTS_MODE, ADVANCED_MODE
-// };
-//
-// protected GeneratorTabPanel view;
-// protected Map controllers;
-// protected PreferenceDetail preferences;
-//
-// public GeneratorTabController(CodeGeneratorControllerBase parent) {
-// super(parent);
-//
-// this.controllers = new HashMap(5);
-// controllers.put(STANDARD_OBJECTS_MODE, new StandardModeController(parent));
-// controllers.put(CLIENT_OBJECTS_MODE, new ClientModeController(parent));
-// controllers.put(ADVANCED_MODE, new CustomModeController(parent));
-//
-// Component[] modePanels = new Component[GENERATION_MODES.length];
-// for (int i = 0; i < GENERATION_MODES.length; i++) {
-// modePanels[i] = ((GeneratorController) controllers.get(GENERATION_MODES[i]))
-// .getView();
-// }
-//
-// this.view = new GeneratorTabPanel(GENERATION_MODES, modePanels);
-// initBindings();
-// view.setPreferredSize(new Dimension(600, 480));
-// }
-//
-// public Component getView() {
-// return view;
-// }
-//
-// protected CodeGeneratorControllerBase getParentController() {
-// return (CodeGeneratorControllerBase) getParent();
-// }
-//
-// protected void initBindings() {
-//
-// // bind actions
-// BindingBuilder builder = new BindingBuilder(
-// getApplication().getBindingFactory(),
-// this);
-//
-// CayenneProjectPreferences cayPrPref = application.getCayenneProjectPreferences();
-//
-// this.preferences = (PreferenceDetail) cayPrPref.getProjectDetailObject(
-// PreferenceDetail.class,
-// getViewPreferences().node("controller"));
-//
-// if (Util.isEmptyString(preferences.getProperty("mode"))) {
-// preferences.setProperty("mode", STANDARD_OBJECTS_MODE);
-// }
-//
-// builder.bindToComboSelection(
-// view.getGenerationMode(),
-// "preferences.property['mode']").updateView();
-// }
-//
-// public PreferenceDetail getPreferences() {
-// return preferences;
-// }
-//
-// public GeneratorController getGeneratorController() {
-// Object name = view.getGenerationMode().getSelectedItem();
-// return (GeneratorController) controllers.get(name);
-// }
-//
-// public Collection<ClassGenerationAction> getConfiguration() {
-// GeneratorController modeController = getGeneratorController();
-// return (modeController != null) ? modeController.createConfiguration() : null;
-// }
-//}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b30e5eb5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorTabPanel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorTabPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorTabPanel.java
deleted file mode 100644
index c6095ad..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorTabPanel.java
+++ /dev/null
@@ -1,65 +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.codegen;
-//
-//import com.jgoodies.forms.builder.DefaultFormBuilder;
-//import com.jgoodies.forms.layout.FormLayout;
-//
-//import javax.swing.JComboBox;
-//import javax.swing.JPanel;
-//import java.awt.BorderLayout;
-//import java.awt.CardLayout;
-//import java.awt.Component;
-//
-///**
-// */
-//public class GeneratorTabPanel extends JPanel {
-//
-// protected JComboBox generationMode;
-// protected CardLayout modeLayout;
-// protected JPanel modesPanel;
-//
-// public GeneratorTabPanel(String[] modeNames, Component[] modePanels) {
-// this.generationMode = new JComboBox(modeNames);
-// this.modeLayout = new CardLayout();
-// this.modesPanel = new JPanel(modeLayout);
-//
-// generationMode.addItemListener(e -> modeLayout.show(modesPanel, generationMode.getSelectedItem().toString()));
-//
-// // assemble
-// FormLayout layout = new FormLayout("right:70dlu, 3dlu, fill:300, fill:100dlu:grow", "");
-// DefaultFormBuilder builder = new DefaultFormBuilder(layout);
-// builder.setDefaultDialogBorder();
-// builder.append("Type:", generationMode, 1);
-// builder.appendSeparator();
-//
-// for (int i = 0; i < modeNames.length; i++) {
-// modesPanel.add(modePanels[i], modeNames[i]);
-// }
-//
-// setLayout(new BorderLayout());
-// add(builder.getPanel(), BorderLayout.NORTH);
-// add(modesPanel, BorderLayout.CENTER);
-// }
-//
-// public JComboBox getGenerationMode() {
-// return generationMode;
-// }
-//}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b30e5eb5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardModeController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardModeController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardModeController.java
deleted file mode 100644
index 547f408..0000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardModeController.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.codegen;
-//
-//import org.apache.cayenne.gen.ClassGenerationAction;
-//import org.apache.cayenne.map.DataMap;
-//import org.apache.cayenne.modeler.pref.DataMapDefaults;
-//
-//import java.awt.Component;
-//import java.util.ArrayList;
-//import java.util.Collection;
-//import java.util.TreeMap;
-//
-//public class StandardModeController extends GeneratorController {
-//
-// protected StandardModePanel view;
-// protected DataMapDefaults preferences;
-//
-// public StandardModeController(CodeGeneratorControllerBase parent) {
-// super(parent);
-// }
-//
-// protected void createDefaults() {
-// TreeMap<DataMap, DataMapDefaults> treeMap = new TreeMap<>();
-// ArrayList<DataMap> dataMaps = (ArrayList<DataMap>) getParentController().getDataMaps();
-//
-// for (DataMap dataMap : dataMaps) {
-// DataMapDefaults preferences = getApplication()
-// .getFrameController()
-// .getProjectController()
-// .getDataMapPreferences(dataMap);
-//
-// preferences.setSuperclassPackage("");
-// preferences.updateSuperclassPackage(dataMap, false);
-//
-// treeMap.put(dataMap, preferences);
-// if (getOutputPath() == null) {
-// setOutputPath(preferences.getOutputPath());
-// }
-// }
-//
-// setMapPreferences(treeMap);
-// }
-//
-// protected GeneratorControllerPanel createView() {
-// this.view = new StandardModePanel();
-// return view;
-// }
-//
-// public Component getView() {
-// return view;
-// }
-//
-// @Override
-// protected ClassGenerationAction newGenerator() {
-// ClassGenerationAction action = new ClassGenerationAction();
-// getApplication().getInjector().injectMembers(action);
-// return action;
-// }
-//
-// @Override
-// public Collection<ClassGenerationAction> createConfiguration() {
-// return super.createConfiguration();
-// }
-//}
\ No newline at end of file