You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2010/08/24 17:17:52 UTC

svn commit: r988586 [3/3] - in /cayenne/main/trunk: docs/doc/src/main/resources/ framework/cayenne-modeler/ framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ f...

Added: cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.settings/org.eclipse.jdt.ui.prefs
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.settings/org.eclipse.jdt.ui.prefs?rev=988586&view=auto
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.settings/org.eclipse.jdt.ui.prefs (added)
+++ cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.settings/org.eclipse.jdt.ui.prefs Tue Aug 24 15:17:45 2010
@@ -0,0 +1,8 @@
+#Sun Nov 30 14:02:49 EET 2008
+eclipse.preferences.version=1
+formatter_settings_version=8
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=false
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"></template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"></template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"></template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecom
 ment" name\="filecomment">/**\n * \n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment"></template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"></template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"></template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"></template><template autoinsert\="fal
 se" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">/*****************************************************************\n *   Licensed to the Apache Software Foundation (ASF) under one\n *  or more contributor license agreements.  See the NOTICE file\n *  distributed with this work for additional information\n *  regarding copyright ownership.  The ASF licenses this file\n *  to you under the Apache License, Version 2.0 (the\n *  "License"); you may not use this file except in compliance\n *  with the License.  You may obtain a copy of the License at\n *\n *    http\://www.apache.org/licenses/LICENSE-2.0\n *\n *  Unless required by applicable law or agreed to in writing,\n *  software distributed under the License is distributed on an\n *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n *  KIND, either express or implied.  See the License for the\n *  sp
 ecific language governing permissions and limitations\n *  under the License.\n ****************************************************************/\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\=
 "true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="inter
 facebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context"
  deleted\="false" description\="Comment for setter function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created JavaScript files" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\n * \n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * ${tags}\n 
 */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for vars" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding functions" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Jsdoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate functions" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.d
 elegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="
 Code in created function stubs" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated function stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templ
 ates>

Added: cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.settings/org.maven.ide.eclipse.prefs
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.settings/org.maven.ide.eclipse.prefs?rev=988586&view=auto
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.settings/org.maven.ide.eclipse.prefs (added)
+++ cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.settings/org.maven.ide.eclipse.prefs Tue Aug 24 15:17:45 2010
@@ -0,0 +1,9 @@
+#Tue Aug 24 16:54:12 EEST 2010
+activeProfiles=
+eclipse.preferences.version=1
+fullBuildGoals=process-test-resources
+includeModules=false
+resolveWorkspaceProjects=true
+resourceFilterGoals=process-resources resources\:testResources
+skipCompilerPlugin=true
+version=1

Copied: cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/pom.xml (from r988538, cayenne/main/trunk/modeler/cayenne-modeler-java/pom.xml)
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/pom.xml?p2=cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/pom.xml&p1=cayenne/main/trunk/modeler/cayenne-modeler-java/pom.xml&r1=988538&r2=988586&rev=988586&view=diff
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler-java/pom.xml (original)
+++ cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/pom.xml Tue Aug 24 15:17:45 2010
@@ -29,65 +29,53 @@
 		<version>3.1-SNAPSHOT</version>
 	</parent>
 
-	<artifactId>cayenne-modeler-java</artifactId>
-	<name>Cayenne Modeler Java</name>
+	<artifactId>cayenne-modeler-generic-ext</artifactId>
+	<name>Cayenne Modeler Generic and Windows Extensions</name>
 	<packaging>jar</packaging>
 
 	<dependencies>
-
+		
 		<dependency>
 			<groupId>org.apache.cayenne</groupId>
 			<artifactId>cayenne-modeler</artifactId>
 			<version>${version}</version>
 		</dependency>
-
-		<!-- 
-			adding cayenne runtime dependencies explicitly, 
-			as they are marked as "provided" in the modeler pom
-			and won't be included in the jar 
-		-->
+		
 		<dependency>
 			<groupId>org.apache.cayenne.unpublished</groupId>
-			<artifactId>cayenne-jdk1.5-unpublished</artifactId>
+			<artifactId>cayenne-di-unpublished</artifactId>
 			<version>${version}</version>
