You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by rm...@apache.org on 2011/01/08 18:54:08 UTC

svn commit: r1056748 - in /incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher: debug/ view/ view/action/ view/display/ view/edit/ view/form/ view/logon/ view/simple/

Author: rmatthews
Date: Sat Jan  8 17:54:07 2011
New Revision: 1056748

URL: http://svn.apache.org/viewvc?rev=1056748&view=rev
Log:
Using help string as reference to a help page within Scimpi

Added:
    incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/HelpLink.java   (with props)
Modified:
    incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/debug/DebugAction.java
    incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/ActionButton.java
    incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/ActionForm.java
    incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/ActionLink.java
    incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/CreateFormParameter.java
    incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AbstractFormView.java
    incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/EditObject.java
    incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/FieldFactory.java
    incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/form/InputField.java
    incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/form/InputForm.java
    incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/logon/Logon.java
    incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/simple/PageTitle.java
    incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/simple/Variable.java

Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/debug/DebugAction.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/debug/DebugAction.java?rev=1056748&r1=1056747&r2=1056748&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/debug/DebugAction.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/debug/DebugAction.java Sat Jan  8 17:54:07 2011
@@ -23,8 +23,10 @@ package org.apache.isis.viewer.scimpi.di
 import java.io.IOException;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 
+import com.google.common.base.Function;
 import com.google.common.collect.Collections2;
 import com.google.common.collect.Lists;
 
@@ -65,34 +67,39 @@ public class DebugAction implements Acti
 
     @Override
     public void process(RequestContext context) throws IOException {
-        DebugView view = new DebugView(context.getWriter(), new DebugString());
-        view.header();
-        view.appendln("<div class=\"links\">");
-        view.appendln("<a href=\"debug.app?action=system\">System</a>");
-        view.appendln(" | <a href=\"debug.app?action=specifications\">List specifications</a>");
-        view.appendln(" | <a href=\"debug.app?action=context\">Context</a>");
-        view.appendln(" | <a href=\"debug.app?action=dispatcher\">Dispatcher</a>");
-        view.appendln("</div>");
-        view.startTable();
-        
         String action = context.getParameter("action");
-        if ("specifications".equals(action)) {
-            listSpecifications(view);
-        } else   if ("specification".equals(action)) {
-            specification(context, view);            
-        } else   if ("object".equals(action)) {
-            object(context, view);            
-        } else   if ("system".equals(action)) {
-            system(context, view);            
-        } else   if ("context".equals(action)) {
-            context.append(view);
-        } else   if ("dispatcher".equals(action)) {
-            dispatcher.debug(view);
+        if ("i18n".equals(action)) {
+            i18n(context, null);            
+        } else {
+            DebugView view = new DebugView(context.getWriter(), new DebugString());
+            view.header();
+            view.appendln("<div class=\"links\">");
+            view.appendln("<a href=\"debug.app?action=system\">System</a>");
+            view.appendln(" | <a href=\"debug.app?action=specifications\">List specifications</a>");
+            view.appendln(" | <a href=\"debug.app?action=i18n\">I18N File</a>");
+            view.appendln(" | <a href=\"debug.app?action=context\">Context</a>");
+            view.appendln(" | <a href=\"debug.app?action=dispatcher\">Dispatcher</a>");
+            view.appendln("</div>");
+            view.startTable();
+            
+            if ("specifications".equals(action)) {
+                listSpecifications(view);
+            } else   if ("specification".equals(action)) {
+                specification(context, view);            
+            } else   if ("object".equals(action)) {
+                object(context, view);            
+            } else   if ("system".equals(action)) {
+                system(context, view);            
+            } else   if ("context".equals(action)) {
+                context.append(view);
+            } else   if ("dispatcher".equals(action)) {
+                dispatcher.debug(view);
+            }
+            
+            view.endTable();
+            view.footer();
+            context.clearRequestedPath();
         }
-        
-        view.endTable();
-        view.footer();
-        context.clearRequestedPath();
     }
 
     private void object(RequestContext context, DebugView view) {
@@ -115,6 +122,37 @@ public class DebugAction implements Acti
         }
     }
 
