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:47 UTC
[16/32] cayenne git commit: Cgen tab, cgen configuration,
cgen in maven, ant, gradle.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/52ea45b5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClientModeController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClientModeController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClientModeController.java
index 9e3897e..0225d3b 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClientModeController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/ClientModeController.java
@@ -1,81 +1,81 @@
-/*****************************************************************
- * 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.gen.ClientClassGenerationAction;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.map.ObjEntity;
-import org.apache.cayenne.modeler.pref.DataMapDefaults;
-import org.apache.cayenne.validation.BeanValidationFailure;
-import org.apache.cayenne.validation.ValidationResult;
-
-import java.util.ArrayList;
-import java.util.TreeMap;
-
-public class ClientModeController extends StandardModeController {
-
- public ClientModeController(CodeGeneratorControllerBase parent) {
- super(parent);
- }
-
- public void validateEntity(ValidationResult validationBuffer, ObjEntity entity) {
- if (!entity.isClientAllowed()) {
- validationBuffer.addFailure(new BeanValidationFailure(
- entity.getName(),
- "clientAllowed",
- "Not a client entity"));
- } else {
- super.validateEntity(validationBuffer, entity, true);
- }
- }
-
- protected void createDefaults() {
- TreeMap<DataMap, DataMapDefaults> map = new TreeMap<DataMap, DataMapDefaults>();
- ArrayList<DataMap> dataMaps = (ArrayList<DataMap>) getParentController().getDataMaps();
- for (DataMap dataMap : dataMaps) {
- DataMapDefaults preferences = getApplication()
- .getFrameController()
- .getProjectController()
- .getDataMapPreferences(this.getClass().getName().replace(".", "/"), dataMap);
-
- preferences.setSuperclassPackage("");
- preferences.updateSuperclassPackage(dataMap, true);
-
- map.put(dataMap, preferences);
-
- if (getOutputPath() == null) {
- setOutputPath(preferences.getOutputPath());
- }
- }
-
- setMapPreferences(map);
- }
-
- protected GeneratorControllerPanel createView() {
- this.view = new StandardModePanel();
- return view;
- }
-
- @Override
- protected ClassGenerationAction newGenerator() {
- return new ClientClassGenerationAction();
- }
-}
\ No newline at end of file
+///*****************************************************************
+// * 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.gen.ClientClassGenerationAction;
+//import org.apache.cayenne.map.DataMap;
+//import org.apache.cayenne.map.ObjEntity;
+//import org.apache.cayenne.modeler.pref.DataMapDefaults;
+//import org.apache.cayenne.validation.BeanValidationFailure;
+//import org.apache.cayenne.validation.ValidationResult;
+//
+//import java.util.ArrayList;
+//import java.util.TreeMap;
+//
+//public class ClientModeController extends StandardModeController {
+//
+// public ClientModeController(CodeGeneratorControllerBase parent) {
+// super(parent);
+// }
+//
+// public void validateEntity(ValidationResult validationBuffer, ObjEntity entity) {
+// if (!entity.isClientAllowed()) {
+// validationBuffer.addFailure(new BeanValidationFailure(
+// entity.getName(),
+// "clientAllowed",
+// "Not a client entity"));
+// } else {
+// super.validateEntity(validationBuffer, entity, true);
+// }
+// }
+//
+// protected void createDefaults() {
+// TreeMap<DataMap, DataMapDefaults> map = new TreeMap<DataMap, DataMapDefaults>();
+// ArrayList<DataMap> dataMaps = (ArrayList<DataMap>) getParentController().getDataMaps();
+// for (DataMap dataMap : dataMaps) {
+// DataMapDefaults preferences = getApplication()
+// .getFrameController()
+// .getProjectController()
+// .getDataMapPreferences(this.getClass().getName().replace(".", "/"), dataMap);
+//
+// preferences.setSuperclassPackage("");
+// preferences.updateSuperclassPackage(dataMap, true);
+//
+// map.put(dataMap, preferences);
+//
+// if (getOutputPath() == null) {
+// setOutputPath(preferences.getOutputPath());
+// }
+// }
+//
+// setMapPreferences(map);
+// }
+//
+// protected GeneratorControllerPanel createView() {
+// this.view = new StandardModePanel();
+// return view;
+// }
+//
+// @Override
+// protected ClassGenerationAction newGenerator() {
+// return new ClientClassGenerationAction();
+// }
+//}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cayenne/blob/52ea45b5/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
index 55817a6..a5ac549 100644
--- 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
@@ -1,169 +1,169 @@
-/*****************************************************************
- * 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.getGenerator();
-
- 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
+///*****************************************************************
+// * 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/52ea45b5/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
index 91d87e4..3848126 100644
--- 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
@@ -1,380 +1,380 @@
-/*****************************************************************
- * 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
+///*****************************************************************
+// * 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/52ea45b5/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
index 2bb635f..c4f4bd1 100644
--- 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
@@ -1,99 +1,99 @@
-/*****************************************************************
- * 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
+///*****************************************************************
+// * 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/52ea45b5/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
index bb87006..344bd72 100644
--- 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
@@ -1,235 +1,235 @@
-/*****************************************************************
- * 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> createGenerator() {
-
- Collection<ClassGenerationAction> generators = super.createGenerator();
-
- 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
+///*****************************************************************
+// * 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/52ea45b5/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
index 406e1d2..6396abd 100644
--- 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
@@ -1,137 +1,137 @@
-/*****************************************************************
- * 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
+///*****************************************************************
+// * 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