+			<scope>provided</scope>
 		</dependency>
+		
 		<dependency>
 			<groupId>org.apache.cayenne.unpublished</groupId>
-			<artifactId>cayenne-project-unpublished</artifactId>
+			<artifactId>cayenne-jdk1.5-unpublished</artifactId>
 			<version>${version}</version>
+			<scope>provided</scope>
 		</dependency>
+		
 		<dependency>
 			<groupId>org.apache.cayenne.unpublished</groupId>
-			<artifactId>cayenne-wocompat-unpublished</artifactId>
+			<artifactId>cayenne-project-unpublished</artifactId>
 			<version>${version}</version>
+			<scope>provided</scope>
+		</dependency>
+		
+		<dependency>
+			<groupId>jgoodies</groupId>
+			<artifactId>looks</artifactId>
 		</dependency>
 	</dependencies>
-
 	<build>
-		<resources>
-			<resource>
-				<directory>target/modeler</directory>
-			</resource>
-		</resources>
-
 		<plugins>
 			<plugin>
-				<groupId>org.objectstyle.woproject.maven2</groupId>
-				<artifactId>maven-japplication-plugin</artifactId>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
 				<configuration>
-					<destDir>target/modeler</destDir>
-					<name>CayenneModeler</name>
-					<mainClass>org.apache.cayenne.modeler.Main</mainClass>
-					<os>java</os>
+					<source>1.5</source>
+					<target>1.5</target>
 				</configuration>
-				<executions>
-					<execution>
-						<phase>generate-resources</phase>
-						<goals>
-							<goal>japplication</goal>
-						</goals>
-					</execution>
-				</executions>
 			</plugin>
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>
@@ -98,18 +86,4 @@
 			</plugin>
 		</plugins>
 	</build>
-
-	<pluginRepositories>
-		<pluginRepository>
-			<id>wocommunity.org/plugin/releases</id>
-			<name>WOCommunity maven releases repo</name>
-			<url>http://maven.wocommunity.org/content/repositories/releases</url>
-			<snapshots>
-				<enabled>false</enabled>
-			</snapshots>
-			<releases>
-				<enabled>true</enabled>
-			</releases>
-		</pluginRepository>
-	</pluginRepositories>
 </project>

Copied: cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/cayenne/modeler/generic/GenericCayenneModelerModule.java (from r988538, cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/init/CayenneModelerModule.java)
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/cayenne/modeler/generic/GenericCayenneModelerModule.java?p2=cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/cayenne/modeler/generic/GenericCayenneModelerModule.java&p1=cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/init/CayenneModelerModule.java&r1=988538&r2=988586&rev=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/init/CayenneModelerModule.java (original)
+++ cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/cayenne/modeler/generic/GenericCayenneModelerModule.java Tue Aug 24 15:17:45 2010
@@ -16,25 +16,15 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.modeler.init;
+package org.apache.cayenne.modeler.generic;
 
 import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.Module;
-import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.modeler.action.ActionManager;
-import org.apache.cayenne.modeler.action.DefaultActionManager;
-import org.apache.cayenne.modeler.init.platform.GenericPlatformInitializer;
 import org.apache.cayenne.modeler.init.platform.PlatformInitializer;
 