+    private void i18n(RequestContext context, DebugView view) {
+        Collection<ObjectSpecification> allSpecifications = getSpecificationLoader().allSpecifications();
+        final List<ObjectSpecification> specs = Lists.newArrayList(allSpecifications);
+        Collections.sort(specs, new Comparator<ObjectSpecification>() {
+            public int compare(ObjectSpecification o1, ObjectSpecification o2) {
+                return o1.getShortIdentifier().compareTo(o2.getShortIdentifier());
+            }
+        });
+        Function<ObjectSpecification, String> className = ObjectSpecification.FUNCTION_FULLY_QUALIFIED_CLASS_NAME;
+        final List<String> fullIdentifierList = Lists.newArrayList(Collections2.transform(specs, className));
+        for (String fullIdentifier : fullIdentifierList) {
+            ObjectSpecification spec = getSpecificationLoader().loadSpecification(fullIdentifier);
+            if (spec.getAssociations().size() == 0 && spec.getObjectActionsAll().size() == 0) {
+                continue;
+            }
+            String name = spec.getIdentifier().toClassIdentityString();
+            context.getWriter().append("# " + spec.getShortIdentifier() +"\n");
+            for (ObjectAssociation assoc : spec.getAssociations()) {
+                context.getWriter().append("#" + name + ".property." + assoc.getId() + ".name" + "=\n");
+                context.getWriter().append("#" + name + ".property." + assoc.getId() + ".description" + "=\n");
+                context.getWriter().append("#" + name + ".property." + assoc.getId() + ".help" + "=\n");
+            }
+            for (ObjectAction action : spec.getObjectActionsAll()) {
+                context.getWriter().append("#" + name + ".action." + action.getId() + ".name" + "=\n");
+                context.getWriter().append("#" + name + ".action." + action.getId() + ".description" + "=\n");
+                context.getWriter().append("#" + name + ".action." + action.getId() + ".help" + "=\n");
+            }
+            context.getWriter().append("\n");
+        }
+    }
+
     private void specification(RequestContext context, DebugView view) {
         String name = context.getParameter("name");
         ObjectSpecification spec = getSpecificationLoader().loadSpecification(name);

Added: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/HelpLink.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/HelpLink.java?rev=1056748&view=auto
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/HelpLink.java (added)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/HelpLink.java Sat Jan  8 17:54:07 2011
@@ -0,0 +1,41 @@
+/*
+ *  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.isis.viewer.scimpi.dispatcher.view;
+
+import org.apache.isis.viewer.scimpi.dispatcher.processor.Request;
+
+public class HelpLink {
+
+    public static void append(Request request, String helpReference, String description) {
+        request.appendHtml(createHelpSegment(description, helpReference));
+    }
+
+    public static String createHelpSegment(String description, String helpReference) {
+        if (helpReference == null || helpReference.equals("No help available")) {
+            return "";
+        } else {
+            String elementClass = "help-link";
+            String link = "help/" + helpReference + ".shtml";
+            String linkText = "Help";
+            String target = "scimpi-help";
+            return "<a class=\"" + elementClass + "\" href=\"" + link + "\" target=\"" + target + "\" title=\"" + description + "\">" + linkText + "</a>";
+        }
+    }
+
+}

Propchange: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/HelpLink.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/ActionButton.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/ActionButton.java?rev=1056748&r1=1056747&r2=1056748&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/ActionButton.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/ActionButton.java Sat Jan  8 17:54:07 2011
@@ -32,6 +32,7 @@ import org.apache.isis.viewer.scimpi.dis
 import org.apache.isis.viewer.scimpi.dispatcher.context.RequestContext;
 import org.apache.isis.viewer.scimpi.dispatcher.processor.Request;
 import org.apache.isis.viewer.scimpi.dispatcher.util.MethodsUtils;
+import org.apache.isis.viewer.scimpi.dispatcher.view.HelpLink;
 
 public class ActionButton extends AbstractElementProcessor {
     private static final Logger LOG = Logger.getLogger(ActionButton.class);
@@ -159,8 +160,9 @@ public class ActionButton extends Abstra
         }
         request.appendHtml(request.getContext().interactionFields());
         request.appendHtml("  <input class=\"button\" type=\"submit\" value=\"" + buttonTitle + "\" name=\"execute\" title=\"" 
-                + action.getDescription() + "\" />\n");
-        request.appendHtml("</form>\n");
+                + action.getDescription() + "\" />");
+        HelpLink.append(request, action.getHelp(), action.getDescription());
+        request.appendHtml("\n</form>\n");
     }
 
     public String getName() {

Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/ActionForm.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/ActionForm.java?rev=1056748&r1=1056747&r2=1056748&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/ActionForm.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/ActionForm.java Sat Jan  8 17:54:07 2011
@@ -140,7 +140,7 @@ public class ActionForm extends Abstract
         }
 
         InputForm.createForm(request, ActionAction.ACTION + ".app", parameterObject.buttonTitle, formFields, hiddenFields,
-                formTitle, parameterObject.className, parameterObject.id);
+                formTitle, action.getDescription(), action.getHelp(), parameterObject.className, parameterObject.id);
 
         request.popBlockContent();
     }

Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/ActionLink.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/ActionLink.java?rev=1056748&r1=1056747&r2=1056748&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/ActionLink.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/ActionLink.java Sat Jan  8 17:54:07 2011
@@ -28,6 +28,7 @@ import org.apache.isis.viewer.scimpi.dis
 import org.apache.isis.viewer.scimpi.dispatcher.context.RequestContext;
 import org.apache.isis.viewer.scimpi.dispatcher.processor.Request;
 import org.apache.isis.viewer.scimpi.dispatcher.util.MethodsUtils;
+import org.apache.isis.viewer.scimpi.dispatcher.view.HelpLink;
 
 
 public class ActionLink extends AbstractElementProcessor {
@@ -95,6 +96,7 @@ public class ActionLink extends Abstract
                 + forwardResultSegment + forwardVoidSegment + resultNameSegment + parameterSegment + scopeSegment + confirmSegment + interactionParamters + "\">");
         request.appendHtml(text);
         request.appendHtml("</a>");
+        HelpLink.append(request, action.getHelp(), action.getDescription());
     }
 
     public String getName() {

Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/CreateFormParameter.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/CreateFormParameter.java?rev=1056748&r1=1056747&r2=1056748&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/CreateFormParameter.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/action/CreateFormParameter.java Sat Jan  8 17:54:07 2011
@@ -30,6 +30,8 @@ public class CreateFormParameter {
     public String resultName;
     public String scope;
     public String objectId;
+    public String description;
+    public String helpReference;
     public String className;
     public String id;
     public String resultOverride;

Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AbstractFormView.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AbstractFormView.java?rev=1056748&r1=1056747&r2=1056748&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AbstractFormView.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AbstractFormView.java Sat Jan  8 17:54:07 2011
@@ -29,6 +29,7 @@ import org.apache.isis.core.metamodel.sp
 import org.apache.isis.core.runtime.context.IsisContext;
 import org.apache.isis.viewer.scimpi.dispatcher.AbstractObjectProcessor;
 import org.apache.isis.viewer.scimpi.dispatcher.processor.Request;
+import org.apache.isis.viewer.scimpi.dispatcher.view.HelpLink;
 import org.apache.isis.viewer.scimpi.dispatcher.view.field.LinkedFieldsBlock;
 import org.apache.isis.viewer.scimpi.dispatcher.view.field.LinkedObject;
 
@@ -100,6 +101,7 @@ public abstract class AbstractFormView e
             request.appendHtml("<div " + cls + description + "><span class=\"label\">" + field.getName() + ":</span>");
             LinkedObject linkedObject = linkFields[i];
             addField(request, object, field, linkedObject);
+            HelpLink.append(request,field.getHelp(), field.getDescription());
             request.appendHtml("</div>");
         }
         request.appendHtml("</div>");

Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/EditObject.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/EditObject.java?rev=1056748&r1=1056747&r2=1056748&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/EditObject.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/EditObject.java Sat Jan  8 17:54:07 2011
@@ -99,7 +99,7 @@ public class EditObject extends Abstract
                 resultOverride == null ? null : new HiddenInputField(RESULT_OVERRIDE, resultOverride),
                 scope == null ? null : new HiddenInputField(SCOPE, scope) };
 
-        InputForm.createForm(request, EditAction.ACTION + ".app", buttonTitle, formFields, hiddenFields, formTitle, className, id);
+        InputForm.createForm(request, EditAction.ACTION + ".app", buttonTitle, formFields, hiddenFields, formTitle, null, null, className, id);
         request.popBlockContent();
     }
 

Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/FieldFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/FieldFactory.java?rev=1056748&r1=1056747&r2=1056748&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/FieldFactory.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/FieldFactory.java Sat Jan  8 17:54:07 2011
@@ -27,6 +27,7 @@ import org.apache.isis.core.metamodel.fa
 import org.apache.isis.core.metamodel.facets.propparam.validate.maxlength.MaxLengthFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
+import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
 import org.apache.isis.core.runtime.context.IsisContext;
 import org.apache.isis.viewer.scimpi.dispatcher.context.RequestContext;
 import org.apache.isis.viewer.scimpi.dispatcher.context.RequestContext.Scope;
@@ -45,6 +46,9 @@ public class FieldFactory {
 
         field.setLabel(param.getName());
         field.setDescription(param.getDescription());
+        if (param instanceof ObjectMember) {
+            field.setHelpReference(((ObjectMember) param).getHelp());
+        }
         field.setRequired(isRequired);
         field.setHidden(false);
 

Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/form/InputField.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/form/InputField.java?rev=1056748&r1=1056747&r2=1056748&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/form/InputField.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/form/InputField.java Sat Jan  8 17:54:07 2011
@@ -34,6 +34,7 @@ public class InputField {
     
     private String label;
     private String description = "";
+    private String helpReference;
     private String errorText;
     private String name;
 
@@ -64,6 +65,10 @@ public class InputField {
         return description;
     }
 
+    public String getHelpReference() {
+        return helpReference;
+    }
+    
     public String getLabel() {
         return label;
     }
@@ -127,6 +132,10 @@ public class InputField {
     public void setDescription(String description) {
         this.description = description;
     }
+    
+    public void setHelpReference(String helpReference) {
+        this.helpReference = helpReference;
+    }
 
     public void setLabel(String label) {
         this.label = label;

Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/form/InputForm.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/form/InputForm.java?rev=1056748&r1=1056747&r2=1056748&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/form/InputForm.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/form/InputForm.java Sat Jan  8 17:54:07 2011
@@ -22,6 +22,7 @@ package org.apache.isis.viewer.scimpi.di
 
 import org.apache.isis.core.commons.exceptions.UnknownTypeException;
 import org.apache.isis.viewer.scimpi.dispatcher.processor.Request;
+import org.apache.isis.viewer.scimpi.dispatcher.view.HelpLink;
 import org.apache.isis.viewer.scimpi.dispatcher.view.display.Errors;
 
 
@@ -34,6 +35,8 @@ public class InputForm {
             InputField[] fields,
             HiddenInputField[] hiddenFields, 
             String formTitle,
+            String description,
+            String helpReference,
             String className,
             String id) {
 
@@ -64,15 +67,17 @@ public class InputForm {
             } else {
                 String errorSegment = fld.getErrorText() == null ? "" : "<span class=\"error\">" + fld.getErrorText() + "</span>";
                 String fieldSegment = createField(fld);
+                String helpSegment = HelpLink.createHelpSegment(fld.getDescription(), fld.getHelpReference());
                 String title = fld.getDescription().equals("") ? "" : " title=\"" + fld.getDescription() + "\"";
                 request.appendHtml("  <div class=\"field\"><label" + title + ">" + fld.getLabel() + ":</label>" + fieldSegment
-                        + errorSegment + "</div>\n");
+                        + errorSegment + helpSegment + "</div>\n");
             }
         }
 
         Errors.append(request, null);
         
         request.appendHtml("  <input class=\"button\" type=\"submit\" value=\"" + buttonTitle + "\" name=\"execute\" />\n");
+        HelpLink.append(request, helpReference, description);
         // TODO reinstate fieldsets when we can specify them
         //request.appendHtml("</fieldset>\n");
         request.appendHtml("</form>\n");

Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/logon/Logon.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/logon/Logon.java?rev=1056748&r1=1056747&r2=1056748&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/logon/Logon.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/logon/Logon.java Sat Jan  8 17:54:07 2011
@@ -68,7 +68,7 @@ public class Logon extends AbstractEleme
         String loginButtonTitle = request.getOptionalProperty(BUTTON_TITLE, "Log in");
         String className = request.getOptionalProperty(CLASS, "login");
         String  id = request.getOptionalProperty(ID);
-        InputForm.createForm(request, "logon.app", loginButtonTitle, fields, hiddenFields.toArray(new HiddenInputField[hiddenFields.size()]), formTitle, className, id);
+        InputForm.createForm(request, "logon.app", loginButtonTitle, fields, hiddenFields.toArray(new HiddenInputField[hiddenFields.size()]), formTitle, null, null, className, id);
     }
 
     public String getName() {

Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/simple/PageTitle.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/simple/PageTitle.java?rev=1056748&r1=1056747&r2=1056748&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/simple/PageTitle.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/simple/PageTitle.java Sat Jan  8 17:54:07 2011
@@ -25,12 +25,10 @@ import org.apache.isis.viewer.scimpi.dis
 
 public class PageTitle extends Variable {
     public void process(Request request) {
-        process(request, "title", false,  Scope.REQUEST);
+        process(request, "title", null, false, Scope.REQUEST);
     }
     
     public String getName() {
         return "page-title";
     }
 }
-
-

Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/simple/Variable.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/simple/Variable.java?rev=1056748&r1=1056747&r2=1056748&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/simple/Variable.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/simple/Variable.java Sat Jan  8 17:54:07 2011
@@ -30,13 +30,14 @@ public class Variable extends AbstractEl
 
     public void process(Request request) {
         String name = request.getOptionalProperty(NAME);
+        String value = request.getOptionalProperty(VALUE);
         String scopeName = request.getOptionalProperty(SCOPE);
         boolean isClear = request.getOptionalProperty("action", "set").equals("clear");
         Scope scope = RequestContext.scope(scopeName, isClear ? Scope.SESSION : Scope.REQUEST);
-        process(request, name, isClear, scope);
+        process(request, name, value, isClear, scope);
     }
 
-    protected void process(Request request, String name, boolean isClear, Scope scope) {
+    protected void process(Request request, String name, String value, boolean isClear, Scope scope) {
         request.pushNewBuffer();
         request.processUtilCloseTag();
         String source = request.popBuffer();
@@ -44,6 +45,9 @@ public class Variable extends AbstractEl
             request.appendDebug("variable: " + name + " ( cleared"); 
             request.getContext().clearVariable(name, scope);
         } else {
+            if (source.length() == 0 && value != null) {
+                source = value;
+            }
             if (source.length() == 0) { 
                 source = (String) request.getContext().getVariable(RequestContext.RESULT); 
             }