summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarsten Drossel2008-08-13 08:50:42 (EDT)
committerCarsten Drossel2008-08-13 08:50:42 (EDT)
commit318e4b8fa82d3fde475d9726f1f558657fbc08fd (patch)
treedd9cc3f2b5252a2756ac8078baedf2be6b88db6c
parent88ebca4dd38d9799f3748529f5d88e493b8483fd (diff)
downloadorg.eclipse.riena-318e4b8fa82d3fde475d9726f1f558657fbc08fd.zip
org.eclipse.riena-318e4b8fa82d3fde475d9726f1f558657fbc08fd.tar.gz
org.eclipse.riena-318e4b8fa82d3fde475d9726f1f558657fbc08fd.tar.bz2
passing NavigationArgument to INavigationNodeBuilder, added some documentation
-rw-r--r--org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/ComboAndListNodeBuilder.java6
-rw-r--r--org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/NavigateNodeBuilder.java6
-rw-r--r--org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/NavigationSubApplicationNodeBuilder.java6
-rw-r--r--org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/PlaygroundNodeBuilder.java6
-rw-r--r--org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/SharedViewsNodeBuilder.java6
-rw-r--r--org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/TableTextAndTreeNodeBuilder.java6
-rw-r--r--org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/UIProcessNodeBuilder.java6
-rw-r--r--org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/INavigationNode.java37
-rw-r--r--org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/INavigationNodeBuilder.java24
-rw-r--r--org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/INavigationNodeId.java19
-rw-r--r--org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/NavigationArgument.java6
-rw-r--r--org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/model/NavigationNode.java11
-rw-r--r--org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/model/PresentationProviderService.java2
-rw-r--r--org.eclipse.riena.tests/src/org/eclipse/riena/navigation/model/TestSecondModuleGroupNodeBuilder.java7
-rw-r--r--org.eclipse.riena.tests/src/org/eclipse/riena/navigation/model/TestSecondSubApplicationNodeBuilder.java7
15 files changed, 118 insertions, 37 deletions
diff --git a/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/ComboAndListNodeBuilder.java b/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/ComboAndListNodeBuilder.java
index f66996a..eb17cf7 100644
--- a/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/ComboAndListNodeBuilder.java
+++ b/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/ComboAndListNodeBuilder.java
@@ -12,6 +12,7 @@ import org.eclipse.riena.navigation.IModuleNode;
import org.eclipse.riena.navigation.INavigationNodeBuilder;
import org.eclipse.riena.navigation.INavigationNodeId;
import org.eclipse.riena.navigation.ISubModuleNode;
+import org.eclipse.riena.navigation.NavigationArgument;
import org.eclipse.riena.navigation.model.ModuleGroupNode;
import org.eclipse.riena.navigation.model.ModuleNode;
import org.eclipse.riena.navigation.model.NavigationNodeId;
@@ -23,9 +24,10 @@ import org.eclipse.riena.navigation.model.SubModuleNode;
public class ComboAndListNodeBuilder implements INavigationNodeBuilder {
/**
- * @see org.eclipse.riena.navigation.INavigationNodeBuilder#buildNode()
+ * @see org.eclipse.riena.navigation.INavigationNodeBuilder#buildNode(org.eclipse.riena.navigation.INavigationNodeId,
+ * org.eclipse.riena.navigation.NavigationArgument)
*/
- public IModuleGroupNode buildNode(INavigationNodeId presentationId) {
+ public IModuleGroupNode buildNode(INavigationNodeId presentationId, NavigationArgument navigationArgument) {
IModuleGroupNode node = new ModuleGroupNode(presentationId, "Combo&List"); //$NON-NLS-1$
IModuleNode module = new ModuleNode(null, "Combo&List"); //$NON-NLS-1$
node.addChild(module);
diff --git a/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/NavigateNodeBuilder.java b/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/NavigateNodeBuilder.java
index bfcb7bf..11e0b14 100644
--- a/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/NavigateNodeBuilder.java
+++ b/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/NavigateNodeBuilder.java
@@ -16,6 +16,7 @@ import org.eclipse.riena.navigation.IModuleNode;
import org.eclipse.riena.navigation.INavigationNode;
import org.eclipse.riena.navigation.INavigationNodeId;
import org.eclipse.riena.navigation.ISubModuleNode;
+import org.eclipse.riena.navigation.NavigationArgument;
import org.eclipse.riena.navigation.model.ModuleGroupNode;
import org.eclipse.riena.navigation.model.ModuleNode;
import org.eclipse.riena.navigation.model.NavigationNodeId;
@@ -27,9 +28,10 @@ import org.eclipse.riena.navigation.model.SubModuleNode;
public class NavigateNodeBuilder extends NavigationNodeBuilder {
/**
- * @see org.eclipse.riena.navigation.INavigationNodeBuilder#buildNode(org.eclipse.riena.navigation.INavigationNodeId)
+ * @see org.eclipse.riena.navigation.INavigationNodeBuilder#buildNode(org.eclipse.riena.navigation.INavigationNodeId,
+ * org.eclipse.riena.navigation.NavigationArgument)
*/
- public INavigationNode<?> buildNode(INavigationNodeId nodeId) {
+ public INavigationNode<?> buildNode(INavigationNodeId nodeId, NavigationArgument navigationArgument) {
IModuleGroupNode moduleGroup = new ModuleGroupNode(nodeId, "Navigate"); //$NON-NLS-1$
moduleGroup.setPresentWithSingleModule(false);
IModuleNode module = new ModuleNode(null, "Navigate"); //$NON-NLS-1$
diff --git a/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/NavigationSubApplicationNodeBuilder.java b/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/NavigationSubApplicationNodeBuilder.java
index 049de60..e5021bf 100644
--- a/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/NavigationSubApplicationNodeBuilder.java
+++ b/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/NavigationSubApplicationNodeBuilder.java
@@ -17,6 +17,7 @@ import org.eclipse.riena.navigation.INavigationNode;
import org.eclipse.riena.navigation.INavigationNodeId;
import org.eclipse.riena.navigation.ISubApplicationNode;
import org.eclipse.riena.navigation.ISubModuleNode;
+import org.eclipse.riena.navigation.NavigationArgument;
import org.eclipse.riena.navigation.model.ModuleGroupNode;
import org.eclipse.riena.navigation.model.ModuleNode;
import org.eclipse.riena.navigation.model.NavigationNodeId;
@@ -28,9 +29,10 @@ import org.eclipse.riena.navigation.ui.swt.presentation.SwtPresentationManagerAc
public class NavigationSubApplicationNodeBuilder extends NavigationNodeBuilder {
/**
- * @see org.eclipse.riena.navigation.INavigationNodeBuilder#buildNode(org.eclipse.riena.navigation.INavigationNodeId)
+ * @see org.eclipse.riena.navigation.INavigationNodeBuilder#buildNode(org.eclipse.riena.navigation.INavigationNodeId,
+ * org.eclipse.riena.navigation.NavigationArgument)
*/
- public INavigationNode<?> buildNode(INavigationNodeId navigationNodeId) {
+ public INavigationNode<?> buildNode(INavigationNodeId navigationNodeId, NavigationArgument navigationArgument) {
SwtPresentationManager presentation = SwtPresentationManagerAccessor.getManager();
ISubApplicationNode subApplication = new SubApplicationNode(navigationNodeId, "Navigation"); //$NON-NLS-1$
diff --git a/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/PlaygroundNodeBuilder.java b/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/PlaygroundNodeBuilder.java
index e5b4052..100712a 100644
--- a/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/PlaygroundNodeBuilder.java
+++ b/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/PlaygroundNodeBuilder.java
@@ -16,6 +16,7 @@ import org.eclipse.riena.navigation.INavigationNode;
import org.eclipse.riena.navigation.INavigationNodeBuilder;
import org.eclipse.riena.navigation.INavigationNodeId;
import org.eclipse.riena.navigation.ISubModuleNode;
+import org.eclipse.riena.navigation.NavigationArgument;
import org.eclipse.riena.navigation.model.ModuleGroupNode;
import org.eclipse.riena.navigation.model.ModuleNode;
import org.eclipse.riena.navigation.model.NavigationNodeId;
@@ -27,9 +28,10 @@ import org.eclipse.riena.navigation.model.SubModuleNode;
public class PlaygroundNodeBuilder implements INavigationNodeBuilder {
/**
- * @see org.eclipse.riena.navigation.INavigationNodeBuilder#buildNode(org.eclipse.riena.navigation.INavigationNodeId)
+ * @see org.eclipse.riena.navigation.INavigationNodeBuilder#buildNode(org.eclipse.riena.navigation.INavigationNodeId,
+ * org.eclipse.riena.navigation.NavigationArgument)
*/
- public INavigationNode<?> buildNode(INavigationNodeId navigationNodeId) {
+ public INavigationNode<?> buildNode(INavigationNodeId navigationNodeId, NavigationArgument navigationArgument) {
IModuleGroupNode moduleGroup = new ModuleGroupNode(navigationNodeId, "Playground"); //$NON-NLS-1$
diff --git a/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/SharedViewsNodeBuilder.java b/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/SharedViewsNodeBuilder.java
index 5e6b1b5..b7f1094 100644
--- a/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/SharedViewsNodeBuilder.java
+++ b/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/SharedViewsNodeBuilder.java
@@ -16,6 +16,7 @@ import org.eclipse.riena.navigation.IModuleNode;
import org.eclipse.riena.navigation.INavigationNode;
import org.eclipse.riena.navigation.INavigationNodeId;
import org.eclipse.riena.navigation.ISubModuleNode;
+import org.eclipse.riena.navigation.NavigationArgument;
import org.eclipse.riena.navigation.model.ModuleGroupNode;
import org.eclipse.riena.navigation.model.ModuleNode;
import org.eclipse.riena.navigation.model.NavigationNodeId;
@@ -24,9 +25,10 @@ import org.eclipse.riena.navigation.model.SubModuleNode;
public class SharedViewsNodeBuilder extends NavigationNodeBuilder {
/**
- * @see org.eclipse.riena.navigation.INavigationNodeBuilder#buildNode(org.eclipse.riena.navigation.INavigationNodeId)
+ * @see org.eclipse.riena.navigation.INavigationNodeBuilder#buildNode(org.eclipse.riena.navigation.INavigationNodeId,
+ * org.eclipse.riena.navigation.NavigationArgument)
*/
- public INavigationNode<?> buildNode(INavigationNodeId navigationNodeId) {
+ public INavigationNode<?> buildNode(INavigationNodeId navigationNodeId, NavigationArgument navigationArgument) {
IModuleGroupNode moduleGroup = new ModuleGroupNode(navigationNodeId, "Shared View Demo"); //$NON-NLS-1$
IModuleNode sharedViewModule = new ModuleNode(null, "Shared View Demo"); //$NON-NLS-1$
diff --git a/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/TableTextAndTreeNodeBuilder.java b/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/TableTextAndTreeNodeBuilder.java
index 4093940..3635036 100644
--- a/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/TableTextAndTreeNodeBuilder.java
+++ b/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/TableTextAndTreeNodeBuilder.java
@@ -12,6 +12,7 @@ import org.eclipse.riena.navigation.IModuleNode;
import org.eclipse.riena.navigation.INavigationNodeBuilder;
import org.eclipse.riena.navigation.INavigationNodeId;
import org.eclipse.riena.navigation.ISubModuleNode;
+import org.eclipse.riena.navigation.NavigationArgument;
import org.eclipse.riena.navigation.model.ModuleGroupNode;
import org.eclipse.riena.navigation.model.ModuleNode;
import org.eclipse.riena.navigation.model.NavigationNodeId;
@@ -23,9 +24,10 @@ import org.eclipse.riena.navigation.model.SubModuleNode;
public class TableTextAndTreeNodeBuilder implements INavigationNodeBuilder {
/**
- * @see org.eclipse.riena.navigation.INavigationNodeBuilder#buildNode()
+ * @see org.eclipse.riena.navigation.INavigationNodeBuilder#buildNode(org.eclipse.riena.navigation.INavigationNodeId,
+ * org.eclipse.riena.navigation.NavigationArgument)
*/
- public IModuleGroupNode buildNode(INavigationNodeId presentationId) {
+ public IModuleGroupNode buildNode(INavigationNodeId presentationId, NavigationArgument navigationArgument) {
IModuleGroupNode node = new ModuleGroupNode(presentationId, "Table,Text&Tree"); //$NON-NLS-1$
IModuleNode module = new ModuleNode(null, "Table,Text&Tree"); //$NON-NLS-1$
node.addChild(module);
diff --git a/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/UIProcessNodeBuilder.java b/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/UIProcessNodeBuilder.java
index 783da4f..d23b649 100644
--- a/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/UIProcessNodeBuilder.java
+++ b/org.eclipse.riena.example.client/src/org/eclipse/riena/example/client/navigation/model/UIProcessNodeBuilder.java
@@ -16,6 +16,7 @@ import org.eclipse.riena.navigation.INavigationNode;
import org.eclipse.riena.navigation.INavigationNodeBuilder;
import org.eclipse.riena.navigation.INavigationNodeId;
import org.eclipse.riena.navigation.ISubModuleNode;
+import org.eclipse.riena.navigation.NavigationArgument;
import org.eclipse.riena.navigation.model.ModuleGroupNode;
import org.eclipse.riena.navigation.model.ModuleNode;
import org.eclipse.riena.navigation.model.NavigationNodeId;
@@ -27,9 +28,10 @@ import org.eclipse.riena.navigation.model.SubModuleNode;
public class UIProcessNodeBuilder implements INavigationNodeBuilder {
/**
- * @see org.eclipse.riena.navigation.INavigationNodeBuilder#buildNode(org.eclipse.riena.navigation.INavigationNodeId)
+ * @see org.eclipse.riena.navigation.INavigationNodeBuilder#buildNode(org.eclipse.riena.navigation.INavigationNodeId,
+ * org.eclipse.riena.navigation.NavigationArgument)
*/
- public INavigationNode<?> buildNode(INavigationNodeId navigationNodeId) {
+ public INavigationNode<?> buildNode(INavigationNodeId navigationNodeId, NavigationArgument navigationArgument) {
IModuleGroupNode moduleGroup = new ModuleGroupNode(navigationNodeId, "UIProcess"); //$NON-NLS-1$
IModuleNode uiProcessModule = new ModuleNode(null, "UIProcess"); //$NON-NLS-1$
diff --git a/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/INavigationNode.java b/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/INavigationNode.java
index e444906..d9945ec 100644
--- a/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/INavigationNode.java
+++ b/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/INavigationNode.java
@@ -379,16 +379,32 @@ public interface INavigationNode<C extends INavigationNode<?>> extends ITypecast
*/
boolean isBlocked();
+ /**
+ * Returns the ID that identifies the node. The ID is used to find navigate
+ * targets in the application model tree and to associated sub module nodes
+ * with their views.
+ *
+ * @see #navigate(INavigationNodeId)
+ * @return The ID that identifies the node in the application model tree.
+ */
INavigationNodeId getNodeId();
+ /**
+ * Sets the ID of the node.
+ *
+ * @param nodeId
+ * The ID that identifies the node in the application model tree.
+ */
void setNodeId(INavigationNodeId nodeId);
/**
* Creates the specified navigation node and adds it to the application
- * model it does not already exist.
+ * model if does not already exist.
*
* @param targetId
- * Refers to an extension point describing the target node.
+ * ID of the node to create. Also refers to an extension point
+ * describing the target node that is used to create it if it
+ * does not exist.
* @see INavigationNodeBuilder
*/
void create(INavigationNodeId targetId);
@@ -398,7 +414,9 @@ public interface INavigationNode<C extends INavigationNode<?>> extends ITypecast
* navigates to it.
*
* @param targetId
- * Refers to an extension point describing the target node.
+ * ID of the node to navigate to. Also refers to an extension
+ * point describing the target node that is used to create it if
+ * it does not exist.
* @see INavigationNodeBuilder
*/
void navigate(INavigationNodeId targetId);
@@ -407,15 +425,22 @@ public interface INavigationNode<C extends INavigationNode<?>> extends ITypecast
* Creates the specified navigation node (if it does not already exist) and
* navigates to it.
*
+ * @see INavigationNodeBuilder
* @param targetId
+ * ID of the node to navigate to. Also refers to an extension
+ * point describing the target node that is used to create it if
+ * it does not exist.
* @param argument
- * Refers to an extension point describing the target node.
- * @see INavigationNodeBuilder
+ * Contains information passed on to the target node and/or used
+ * during its creation.
*/
void navigate(INavigationNodeId targetId, NavigationArgument argument);
/**
- * Navigates back to the caller of a navigation.
+ * Undoes the last navigate to this node i.e. activates the last source node
+ * of a navigate(..)-call that lead to the activation of this node.
+ *
+ * @see #navigate(INavigationNodeId)
*/
void navigateBack();
diff --git a/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/INavigationNodeBuilder.java b/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/INavigationNodeBuilder.java
index c72304e..8317a7d 100644
--- a/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/INavigationNodeBuilder.java
+++ b/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/INavigationNodeBuilder.java
@@ -11,13 +11,27 @@
package org.eclipse.riena.navigation;
/**
- * Implementations of this interface are responsible for creating application
- * specific modules (or module trees).
- *
- * @author Erich Achilles
+ * Creates a node or a subtree for the application model tree.
*/
public interface INavigationNodeBuilder {
- INavigationNode<?> buildNode(INavigationNodeId navigationNodeId);
+ /**
+ * Creates a node or an application model subtree. The created node (or in
+ * the case of a subtree the root node) should have the specified node ID.
+ * If the builder sets a different node ID (e.g. with a consecutively
+ * numbered instance ID) then the node will not be found during later
+ * navigate(..) or create(..)-calls and a new node will be build every time.
+ * This may be desired though.
+ *
+ * @see INavigationNode#navigate(INavigationNodeId)
+ * @see INavigationNode#create(INavigationNodeId)
+ * @param nodeId
+ * The ID of the node to create.
+ * @param navigationArgument
+ * Optional argument passed on from the navigate(..) method. May
+ * be null.
+ * @return The created node or subtree root node.
+ */
+ INavigationNode<?> buildNode(INavigationNodeId nodeId, NavigationArgument navigationArgument);
}
diff --git a/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/INavigationNodeId.java b/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/INavigationNodeId.java
index a98477c..aa28575 100644
--- a/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/INavigationNodeId.java
+++ b/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/INavigationNodeId.java
@@ -11,12 +11,29 @@
package org.eclipse.riena.navigation;
/**
- * Returns the identifier of a node in the navigation model.
+ * An ID that identifies a node in the application model tree. The ID is used to
+ * find navigate targets and to associated sub module nodes with their views.
*/
public interface INavigationNodeId {
+ /**
+ * Returns the type of a node. Nodes of the same type are created using the
+ * same node builder. Sub module nodes of the same type use the same type of
+ * view. Both is configured using extensions (NavigationNodeType and
+ * SubModuleType). This typeId is used to find the right extension.
+ *
+ * @see INavigationNodeBuilder
+ * @return The type ID of a navigation node.
+ */
String getTypeId();
+ /**
+ * The optional instance ID is used to differentiate between nodes of the
+ * same type. E.g. two nodes representing employees that have the same type
+ * ID could use the social security number as instance ID.
+ *
+ * @return The instance ID of a navigation node.
+ */
String getInstanceId();
}
diff --git a/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/NavigationArgument.java b/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/NavigationArgument.java
index b136f6d..d6104bc 100644
--- a/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/NavigationArgument.java
+++ b/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/NavigationArgument.java
@@ -10,9 +10,11 @@
*******************************************************************************/
package org.eclipse.riena.navigation;
-
/**
- * Class is a container for all additional navigation arguments.
+ * Contains additional information for a navigation passed on to the target node
+ * and/or used during its creation.
+ *
+ * @see INavigationNode#navigate(INavigationNodeId, NavigationArgument)
*/
public class NavigationArgument {
private Object argument;
diff --git a/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/model/NavigationNode.java b/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/model/NavigationNode.java
index ca73b16..7b1ca79 100644
--- a/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/model/NavigationNode.java
+++ b/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/model/NavigationNode.java
@@ -893,18 +893,14 @@ public abstract class NavigationNode<S extends INavigationNode<C>, C extends INa
/**
* @see org.eclipse.riena.navigation.INavigationNode#navigate(org.eclipse.riena.navigation.INavigationNodeId,
- * java.lang.Object,
- * org.eclipse.riena.navigation.INavigationArgumentListener)
+ * org.eclipse.riena.navigation.NavigationArgument)
*/
public void navigate(INavigationNodeId targetId, NavigationArgument argument) {
getNavigationProcessor().navigate(this, targetId, argument);
}
/**
- * Navigates to the caller (the source node) of the given targetNode.
- *
- * @param targetNode
- * The node where we have navigate to and return from
+ * @see org.eclipse.riena.navigation.INavigationNode#navigateBack()
*/
public void navigateBack() {
if (getNavigationProcessor() != null)
@@ -934,6 +930,9 @@ public abstract class NavigationNode<S extends INavigationNode<C>, C extends INa
return nodeId;
}
+ /**
+ * @see org.eclipse.riena.navigation.INavigationNode#setNodeId(org.eclipse.riena.navigation.INavigationNodeId)
+ */
public void setNodeId(INavigationNodeId nodeId) {
this.nodeId = nodeId;
}
diff --git a/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/model/PresentationProviderService.java b/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/model/PresentationProviderService.java
index 192e5aa..017e26f 100644
--- a/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/model/PresentationProviderService.java
+++ b/org.eclipse.riena.navigation/src/org/eclipse/riena/navigation/model/PresentationProviderService.java
@@ -76,7 +76,7 @@ public class PresentationProviderService implements IPresentationProviderService
if (presentationDefinition != null) {
INavigationNodeBuilder builder = presentationDefinition.createNodeBuilder();
prepareNavigationNodeBuilder(targetId, builder);
- targetNode = builder.buildNode(targetId);
+ targetNode = builder.buildNode(targetId, argument);
INavigationNode parentNode = null;
if (argument != null && argument.getParentNodeId() != null) {
parentNode = provideNode(sourceNode, new NavigationNodeId(argument.getParentNodeId()), null);
diff --git a/org.eclipse.riena.tests/src/org/eclipse/riena/navigation/model/TestSecondModuleGroupNodeBuilder.java b/org.eclipse.riena.tests/src/org/eclipse/riena/navigation/model/TestSecondModuleGroupNodeBuilder.java
index 54bc2a2..b865dc5 100644
--- a/org.eclipse.riena.tests/src/org/eclipse/riena/navigation/model/TestSecondModuleGroupNodeBuilder.java
+++ b/org.eclipse.riena.tests/src/org/eclipse/riena/navigation/model/TestSecondModuleGroupNodeBuilder.java
@@ -16,10 +16,15 @@ import org.eclipse.riena.navigation.INavigationNode;
import org.eclipse.riena.navigation.INavigationNodeBuilder;
import org.eclipse.riena.navigation.INavigationNodeId;
import org.eclipse.riena.navigation.ISubModuleNode;
+import org.eclipse.riena.navigation.NavigationArgument;
public class TestSecondModuleGroupNodeBuilder implements INavigationNodeBuilder {
- public INavigationNode<?> buildNode(INavigationNodeId navigationNodeId) {
+ /**
+ * @see org.eclipse.riena.navigation.INavigationNodeBuilder#buildNode(org.eclipse.riena.navigation.INavigationNodeId,
+ * org.eclipse.riena.navigation.NavigationArgument)
+ */
+ public INavigationNode<?> buildNode(INavigationNodeId navigationNodeId, NavigationArgument navigationArgument) {
IModuleGroupNode moduleGroup = new ModuleGroupNode(navigationNodeId);
IModuleNode module = new ModuleNode(
new NavigationNodeId("org.eclipse.riena.navigation.model.test.secondModule"));
diff --git a/org.eclipse.riena.tests/src/org/eclipse/riena/navigation/model/TestSecondSubApplicationNodeBuilder.java b/org.eclipse.riena.tests/src/org/eclipse/riena/navigation/model/TestSecondSubApplicationNodeBuilder.java
index 6955ce6..c87245a 100644
--- a/org.eclipse.riena.tests/src/org/eclipse/riena/navigation/model/TestSecondSubApplicationNodeBuilder.java
+++ b/org.eclipse.riena.tests/src/org/eclipse/riena/navigation/model/TestSecondSubApplicationNodeBuilder.java
@@ -14,10 +14,15 @@ import org.eclipse.riena.navigation.INavigationNode;
import org.eclipse.riena.navigation.INavigationNodeBuilder;
import org.eclipse.riena.navigation.INavigationNodeId;
import org.eclipse.riena.navigation.ISubApplicationNode;
+import org.eclipse.riena.navigation.NavigationArgument;
public class TestSecondSubApplicationNodeBuilder implements INavigationNodeBuilder {
- public INavigationNode<?> buildNode(INavigationNodeId navigationNodeId) {
+ /**
+ * @see org.eclipse.riena.navigation.INavigationNodeBuilder#buildNode(org.eclipse.riena.navigation.INavigationNodeId,
+ * org.eclipse.riena.navigation.NavigationArgument)
+ */
+ public INavigationNode<?> buildNode(INavigationNodeId navigationNodeId, NavigationArgument navigationArgument) {
ISubApplicationNode subApplication = new SubApplicationNode(navigationNodeId);
return subApplication;
}