You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2013/02/08 00:38:14 UTC

svn commit: r1443784 - in /myfaces/core/branches/2.2.x: api/ api/src/main/java/javax/faces/flow/ api/src/main/java/javax/faces/flow/builder/ parent/

Author: lu4242
Date: Thu Feb  7 23:38:13 2013
New Revision: 1443784

URL: http://svn.apache.org/r1443784
Log:
MYFACES-3691 Implement Faces Flows

Added:
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowCallNode.java   (with props)
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowHandlerFactoryWrapper.java   (with props)
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowNode.java   (with props)
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowScoped.java   (with props)
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/MethodCallNode.java   (with props)
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/Parameter.java   (with props)
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/ReturnNode.java   (with props)
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/SwitchCase.java   (with props)
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/SwitchNode.java   (with props)
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/ViewNode.java   (with props)
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowBuilder.java   (with props)
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowBuilderParameter.java   (with props)
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowCallBuilder.java   (with props)
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowDefinition.java   (with props)
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/MethodCallBuilder.java   (with props)
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/ReturnBuilder.java   (with props)
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/SwitchBuilder.java   (with props)
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/SwitchCaseBuilder.java   (with props)
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/ViewBuilder.java   (with props)
Modified:
    myfaces/core/branches/2.2.x/api/pom.xml
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/Flow.java
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowHandler.java
    myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/NodeBuilder.java
    myfaces/core/branches/2.2.x/parent/pom.xml

Modified: myfaces/core/branches/2.2.x/api/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/pom.xml?rev=1443784&r1=1443783&r2=1443784&view=diff
==============================================================================
--- myfaces/core/branches/2.2.x/api/pom.xml (original)
+++ myfaces/core/branches/2.2.x/api/pom.xml Thu Feb  7 23:38:13 2013
@@ -652,6 +652,15 @@
             <artifactId>myfaces-builder-annotations</artifactId>
         </dependency>
         
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-jcdi_1.0_spec</artifactId>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-atinject_1.0_spec</artifactId>
+        </dependency>
         
         <!-- TEST DEPENDENCIES -->
         

Modified: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/Flow.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/Flow.java?rev=1443784&r1=1443783&r2=1443784&view=diff
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/Flow.java (original)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/Flow.java Thu Feb  7 23:38:13 2013
@@ -18,12 +18,43 @@
  */
 package javax.faces.flow;
 