-/**
- * A DI module for bootstrapping CayenneModeler services.
- */
-public class CayenneModelerModule implements Module {
+public class GenericCayenneModelerModule implements Module {
 
     public void configure(Binder binder) {
-
-        binder.bind(ActionManager.class).to(DefaultActionManager.class);
-        binder.bind(Application.class).to(Application.class);
         binder.bind(PlatformInitializer.class).to(GenericPlatformInitializer.class);
     }
 }

Copied: cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/cayenne/modeler/generic/GenericMain.java (from r988538, cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/OSXMain.java)
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/cayenne/modeler/generic/GenericMain.java?p2=cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/cayenne/modeler/generic/GenericMain.java&p1=cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/OSXMain.java&r1=988538&r2=988586&rev=988586&view=diff
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/OSXMain.java (original)
+++ cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/cayenne/modeler/generic/GenericMain.java Tue Aug 24 15:17:45 2010
@@ -16,39 +16,36 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-
-package org.apache.cayenne.modeler;
+package org.apache.cayenne.modeler.generic;
 
 import java.util.Collection;
 
 import org.apache.cayenne.di.Module;
-import org.apache.cayenne.modeler.init.OSXCayenneModelerModule;
+import org.apache.cayenne.modeler.Main;
+
+public class GenericMain extends Main {
 
-/**
- * Main class to start CayenneModeler on MacOSX.
- */
-public class OSXMain extends Main {
-
-	/**
-	 * Main method that starts the CayenneModeler.
-	 */
-	public static void main(String[] args) {
-		try {
-			new OSXMain(args).launch();
-		} catch (Exception e) {
-			e.printStackTrace();
-			System.exit(1);
-		}
-	}
-
-	protected OSXMain(String[] args) {
-		super(args);
-	}
-
-	@Override
-	protected Collection<Module> appendModules(Collection<Module> modules) {
-		modules = super.appendModules(modules);
-		modules.add(new OSXCayenneModelerModule());
-		return modules;
-	}
+    /**
+     * Main method that starts the CayenneModeler.
+     */
+    public static void main(String[] args) {
+        try {
+            new GenericMain(args).launch();
+        }
+        catch (Exception e) {
+            e.printStackTrace();
+            System.exit(1);
+        }
+    }
+
+    protected GenericMain(String[] args) {
+        super(args);
+    }
+
+    @Override
+    protected Collection<Module> appendModules(Collection<Module> modules) {
+        modules = super.appendModules(modules);
+        modules.add(new GenericCayenneModelerModule());
+        return modules;
+    }
 }

Added: cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/cayenne/modeler/generic/GenericPlatformInitializer.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/cayenne/modeler/generic/GenericPlatformInitializer.java?rev=988586&view=auto
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/cayenne/modeler/generic/GenericPlatformInitializer.java (added)
+++ cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/src/main/java/org/apache/cayenne/modeler/generic/GenericPlatformInitializer.java Tue Aug 24 15:17:45 2010
@@ -0,0 +1,73 @@
+/*****************************************************************
+ *   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.generic;
+
+import javax.swing.JFrame;
+import javax.swing.UIManager;
+
+import org.apache.cayenne.modeler.init.platform.PlatformInitializer;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import com.jgoodies.looks.plastic.PlasticLookAndFeel;
+import com.jgoodies.looks.plastic.PlasticTheme;
+import com.jgoodies.looks.plastic.PlasticXPLookAndFeel;
+
+public class GenericPlatformInitializer implements PlatformInitializer {
+
+    private static Log logger = LogFactory.getLog(GenericPlatformInitializer.class);
+
+    static final String DEFAULT_LAF_NAME = PlasticXPLookAndFeel.class.getName();
+
+    // note that another theme - "Desert Blue" doesn't support Chinese and
+    // Japanese chars
+    static final String DEFAULT_THEME_NAME = "Sky Bluer";
+
+    public void setupMenus(JFrame frame) {
+        // noop - default menus are fine
+    }
+
+    public void initLookAndFeel() {
+
+        PlasticTheme theme = findTheme();
+
+        if (theme != null) {
+            PlasticLookAndFeel.setMyCurrentTheme(theme);
+        }
+
+        try {
+            UIManager.setLookAndFeel(DEFAULT_LAF_NAME);
+        }
+        catch (Exception e) {
+            logger.warn("Error installing L&F: " + DEFAULT_LAF_NAME, e);
+        }
+    }
+
+    protected PlasticTheme findTheme() {
+
+        for (Object object : PlasticLookAndFeel.getInstalledThemes()) {
+            PlasticTheme theme = (PlasticTheme) object;
+            if (DEFAULT_THEME_NAME.equals(theme.getName())) {
+                return theme;
+            }
+        }
+        return null;
+    }
+
+}

Modified: cayenne/main/trunk/modeler/cayenne-modeler-java/pom.xml
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-java/pom.xml?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler-java/pom.xml (original)
+++ cayenne/main/trunk/modeler/cayenne-modeler-java/pom.xml Tue Aug 24 15:17:45 2010
@@ -61,6 +61,11 @@
 			<artifactId>cayenne-wocompat-unpublished</artifactId>
 			<version>${version}</version>
 		</dependency>
+		<dependency>
+			<groupId>org.apache.cayenne</groupId>
+			<artifactId>cayenne-modeler-generic-ext</artifactId>
+			<version>${version}</version>
+		</dependency>
 	</dependencies>
 
 	<build>
@@ -77,7 +82,7 @@
 				<configuration>
 					<destDir>target/modeler</destDir>
 					<name>CayenneModeler</name>
-					<mainClass>org.apache.cayenne.modeler.Main</mainClass>
+					<mainClass>org.apache.cayenne.modeler.generic.GenericMain</mainClass>
 					<os>java</os>
 				</configuration>
 				<executions>

Added: cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/.settings/org.eclipse.jdt.core.prefs
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/.settings/org.eclipse.jdt.core.prefs?rev=988586&view=auto
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/.settings/org.eclipse.jdt.core.prefs (added)
+++ cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/.settings/org.eclipse.jdt.core.prefs Tue Aug 24 15:17:45 2010
@@ -0,0 +1,253 @@
+#Fri Nov 16 16:54:33 EST 2007
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=48
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=48
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=48
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=48
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines=true
+org.eclipse.jdt.core.formatter.comment.format_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=90
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=90
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false

Added: cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/.settings/org.eclipse.jdt.ui.prefs
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/.settings/org.eclipse.jdt.ui.prefs?rev=988586&view=auto
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/.settings/org.eclipse.jdt.ui.prefs (added)
+++ cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/.settings/org.eclipse.jdt.ui.prefs Tue Aug 24 15:17:45 2010
@@ -0,0 +1,8 @@
+#Sun Nov 30 14:02:49 EET 2008
+eclipse.preferences.version=1
+formatter_settings_version=8
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=false
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"></template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"></template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"></template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecom
 ment" name\="filecomment">/**\n * \n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment"></template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"></template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"></template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"></template><template autoinsert\="fal
 se" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">/*****************************************************************\n *   Licensed to the Apache Software Foundation (ASF) under one\n *  or more contributor license agreements.  See the NOTICE file\n *  distributed with this work for additional information\n *  regarding copyright ownership.  The ASF licenses this file\n *  to you under the Apache License, Version 2.0 (the\n *  "License"); you may not use this file except in compliance\n *  with the License.  You may obtain a copy of the License at\n *\n *    http\://www.apache.org/licenses/LICENSE-2.0\n *\n *  Unless required by applicable law or agreed to in writing,\n *  software distributed under the License is distributed on an\n *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n *  KIND, either express or implied.  See the License for the\n *  sp
 ecific language governing permissions and limitations\n *  under the License.\n ****************************************************************/\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\=
 "true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="inter
 facebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context"
  deleted\="false" description\="Comment for setter function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created JavaScript files" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\n * \n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * ${tags}\n 
 */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for vars" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding functions" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Jsdoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate functions" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.d
 elegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="
 Code in created function stubs" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated function stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templ
 ates>

Copied: cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXCayenneModelerModule.java (from r988538, cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/init/CayenneModelerModule.java)
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXCayenneModelerModule.java?p2=cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXCayenneModelerModule.java&p1=cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/init/CayenneModelerModule.java&r1=988538&r2=988586&rev=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/init/CayenneModelerModule.java (original)
+++ cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXCayenneModelerModule.java Tue Aug 24 15:17:45 2010
@@ -16,25 +16,17 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.modeler.init;
+package org.apache.cayenne.modeler.osx;
 
 import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.Module;
-import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.modeler.action.ActionManager;
-import org.apache.cayenne.modeler.action.DefaultActionManager;
-import org.apache.cayenne.modeler.init.platform.GenericPlatformInitializer;
 import org.apache.cayenne.modeler.init.platform.PlatformInitializer;
+import org.apache.cayenne.modeler.util.WidgetFactory;
 
-/**
- * A DI module for bootstrapping CayenneModeler services.
- */
-public class CayenneModelerModule implements Module {
+public class OSXCayenneModelerModule implements Module {
 
     public void configure(Binder binder) {
-
-        binder.bind(ActionManager.class).to(DefaultActionManager.class);
-        binder.bind(Application.class).to(Application.class);
-        binder.bind(PlatformInitializer.class).to(GenericPlatformInitializer.class);
+        binder.bind(PlatformInitializer.class).to(OSXPlatformInitializer.class);
+        binder.bind(WidgetFactory.class).to(OSXWidgetFactory.class);
     }
 }

Copied: cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXMain.java (from r988538, cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/OSXMain.java)
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXMain.java?p2=cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXMain.java&p1=cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/OSXMain.java&r1=988538&r2=988586&rev=988586&view=diff
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/OSXMain.java (original)
+++ cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXMain.java Tue Aug 24 15:17:45 2010
@@ -17,38 +17,39 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.modeler;
+package org.apache.cayenne.modeler.osx;
 
 import java.util.Collection;
 
 import org.apache.cayenne.di.Module;
-import org.apache.cayenne.modeler.init.OSXCayenneModelerModule;
+import org.apache.cayenne.modeler.Main;
 
 /**
  * Main class to start CayenneModeler on MacOSX.
  */
 public class OSXMain extends Main {
 
-	/**
-	 * Main method that starts the CayenneModeler.
-	 */
-	public static void main(String[] args) {
-		try {
-			new OSXMain(args).launch();
-		} catch (Exception e) {
-			e.printStackTrace();
-			System.exit(1);
-		}
-	}
-
-	protected OSXMain(String[] args) {
-		super(args);
-	}
-
-	@Override
-	protected Collection<Module> appendModules(Collection<Module> modules) {
-		modules = super.appendModules(modules);
-		modules.add(new OSXCayenneModelerModule());
-		return modules;
-	}
+    /**
+     * Main method that starts the CayenneModeler.
+     */
+    public static void main(String[] args) {
+        try {
+            new OSXMain(args).launch();
+        }
+        catch (Exception e) {
+            e.printStackTrace();
+            System.exit(1);
+        }
+    }
+
+    protected OSXMain(String[] args) {
+        super(args);
+    }
+
+    @Override
+    protected Collection<Module> appendModules(Collection<Module> modules) {
+        modules = super.appendModules(modules);
+        modules.add(new OSXCayenneModelerModule());
+        return modules;
+    }
 }

Added: cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXPlatformInitializer.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXPlatformInitializer.java?rev=988586&view=auto
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXPlatformInitializer.java (added)
+++ cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXPlatformInitializer.java Tue Aug 24 15:17:45 2010
@@ -0,0 +1,121 @@
+/*****************************************************************
+ *   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.osx;
+
+import java.awt.Component;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.swing.Action;
+import javax.swing.JFrame;
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+import javax.swing.JMenuItem;
+import javax.swing.JPopupMenu;
+
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.modeler.action.AboutAction;
+import org.apache.cayenne.modeler.action.ActionManager;
+import org.apache.cayenne.modeler.action.ConfigurePreferencesAction;
+import org.apache.cayenne.modeler.action.ExitAction;
+import org.apache.cayenne.modeler.init.platform.PlatformInitializer;
+
+import com.apple.eawt.Application;
+import com.apple.eawt.ApplicationAdapter;
+import com.apple.eawt.ApplicationEvent;
+
+public class OSXPlatformInitializer implements PlatformInitializer {
+
+    @Inject
+    protected ActionManager actionManager;
+
+    public void initLookAndFeel() {
+
+        // leave alone the look and feel. Presumably it is Aqua, since this
+        // launcher can only be executed on Mac
+
+        // configure special Mac menu handlers though...
+
+        Application.getApplication().addAboutMenuItem();
+        Application.getApplication().addPreferencesMenuItem();
+        Application.getApplication().setEnabledAboutMenu(true);
+        Application.getApplication().setEnabledPreferencesMenu(true);
+
+        Application.getApplication().addApplicationListener(new MacEventsAdapter());
+    }
+
+    public void setupMenus(JFrame frame) {
+
+        Set<Action> removeActions = new HashSet<Action>();
+        removeActions.add(actionManager.getAction(ExitAction.class));
+        removeActions.add(actionManager.getAction(AboutAction.class));
+        removeActions.add(actionManager.getAction(ConfigurePreferencesAction.class));
+
+        JMenuBar menuBar = frame.getJMenuBar();
+        for (Component menu : menuBar.getComponents()) {
+            if (menu instanceof JMenu) {
+                JMenu jMenu = (JMenu) menu;
+
+                Component[] menuItems = jMenu.getPopupMenu().getComponents();
+                for (int i = 0; i < menuItems.length; i++) {
+
+                    if (menuItems[i] instanceof JMenuItem) {
+                        JMenuItem jMenuItem = (JMenuItem) menuItems[i];
+
+                        if (removeActions.contains(jMenuItem.getAction())) {
+                            jMenu.remove(jMenuItem);
+
+                            // this algorithm is pretty lame, but it works for
+                            // the current (as of 08.2010) menu layout
+                            if (i > 0
+                                    && i == menuItems.length - 1
+                                    && menuItems[i - 1] instanceof JPopupMenu.Separator) {
+                                jMenu.remove(i - 1);
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    class MacEventsAdapter extends ApplicationAdapter {
+
+        public void handleAbout(ApplicationEvent e) {
+            if (!e.isHandled()) {
+                actionManager.getAction(AboutAction.class).showAboutDialog();
+                e.setHandled(true);
+            }
+        }
+
+        public void handlePreferences(ApplicationEvent e) {
+            actionManager
+                    .getAction(ConfigurePreferencesAction.class)
+                    .showPreferencesDialog();
+            e.setHandled(true);
+        }
+
+        public void handleQuit(ApplicationEvent e) {
+            if (!e.isHandled()) {
+                e.setHandled(true);
+                actionManager.getAction(ExitAction.class).exit();
+            }
+        }
+    }
+}

Added: cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXWidgetFactory.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXWidgetFactory.java?rev=988586&view=auto
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXWidgetFactory.java (added)
+++ cayenne/main/trunk/modeler/cayenne-modeler-mac-ext/src/main/java/org/apache/cayenne/modeler/osx/OSXWidgetFactory.java Tue Aug 24 15:17:45 2010
@@ -0,0 +1,91 @@
+/*****************************************************************
+ *   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.osx;
+
+import org.apache.cayenne.modeler.util.DefaultWidgetFactory;
+import org.syntax.jedit.DefaultInputHandler;
+import org.syntax.jedit.JEditTextArea;
+
+public class OSXWidgetFactory extends DefaultWidgetFactory {
+
+    @Override
+    public JEditTextArea createJEditTextArea() {
+        JEditTextArea area = super.createJEditTextArea();
+        area.setInputHandler(new MacInputHandler());
+        return area;
+    }
+
+    /**
+     * Class for enabling Mac OS X keys
+     */
+    private static class MacInputHandler extends DefaultInputHandler {
+
+        MacInputHandler() {
+            addDefaultKeyBindings();
+        }
+
+        public void addDefaultKeyBindings() {
+            addKeyBinding("BACK_SPACE", BACKSPACE);
+            addKeyBinding("M+BACK_SPACE", BACKSPACE_WORD);
+            addKeyBinding("DELETE", DELETE);
+            addKeyBinding("M+DELETE", DELETE_WORD);
+
+            addKeyBinding("ENTER", INSERT_BREAK);
+            addKeyBinding("TAB", INSERT_TAB);
+
+            addKeyBinding("INSERT", OVERWRITE);
+            addKeyBinding("M+\\", TOGGLE_RECT);
+
+            addKeyBinding("HOME", HOME);
+            addKeyBinding("END", END);
+            addKeyBinding("M+A", SELECT_ALL);
+            addKeyBinding("S+HOME", SELECT_HOME);
+            addKeyBinding("S+END", SELECT_END);
+            addKeyBinding("M+HOME", DOCUMENT_HOME);
+            addKeyBinding("M+END", DOCUMENT_END);
+            addKeyBinding("MS+HOME", SELECT_DOC_HOME);
+            addKeyBinding("MS+END", SELECT_DOC_END);
+
+            addKeyBinding("PAGE_UP", PREV_PAGE);
+            addKeyBinding("PAGE_DOWN", NEXT_PAGE);
+            addKeyBinding("S+PAGE_UP", SELECT_PREV_PAGE);
+            addKeyBinding("S+PAGE_DOWN", SELECT_NEXT_PAGE);
+
+            addKeyBinding("LEFT", PREV_CHAR);
+            addKeyBinding("S+LEFT", SELECT_PREV_CHAR);
+            addKeyBinding("A+LEFT", PREV_WORD); // option + left
+            addKeyBinding("AS+LEFT", SELECT_PREV_WORD); // option + shift + left
+            addKeyBinding("RIGHT", NEXT_CHAR);
+            addKeyBinding("S+RIGHT", SELECT_NEXT_CHAR);
+            addKeyBinding("A+RIGHT", NEXT_WORD); // option + right
+            addKeyBinding("AS+RIGHT", SELECT_NEXT_WORD); // option + shift + right
+            addKeyBinding("UP", PREV_LINE);
+            addKeyBinding("S+UP", SELECT_PREV_LINE);
+            addKeyBinding("DOWN", NEXT_LINE);
+            addKeyBinding("S+DOWN", SELECT_NEXT_LINE);
+
+            addKeyBinding("M+ENTER", REPEAT);
+
+            // Clipboard
+            addKeyBinding("M+C", CLIP_COPY); // command + c
+            addKeyBinding("M+V", CLIP_PASTE); // command + v
+            addKeyBinding("M+X", CLIP_CUT); // command + x
+        }
+    }
+}

Modified: cayenne/main/trunk/modeler/cayenne-modeler-mac/pom.xml
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-mac/pom.xml?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler-mac/pom.xml (original)
+++ cayenne/main/trunk/modeler/cayenne-modeler-mac/pom.xml Tue Aug 24 15:17:45 2010
@@ -85,7 +85,7 @@
 					<name>CayenneModeler</name>
 					<longName>${version}</longName>
 					<destDir>target/modeler</destDir>
-					<mainClass>org.apache.cayenne.modeler.OSXMain</mainClass>
+					<mainClass>org.apache.cayenne.modeler.osx.OSXMain</mainClass>
 					<icon>src/japplication/resources/CayenneModeler.icns</icon>
 					<os>mac</os>
 					<jvm>1.5+</jvm>

Modified: cayenne/main/trunk/modeler/cayenne-modeler-win/pom.xml
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-win/pom.xml?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler-win/pom.xml (original)
+++ cayenne/main/trunk/modeler/cayenne-modeler-win/pom.xml Tue Aug 24 15:17:45 2010
@@ -61,6 +61,11 @@
 			<artifactId>cayenne-wocompat-unpublished</artifactId>
 			<version>${version}</version>
 		</dependency>
+		<dependency>
+			<groupId>org.apache.cayenne</groupId>
+			<artifactId>cayenne-modeler-generic-ext</artifactId>
+			<version>${version}</version>
+		</dependency>
 	</dependencies>
 
 	<build>
@@ -77,7 +82,7 @@
 					<name>CayenneModeler</name>
 					<longName>${version}</longName>
 					<destDir>target/modeler</destDir>
-					<mainClass>org.apache.cayenne.modeler.Main</mainClass>
+					<mainClass>org.apache.cayenne.modeler.generic.GenericMain</mainClass>
 					<icon>src/japplication/resources/CayenneModeler.ico</icon>
 					<os>windows</os>
 					<jvm>1.5+</jvm>

Modified: cayenne/main/trunk/modeler/pom.xml
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/pom.xml?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/modeler/pom.xml (original)
+++ cayenne/main/trunk/modeler/pom.xml Tue Aug 24 15:17:45 2010
@@ -49,6 +49,7 @@
 		<profile>
 			<id>generic</id>
 			<modules>
+				<module>cayenne-modeler-generic-ext</module>
 				<module>cayenne-modeler-java</module>
 			</modules>
 		</profile>
@@ -62,6 +63,7 @@
 		<profile>
 			<id>windows</id>
 			<modules>
+				<module>cayenne-modeler-generic-ext</module>
 				<module>cayenne-modeler-win</module>
 			</modules>
 		</profile>