Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/.classpath
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/.classpath (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/.classpath (revision 0)
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/.project
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/.project (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/.project (revision 0)
@@ -0,0 +1,23 @@
+
+
+ ${projectName}
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.objectstyle.wolips.incrementalbuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.objectstyle.wolips.incrementalapplicationnature
+
+
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/build.properties
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/build.properties (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/build.properties (revision 0)
@@ -0,0 +1,10 @@
+webXML_CustomContent=
+project.name=${projectName}
+eoAdaptorClassName=
+principalClass=${basePackage}.Application
+classes.dir=bin
+project.name.lowercase=${projectName.toLowerCase()}
+customInfoPListContent=
+project.type=application
+servletDeployment=false
+webXML=false
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/build.xml
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/build.xml (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/build.xml (revision 0)
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/template.xml
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/template.xml (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/template.xml (revision 0)
@@ -0,0 +1,13 @@
+
+
+
+
+ Base Package?
+ com.company.application.app
+
+
+ Components Package?
+ com.company.application.ui.components
+
+
+
\ No newline at end of file
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/.settings/org.eclipse.core.resources.prefs
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/.settings/org.eclipse.core.resources.prefs (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/.settings/org.eclipse.core.resources.prefs (revision 0)
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding//Components=UTF-8
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/Main.api
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/Main.api (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/Main.api (revision 0)
@@ -0,0 +1,5 @@
+
+
+
+
+
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/Main.wo/Main.html
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/Main.wo/Main.html (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/Main.wo/Main.html (revision 0)
@@ -0,0 +1,20 @@
+
+
+
+ ${projectName} Login
+
+
+
+
+
+
+
+
+
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/Main.wo/Main.wod
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/Main.wo/Main.wod (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/Main.wo/Main.wod (revision 0)
@@ -0,0 +1,29 @@
+LoginForm : WOForm {
+ multipleSubmit = false;
+ directActionName = "login";
+ actionClass = "DirectAction";
+ name="LoginForm";
+}
+
+UsernameField : WOTextField {
+ value = username;
+ name = "username";
+}
+
+PasswordField : WOPasswordField {
+ value = password;
+ name = "password";
+}
+
+Stylesheet : ERXStyleSheet {
+ filename = "default_login_page.css";
+ framework = "ERModernDefaultSkin";
+}
+
+HasErrorMessage : WOConditional {
+ condition = errorMessage;
+}
+
+ErrorMessage : WOString {
+ value = errorMessage;
+}
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/Main.wo/Main.woo
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/Main.wo/Main.woo (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/Main.wo/Main.woo (revision 0)
@@ -0,0 +1,4 @@
+{
+ "WebObjects Release" = "WebObjects 5.0";
+ encoding = "UTF-8";
+}
\ No newline at end of file
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/MenuHeader.wo/MenuHeader.html
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/MenuHeader.wo/MenuHeader.html (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/MenuHeader.wo/MenuHeader.html (revision 0)
@@ -0,0 +1,15 @@
+
+
+
+
\ No newline at end of file
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/MenuHeader.wo/MenuHeader.wod
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/MenuHeader.wo/MenuHeader.wod (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/MenuHeader.wo/MenuHeader.wod (revision 0)
@@ -0,0 +1,16 @@
+ERXNavigationMenu : ERXNavigationMenu {
+ navigationContext = navigationContext;
+}
+
+HasValidSession: WOConditional {
+ condition = context.hasSession;
+}
+
+LoginLink: WOHyperlink {
+ action = logout;
+ target = "_top";
+}
+
+HomeLink: WOHyperlink {
+ action = homeAction;
+}
\ No newline at end of file
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/MenuHeader.wo/MenuHeader.woo
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/MenuHeader.wo/MenuHeader.woo (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/MenuHeader.wo/MenuHeader.woo (revision 0)
@@ -0,0 +1,4 @@
+{
+ "WebObjects Release" = "WebObjects 5.0";
+ encoding = "UTF-8";
+}
\ No newline at end of file
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/PageWrapper.wo/PageWrapper.html
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/PageWrapper.wo/PageWrapper.html (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/PageWrapper.wo/PageWrapper.html (revision 0)
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/PageWrapper.wo/PageWrapper.wod
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/PageWrapper.wo/PageWrapper.wod (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/PageWrapper.wo/PageWrapper.wod (revision 0)
@@ -0,0 +1,33 @@
+MainContent : WOComponentContent {
+ _unroll = YES;
+}
+
+BodyTag : WOBody {
+ class = bodyClass;
+}
+
+HeadTag : ERD2WHead {
+}
+
+EntitiesMenu : MenuHeader {
+}
+
+ERD2WDebugFlags : ERD2WDebugFlags {
+ context = d2wContext;
+}
+
+IsDebug : WOConditional {
+ condition = application.isDevelopmentMode;
+}
+
+StyleSheets : ERMD2WCSSReference {
+ localContext = d2wContext;
+}
+
+ERMD2WStyleSheetInjector : ERMD2WStyleSheetInjector {
+ localContext = d2wContext;
+}
+
+WOLToolBar : WOLToolBar {
+ expanded = true;
+}
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/PageWrapper.wo/PageWrapper.woo
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/PageWrapper.wo/PageWrapper.woo (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Components/PageWrapper.wo/PageWrapper.woo (revision 0)
@@ -0,0 +1,4 @@
+{
+ "WebObjects Release" = "WebObjects 5.0";
+ encoding = "UTF-8";
+}
\ No newline at end of file
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Resources/NavigationMenu.plist
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Resources/NavigationMenu.plist (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Resources/NavigationMenu.plist (revision 0)
@@ -0,0 +1,19 @@
+(
+ {
+ name = Root;
+ children = ("Home","Tab1","Tab2");
+ },
+ {
+ name = "Home";
+ action = "session.navController.homeAction";
+ },
+ {
+ name = Tab1;
+ action = "session.navController.homeAction";
+ },
+ {
+ name = Tab2;
+ action = "session.navController.homeAction";
+ }
+
+)
\ No newline at end of file
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Resources/Properties
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Resources/Properties (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Resources/Properties (revision 0)
@@ -0,0 +1,77 @@
+# OGNL
+ognl.helperFunctions=true
+ognl.inlineBindings=true
+
+# Misc
+er.extensions.stackTrace.cleanup=true
+
+# EOF
+er.extensions.ERXEC.safeLocking=true
+er.extensions.ERXEC.useSharedEditingContext=false
+er.extensions.ERXEnterpriseObject.applyRestrictingQualifierOnInsert=true
+er.extensions.ERXEnterpriseObject.updateInverseRelationships=true
+
+# MySQL Connection Dictionary
+#dbConnectUserGLOBAL=
+#dbConnectPasswordGLOBAL=
+#dbConnectDriverGLOBAL=com.mysql.jdbc.Driver
+#Movies.URL=jdbc:mysql://localhost/movies?capitalizeTypenames=true&zeroDateTimeBehavior=convertToNull&characterEncoding=UTF-8
+
+
+# Migrations
+#er.migration.migrateAtStartup=true
+#er.migration.createTablesIfNecessary=true
+#er.migration.modelNames=YourModel
+
+# Misc Components
+#er.extensions.ERXWOForm.multipleSubmitDefault=true
+#er.extensions.ERXWORepetition.checkHashCodes=true
+#er.extensions.ERXWORepetition.raiseOnUnmatchedObject=true
+#er.extensions.ERXWORepetition.eoSupport=true
+
+er.component.clickToOpen=true
+wolips.password=my_password
+
+# ERJavaMail
+er.javamail.centralize=true
+er.javamail.adminEmail=admin@yourhost.com
+er.javamail.debugEnabled=false
+er.javamail.smtpHost=your.smtpserver.com
+er.javamail.smtpAuth=false
+er.javamail.smtpUser=
+er.javamail.smtpPassword=
+
+# Log4j Configuration
+log4j.loggerFactory=er.extensions.logging.ERXLogger$Factory
+log4j.rootCategory=INFO,A1
+log4j.appender.A1=er.extensions.logging.ERXConsoleAppender
+log4j.appender.A1.layout=er.extensions.logging.ERXPatternLayout
+log4j.appender.A1.layout.ConversionPattern=%d{MMM dd HH:mm:ss} %$[%#] %-5p %c %x - %m%n
+
+# Log4j Categories
+# Here are a few log4j sub-categories that are interesting.
+# Don't forget that in developement mode this file will get reloaded
+# everytime it changes, so if you say want to turn adaptor debugging
+# on in the middle of the app simply set the below category to debug.
+# Very handy.
+# Base Category
+log4j.logger.er=INFO
+
+# ERExtensions
+# Transaction - Switching this to debug will start the sql ouputting.
+log4j.logger.er.transaction.adaptor.EOAdaptorDebugEnabled=DEBUG
+
+# Fixes - Turning this on will show all the models that are loaded
+log4j.logger.er.extensions.fixes.ERSharedEOLoader=INFO
+
+er.extensions.ERXNSLogLog4jBridge=INFO
+#log4j.logger.er.eo.ERXGenericRecord=DEBUG
+#log4j.logger.er.validation.ERXEntityClassDescription=DEBUG
+#log4j.logger.er.default.ERXEntityClassDescription=DEBUG
+log4j.logger.er.extensions.ERXDatabaseContextDelegate=WARN
+log4j.logger.er.extensions.ERXConfigurationManager=INFO
+#log4j.logger.er.extensions.ERXApplication.RequestHandling=DEBUG
+
+#ERXNavigation
+
+er.extensions.ERXNavigationManager.localizeDisplayKeys=true
\ No newline at end of file
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Resources/d2w.d2wmodel
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Resources/d2w.d2wmodel (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Resources/d2w.d2wmodel (revision 0)
@@ -0,0 +1,4 @@
+{
+ rules = (
+ );
+}
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Resources/user.d2wmodel
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Resources/user.d2wmodel (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Resources/user.d2wmodel (revision 0)
@@ -0,0 +1,237 @@
+{
+ "rules" = (
+ {
+ "author" = "40";
+ "class" = "com.webobjects.directtoweb.Rule";
+ "rhs" = {
+ "class" = "com.webobjects.directtoweb.Assignment";
+ "keyPath" = "navigationState";
+ "value" = "Home";
+ };
+ },
+ {
+ "author" = "50";
+ "class" = "com.webobjects.directtoweb.Rule";
+ "lhs" = {
+ "class" = "com.webobjects.eocontrol.EOKeyValueQualifier";
+ "key" = "pageConfiguration";
+ "selectorName" = "isLike";
+ "value" = "*Tab1*";
+ };
+ "rhs" = {
+ "class" = "com.webobjects.directtoweb.Assignment";
+ "keyPath" = "navigationState";
+ "value" = "Tab1";
+ };
+ },
+ {
+ "author" = "50";
+ "class" = "com.webobjects.directtoweb.Rule";
+ "lhs" = {
+ "class" = "com.webobjects.eocontrol.EOKeyValueQualifier";
+ "key" = "pageConfiguration";
+ "selectorName" = "isLike";
+ "value" = "*Tab2*";
+ };
+ "rhs" = {
+ "class" = "com.webobjects.directtoweb.Assignment";
+ "keyPath" = "navigationState";
+ "value" = "Tab2";
+ };
+ },
+ {
+ "author" = "60";
+ "class" = "com.webobjects.directtoweb.Rule";
+ "lhs" = {
+ "class" = "com.webobjects.eocontrol.EOAndQualifier";
+ "qualifiers" = (
+ {
+ "class" = "com.webobjects.eocontrol.EOKeyValueQualifier";
+ "key" = "task";
+ "selectorName" = "isEqualTo";
+ "value" = "edit";
+ },
+ {
+ "class" = "com.webobjects.eocontrol.EOKeyValueQualifier";
+ "key" = "smartAttribute.className";
+ "selectorName" = "isEqualTo";
+ "value" = "java.lang.String";
+ },
+ {
+ "class" = "com.webobjects.eocontrol.EOKeyValueQualifier";
+ "key" = "smartAttribute.width";
+ "selectorName" = "isGreaterThanOrEqualTo";
+ "value" = {
+ "class" = "java.lang.Number";
+ "value" = "110";
+ };
+ }
+ );
+ };
+ "rhs" = {
+ "class" = "com.webobjects.directtoweb.Assignment";
+ "keyPath" = "componentName";
+ "value" = "ERD2WEditString";
+ };
+ },
+ {
+ "author" = "100";
+ "class" = "com.webobjects.directtoweb.Rule";
+ "rhs" = {
+ "class" = "com.webobjects.directtoweb.Assignment";
+ "keyPath" = "look";
+ "value" = "ERModernLook";
+ };
+ },
+ {
+ "author" = "100";
+ "class" = "com.webobjects.directtoweb.Rule";
+ "lhs" = {
+ "class" = "com.webobjects.eocontrol.EOAndQualifier";
+ "qualifiers" = (
+ {
+ "class" = "com.webobjects.eocontrol.EOKeyValueQualifier";
+ "key" = "RuleIsDisabled";
+ "selectorName" = "isEqual";
+ "value" = "YES";
+ }
+ );
+ };
+ "rhs" = {
+ "class" = "com.webobjects.directtoweb.Assignment";
+ "keyPath" = "datePickerRangeHigh";
+ "value" = "20091205";
+ };
+ },
+ {
+ "author" = "100";
+ "class" = "com.webobjects.directtoweb.Rule";
+ "lhs" = {
+ "class" = "com.webobjects.eocontrol.EOAndQualifier";
+ "qualifiers" = (
+ {
+ "class" = "com.webobjects.eocontrol.EOKeyValueQualifier";
+ "key" = "RuleIsDisabled";
+ "selectorName" = "isEqual";
+ "value" = "YES";
+ }
+ );
+ };
+ "rhs" = {
+ "class" = "com.webobjects.directtoweb.Assignment";
+ "keyPath" = "datePickerRangeHigh";
+ "value" = "20091215";
+ };
+ },
+ {
+ "author" = "100";
+ "class" = "com.webobjects.directtoweb.Rule";
+ "rhs" = {
+ "class" = "com.webobjects.directtoweb.BooleanAssignment";
+ "keyPath" = "isEntityEditable";
+ "value" = "true";
+ };
+ },
+ {
+ "author" = "100";
+ "class" = "com.webobjects.directtoweb.Rule";
+ "rhs" = {
+ "class" = "com.webobjects.directtoweb.BooleanAssignment";
+ "keyPath" = "isEntityDeletable";
+ "value" = "true";
+ };
+ },
+ {
+ "author" = "100";
+ "class" = "com.webobjects.directtoweb.Rule";
+ "lhs" = {
+ "class" = "com.webobjects.eocontrol.EOAndQualifier";
+ "qualifiers" = (
+ {
+ "class" = "com.webobjects.eocontrol.EOKeyValueQualifier";
+ "key" = "RuleIsDisabled";
+ "selectorName" = "isEqual";
+ "value" = "YES";
+ },
+ {
+ "class" = "com.webobjects.eocontrol.EOKeyValueQualifier";
+ "key" = "pageConfiguration";
+ "selectorName" = "isLike";
+ "value" = "EditRelationship*";
+ }
+ );
+ };
+ "rhs" = {
+ "class" = "com.webobjects.directtoweb.BooleanAssignment";
+ "keyPath" = "useAjaxControls";
+ "value" = "false";
+ };
+ },
+ {
+ "author" = "100";
+ "class" = "com.webobjects.directtoweb.Rule";
+ "lhs" = {
+ "class" = "com.webobjects.eocontrol.EOAndQualifier";
+ "qualifiers" = (
+ {
+ "class" = "com.webobjects.eocontrol.EOKeyValueQualifier";
+ "key" = "task";
+ "selectorName" = "isEqualTo";
+ "value" = "inspect";
+ },
+ {
+ "class" = "com.webobjects.eocontrol.EOKeyValueQualifier";
+ "key" = "smartRelationship.isToMany";
+ "selectorName" = "isEqualTo";
+ "value" = {
+ "class" = "java.lang.Number";
+ "value" = "1";
+ };
+ }
+ );
+ };
+ "rhs" = {
+ "class" = "com.webobjects.directtoweb.Assignment";
+ "keyPath" = "componentName";
+ "value" = "ERDList";
+ };
+ },
+ {
+ "author" = "100";
+ "class" = "com.webobjects.directtoweb.Rule";
+ "lhs" = {
+ "class" = "com.webobjects.eocontrol.EOAndQualifier";
+ "qualifiers" = (
+ {
+ "class" = "com.webobjects.eocontrol.EOKeyValueQualifier";
+ "key" = "smartRelationship";
+ "selectorName" = "isNotEqualTo";
+ "value" = {
+ "class" = "com.webobjects.foundation.NSKeyValueCoding$Null";
+ };
+ },
+ {
+ "class" = "com.webobjects.eocontrol.EOKeyValueQualifier";
+ "key" = "smartRelationship.isToMany";
+ "selectorName" = "isEqualTo";
+ "value" = {
+ "class" = "java.lang.Number";
+ "value" = "0";
+ };
+ },
+ {
+ "class" = "com.webobjects.eocontrol.EOKeyValueQualifier";
+ "key" = "task";
+ "selectorName" = "isEqualTo";
+ "value" = "inspect";
+ }
+ );
+ };
+ "rhs" = {
+ "class" = "com.webobjects.directtoweb.Assignment";
+ "keyPath" = "componentName";
+ "value" = "ERD2WDisplayToOne";
+ };
+ }
+ );
+}
\ No newline at end of file
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Resources/user.d2wmodel.txt
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Resources/user.d2wmodel.txt (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Resources/user.d2wmodel.txt (revision 0)
@@ -0,0 +1,14 @@
+(
+ 40 : *true* => navigationState = Home [com.webobjects.directtoweb.Assignment],
+ 50 : pageConfiguration like '*Tab1*' => navigationState = Tab1 [com.webobjects.directtoweb.Assignment],
+ 50 : pageConfiguration like '*Tab2*' => navigationState = Tab2 [com.webobjects.directtoweb.Assignment],
+ 60 : (task = 'edit' and smartAttribute.className = 'java.lang.String' and smartAttribute.width >= 110) => componentName = ERD2WEditString [com.webobjects.directtoweb.Assignment],
+ 100 : *true* => look = ERModernLook [com.webobjects.directtoweb.Assignment],
+ 100 : *true* => datePickerRangeHigh = 20091205 [com.webobjects.directtoweb.Assignment],
+ 100 : *true* => datePickerRangeHigh = 20091215 [com.webobjects.directtoweb.Assignment],
+ 100 : *true* => isEntityEditable = true [com.webobjects.directtoweb.BooleanAssignment],
+ 100 : *true* => isEntityDeletable = true [com.webobjects.directtoweb.BooleanAssignment],
+ 100 : pageConfiguration like 'EditRelationship*' => useAjaxControls = false [com.webobjects.directtoweb.BooleanAssignment],
+ 100 : (task = 'inspect' and smartRelationship.isToMany = 1) => componentName = ERDList [com.webobjects.directtoweb.Assignment],
+ 100 : (smartRelationship != null and smartRelationship.isToMany = 0 and task = 'inspect') => componentName = ERD2WDisplayToOne [com.webobjects.directtoweb.Assignment]
+)
\ No newline at end of file
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Resources/English.lproj/Localizable.strings
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Resources/English.lproj/Localizable.strings (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Resources/English.lproj/Localizable.strings (revision 0)
@@ -0,0 +1,9 @@
+{
+ "Nav.Tab1" = "Tab1";
+ "Nav.Tab2" = "Tab2";
+ "Nav.Home" = "Home";
+ "Nav.Admin" = "Admin";
+
+ "ERD2W.advancedFindButtonLabel" = "Advanced...";
+
+}
\ No newline at end of file
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Sources/__basePackage_folder__/Application.java
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Sources/__basePackage_folder__/Application.java (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Sources/__basePackage_folder__/Application.java (revision 0)
@@ -0,0 +1,24 @@
+package ${basePackage};
+
+import er.extensions.appserver.ERXApplication;
+import er.extensions.appserver.navigation.ERXNavigationManager;
+
+public class Application extends ERXApplication {
+ public static void main(String[] argv) {
+ ERXApplication.main(argv, Application.class);
+ }
+
+ public Application() {
+ ERXApplication.log.info("Welcome to " + name() + " !");
+ setDefaultRequestHandler(requestHandlerForKey(directActionRequestHandlerKey()));
+ }
+
+ @Override
+ public void finishInitialization() {
+ super.finishInitialization();
+
+ // Setup main navigation
+ ERXNavigationManager.manager().configureNavigation();
+
+ }
+}
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Sources/__basePackage_folder__/DirectAction.java
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Sources/__basePackage_folder__/DirectAction.java (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Sources/__basePackage_folder__/DirectAction.java (revision 0)
@@ -0,0 +1,45 @@
+package ${basePackage};
+
+import com.webobjects.appserver.WOActionResults;
+import com.webobjects.appserver.WORequest;
+import com.webobjects.directtoweb.D2W;
+import com.webobjects.foundation.NSLog;
+
+import er.directtoweb.ERD2WDirectAction;
+import ${componentsPackage}.Main;
+
+
+public class DirectAction extends ERD2WDirectAction {
+ public DirectAction(WORequest request) {
+ super(request);
+ }
+
+ @Override
+ public WOActionResults defaultAction() {
+ return pageWithName(Main.class.getName());
+ }
+
+ /**
+ * Checks if a page configuration is allowed to render.
+ * Provide a more intelligent access scheme as the default just returns false. And
+ * be sure to read the javadoc to the super class.
+ * @param pageConfiguration
+ * @return
+ */
+ protected boolean allowPageConfiguration(String pageConfiguration) {
+ return false;
+ }
+
+ public WOActionResults loginAction() {
+
+ String username = request().stringFormValueForKey("username");
+ String password = request().stringFormValueForKey("password");
+
+ NSLog.out.appendln("***DirectAction.loginAction - username: " + username + " : password: " + password + "***");
+
+ // ENHANCEME - add appropriate login behaviour here
+
+ return D2W.factory().defaultPage(session());
+ }
+
+}
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Sources/__basePackage_folder__/MainNavigationController.java
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Sources/__basePackage_folder__/MainNavigationController.java (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Sources/__basePackage_folder__/MainNavigationController.java (revision 0)
@@ -0,0 +1,111 @@
+package ${basePackage};
+
+import com.webobjects.appserver.WOComponent;
+import com.webobjects.directtoweb.D2W;
+import com.webobjects.directtoweb.EditPageInterface;
+import com.webobjects.directtoweb.ErrorPageInterface;
+import com.webobjects.directtoweb.QueryPageInterface;
+
+public class MainNavigationController {
+
+ private Session _session;
+
+ public MainNavigationController(Session s) {
+ super();
+ _session = s;
+ }
+
+ // NAV ACTIONS
+
+ public WOComponent homeAction() {
+ return D2W.factory().defaultPage(session());
+ }
+
+// // ADMIN
+//
+// public WOComponent adminAction() {
+// return queryPageForEntityName(Talent.ENTITY_NAME);
+// }
+//
+// // MOVIES
+//
+// public WOComponent queryMovieAction() {
+// return queryPageForEntityName(MOVIE);
+// }
+//
+// public WOComponent createMovieAction() {
+// return newObjectForEntityName(MOVIE);
+// }
+//
+// // STUDIOS
+//
+// public WOComponent queryStudioAction() {
+// return queryPageForEntityName(STUDIO);
+// }
+//
+// public WOComponent createStudioAction() {
+// return newObjectForEntityName(STUDIO);
+// }
+//
+// // TALENT
+//
+// public WOComponent queryTalentAction() {
+// return queryPageForEntityName(Talent.ENTITY_NAME);
+// }
+//
+// public WOComponent createTalentAction() {
+// return newObjectForEntityName(Talent.ENTITY_NAME);
+// }
+//
+// // VOTING
+//
+// public WOComponent queryVotingAction() {
+// return queryPageForEntityName(Voting.ENTITY_NAME);
+// }
+//
+// public WOComponent createVotingAction() {
+// return newObjectForEntityName(Voting.ENTITY_NAME);
+// }
+//
+// // REVIEW
+//
+// public WOComponent queryReviewAction() {
+// return queryPageForEntityName(REVIEW);
+// }
+//
+// public WOComponent createReviewAction() {
+// return newObjectForEntityName(REVIEW);
+// }
+
+ // GENERIC ACTIONS
+
+ public WOComponent queryPageForEntityName(String entityName) {
+ QueryPageInterface newQueryPage = D2W.factory().queryPageForEntityNamed(entityName, session());
+ return (WOComponent) newQueryPage;
+ }
+
+ public WOComponent newObjectForEntityName(String entityName) {
+ WOComponent nextPage = null;
+ try {
+ EditPageInterface epi = D2W.factory().editPageForNewObjectWithEntityNamed(entityName, session());
+ epi.setNextPage(session().context().page());
+ nextPage = (WOComponent) epi;
+ } catch (IllegalArgumentException e) {
+ ErrorPageInterface epf = D2W.factory().errorPage(session());
+ epf.setMessage(e.toString());
+ epf.setNextPage(session().context().page());
+ nextPage = (WOComponent) epf;
+ }
+ return nextPage;
+ }
+
+ // ACCESSORS
+
+ public Session session() {
+ return _session;
+ }
+
+ public void setSession(Session s) {
+ _session = s;
+ }
+}
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Sources/__basePackage_folder__/Session.java
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Sources/__basePackage_folder__/Session.java (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Sources/__basePackage_folder__/Session.java (revision 0)
@@ -0,0 +1,19 @@
+package ${basePackage};
+
+import er.extensions.appserver.ERXSession;
+
+public class Session extends ERXSession {
+ private static final long serialVersionUID = 1L;
+
+ private MainNavigationController _navController;
+
+ public Session() {
+ }
+
+ public MainNavigationController navController() {
+ if (_navController == null) {
+ _navController = new MainNavigationController(this);
+ }
+ return _navController;
+ }
+}
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Sources/__componentsPackage_folder__/Main.java
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Sources/__componentsPackage_folder__/Main.java (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Sources/__componentsPackage_folder__/Main.java (revision 0)
@@ -0,0 +1,40 @@
+package ${componentsPackage};
+
+import com.webobjects.appserver.WOContext;
+import er.extensions.components.ERXStatelessComponent;
+
+public class Main extends ERXStatelessComponent {
+
+ private String _username;
+ private String _password;
+ private String _errorMessage;
+
+ public Main(WOContext context) {
+ super(context);
+ }
+
+ public void setUsername(String username) {
+ _username = username;
+ }
+
+ public String username() {
+ return _username;
+ }
+
+ public void setPassword(String password) {
+ _password = password;
+ }
+
+ public String password() {
+ return _password;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ _errorMessage = errorMessage;
+ }
+
+ public String errorMessage() {
+ return _errorMessage;
+ }
+
+}
Index: wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Sources/__componentsPackage_folder__/MenuHeader.java
===================================================================
--- wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Sources/__componentsPackage_folder__/MenuHeader.java (revision 0)
+++ wolips/core/plugins/org.objectstyle.wolips.templateengine/ProjectTemplates/ERModern D2W Application/Sources/__componentsPackage_folder__/MenuHeader.java (revision 0)
@@ -0,0 +1,55 @@
+package ${componentsPackage};
+
+import com.webobjects.appserver.WOComponent;
+import com.webobjects.appserver.WOContext;
+import com.webobjects.appserver.WORedirect;
+import com.webobjects.directtoweb.D2W;
+import com.webobjects.directtoweb.D2WPage;
+import com.webobjects.foundation.NSKeyValueCoding;
+import com.webobjects.foundation.NSMutableDictionary;
+
+import er.extensions.appserver.navigation.ERXNavigationManager;
+import er.extensions.appserver.navigation.ERXNavigationState;
+import er.extensions.components.ERXComponent;
+
+public class MenuHeader extends ERXComponent {
+
+ public MenuHeader(WOContext context) {
+ super(context);
+ }
+
+ // ERXModernNavigationMenu Support
+
+ public NSKeyValueCoding navigationContext() {
+
+ NSKeyValueCoding context = (NSKeyValueCoding)session().objectForKey("navigationContext");
+
+ if (context().page() instanceof D2WPage) {
+ context = ((D2WPage)context().page()).d2wContext();
+ }
+
+ //log.debug(ERXNavigationManager.manager().navigationStateForSession(session()));
+ if(context == null) {
+ context = new NSMutableDictionary