+import java.util.List;
+import java.util.Map;
+import javax.faces.lifecycle.ClientWindow;
+
 /**
  *
- * @TODO: Implement me!
  * @since 2.2
  */
 public abstract class Flow
 {
     
+    public abstract String getClientWindowFlowId(ClientWindow curWindow);
+
+    public abstract String getDefiningDocumentId();
+
+    public abstract String getId();
+
+    public abstract Map<String,Parameter> getInboundParameters();
+    
+    public abstract javax.el.MethodExpression getInitializer();
+    
+    public abstract javax.el.MethodExpression getFinalizer();
+    
+    public abstract FlowCallNode getFlowCall(Flow targetFlow);
+    
+    public abstract Map<String,FlowCallNode> getFlowCalls();
+    
+    public abstract List<MethodCallNode> getMethodCalls();
+    
+    public abstract FlowNode getNode(String nodeId);
+    
+    public abstract Map<String,ReturnNode> getReturns();
+    
+    public abstract Map<String,SwitchNode> getSwitches();
+    
+    public abstract List<ViewNode> getViews();
+    
+    public abstract String getStartNodeId();
+    
 }

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowCallNode.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowCallNode.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowCallNode.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowCallNode.java Thu Feb  7 23:38:13 2013
@@ -0,0 +1,35 @@
+/*
+ * 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 javax.faces.flow;
+
+import java.util.Map;
+import javax.faces.context.FacesContext;
+
+/**
+ * @since 2.2
+ */
+public abstract class FlowCallNode extends FlowNode
+{
+   
+    public abstract Map<String,Parameter> getOutboundParameters();
+    
+    public abstract String getCalledFlowDocumentId(FacesContext context);
+    
+    public abstract String getCalledFlowId(FacesContext context);
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowCallNode.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowHandler.java?rev=1443784&r1=1443783&r2=1443784&view=diff
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowHandler.java (original)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowHandler.java Thu Feb  7 23:38:13 2013
@@ -18,12 +18,37 @@
  */
 package javax.faces.flow;
 
+import javax.faces.context.FacesContext;
+
 /**
  *
- * @TODO: Implement me!
  * @since 2.2
  */
-public class FlowHandler
+public abstract class FlowHandler
 {
-    
+
+    public abstract java.util.Map<java.lang.Object, java.lang.Object> getCurrentFlowScope();
+
+    public abstract Flow getFlow(FacesContext context,
+        java.lang.String definingDocumentId,
+        java.lang.String id);
+
+    public abstract void addFlow(FacesContext context,
+        Flow toAdd);
+
+    public abstract Flow getCurrentFlow(FacesContext context);
+
+    public Flow getCurrentFlow()
+    {
+        return getCurrentFlow(FacesContext.getCurrentInstance());
+    }
+
+    public abstract void transition(FacesContext context,
+        Flow sourceFlow,
+        Flow targetFlow,
+        FlowCallNode outboundCallNode);
+
+    public abstract boolean isActive(FacesContext context,
+        java.lang.String definingDocument,
+        java.lang.String id);
 }

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowHandlerFactoryWrapper.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowHandlerFactoryWrapper.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowHandlerFactoryWrapper.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowHandlerFactoryWrapper.java Thu Feb  7 23:38:13 2013
@@ -0,0 +1,39 @@
+/*
+ * 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 javax.faces.flow;
+
+import javax.faces.FacesWrapper;
+import javax.faces.context.FacesContext;
+
+/**
+ *
+ * @since 2.2
+ * @author Leonardo Uribe
+ */
+public abstract class FlowHandlerFactoryWrapper extends FlowHandlerFactory
+    implements FacesWrapper<FlowHandlerFactory>
+{
+    
+    public FlowHandler createFlowHandler(FacesContext context)
+    {
+        return getWrapped().createFlowHandler(context);
+    }
+    
+    public abstract FlowHandlerFactory getWrapped();
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowHandlerFactoryWrapper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowNode.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowNode.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowNode.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowNode.java Thu Feb  7 23:38:13 2013
@@ -0,0 +1,28 @@
+/*
+ * 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 javax.faces.flow;
+
+/**
+ *
+ * @since 2.2
+ */
+public abstract class FlowNode
+{
+    public abstract String getId();
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowNode.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowScoped.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowScoped.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowScoped.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowScoped.java Thu Feb  7 23:38:13 2013
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package javax.faces.flow;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import javax.enterprise.context.NormalScope;
+
+/**
+ *
+ * @since 2.2
+ */
+@NormalScope
+@Inherited
+@Documented
+@Target(value=ElementType.TYPE)
+@Retention(value= RetentionPolicy.RUNTIME)
+public @interface FlowScoped
+{
+    
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/FlowScoped.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/MethodCallNode.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/MethodCallNode.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/MethodCallNode.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/MethodCallNode.java Thu Feb  7 23:38:13 2013
@@ -0,0 +1,34 @@
+/*
+ * 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 javax.faces.flow;
+
+import java.util.List;
+
+/**
+ * 
+ * @since 2.2
+ */
+public abstract class MethodCallNode extends FlowNode
+{
+    public abstract javax.el.MethodExpression getMethodExpression();
+    
+    public abstract javax.el.ValueExpression getOutcome();
+    
+    public abstract List<Parameter> getParameters();
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/MethodCallNode.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/Parameter.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/Parameter.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/Parameter.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/Parameter.java Thu Feb  7 23:38:13 2013
@@ -0,0 +1,31 @@
+/*
+ * 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 javax.faces.flow;
+
+/**
+ *
+ * @since 2.2
+ */
+public abstract class Parameter
+{
+    public abstract String getName();
+    
+    public abstract javax.el.ValueExpression getValue();
+    
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/Parameter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/ReturnNode.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/ReturnNode.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/ReturnNode.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/ReturnNode.java Thu Feb  7 23:38:13 2013
@@ -0,0 +1,31 @@
+/*
+ * 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 javax.faces.flow;
+
+import javax.faces.context.FacesContext;
+
+/**
+ *
+ * @since 2.2
+ */
+public abstract class ReturnNode extends FlowNode
+{
+    public abstract String getFromOutcome(FacesContext context);
+    
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/ReturnNode.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/SwitchCase.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/SwitchCase.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/SwitchCase.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/SwitchCase.java Thu Feb  7 23:38:13 2013
@@ -0,0 +1,32 @@
+/*
+ * 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 javax.faces.flow;
+
+import javax.faces.context.FacesContext;
+
+/**
+ *
+ * @since 2.2
+ */
+public abstract class SwitchCase
+{
+    public abstract String getFromOutcome();
+    
+    public abstract Boolean getCondition(FacesContext context);
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/SwitchCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/SwitchNode.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/SwitchNode.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/SwitchNode.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/SwitchNode.java Thu Feb  7 23:38:13 2013
@@ -0,0 +1,34 @@
+/*
+ * 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 javax.faces.flow;
+
+import java.util.List;
+import javax.faces.context.FacesContext;
+
+/**
+ *
+ * @since 2.2
+ */
+public abstract class SwitchNode extends FlowNode
+{
+    public abstract List<SwitchCase> getCases();
+    
+    public abstract String getDefaultOutcome(FacesContext context);
+    
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/SwitchNode.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/ViewNode.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/ViewNode.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/ViewNode.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/ViewNode.java Thu Feb  7 23:38:13 2013
@@ -0,0 +1,28 @@
+/*
+ * 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 javax.faces.flow;
+
+/**
+ *
+ * @since 2.2
+ */
+public abstract class ViewNode extends FlowNode
+{
+    public abstract String getVdlDocumentId();
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/ViewNode.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowBuilder.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowBuilder.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowBuilder.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowBuilder.java Thu Feb  7 23:38:13 2013
@@ -0,0 +1,59 @@
+/*
+ * 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 javax.faces.flow.builder;
+
+import javax.faces.flow.Flow;
+
+/**
+ *
+ * @since 2.2
+ */
+public abstract class FlowBuilder
+{
+
+    public abstract FlowBuilder id(String definingDocumentId,
+        String id);
+
+    public abstract ViewBuilder viewNode(String viewNodeId,
+        String vdlDocumentId);
+
+    public abstract SwitchBuilder switchNode(String switchNodeId);
+
+    public abstract ReturnBuilder returnNode(String returnNodeId);
+
+    public abstract MethodCallBuilder methodCallNode(String methodCallNodeId);
+
+    public abstract FlowCallBuilder flowCallNode(String flowCallNodeId);
+
+    public abstract FlowBuilder initializer(javax.el.MethodExpression methodExpression);
+
+    public abstract FlowBuilder initializer(String methodExpression);
+
+    public abstract FlowBuilder finalizer(javax.el.MethodExpression methodExpression);
+
+    public abstract FlowBuilder finalizer(String methodExpression);
+
+    public abstract FlowBuilder inboundParameter(String name,
+        javax.el.ValueExpression value);
+
+    public abstract FlowBuilder inboundParameter(String name,
+        String value);
+
+    public abstract Flow getFlow();
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowBuilderParameter.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowBuilderParameter.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowBuilderParameter.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowBuilderParameter.java Thu Feb  7 23:38:13 2013
@@ -0,0 +1,39 @@
+/*
+ * 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 javax.faces.flow.builder;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import javax.inject.Qualifier;
+
+/**
+ *
+ * @since 2.2
+ */
+@Qualifier
+@Target(value={ElementType.TYPE,ElementType.METHOD,ElementType.PARAMETER,ElementType.FIELD})
+@Retention(value= RetentionPolicy.RUNTIME)
+@Documented
+public @interface FlowBuilderParameter
+{
+    
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowBuilderParameter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowCallBuilder.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowCallBuilder.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowCallBuilder.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowCallBuilder.java Thu Feb  7 23:38:13 2013
@@ -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 javax.faces.flow.builder;
+
+/**
+ *
+ * @since 2.2
+ */
+public abstract class FlowCallBuilder implements NodeBuilder
+{
+
+    public abstract FlowCallBuilder flowReference(String flowDocumentId,
+        String flowId);
+
+    public abstract FlowCallBuilder outboundParameter(String name,
+        javax.el.ValueExpression value);
+
+    public abstract FlowCallBuilder outboundParameter(String name,
+        String value);
+
+    public abstract FlowCallBuilder markAsStartNode();
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowCallBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowDefinition.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowDefinition.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowDefinition.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowDefinition.java Thu Feb  7 23:38:13 2013
@@ -0,0 +1,37 @@
+/*
+ * 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 javax.faces.flow.builder;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import javax.inject.Qualifier;
+
+/**
+ *
+ * @since 2.2
+ */
+@Retention(value= RetentionPolicy.RUNTIME)
+@Target(value= ElementType.METHOD)
+@Qualifier
+public @interface FlowDefinition
+{
+    
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/FlowDefinition.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/MethodCallBuilder.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/MethodCallBuilder.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/MethodCallBuilder.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/MethodCallBuilder.java Thu Feb  7 23:38:13 2013
@@ -0,0 +1,45 @@
+/*
+ * 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 javax.faces.flow.builder;
+
+import java.util.List;
+import javax.faces.flow.Parameter;
+
+/**
+ *
+ * @since 2.2
+ */
+public abstract class MethodCallBuilder implements NodeBuilder
+{
+
+    public abstract MethodCallBuilder expression(javax.el.MethodExpression me);
+
+    public abstract MethodCallBuilder expression(String methodExpression);
+
+    public abstract MethodCallBuilder expression(String methodExpression,
+        Class[] paramTypes);
+
+    public abstract MethodCallBuilder parameters(List<Parameter> parameters);
+
+    public abstract MethodCallBuilder defaultOutcome(String outcome);
+
+    public abstract MethodCallBuilder defaultOutcome(javax.el.ValueExpression outcome);
+
+    public abstract MethodCallBuilder markAsStartNode();
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/MethodCallBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/NodeBuilder.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/NodeBuilder.java?rev=1443784&r1=1443783&r2=1443784&view=diff
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/NodeBuilder.java (original)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/NodeBuilder.java Thu Feb  7 23:38:13 2013
@@ -20,9 +20,9 @@ package javax.faces.flow.builder;
 
 /**
  *
- * @author lu4242
+ * @since 2.2
  */
 public interface NodeBuilder
 {
-    
+    NodeBuilder markAsStartNode();
 }

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/ReturnBuilder.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/ReturnBuilder.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/ReturnBuilder.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/ReturnBuilder.java Thu Feb  7 23:38:13 2013
@@ -0,0 +1,33 @@
+/*
+ * 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 javax.faces.flow.builder;
+
+/**
+ *
+ * @since 2.2
+ */
+public abstract class ReturnBuilder implements NodeBuilder
+{
+    public abstract ReturnBuilder fromOutcome(String outcome);
+    
+    public abstract ReturnBuilder fromOutcome(javax.el.ValueExpression outcome);
+    
+    public abstract ReturnBuilder markAsStartNode();
+    
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/ReturnBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/SwitchBuilder.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/SwitchBuilder.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/SwitchBuilder.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/SwitchBuilder.java Thu Feb  7 23:38:13 2013
@@ -0,0 +1,34 @@
+/*
+ * 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 javax.faces.flow.builder;
+
+/**
+ *
+ * @since 2.2
+ */
+public abstract class SwitchBuilder implements NodeBuilder
+{
+    public abstract SwitchCaseBuilder switchCase();
+    
+    public abstract SwitchCaseBuilder defaultOutcome(String outcome);
+    
+    public abstract SwitchCaseBuilder defaultOutcome(javax.el.ValueExpression outcome);
+    
+    public abstract SwitchBuilder markAsStartNode();
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/SwitchBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/SwitchCaseBuilder.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/SwitchCaseBuilder.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/SwitchCaseBuilder.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/SwitchCaseBuilder.java Thu Feb  7 23:38:13 2013
@@ -0,0 +1,34 @@
+/*
+ * 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 javax.faces.flow.builder;
+
+/**
+ *
+ * @since 2.2
+ */
+public abstract class SwitchCaseBuilder
+{
+    public abstract SwitchCaseBuilder condition(String expression);
+    
+    public abstract SwitchCaseBuilder condition(javax.el.ValueExpression expression);
+    
+    public abstract SwitchCaseBuilder fromOutcome(String outcome);
+    
+    public abstract SwitchCaseBuilder switchCase();
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/SwitchCaseBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/ViewBuilder.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/ViewBuilder.java?rev=1443784&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/ViewBuilder.java (added)
+++ myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/ViewBuilder.java Thu Feb  7 23:38:13 2013
@@ -0,0 +1,28 @@
+/*
+ * 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 javax.faces.flow.builder;
+
+/**
+ *
+ * @since 2.2
+ */
+public abstract class ViewBuilder implements NodeBuilder
+{
+    public abstract ViewBuilder markAsStartNode();
+}

Propchange: myfaces/core/branches/2.2.x/api/src/main/java/javax/faces/flow/builder/ViewBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: myfaces/core/branches/2.2.x/parent/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/parent/pom.xml?rev=1443784&r1=1443783&r2=1443784&view=diff
==============================================================================
--- myfaces/core/branches/2.2.x/parent/pom.xml (original)
+++ myfaces/core/branches/2.2.x/parent/pom.xml Thu Feb  7 23:38:13 2013
@@ -395,7 +395,23 @@
                 <optional>true</optional>
             </dependency>
 
+            <!-- CDI 1.0 -->
+            <dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-jcdi_1.0_spec</artifactId>
+                <version>1.0</version>
+                <scope>compile</scope>
+                <optional>true</optional>
+            </dependency>
 
+            <!-- Injection -->
+            <dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-atinject_1.0_spec</artifactId>
+                <version>1.0</version>
+                <scope>compile</scope>
+                <optional>true</optional>
+            </dependency>            
             <!-- UTILITY DEPENDENCIES -->
 
             <!-- builder-annotations like @JSFWebConfigParam -->