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 2013/03/24 18:45:21 UTC
[24/24] git commit: Restructuring Scimpi to remove dependencies and
enable easier testing.
Restructuring Scimpi to remove dependencies and enable easier testing.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/7700b437
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/7700b437
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/7700b437
Branch: refs/heads/scimpi-restructure
Commit: 7700b4371c740cb3ac84a808e32ed408721b1361
Parents: 49518c8
Author: rmatthews <rm...@nakedobjects.org>
Authored: Thu Jan 31 21:53:13 2013 +0000
Committer: rmatthews <rm...@nakedobjects.org>
Committed: Sun Mar 24 17:43:06 2013 +0000
----------------------------------------------------------------------
component/viewer/scimpi/dispatcher/pom.xml | 2 +-
.../apache/isis/viewer/scimpi/ScimpiContext.java | 38 +
.../scimpi/dispatcher/AddElementProcessors.java | 215 ------
.../isis/viewer/scimpi/dispatcher/Dispatcher.java | 42 +-
.../isis/viewer/scimpi/dispatcher/LocaleUtil.java | 101 +++
.../dispatcher/PreinstallElementProcessors.java | 215 ++++++
.../isis/viewer/scimpi/dispatcher/Response.java | 6 -
.../scimpi/dispatcher/RuntimeScimpiContext.java | 17 +
.../scimpi/dispatcher/ScimpiNotFoundException.java | 43 --
.../scimpi/dispatcher/TagOrderException.java | 32 -
.../apache/isis/viewer/scimpi/dispatcher/Util.java | 105 ---
.../scimpi/dispatcher/action/ActionAction.java | 4 +-
.../scimpi/dispatcher/action/DebugUserAction.java | 2 +-
.../scimpi/dispatcher/action/EditAction.java | 4 +-
.../scimpi/dispatcher/action/LogonAction.java | 6 +-
.../scimpi/dispatcher/action/LogoutAction.java | 4 +-
.../scimpi/dispatcher/context/DebugUsers.java | 97 +++
.../viewer/scimpi/dispatcher/context/Request.java | 7 +-
.../scimpi/dispatcher/context/RequestState.java | 47 ++
.../viewer/scimpi/dispatcher/context/Response.java | 6 +
.../context/ScimpiNotFoundException.java | 43 ++
.../scimpi/dispatcher/debug/DebugUsersView.java | 50 --
.../scimpi/dispatcher/debug/ErrorDetails.java | 35 -
.../scimpi/dispatcher/debug/ErrorMessage.java | 35 -
.../scimpi/dispatcher/debug/ErrorReference.java | 35 -
.../scimpi/dispatcher/form/FieldEditState.java | 57 ++
.../viewer/scimpi/dispatcher/form/FormState.java | 67 ++
.../scimpi/dispatcher/processor/Attributes.java | 132 ----
.../scimpi/dispatcher/processor/BlockContent.java | 5 +
.../processor/ElementContentProcessor.java | 25 -
.../dispatcher/processor/ElementProcessor.java | 13 +-
.../processor/ElementProcessorLookup.java | 57 ++
.../scimpi/dispatcher/processor/Encoder.java | 26 -
.../scimpi/dispatcher/processor/HtmlEncoder.java | 26 +
.../dispatcher/processor/HtmlFileParser.java | 8 +-
.../dispatcher/processor/ProcessorLookup.java | 50 --
.../scimpi/dispatcher/processor/SimpleEncoder.java | 32 -
.../scimpi/dispatcher/processor/Snippet.java | 4 +
.../viewer/scimpi/dispatcher/processor/SwfTag.java | 10 +-
.../scimpi/dispatcher/processor/TagAttributes.java | 137 ++++
.../dispatcher/processor/TagOrderException.java | 31 +
.../processor/TagProcessingException.java | 59 --
.../scimpi/dispatcher/processor/TagProcessor.java | 317 --------
.../processor/TemplateProcessingException.java | 59 ++
.../dispatcher/processor/TemplateProcessor.java | 318 ++++++++
.../dispatcher/structure/FieldEditState.java | 57 --
.../scimpi/dispatcher/structure/FormState.java | 67 --
.../scimpi/dispatcher/util/MethodsUtils.java | 3 +-
.../viewer/scimpi/dispatcher/util/UserManager.java | 89 +++
.../dispatcher/view/AbstractElementProcessor.java | 19 +-
.../dispatcher/view/AbstractObjectProcessor.java | 15 +-
.../dispatcher/view/action/ActionButton.java | 109 ++--
.../dispatcher/view/action/ActionContent.java | 6 +-
.../scimpi/dispatcher/view/action/ActionForm.java | 254 +------
.../scimpi/dispatcher/view/action/ActionLink.java | 53 +-
.../scimpi/dispatcher/view/action/ActionName.java | 48 ++
.../view/action/CreateFormParameter.java | 43 --
.../scimpi/dispatcher/view/action/Methods.java | 193 -----
.../dispatcher/view/action/NewActionLink.java | 63 ++
.../scimpi/dispatcher/view/action/Parameter.java | 15 +-
.../dispatcher/view/action/ParameterName.java | 63 ++
.../scimpi/dispatcher/view/action/RunAction.java | 23 +-
.../scimpi/dispatcher/view/action/Services.java | 67 --
.../view/collection/AbstractTableView.java | 150 ++++
.../dispatcher/view/collection/Collection.java | 27 +-
.../dispatcher/view/collection/CountElements.java | 54 ++
.../dispatcher/view/collection/ElementType.java | 62 ++
.../dispatcher/view/collection/ListView.java | 93 +++
.../dispatcher/view/collection/RemoveElement.java | 144 ++++
.../dispatcher/view/collection/TableBlock.java | 86 +++
.../dispatcher/view/collection/TableBuilder.java | 92 +++
.../dispatcher/view/collection/TableCell.java | 96 +++
.../view/collection/TableContentWriter.java | 39 +
.../dispatcher/view/collection/TableEmpty.java | 54 ++
.../dispatcher/view/collection/TableHeader.java | 40 +
.../dispatcher/view/collection/TableRow.java | 50 ++
.../dispatcher/view/collection/TableView.java | 328 +++++++++
.../view/control/AbstractConditionalBlock.java | 563 +++++++++++++++
.../scimpi/dispatcher/view/control/Forward.java | 38 +
.../scimpi/dispatcher/view/control/Redirect.java | 38 +
.../scimpi/dispatcher/view/control/Unless.java | 41 +
.../scimpi/dispatcher/view/control/When.java | 41 +
.../viewer/scimpi/dispatcher/view/debug/Debug.java | 157 ++--
.../dispatcher/view/debug/DebugAccessCheck.java | 7 +-
.../dispatcher/view/debug/DebugCollectionView.java | 31 +-
.../dispatcher/view/debug/DebugObjectView.java | 66 +-
.../dispatcher/view/debug/DebugUsersView.java | 51 ++
.../scimpi/dispatcher/view/debug/DebuggerLink.java | 26 +-
.../scimpi/dispatcher/view/debug/Diagnostics.java | 53 +-
.../viewer/scimpi/dispatcher/view/debug/Log.java | 13 +-
.../scimpi/dispatcher/view/debug/LogLevel.java | 27 +-
.../scimpi/dispatcher/view/debug/Members.java | 39 +-
.../scimpi/dispatcher/view/debug/ShowDebug.java | 11 +-
.../dispatcher/view/debug/Specification.java | 51 +-
.../dispatcher/view/debug/ThrowException.java | 9 +-
.../scimpi/dispatcher/view/determine/Exclude.java | 40 +
.../scimpi/dispatcher/view/determine/Include.java | 40 +
.../dispatcher/view/determine/InclusionList.java | 80 ++
.../scimpi/dispatcher/view/determine/Link.java | 45 ++
.../view/determine/LinkedFieldsBlock.java | 47 ++
.../dispatcher/view/determine/LinkedObject.java | 58 ++
.../dispatcher/view/display/AbstractFormView.java | 142 ----
.../dispatcher/view/display/AbstractTableView.java | 149 ----
.../scimpi/dispatcher/view/display/AddMessage.java | 44 --
.../scimpi/dispatcher/view/display/AddWarning.java | 44 --
.../scimpi/dispatcher/view/display/Errors.java | 65 --
.../scimpi/dispatcher/view/display/Feedback.java | 46 --
.../scimpi/dispatcher/view/display/FieldLabel.java | 77 --
.../scimpi/dispatcher/view/display/FieldValue.java | 118 ---
.../scimpi/dispatcher/view/display/GetField.java | 103 ---
.../dispatcher/view/display/IncludeObject.java | 107 ---
.../scimpi/dispatcher/view/display/ListView.java | 93 ---
.../dispatcher/view/display/LongFormView.java | 85 ---
.../scimpi/dispatcher/view/display/Messages.java | 60 --
.../dispatcher/view/display/SelectedObject.java | 55 --
.../dispatcher/view/display/ShortFormView.java | 36 -
.../scimpi/dispatcher/view/display/TableBlock.java | 86 ---
.../dispatcher/view/display/TableBuilder.java | 92 ---
.../scimpi/dispatcher/view/display/TableCell.java | 95 ---
.../view/display/TableContentWriter.java | 39 -
.../scimpi/dispatcher/view/display/TableEmpty.java | 53 --
.../dispatcher/view/display/TableHeader.java | 39 -
.../scimpi/dispatcher/view/display/TableRow.java | 49 --
.../scimpi/dispatcher/view/display/TableView.java | 329 ---------
.../scimpi/dispatcher/view/display/Title.java | 68 --
.../scimpi/dispatcher/view/display/Warnings.java | 59 --
.../scimpi/dispatcher/view/edit/EditObject.java | 320 --------
.../scimpi/dispatcher/view/field/ExcludeField.java | 39 -
.../scimpi/dispatcher/view/field/IncludeField.java | 39 -
.../dispatcher/view/field/InclusionList.java | 89 ---
.../scimpi/dispatcher/view/field/LinkField.java | 44 --
.../dispatcher/view/field/LinkedFieldsBlock.java | 47 --
.../scimpi/dispatcher/view/field/LinkedObject.java | 58 --
.../dispatcher/view/form/ActionFormAbstract.java | 223 ++++++
.../dispatcher/view/form/CreateFormParameter.java | 43 ++
.../dispatcher/view/form/EditFormAbstract.java | 171 +++++
.../scimpi/dispatcher/view/form/FieldFactory.java | 104 +++
.../scimpi/dispatcher/view/form/FormEntry.java | 45 ++
.../scimpi/dispatcher/view/form/FormField.java | 45 ++
.../dispatcher/view/form/FormFieldBlock.java | 67 ++
.../scimpi/dispatcher/view/form/HiddenField.java | 49 ++
.../dispatcher/view/form/HtmlFormBuilder.java | 91 ++--
.../dispatcher/view/form/LogonFormAbstract.java | 86 +++
.../dispatcher/view/form/RadioListField.java | 71 ++
.../scimpi/dispatcher/view/form/Selector.java | 157 ++++
.../scimpi/dispatcher/view/form/SimpleButton.java | 40 +
.../scimpi/dispatcher/view/global/Commit.java | 46 ++
.../scimpi/dispatcher/view/global/Methods.java | 197 +++++
.../scimpi/dispatcher/view/global/Services.java | 68 ++
.../dispatcher/view/localization/Localization.java | 65 ++
.../view/localization/SetLocalization.java | 65 ++
.../scimpi/dispatcher/view/logon/Logoff.java | 38 -
.../viewer/scimpi/dispatcher/view/logon/Logon.java | 124 ----
.../dispatcher/view/logon/RestrictAccess.java | 41 -
.../scimpi/dispatcher/view/logon/Secure.java | 45 --
.../viewer/scimpi/dispatcher/view/logon/User.java | 77 --
.../scimpi/dispatcher/view/message/AddMessage.java | 45 ++
.../scimpi/dispatcher/view/message/AddWarning.java | 45 ++
.../dispatcher/view/message/ErrorDetails.java | 36 +
.../dispatcher/view/message/ErrorMessage.java | 37 +
.../dispatcher/view/message/ErrorReference.java | 36 +
.../scimpi/dispatcher/view/message/Errors.java | 66 ++
.../scimpi/dispatcher/view/message/Feedback.java | 47 ++
.../scimpi/dispatcher/view/message/Messages.java | 61 ++
.../scimpi/dispatcher/view/message/Warnings.java | 60 ++
.../scimpi/dispatcher/view/object/EditLink.java | 71 ++
.../scimpi/dispatcher/view/object/EditObject.java | 171 +++++
.../scimpi/dispatcher/view/object/FieldLabel.java | 78 ++
.../scimpi/dispatcher/view/object/FieldName.java | 66 ++
.../scimpi/dispatcher/view/object/FieldValue.java | 119 +++
.../scimpi/dispatcher/view/object/GetField.java | 104 +++
.../dispatcher/view/object/IncludeObject.java | 108 +++
.../dispatcher/view/object/LinkAbstract.java | 122 ++++
.../dispatcher/view/object/LongViewForm.java | 87 +++
.../scimpi/dispatcher/view/object/ObjectLink.java | 68 ++
.../dispatcher/view/object/SelectedObject.java | 56 ++
.../dispatcher/view/object/ShortViewForm.java | 36 +
.../scimpi/dispatcher/view/object/Title.java | 69 ++
.../scimpi/dispatcher/view/object/TitleString.java | 69 ++
.../viewer/scimpi/dispatcher/view/object/Type.java | 58 ++
.../dispatcher/view/object/ViewFormAbstract.java | 142 ++++
.../scimpi/dispatcher/view/other/HelpLink.java | 13 +-
.../scimpi/dispatcher/view/other/History.java | 45 +-
.../dispatcher/view/other/VersionNumber.java | 9 +-
.../dispatcher/view/security/EndSession.java | 37 +
.../scimpi/dispatcher/view/security/Logoff.java | 39 +
.../scimpi/dispatcher/view/security/Logon.java | 51 ++
.../dispatcher/view/security/RestrictAccess.java | 42 ++
.../scimpi/dispatcher/view/security/Secure.java | 46 ++
.../dispatcher/view/security/StartSession.java | 37 +
.../scimpi/dispatcher/view/security/User.java | 78 ++
.../view/simple/AbstractConditionalBlock.java | 562 --------------
.../dispatcher/view/simple/AbstractLink.java | 121 ---
.../scimpi/dispatcher/view/simple/BlockDefine.java | 42 --
.../scimpi/dispatcher/view/simple/BlockUse.java | 46 --
.../scimpi/dispatcher/view/simple/Commit.java | 45 --
.../scimpi/dispatcher/view/simple/ContentTag.java | 36 -
.../scimpi/dispatcher/view/simple/CookieValue.java | 46 --
.../dispatcher/view/simple/DefaultValue.java | 52 --
.../scimpi/dispatcher/view/simple/EditLink.java | 71 --
.../scimpi/dispatcher/view/simple/EndSession.java | 36 -
.../scimpi/dispatcher/view/simple/Forward.java | 37 -
.../scimpi/dispatcher/view/simple/GetCookie.java | 39 -
.../scimpi/dispatcher/view/simple/Import.java | 37 -
.../view/simple/InitializeFromCookie.java | 81 --
.../view/simple/InitializeFromResult.java | 78 --
.../dispatcher/view/simple/Localization.java | 64 --
.../viewer/scimpi/dispatcher/view/simple/Mark.java | 43 --
.../dispatcher/view/simple/NewActionLink.java | 62 --
.../scimpi/dispatcher/view/simple/ObjectLink.java | 68 --
.../scimpi/dispatcher/view/simple/PageTitle.java | 35 -
.../scimpi/dispatcher/view/simple/Redirect.java | 37 -
.../dispatcher/view/simple/RemoveElement.java | 143 ----
.../scimpi/dispatcher/view/simple/ScopeTag.java | 51 --
.../scimpi/dispatcher/view/simple/SetCookie.java | 53 --
.../dispatcher/view/simple/SetCookieFromField.java | 55 --
.../dispatcher/view/simple/SetFieldFromCookie.java | 52 --
.../dispatcher/view/simple/SetLocalization.java | 64 --
.../dispatcher/view/simple/SimpleButton.java | 39 -
.../dispatcher/view/simple/StartSession.java | 36 -
.../scimpi/dispatcher/view/simple/TemplateTag.java | 40 -
.../scimpi/dispatcher/view/simple/Unless.java | 41 -
.../scimpi/dispatcher/view/simple/Variable.java | 64 --
.../viewer/scimpi/dispatcher/view/simple/When.java | 41 -
.../dispatcher/view/structure/BlockDefine.java | 43 ++
.../scimpi/dispatcher/view/structure/BlockUse.java | 47 ++
.../dispatcher/view/structure/ContentTag.java | 40 +
.../scimpi/dispatcher/view/structure/Import.java | 38 +
.../scimpi/dispatcher/view/structure/Mark.java | 44 ++
.../dispatcher/view/structure/TemplateTag.java | 44 ++
.../scimpi/dispatcher/view/value/ActionName.java | 47 --
.../dispatcher/view/value/CountElements.java | 54 --
.../scimpi/dispatcher/view/value/ElementType.java | 61 --
.../scimpi/dispatcher/view/value/FieldName.java | 65 --
.../dispatcher/view/value/ParameterName.java | 62 --
.../scimpi/dispatcher/view/value/TitleString.java | 68 --
.../viewer/scimpi/dispatcher/view/value/Type.java | 57 --
.../dispatcher/view/variable/ChangeScope.java | 52 ++
.../dispatcher/view/variable/CookieValue.java | 47 ++
.../dispatcher/view/variable/DefaultValue.java | 53 ++
.../scimpi/dispatcher/view/variable/GetCookie.java | 40 +
.../view/variable/InitializeFromCookie.java | 82 +++
.../view/variable/InitializeFromResult.java | 79 ++
.../scimpi/dispatcher/view/variable/PageTitle.java | 36 +
.../scimpi/dispatcher/view/variable/SetCookie.java | 54 ++
.../view/variable/SetCookieFromField.java | 56 ++
.../view/variable/SetFieldFromCookie.java | 53 ++
.../scimpi/dispatcher/view/variable/Variable.java | 65 ++
.../dispatcher/view/widget/FieldFactory.java | 105 ---
.../scimpi/dispatcher/view/widget/FormEntry.java | 44 --
.../scimpi/dispatcher/view/widget/FormField.java | 44 --
.../dispatcher/view/widget/FormFieldBlock.java | 68 --
.../scimpi/dispatcher/view/widget/HiddenField.java | 48 --
.../dispatcher/view/widget/RadioListField.java | 70 --
.../scimpi/dispatcher/view/widget/Selector.java | 158 ----
.../isis/viewer/scimpi/security/DebugUsers.java | 97 ---
.../isis/viewer/scimpi/security/UserManager.java | 89 ---
.../dispatcher/view/ElementProcessorTest.java | 61 ++
.../scimpi/dispatcher/view/TestRequestState.java | 32 +
.../dispatcher/view/message/ErrorMessageTest.java | 42 ++
component/viewer/scimpi/pom.xml | 2 +-
component/viewer/scimpi/servlet/pom.xml | 2 +-
.../viewer/scimpi/servlet/DispatcherServlet.java | 6 +-
.../scimpi/servlet/ServletRequestContext.java | 4 +-
264 files changed, 9256 insertions(+), 8899 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/pom.xml b/component/viewer/scimpi/dispatcher/pom.xml
index 44ed076..7c5d950 100644
--- a/component/viewer/scimpi/dispatcher/pom.xml
+++ b/component/viewer/scimpi/dispatcher/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.isis.viewer</groupId>
<artifactId>isis-viewer-scimpi</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.0.0-restructure-SNAPSHOT</version>
</parent>
<artifactId>isis-viewer-scimpi-dispatcher</artifactId>
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/ScimpiContext.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/ScimpiContext.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/ScimpiContext.java
new file mode 100644
index 0000000..9e1395e
--- /dev/null
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/ScimpiContext.java
@@ -0,0 +1,38 @@
+/*
+ * 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;
+
+import org.apache.isis.core.commons.config.ConfigurationConstants;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+
+public interface ScimpiContext {
+
+ static String BASE = ConfigurationConstants.ROOT + "scimpi.";
+
+ /**
+ * Returns the full configuration name for the provided name. This will include the overall isis project
+ * prefix (isis) and the viewer prefix (scimpi). So passing in 'show-icon' will return
+ * 'isis.scimpi.show-icon'.
+ */
+ String configurationName(String name);
+
+ IsisConfiguration getConfiguration();
+}
+
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/AddElementProcessors.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/AddElementProcessors.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/AddElementProcessors.java
deleted file mode 100644
index ad51add..0000000
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/AddElementProcessors.java
+++ /dev/null
@@ -1,215 +0,0 @@
-package org.apache.isis.viewer.scimpi.dispatcher;
-
-import org.apache.isis.viewer.scimpi.dispatcher.debug.DebugUsersView;
-import org.apache.isis.viewer.scimpi.dispatcher.debug.ErrorDetails;
-import org.apache.isis.viewer.scimpi.dispatcher.debug.ErrorMessage;
-import org.apache.isis.viewer.scimpi.dispatcher.debug.ErrorReference;
-import org.apache.isis.viewer.scimpi.dispatcher.processor.ProcessorLookup;
-import org.apache.isis.viewer.scimpi.dispatcher.view.action.ActionButton;
-import org.apache.isis.viewer.scimpi.dispatcher.view.action.ActionForm;
-import org.apache.isis.viewer.scimpi.dispatcher.view.action.ActionLink;
-import org.apache.isis.viewer.scimpi.dispatcher.view.action.Methods;
-import org.apache.isis.viewer.scimpi.dispatcher.view.action.Parameter;
-import org.apache.isis.viewer.scimpi.dispatcher.view.action.RunAction;
-import org.apache.isis.viewer.scimpi.dispatcher.view.action.Services;
-import org.apache.isis.viewer.scimpi.dispatcher.view.collection.Collection;
-import org.apache.isis.viewer.scimpi.dispatcher.view.debug.DebugAccessCheck;
-import org.apache.isis.viewer.scimpi.dispatcher.view.debug.DebugCollectionView;
-import org.apache.isis.viewer.scimpi.dispatcher.view.debug.DebugObjectView;
-import org.apache.isis.viewer.scimpi.dispatcher.view.debug.DebuggerLink;
-import org.apache.isis.viewer.scimpi.dispatcher.view.debug.Diagnostics;
-import org.apache.isis.viewer.scimpi.dispatcher.view.debug.Log;
-import org.apache.isis.viewer.scimpi.dispatcher.view.debug.LogLevel;
-import org.apache.isis.viewer.scimpi.dispatcher.view.debug.Members;
-import org.apache.isis.viewer.scimpi.dispatcher.view.debug.ShowDebug;
-import org.apache.isis.viewer.scimpi.dispatcher.view.debug.Specification;
-import org.apache.isis.viewer.scimpi.dispatcher.view.debug.ThrowException;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.AddMessage;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.AddWarning;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.Errors;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.Feedback;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.FieldLabel;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.FieldValue;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.GetField;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.IncludeObject;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.ListView;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.LongFormView;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.Messages;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.SelectedObject;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.ShortFormView;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.TableBuilder;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.TableCell;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.TableEmpty;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.TableHeader;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.TableRow;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.TableView;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.Title;
-import org.apache.isis.viewer.scimpi.dispatcher.view.display.Warnings;
-import org.apache.isis.viewer.scimpi.dispatcher.view.edit.EditObject;
-import org.apache.isis.viewer.scimpi.dispatcher.view.field.ExcludeField;
-import org.apache.isis.viewer.scimpi.dispatcher.view.field.IncludeField;
-import org.apache.isis.viewer.scimpi.dispatcher.view.field.LinkField;
-import org.apache.isis.viewer.scimpi.dispatcher.view.logon.Logoff;
-import org.apache.isis.viewer.scimpi.dispatcher.view.logon.Logon;
-import org.apache.isis.viewer.scimpi.dispatcher.view.logon.RestrictAccess;
-import org.apache.isis.viewer.scimpi.dispatcher.view.logon.Secure;
-import org.apache.isis.viewer.scimpi.dispatcher.view.logon.User;
-import org.apache.isis.viewer.scimpi.dispatcher.view.other.HelpLink;
-import org.apache.isis.viewer.scimpi.dispatcher.view.other.History;
-import org.apache.isis.viewer.scimpi.dispatcher.view.other.VersionNumber;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.BlockDefine;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.BlockUse;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.Commit;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.ContentTag;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.CookieValue;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.DefaultValue;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.EditLink;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.EndSession;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.Forward;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.GetCookie;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.Import;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.InitializeFromCookie;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.InitializeFromResult;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.Localization;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.Mark;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.NewActionLink;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.ObjectLink;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.PageTitle;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.Redirect;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.RemoveElement;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.ScopeTag;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.SetCookie;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.SetCookieFromField;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.SetFieldFromCookie;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.SetLocalization;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.SimpleButton;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.StartSession;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.TemplateTag;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.Unless;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.Variable;
-import org.apache.isis.viewer.scimpi.dispatcher.view.simple.When;
-import org.apache.isis.viewer.scimpi.dispatcher.view.value.ActionName;
-import org.apache.isis.viewer.scimpi.dispatcher.view.value.CountElements;
-import org.apache.isis.viewer.scimpi.dispatcher.view.value.ElementType;
-import org.apache.isis.viewer.scimpi.dispatcher.view.value.FieldName;
-import org.apache.isis.viewer.scimpi.dispatcher.view.value.ParameterName;
-import org.apache.isis.viewer.scimpi.dispatcher.view.value.TitleString;
-import org.apache.isis.viewer.scimpi.dispatcher.view.value.Type;
-import org.apache.isis.viewer.scimpi.dispatcher.view.widget.FormEntry;
-import org.apache.isis.viewer.scimpi.dispatcher.view.widget.FormField;
-import org.apache.isis.viewer.scimpi.dispatcher.view.widget.HiddenField;
-import org.apache.isis.viewer.scimpi.dispatcher.view.widget.RadioListField;
-import org.apache.isis.viewer.scimpi.dispatcher.view.widget.Selector;
-
-public class AddElementProcessors {
-
- public static void init(ProcessorLookup processors) {
-
- processors.addElementProcessor(new ActionLink());
- processors.addElementProcessor(new ActionButton());
- processors.addElementProcessor(new ActionForm());
- processors.addElementProcessor(new ActionName());
- processors.addElementProcessor(new AddMessage());
- processors.addElementProcessor(new AddWarning());
- processors.addElementProcessor(new BlockDefine());
- processors.addElementProcessor(new BlockUse());
- processors.addElementProcessor(new History());
- processors.addElementProcessor(new Collection());
- processors.addElementProcessor(new Commit());
- processors.addElementProcessor(new ContentTag());
- processors.addElementProcessor(new CountElements());
- processors.addElementProcessor(new Diagnostics());
- processors.addElementProcessor(new DebugAccessCheck());
- processors.addElementProcessor(new DebugCollectionView());
- processors.addElementProcessor(new DebuggerLink());
- processors.addElementProcessor(new DebugObjectView());
- processors.addElementProcessor(new DebugUsersView());
- processors.addElementProcessor(new DefaultValue());
- processors.addElementProcessor(new EditLink());
- processors.addElementProcessor(new EditObject());
- processors.addElementProcessor(new ElementType());
- processors.addElementProcessor(new Errors());
- processors.addElementProcessor(new ErrorDetails());
- processors.addElementProcessor(new ErrorMessage());
- processors.addElementProcessor(new ErrorReference());
- processors.addElementProcessor(new ExcludeField());
- processors.addElementProcessor(new Feedback());
- processors.addElementProcessor(new FieldLabel());
- processors.addElementProcessor(new FieldName());
- processors.addElementProcessor(new FieldValue());
- processors.addElementProcessor(new FormField());
- processors.addElementProcessor(new FormEntry());
- processors.addElementProcessor(new Forward());
- processors.addElementProcessor(new GetField());
- processors.addElementProcessor(new HelpLink());
- processors.addElementProcessor(new HiddenField());
- processors.addElementProcessor(new Import());
- processors.addElementProcessor(new IncludeObject());
- processors.addElementProcessor(new IncludeField());
- processors.addElementProcessor(new InitializeFromCookie());
- processors.addElementProcessor(new InitializeFromResult());
- processors.addElementProcessor(new Log());
- processors.addElementProcessor(new LogLevel());
- processors.addElementProcessor(new Logon());
- processors.addElementProcessor(new Logoff());
- processors.addElementProcessor(new LongFormView());
- processors.addElementProcessor(new LinkField());
- processors.addElementProcessor(new ListView());
- processors.addElementProcessor(new NewActionLink());
- processors.addElementProcessor(new Mark());
- processors.addElementProcessor(new Members());
- processors.addElementProcessor(new Messages());
- processors.addElementProcessor(new Methods());
- processors.addElementProcessor(new ObjectLink());
- processors.addElementProcessor(new PageTitle());
- processors.addElementProcessor(new Parameter());
- processors.addElementProcessor(new ParameterName());
- processors.addElementProcessor(new RadioListField());
- processors.addElementProcessor(new Redirect());
- processors.addElementProcessor(new RemoveElement());
- processors.addElementProcessor(new VersionNumber());
- processors.addElementProcessor(new RunAction());
- processors.addElementProcessor(new RestrictAccess());
- processors.addElementProcessor(new ScopeTag());
- processors.addElementProcessor(new Secure());
- processors.addElementProcessor(new SelectedObject());
- processors.addElementProcessor(new Selector());
- processors.addElementProcessor(new Services());
- processors.addElementProcessor(new ShortFormView());
- processors.addElementProcessor(new ShowDebug());
- processors.addElementProcessor(new SimpleButton());
- processors.addElementProcessor(new Specification());
- processors.addElementProcessor(new TableCell());
- processors.addElementProcessor(new TableView());
- processors.addElementProcessor(new TableBuilder());
- processors.addElementProcessor(new TableEmpty());
- processors.addElementProcessor(new TableRow());
- processors.addElementProcessor(new TableHeader());
- processors.addElementProcessor(new TemplateTag());
- processors.addElementProcessor(new Title());
- processors.addElementProcessor(new TitleString());
- processors.addElementProcessor(new ThrowException());
- processors.addElementProcessor(new Type());
- processors.addElementProcessor(new User());
- processors.addElementProcessor(new Unless());
- processors.addElementProcessor(new Variable());
- processors.addElementProcessor(new Warnings());
- processors.addElementProcessor(new When());
-
- processors.addElementProcessor(new StartSession());
- processors.addElementProcessor(new EndSession());
-
- processors.addElementProcessor(new CookieValue());
- processors.addElementProcessor(new SetCookie());
- processors.addElementProcessor(new GetCookie());
- processors.addElementProcessor(new SetCookieFromField());
- processors.addElementProcessor(new SetFieldFromCookie());
-
- // new, alpha, processors
- processors.addElementProcessor(new Localization());
- processors.addElementProcessor(new SetLocalization());
-
- }
-
-}
-
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java
index f5e2e5e..3a87184 100644
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java
@@ -54,6 +54,7 @@ import org.apache.isis.viewer.scimpi.DebugHtmlWriter;
import org.apache.isis.viewer.scimpi.ForbiddenException;
import org.apache.isis.viewer.scimpi.Names;
import org.apache.isis.viewer.scimpi.NotLoggedInException;
+import org.apache.isis.viewer.scimpi.ScimpiContext;
import org.apache.isis.viewer.scimpi.ScimpiException;
import org.apache.isis.viewer.scimpi.dispatcher.action.ActionAction;
import org.apache.isis.viewer.scimpi.dispatcher.action.DebugAction;
@@ -64,21 +65,21 @@ import org.apache.isis.viewer.scimpi.dispatcher.action.LogonAction;
import org.apache.isis.viewer.scimpi.dispatcher.action.LogoutAction;
import org.apache.isis.viewer.scimpi.dispatcher.action.RemoveAction;
import org.apache.isis.viewer.scimpi.dispatcher.context.Action;
+import org.apache.isis.viewer.scimpi.dispatcher.context.DebugUsers;
import org.apache.isis.viewer.scimpi.dispatcher.context.ErrorCollator;
import org.apache.isis.viewer.scimpi.dispatcher.context.Request;
+import org.apache.isis.viewer.scimpi.dispatcher.context.Response;
+import org.apache.isis.viewer.scimpi.dispatcher.context.ScimpiNotFoundException;
import org.apache.isis.viewer.scimpi.dispatcher.context.Request.Debug;
import org.apache.isis.viewer.scimpi.dispatcher.context.Request.Scope;
import org.apache.isis.viewer.scimpi.dispatcher.processor.ElementProcessor;
-import org.apache.isis.viewer.scimpi.dispatcher.processor.Encoder;
import org.apache.isis.viewer.scimpi.dispatcher.processor.HtmlFileParser;
-import org.apache.isis.viewer.scimpi.dispatcher.processor.ProcessorLookup;
-import org.apache.isis.viewer.scimpi.dispatcher.processor.SimpleEncoder;
+import org.apache.isis.viewer.scimpi.dispatcher.processor.ElementProcessorLookup;
import org.apache.isis.viewer.scimpi.dispatcher.processor.Snippet;
-import org.apache.isis.viewer.scimpi.dispatcher.processor.TagProcessingException;
-import org.apache.isis.viewer.scimpi.dispatcher.processor.TagProcessor;
+import org.apache.isis.viewer.scimpi.dispatcher.processor.TemplateProcessingException;
+import org.apache.isis.viewer.scimpi.dispatcher.processor.TemplateProcessor;
import org.apache.isis.viewer.scimpi.dispatcher.util.MethodsUtils;
-import org.apache.isis.viewer.scimpi.security.DebugUsers;
-import org.apache.isis.viewer.scimpi.security.UserManager;
+import org.apache.isis.viewer.scimpi.dispatcher.util.UserManager;
import org.apache.log4j.Logger;
import org.dom4j.Document;
import org.dom4j.DocumentException;
@@ -102,11 +103,16 @@ public class Dispatcher implements Debuggable {
public static final String COMMAND_ROOT = ".app";
private final Map<String, Action> actions = new HashMap<String, Action>();
private final Map<String, String> parameters = new HashMap<String, String>();
- private final ProcessorLookup processors = new ProcessorLookup();
- private final HtmlFileParser parser = new HtmlFileParser(processors);
- private final Encoder encoder = new SimpleEncoder();
+ private final ElementProcessorLookup processors;
+ private final HtmlFileParser parser;
private boolean showUnshownMessages;
+ public Dispatcher() {
+ ScimpiContext context = new RuntimeScimpiContext();
+ processors = new ElementProcessorLookup(context);
+ parser = new HtmlFileParser(processors);
+ }
+
public void process(final Request request, final Response response, final String servletPath) {
LOG.debug("processing request " + servletPath);
final AuthenticationSession session = UserManager.startRequest(request.getSession());
@@ -114,8 +120,8 @@ public class Dispatcher implements Debuggable {
String language = (String) request.getVariable("user-language");
if (language != null) {
- Locale locale = Util.locale(language);
- TimeZone timeZone = Util.timeZone((String) request.getVariable("user-time-zone"));
+ Locale locale = LocaleUtil.locale(language);
+ TimeZone timeZone = LocaleUtil.timeZone((String) request.getVariable("user-time-zone"));
IsisContext.getUserProfile().setLocalization(new UserLocalization(locale, timeZone));
}
@@ -147,7 +153,7 @@ public class Dispatcher implements Debuggable {
transactionManager.startTransaction();
}
- final Throwable ex = e instanceof TagProcessingException ? e.getCause() : e;
+ final Throwable ex = e instanceof TemplateProcessingException ? e.getCause() : e;
if (ex instanceof ForbiddenException) {
LOG.error("invalid access to " + servletPath, e);
show403ErrorPage(request, error, e, ex);
@@ -288,10 +294,10 @@ public class Dispatcher implements Debuggable {
context.addVariable("title", "Untitled Page", Scope.REQUEST);
final Stack<Snippet> tags = loadPageTemplate(context, fullPath);
- final TagProcessor tagProcessor = new TagProcessor(file, context, encoder, tags, processors);
- tagProcessor.appendDebug("processing " + fullPath);
+ final TemplateProcessor templateProcessor = new TemplateProcessor(file, context, context, tags, processors);
+ templateProcessor.appendDebug("processing " + fullPath);
try {
- tagProcessor.processNextTag();
+ templateProcessor.processNextTag();
noteIfMessagesHaveNotBeenDisplay(context);
IsisContext.getUpdateNotifier().clear();
} catch (final RuntimeException e) {
@@ -300,7 +306,7 @@ public class Dispatcher implements Debuggable {
IsisContext.getUpdateNotifier().clear();
throw e;
}
- final String page = tagProcessor.popBuffer();
+ final String page = templateProcessor.popBuffer();
final PrintWriter writer = context.getWriter();
writer.write(page);
if (context.getDebug() == Debug.PAGE) {
@@ -432,7 +438,7 @@ public class Dispatcher implements Debuggable {
}
}
- AddElementProcessors.init(processors);
+ PreinstallElementProcessors.init(processors);
processors.addElementProcessor(new org.apache.isis.viewer.scimpi.dispatcher.view.debug.Debug(this));
showUnshownMessages = IsisContext.getConfiguration().getBoolean(SHOW_UNSHOWN_MESSAGES, true);
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/LocaleUtil.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/LocaleUtil.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/LocaleUtil.java
new file mode 100644
index 0000000..3c4e08d
--- /dev/null
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/LocaleUtil.java
@@ -0,0 +1,101 @@
+/*
+ * 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;
+
+import java.text.DateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Locale;
+import java.util.TimeZone;
+
+class LocaleUtil {
+
+ public static final String DEFAULT_TIME_ZONE = "Europe/London";
+ public static final String DEFAULT_LANGUAGE = "English, United Kingdom (en-gb)";
+
+
+ private LocaleUtil() {}
+
+ public static List<String> languages() {
+ Locale[] locales = DateFormat.getAvailableLocales();
+ List<String> list = new ArrayList<String>(locales.length);
+ for (Locale locale : locales) {
+ list.add(localeName(locale));
+ }
+ Collections.sort(list);
+ return list;
+ }
+
+ public static List<String> timeZones() {
+ List<String> timezones = Arrays.asList(TimeZone.getAvailableIDs());
+ Collections.sort(timezones);
+ return timezones;
+ }
+
+ public static TimeZone timeZone(String timeZoneEntry) {
+ TimeZone timeZone = TimeZone.getTimeZone(timeZoneEntry);
+ return timeZone;
+ }
+
+ public static Locale locale(String localeCode) {
+ String substring[] = localeCode.trim().split("-");
+ Locale locale;
+ switch (substring.length) {
+ case 1:
+ locale = new Locale(substring[0]);
+ break;
+ case 2:
+ locale = new Locale(substring[0], substring[1]);
+ break;
+ case 3:
+ locale = new Locale(substring[0], substring[1], substring[3]);
+ break;
+ default:
+ locale = Locale.getDefault();
+ break;
+ }
+ return locale;
+ }
+
+ public static String languageName(String languageCode) {
+ Locale locale = locale(languageCode);
+ return localeName(locale);
+ }
+
+ public static String codeForLanguage(String language) {
+ Locale[] locales = DateFormat.getAvailableLocales();
+ for (Locale locale : locales) {
+ String name = localeName(locale);
+ if (name.equals(language)) {
+ return locale.toString().toLowerCase().replace('_', '-');
+ }
+ }
+ return null;
+ }
+
+ public static String localeName(Locale locale) {
+ String language = locale.getDisplayLanguage();
+ String country = locale.getDisplayCountry().length() == 0 ? "" : ", " + (locale.getDisplayCountry());
+ return language + country + " (" + locale.toString().toLowerCase().replace('_', '-') + ")";
+ }
+
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/PreinstallElementProcessors.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/PreinstallElementProcessors.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/PreinstallElementProcessors.java
new file mode 100644
index 0000000..ad29000
--- /dev/null
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/PreinstallElementProcessors.java
@@ -0,0 +1,215 @@
+package org.apache.isis.viewer.scimpi.dispatcher;
+
+import org.apache.isis.viewer.scimpi.dispatcher.processor.ElementProcessorLookup;
+import org.apache.isis.viewer.scimpi.dispatcher.view.action.ActionButton;
+import org.apache.isis.viewer.scimpi.dispatcher.view.action.ActionForm;
+import org.apache.isis.viewer.scimpi.dispatcher.view.action.ActionLink;
+import org.apache.isis.viewer.scimpi.dispatcher.view.action.ActionName;
+import org.apache.isis.viewer.scimpi.dispatcher.view.action.NewActionLink;
+import org.apache.isis.viewer.scimpi.dispatcher.view.action.Parameter;
+import org.apache.isis.viewer.scimpi.dispatcher.view.action.ParameterName;
+import org.apache.isis.viewer.scimpi.dispatcher.view.action.RunAction;
+import org.apache.isis.viewer.scimpi.dispatcher.view.collection.Collection;
+import org.apache.isis.viewer.scimpi.dispatcher.view.collection.CountElements;
+import org.apache.isis.viewer.scimpi.dispatcher.view.collection.ElementType;
+import org.apache.isis.viewer.scimpi.dispatcher.view.collection.ListView;
+import org.apache.isis.viewer.scimpi.dispatcher.view.collection.RemoveElement;
+import org.apache.isis.viewer.scimpi.dispatcher.view.collection.TableBuilder;
+import org.apache.isis.viewer.scimpi.dispatcher.view.collection.TableCell;
+import org.apache.isis.viewer.scimpi.dispatcher.view.collection.TableEmpty;
+import org.apache.isis.viewer.scimpi.dispatcher.view.collection.TableHeader;
+import org.apache.isis.viewer.scimpi.dispatcher.view.collection.TableRow;
+import org.apache.isis.viewer.scimpi.dispatcher.view.collection.TableView;
+import org.apache.isis.viewer.scimpi.dispatcher.view.control.Forward;
+import org.apache.isis.viewer.scimpi.dispatcher.view.control.Redirect;
+import org.apache.isis.viewer.scimpi.dispatcher.view.control.Unless;
+import org.apache.isis.viewer.scimpi.dispatcher.view.control.When;
+import org.apache.isis.viewer.scimpi.dispatcher.view.debug.DebugAccessCheck;
+import org.apache.isis.viewer.scimpi.dispatcher.view.debug.DebugCollectionView;
+import org.apache.isis.viewer.scimpi.dispatcher.view.debug.DebugObjectView;
+import org.apache.isis.viewer.scimpi.dispatcher.view.debug.DebugUsersView;
+import org.apache.isis.viewer.scimpi.dispatcher.view.debug.DebuggerLink;
+import org.apache.isis.viewer.scimpi.dispatcher.view.debug.Diagnostics;
+import org.apache.isis.viewer.scimpi.dispatcher.view.debug.Log;
+import org.apache.isis.viewer.scimpi.dispatcher.view.debug.LogLevel;
+import org.apache.isis.viewer.scimpi.dispatcher.view.debug.Members;
+import org.apache.isis.viewer.scimpi.dispatcher.view.debug.ShowDebug;
+import org.apache.isis.viewer.scimpi.dispatcher.view.debug.Specification;
+import org.apache.isis.viewer.scimpi.dispatcher.view.debug.ThrowException;
+import org.apache.isis.viewer.scimpi.dispatcher.view.determine.Exclude;
+import org.apache.isis.viewer.scimpi.dispatcher.view.determine.Include;
+import org.apache.isis.viewer.scimpi.dispatcher.view.determine.Link;
+import org.apache.isis.viewer.scimpi.dispatcher.view.form.FormEntry;
+import org.apache.isis.viewer.scimpi.dispatcher.view.form.FormField;
+import org.apache.isis.viewer.scimpi.dispatcher.view.form.HiddenField;
+import org.apache.isis.viewer.scimpi.dispatcher.view.form.RadioListField;
+import org.apache.isis.viewer.scimpi.dispatcher.view.form.Selector;
+import org.apache.isis.viewer.scimpi.dispatcher.view.form.SimpleButton;
+import org.apache.isis.viewer.scimpi.dispatcher.view.global.Commit;
+import org.apache.isis.viewer.scimpi.dispatcher.view.global.Methods;
+import org.apache.isis.viewer.scimpi.dispatcher.view.global.Services;
+import org.apache.isis.viewer.scimpi.dispatcher.view.localization.Localization;
+import org.apache.isis.viewer.scimpi.dispatcher.view.localization.SetLocalization;
+import org.apache.isis.viewer.scimpi.dispatcher.view.message.AddMessage;
+import org.apache.isis.viewer.scimpi.dispatcher.view.message.AddWarning;
+import org.apache.isis.viewer.scimpi.dispatcher.view.message.ErrorDetails;
+import org.apache.isis.viewer.scimpi.dispatcher.view.message.ErrorMessage;
+import org.apache.isis.viewer.scimpi.dispatcher.view.message.ErrorReference;
+import org.apache.isis.viewer.scimpi.dispatcher.view.message.Errors;
+import org.apache.isis.viewer.scimpi.dispatcher.view.message.Feedback;
+import org.apache.isis.viewer.scimpi.dispatcher.view.message.Messages;
+import org.apache.isis.viewer.scimpi.dispatcher.view.message.Warnings;
+import org.apache.isis.viewer.scimpi.dispatcher.view.object.EditLink;
+import org.apache.isis.viewer.scimpi.dispatcher.view.object.EditObject;
+import org.apache.isis.viewer.scimpi.dispatcher.view.object.FieldLabel;
+import org.apache.isis.viewer.scimpi.dispatcher.view.object.FieldName;
+import org.apache.isis.viewer.scimpi.dispatcher.view.object.FieldValue;
+import org.apache.isis.viewer.scimpi.dispatcher.view.object.GetField;
+import org.apache.isis.viewer.scimpi.dispatcher.view.object.IncludeObject;
+import org.apache.isis.viewer.scimpi.dispatcher.view.object.LongViewForm;
+import org.apache.isis.viewer.scimpi.dispatcher.view.object.ObjectLink;
+import org.apache.isis.viewer.scimpi.dispatcher.view.object.SelectedObject;
+import org.apache.isis.viewer.scimpi.dispatcher.view.object.ShortViewForm;
+import org.apache.isis.viewer.scimpi.dispatcher.view.object.Title;
+import org.apache.isis.viewer.scimpi.dispatcher.view.object.TitleString;
+import org.apache.isis.viewer.scimpi.dispatcher.view.object.Type;
+import org.apache.isis.viewer.scimpi.dispatcher.view.other.HelpLink;
+import org.apache.isis.viewer.scimpi.dispatcher.view.other.History;
+import org.apache.isis.viewer.scimpi.dispatcher.view.other.VersionNumber;
+import org.apache.isis.viewer.scimpi.dispatcher.view.security.EndSession;
+import org.apache.isis.viewer.scimpi.dispatcher.view.security.Logoff;
+import org.apache.isis.viewer.scimpi.dispatcher.view.security.Logon;
+import org.apache.isis.viewer.scimpi.dispatcher.view.security.RestrictAccess;
+import org.apache.isis.viewer.scimpi.dispatcher.view.security.Secure;
+import org.apache.isis.viewer.scimpi.dispatcher.view.security.StartSession;
+import org.apache.isis.viewer.scimpi.dispatcher.view.security.User;
+import org.apache.isis.viewer.scimpi.dispatcher.view.structure.BlockDefine;
+import org.apache.isis.viewer.scimpi.dispatcher.view.structure.BlockUse;
+import org.apache.isis.viewer.scimpi.dispatcher.view.structure.ContentTag;
+import org.apache.isis.viewer.scimpi.dispatcher.view.structure.Import;
+import org.apache.isis.viewer.scimpi.dispatcher.view.structure.Mark;
+import org.apache.isis.viewer.scimpi.dispatcher.view.structure.TemplateTag;
+import org.apache.isis.viewer.scimpi.dispatcher.view.variable.ChangeScope;
+import org.apache.isis.viewer.scimpi.dispatcher.view.variable.CookieValue;
+import org.apache.isis.viewer.scimpi.dispatcher.view.variable.DefaultValue;
+import org.apache.isis.viewer.scimpi.dispatcher.view.variable.GetCookie;
+import org.apache.isis.viewer.scimpi.dispatcher.view.variable.InitializeFromCookie;
+import org.apache.isis.viewer.scimpi.dispatcher.view.variable.InitializeFromResult;
+import org.apache.isis.viewer.scimpi.dispatcher.view.variable.PageTitle;
+import org.apache.isis.viewer.scimpi.dispatcher.view.variable.SetCookie;
+import org.apache.isis.viewer.scimpi.dispatcher.view.variable.SetCookieFromField;
+import org.apache.isis.viewer.scimpi.dispatcher.view.variable.SetFieldFromCookie;
+import org.apache.isis.viewer.scimpi.dispatcher.view.variable.Variable;
+
+public class PreinstallElementProcessors {
+
+ public static void init(ElementProcessorLookup processors) {
+
+ processors.addElementProcessor(new ActionLink());
+ processors.addElementProcessor(new ActionButton());
+ processors.addElementProcessor(new ActionForm());
+ processors.addElementProcessor(new ActionName());
+ processors.addElementProcessor(new AddMessage());
+ processors.addElementProcessor(new AddWarning());
+ processors.addElementProcessor(new BlockDefine());
+ processors.addElementProcessor(new BlockUse());
+ processors.addElementProcessor(new History());
+ processors.addElementProcessor(new Collection());
+ processors.addElementProcessor(new Commit());
+ processors.addElementProcessor(new ContentTag());
+ processors.addElementProcessor(new CountElements());
+ processors.addElementProcessor(new Diagnostics());
+ processors.addElementProcessor(new DebugAccessCheck());
+ processors.addElementProcessor(new DebugCollectionView());
+ processors.addElementProcessor(new DebuggerLink());
+ processors.addElementProcessor(new DebugObjectView());
+ processors.addElementProcessor(new DebugUsersView());
+ processors.addElementProcessor(new DefaultValue());
+ processors.addElementProcessor(new EditLink());
+ processors.addElementProcessor(new EditObject());
+ processors.addElementProcessor(new ElementType());
+ processors.addElementProcessor(new Errors());
+ processors.addElementProcessor(new ErrorDetails());
+ processors.addElementProcessor(new ErrorMessage());
+ processors.addElementProcessor(new ErrorReference());
+ processors.addElementProcessor(new Exclude());
+ processors.addElementProcessor(new Feedback());
+ processors.addElementProcessor(new FieldLabel());
+ processors.addElementProcessor(new FieldName());
+ processors.addElementProcessor(new FieldValue());
+ processors.addElementProcessor(new FormField());
+ processors.addElementProcessor(new FormEntry());
+ processors.addElementProcessor(new Forward());
+ processors.addElementProcessor(new GetField());
+ processors.addElementProcessor(new HelpLink());
+ processors.addElementProcessor(new HiddenField());
+ processors.addElementProcessor(new Import());
+ processors.addElementProcessor(new IncludeObject());
+ processors.addElementProcessor(new Include());
+ processors.addElementProcessor(new InitializeFromCookie());
+ processors.addElementProcessor(new InitializeFromResult());
+ processors.addElementProcessor(new Log());
+ processors.addElementProcessor(new LogLevel());
+ processors.addElementProcessor(new Logon());
+ processors.addElementProcessor(new Logoff());
+ processors.addElementProcessor(new LongViewForm());
+ processors.addElementProcessor(new Link());
+ processors.addElementProcessor(new ListView());
+ processors.addElementProcessor(new NewActionLink());
+ processors.addElementProcessor(new Mark());
+ processors.addElementProcessor(new Members());
+ processors.addElementProcessor(new Messages());
+ processors.addElementProcessor(new Methods());
+ processors.addElementProcessor(new ObjectLink());
+ processors.addElementProcessor(new PageTitle());
+ processors.addElementProcessor(new Parameter());
+ processors.addElementProcessor(new ParameterName());
+ processors.addElementProcessor(new RadioListField());
+ processors.addElementProcessor(new Redirect());
+ processors.addElementProcessor(new RemoveElement());
+ processors.addElementProcessor(new VersionNumber());
+ processors.addElementProcessor(new RunAction());
+ processors.addElementProcessor(new RestrictAccess());
+ processors.addElementProcessor(new ChangeScope());
+ processors.addElementProcessor(new Secure());
+ processors.addElementProcessor(new SelectedObject());
+ processors.addElementProcessor(new Selector());
+ processors.addElementProcessor(new Services());
+ processors.addElementProcessor(new ShortViewForm());
+ processors.addElementProcessor(new ShowDebug());
+ processors.addElementProcessor(new SimpleButton());
+ processors.addElementProcessor(new Specification());
+ processors.addElementProcessor(new TableCell());
+ processors.addElementProcessor(new TableView());
+ processors.addElementProcessor(new TableBuilder());
+ processors.addElementProcessor(new TableEmpty());
+ processors.addElementProcessor(new TableRow());
+ processors.addElementProcessor(new TableHeader());
+ processors.addElementProcessor(new TemplateTag());
+ processors.addElementProcessor(new Title());
+ processors.addElementProcessor(new TitleString());
+ processors.addElementProcessor(new ThrowException());
+ processors.addElementProcessor(new Type());
+ processors.addElementProcessor(new User());
+ processors.addElementProcessor(new Unless());
+ processors.addElementProcessor(new Variable());
+ processors.addElementProcessor(new Warnings());
+ processors.addElementProcessor(new When());
+
+ processors.addElementProcessor(new StartSession());
+ processors.addElementProcessor(new EndSession());
+
+ processors.addElementProcessor(new CookieValue());
+ processors.addElementProcessor(new SetCookie());
+ processors.addElementProcessor(new GetCookie());
+ processors.addElementProcessor(new SetCookieFromField());
+ processors.addElementProcessor(new SetFieldFromCookie());
+
+ // new, alpha, processors
+ processors.addElementProcessor(new Localization());
+ processors.addElementProcessor(new SetLocalization());
+
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Response.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Response.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Response.java
deleted file mode 100644
index 173378e..0000000
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Response.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package org.apache.isis.viewer.scimpi.dispatcher;
-
-public interface Response {
-
-}
-
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/RuntimeScimpiContext.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/RuntimeScimpiContext.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/RuntimeScimpiContext.java
new file mode 100644
index 0000000..85d88ba
--- /dev/null
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/RuntimeScimpiContext.java
@@ -0,0 +1,17 @@
+package org.apache.isis.viewer.scimpi.dispatcher;
+
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.runtime.system.context.IsisContext;
+import org.apache.isis.viewer.scimpi.ScimpiContext;
+
+public class RuntimeScimpiContext implements ScimpiContext {
+
+ public String configurationName(String name) {
+ return BASE + name;
+ }
+
+ public IsisConfiguration getConfiguration() {
+ return IsisContext.getConfiguration();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/ScimpiNotFoundException.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/ScimpiNotFoundException.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/ScimpiNotFoundException.java
deleted file mode 100644
index e448293..0000000
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/ScimpiNotFoundException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.viewer.scimpi.dispatcher;
-
-import org.apache.isis.viewer.scimpi.ScimpiException;
-
-public class ScimpiNotFoundException extends ScimpiException {
- public ScimpiNotFoundException() {
- super();
- }
-
- public ScimpiNotFoundException(final String message, final Throwable cause) {
- super(message, cause);
- }
-
- public ScimpiNotFoundException(final String message) {
- super(message);
- }
-
- public ScimpiNotFoundException(final Throwable cause) {
- super(cause);
- }
-
- private static final long serialVersionUID = 1L;
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/TagOrderException.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/TagOrderException.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/TagOrderException.java
deleted file mode 100644
index 543d57b..0000000
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/TagOrderException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.viewer.scimpi.dispatcher;
-
-import org.apache.isis.viewer.scimpi.ScimpiException;
-import org.apache.isis.viewer.scimpi.dispatcher.processor.TagProcessor;
-
-public class TagOrderException extends ScimpiException {
- private static final long serialVersionUID = 1L;
-
- public TagOrderException(final TagProcessor tagProcessor) {
- super("Invalid tag in this context: " + tagProcessor.getTag().getName());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Util.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Util.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Util.java
deleted file mode 100644
index b485dd0..0000000
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Util.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.viewer.scimpi.dispatcher;
-
-import java.text.DateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.Locale;
-import java.util.TimeZone;
-
-class Util {
-
- public static final String DEFAULT_TIME_ZONE = "Europe/London";
- public static final String DEFAULT_LANGUAGE = "English, United Kingdom (en-gb)";
-
-
- private Util() {}
-
- public static boolean hasChanged(String version1, String version2) {
- return version2 == null && version1 != null || (version2 != null && !version2.equals(version1));
- }
-
- public static List<String> languages() {
- Locale[] locales = DateFormat.getAvailableLocales();
- List<String> list = new ArrayList<String>(locales.length);
- for (Locale locale : locales) {
- list.add(localeName(locale));
- }
- Collections.sort(list);
- return list;
- }
-
- public static List<String> timeZones() {
- List<String> timezones = Arrays.asList(TimeZone.getAvailableIDs());
- Collections.sort(timezones);
- return timezones;
- }
-
- public static TimeZone timeZone(String timeZoneEntry) {
- TimeZone timeZone = TimeZone.getTimeZone(timeZoneEntry);
- return timeZone;
- }
-
- public static Locale locale(String localeCode) {
- String substring[] = localeCode.trim().split("-");
- Locale locale;
- switch (substring.length) {
- case 1:
- locale = new Locale(substring[0]);
- break;
- case 2:
- locale = new Locale(substring[0], substring[1]);
- break;
- case 3:
- locale = new Locale(substring[0], substring[1], substring[3]);
- break;
- default:
- locale = Locale.getDefault();
- break;
- }
- return locale;
- }
-
- public static String languageName(String languageCode) {
- Locale locale = locale(languageCode);
- return localeName(locale);
- }
-
- public static String codeForLanguage(String language) {
- Locale[] locales = DateFormat.getAvailableLocales();
- for (Locale locale : locales) {
- String name = localeName(locale);
- if (name.equals(language)) {
- return locale.toString().toLowerCase().replace('_', '-');
- }
- }
- return null;
- }
-
- public static String localeName(Locale locale) {
- String language = locale.getDisplayLanguage();
- String country = locale.getDisplayCountry().length() == 0 ? "" : ", " + (locale.getDisplayCountry());
- return language + country + " (" + locale.toString().toLowerCase().replace('_', '-') + ")";
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/ActionAction.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/ActionAction.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/ActionAction.java
index 9b30d48..fe95cd4 100644
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/ActionAction.java
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/ActionAction.java
@@ -42,8 +42,8 @@ import org.apache.isis.core.runtime.system.transaction.MessageBroker;
import org.apache.isis.viewer.scimpi.dispatcher.context.Action;
import org.apache.isis.viewer.scimpi.dispatcher.context.Request;
import org.apache.isis.viewer.scimpi.dispatcher.context.Request.Scope;
-import org.apache.isis.viewer.scimpi.dispatcher.structure.FieldEditState;
-import org.apache.isis.viewer.scimpi.dispatcher.structure.FormState;
+import org.apache.isis.viewer.scimpi.dispatcher.form.FieldEditState;
+import org.apache.isis.viewer.scimpi.dispatcher.form.FormState;
import org.apache.isis.viewer.scimpi.dispatcher.util.MethodsUtils;
public class ActionAction implements Action {
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/DebugUserAction.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/DebugUserAction.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/DebugUserAction.java
index c314b01..3d4cfb8 100644
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/DebugUserAction.java
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/DebugUserAction.java
@@ -25,8 +25,8 @@ import org.apache.isis.core.commons.debug.DebugBuilder;
import org.apache.isis.viewer.scimpi.ForbiddenException;
import org.apache.isis.viewer.scimpi.ScimpiException;
import org.apache.isis.viewer.scimpi.dispatcher.context.Action;
+import org.apache.isis.viewer.scimpi.dispatcher.context.DebugUsers;
import org.apache.isis.viewer.scimpi.dispatcher.context.Request;
-import org.apache.isis.viewer.scimpi.security.DebugUsers;
public class DebugUserAction implements Action {
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/EditAction.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/EditAction.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/EditAction.java
index 86b7046..5686eb2 100644
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/EditAction.java
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/EditAction.java
@@ -44,8 +44,8 @@ import org.apache.isis.viewer.scimpi.NotLoggedInException;
import org.apache.isis.viewer.scimpi.dispatcher.context.Action;
import org.apache.isis.viewer.scimpi.dispatcher.context.Request;
import org.apache.isis.viewer.scimpi.dispatcher.context.Request.Scope;
-import org.apache.isis.viewer.scimpi.dispatcher.structure.FieldEditState;
-import org.apache.isis.viewer.scimpi.dispatcher.structure.FormState;
+import org.apache.isis.viewer.scimpi.dispatcher.form.FieldEditState;
+import org.apache.isis.viewer.scimpi.dispatcher.form.FormState;
public class EditAction implements Action {
public static final String ACTION = "edit";
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/LogonAction.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/LogonAction.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/LogonAction.java
index ea158f1..573b31d 100644
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/LogonAction.java
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/LogonAction.java
@@ -35,10 +35,10 @@ import org.apache.isis.viewer.scimpi.ScimpiException;
import org.apache.isis.viewer.scimpi.dispatcher.context.Action;
import org.apache.isis.viewer.scimpi.dispatcher.context.Request;
import org.apache.isis.viewer.scimpi.dispatcher.context.Request.Scope;
-import org.apache.isis.viewer.scimpi.dispatcher.structure.FieldEditState;
-import org.apache.isis.viewer.scimpi.dispatcher.structure.FormState;
+import org.apache.isis.viewer.scimpi.dispatcher.form.FieldEditState;
+import org.apache.isis.viewer.scimpi.dispatcher.form.FormState;
import org.apache.isis.viewer.scimpi.dispatcher.util.MethodsUtils;
-import org.apache.isis.viewer.scimpi.security.UserManager;
+import org.apache.isis.viewer.scimpi.dispatcher.util.UserManager;
// TODO this should work like EditAction so that logon page is repopulated
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/LogoutAction.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/LogoutAction.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/LogoutAction.java
index af8581a..9a31da5 100644
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/LogoutAction.java
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/action/LogoutAction.java
@@ -23,11 +23,11 @@ import java.io.IOException;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.runtime.system.context.IsisContext;
+import org.apache.isis.core.runtime.system.context.IsisContext;//
import org.apache.isis.viewer.scimpi.dispatcher.context.Action;
import org.apache.isis.viewer.scimpi.dispatcher.context.Request;
import org.apache.isis.viewer.scimpi.dispatcher.context.Request.Scope;
-import org.apache.isis.viewer.scimpi.security.UserManager;
+import org.apache.isis.viewer.scimpi.dispatcher.util.UserManager;
public class LogoutAction implements Action {
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/DebugUsers.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/DebugUsers.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/DebugUsers.java
new file mode 100644
index 0000000..c925da8
--- /dev/null
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/DebugUsers.java
@@ -0,0 +1,97 @@
+/*
+ * 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.context;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+
+import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.config.ConfigurationConstants;
+import org.apache.isis.core.runtime.system.context.IsisContext;
+import org.apache.isis.viewer.scimpi.ScimpiException;
+
+public class DebugUsers {
+
+ private static Logger LOG = Logger.getLogger(DebugUsers.class);
+
+ private enum DebugMode {
+ OFF, ON, NAMED, SYSADMIN_ONLY
+ }
+
+ private static List<String> debugUsers = new ArrayList<String>();
+ private static DebugMode debugMode;
+
+ public void initialize() {
+ if (debugMode != null) {
+ throw new ScimpiException("Debug mode is already set up!");
+ }
+
+ final String debugUserEntry = IsisContext.getConfiguration().getString(ConfigurationConstants.ROOT + "scimpi.debug.users", "");
+ final String[] users = debugUserEntry.split("\\|");
+ for (final String name : users) {
+ debugUsers.add(name.trim());
+ }
+
+ final String debugModeEntry = IsisContext.getConfiguration().getString(ConfigurationConstants.ROOT + "scimpi.debug.mode");
+ if (debugModeEntry != null) {
+ try {
+ debugMode = DebugMode.valueOf(debugModeEntry.toUpperCase());
+ LOG.info("Debug mode set to " + debugMode);
+ } catch (final IllegalArgumentException e) {
+ LOG.error("Invalid debug mode - " + debugModeEntry + " - mode set to OFF");
+ debugMode = DebugMode.OFF;
+ }
+ } else {
+ debugMode = DebugMode.OFF;
+ }
+ }
+
+ public boolean isDebugEnabled(final AuthenticationSession session) {
+ if (debugMode == DebugMode.ON) {
+ return true;
+ } else if (session != null && debugMode == DebugMode.SYSADMIN_ONLY && session.getRoles().contains("sysadmin")) {
+ return true;
+ } else if (session != null && debugMode == DebugMode.NAMED && (debugUsers.contains(session.getUserName()) || session.getRoles().contains("sysadmin"))) {
+ return true;
+ }
+ return false;
+ }
+
+ public List<String> getNames() {
+ final ArrayList<String> users = new ArrayList<String>(debugUsers);
+ Collections.sort(users);
+ return users;
+ }
+
+ public void add(final String name) {
+ if (!debugUsers.contains(name)) {
+ debugUsers.add(name);
+ LOG.info("Added '" + debugMode + "' to debug users list");
+ }
+ }
+
+ public void remove(final String name) {
+ debugUsers.remove(name);
+ LOG.info("Removed '" + debugMode + "' from debug users list");
+ }
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/Request.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/Request.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/Request.java
index 605bb65..937e796 100644
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/Request.java
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/Request.java
@@ -51,9 +51,8 @@ import org.apache.isis.core.runtime.system.context.IsisContext;
import org.apache.isis.core.runtime.system.persistence.Persistor;
import org.apache.isis.viewer.scimpi.Names;
import org.apache.isis.viewer.scimpi.ScimpiException;
-import org.apache.isis.viewer.scimpi.security.DebugUsers;
-public abstract class Request {
+public abstract class Request implements RequestState {
private static final Logger LOG = Logger.getLogger(Request.class);
static final String TRANSIENT_OBJECT_OID_MARKER = "~";
@@ -385,7 +384,7 @@ public abstract class Request {
}
public void clearVariable(String name, final Scope scope) {
- name = name != null ? name : RESULT;
+ name = name != null ? name : Names.RESULT;
variables.get(scope).remove(name);
}
@@ -394,7 +393,7 @@ public abstract class Request {
}
public void addVariable(String name, final Object value, final Scope scope) {
- name = name != null ? name : RESULT;
+ name = name != null ? name : Names.RESULT;
if (scope == Scope.SESSION && value != null && !(value instanceof Serializable)) {
throw new ScimpiException("SESSION scoped variable (" + name + ") must be serializable: " + value);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/RequestState.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/RequestState.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/RequestState.java
new file mode 100644
index 0000000..a2eb7a8
--- /dev/null
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/RequestState.java
@@ -0,0 +1,47 @@
+/*
+ * 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.context;
+
+import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+
+public interface RequestState {
+
+ String replaceVariables(String value);
+
+ String getStringVariable(String result);
+
+
+
+ ObjectAdapter getMappedObject(String objectId);
+
+
+
+
+ String getErrorMessage();
+
+
+
+
+
+ // String getOptionalProperty(String name);
+
+
+}
+
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/Response.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/Response.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/Response.java
new file mode 100644
index 0000000..bbb8d7d
--- /dev/null
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/Response.java
@@ -0,0 +1,6 @@
+package org.apache.isis.viewer.scimpi.dispatcher.context;
+
+public interface Response {
+
+}
+
http://git-wip-us.apache.org/repos/asf/isis/blob/7700b437/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/ScimpiNotFoundException.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/ScimpiNotFoundException.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/ScimpiNotFoundException.java
new file mode 100644
index 0000000..3033ca2
--- /dev/null
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/ScimpiNotFoundException.java
@@ -0,0 +1,43 @@
+/*
+ * 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.context;
+
+import org.apache.isis.viewer.scimpi.ScimpiException;
+
+public class ScimpiNotFoundException extends ScimpiException {
+ public ScimpiNotFoundException() {
+ super();
+ }
+
+ public ScimpiNotFoundException(final String message, final Throwable cause) {
+ super(message, cause);
+ }
+
+ public ScimpiNotFoundException(final String message) {
+ super(message);
+ }
+
+ public ScimpiNotFoundException(final Throwable cause) {
+ super(cause);
+ }
+
+ private static final long serialVersionUID = 1L;
+
+}