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:44:09 UTC

svn commit: r1443791 - in /myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config: element/ impl/digester/ impl/digester/elements/

Author: lu4242
Date: Thu Feb  7 23:44:08 2013
New Revision: 1443791

URL: http://svn.apache.org/r1443791
Log:
MYFACES-3691 Implement Faces Flows (faces-config.xml support)

Added:
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/ContractMapping.java   (with props)
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowCall.java   (with props)
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowDefinition.java   (with props)
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowMethodCall.java   (with props)
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowMethodParameter.java   (with props)
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowParameter.java   (with props)
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowReturn.java   (with props)
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowSwitch.java   (with props)
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowView.java   (with props)
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/ContractMappingImpl.java   (with props)
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowCallImpl.java   (with props)
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowDefinitionImpl.java   (with props)
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowMethodCallImpl.java   (with props)
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowMethodParameterImpl.java   (with props)
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowParameterImpl.java   (with props)
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowReturnImpl.java   (with props)
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowSwitchImpl.java   (with props)
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowViewImpl.java   (with props)
Modified:
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/Application.java
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesConfig.java
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesConfigData.java
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/NavigationRule.java
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigUnmarshallerImpl.java
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Application.java
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesConfig.java
    myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/NavigationRule.java

Modified: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/Application.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/Application.java?rev=1443791&r1=1443790&r2=1443791&view=diff
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/Application.java (original)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/Application.java Thu Feb  7 23:44:08 2013
@@ -61,4 +61,5 @@ public abstract class Application implem
 
     public abstract boolean isDefaultValidatorsPresent();
 
+    public abstract List<ContractMapping> getResourceLibraryContractMappings();
 }

Added: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/ContractMapping.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/ContractMapping.java?rev=1443791&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/ContractMapping.java (added)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/ContractMapping.java Thu Feb  7 23:44:08 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 org.apache.myfaces.config.element;
+
+import java.io.Serializable;
+
+/**
+ *
+ * @author Leonardo Uribe
+ */
+public abstract class ContractMapping implements Serializable
+{
+    public abstract String getUrlPattern();
+    
+    public abstract String getContracts();
+}

Propchange: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/ContractMapping.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesConfig.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesConfig.java?rev=1443791&r1=1443790&r2=1443791&view=diff
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesConfig.java (original)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesConfig.java Thu Feb  7 23:44:08 2013
@@ -70,4 +70,23 @@ public abstract class FacesConfig implem
     {
         return Collections.emptyList();
     }
+    
+    /**
+     * @since 2.2.0
+     * @return 
+     */
+    public List<FacesFlowDefinition> getFacesFlowDefinitions()
+    {
+        return Collections.emptyList();
+    }
+
+    
+    /**
+     * @since 2.2.0
+     * @return 
+     */
+    public List<String> getProtectedViewsUrlPatternList()
+    {
+        return Collections.emptyList();
+    }
 }

Modified: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesConfigData.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesConfigData.java?rev=1443791&r1=1443790&r2=1443791&view=diff
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesConfigData.java (original)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesConfigData.java Thu Feb  7 23:44:08 2013
@@ -237,4 +237,22 @@ public abstract class FacesConfigData im
         return Collections.emptyList();
     }
 
+    /**
+     * @since 2.2.0
+     * @return 
+     */
+    public Collection<FacesFlowDefinition> getFacesFlowDefinitions()
+    {
+        return Collections.emptyList();
+    }
+    
+    public Collection<String> getProtectedViewUrlPatterns()
+    {
+        return Collections.emptyList();
+    }
+    
+    public Collection<ContractMapping> getResourceLibraryContractMappings()
+    {
+        return Collections.emptyList();
+    }
 }

Added: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowCall.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowCall.java?rev=1443791&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowCall.java (added)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowCall.java Thu Feb  7 23:44:08 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 org.apache.myfaces.config.element;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ *
+ * @author Leonardo Uribe
+ */
+public abstract class FacesFlowCall implements Serializable
+{
+    public abstract String getId();
+    
+    public abstract String getCalledFlowId();
+    
+    public abstract List<FacesFlowParameter> getOutboundParameterList();
+}

Propchange: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowCall.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowDefinition.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowDefinition.java?rev=1443791&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowDefinition.java (added)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowDefinition.java Thu Feb  7 23:44:08 2013
@@ -0,0 +1,52 @@
+/*
+ * 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.myfaces.config.element;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ *
+ * @author Leonardo Uribe
+ */
+public abstract class FacesFlowDefinition implements Serializable
+{
+    public abstract String getId();
+    
+    public abstract String getStartNode();
+    
+    public abstract List<FacesFlowView> getViewList();
+
+    public abstract List<FacesFlowSwitch> getSwitchList();
+    
+    public abstract List<FacesFlowReturn> getReturnList();
+    
+    public abstract List<NavigationRule> getNavigationRuleList();
+
+    public abstract List<FacesFlowCall> getFlowCallList();
+    
+    public abstract List<FacesFlowMethodCall> getMethodCallList();
+    
+    public abstract String getInitializer();
+    
+    public abstract String getFinalizer();
+    
+    public abstract List<FacesFlowParameter> getInboundParameterList();
+
+}

Propchange: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowDefinition.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowMethodCall.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowMethodCall.java?rev=1443791&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowMethodCall.java (added)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowMethodCall.java Thu Feb  7 23:44:08 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 org.apache.myfaces.config.element;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ *
+ * @author Leonardo Uribe
+ */
+public abstract class FacesFlowMethodCall implements Serializable
+{
+    public abstract String getId();
+    
+    public abstract String getMethod();
+    
+    public abstract String getDefaultOutcome();
+    
+    public abstract List<FacesFlowParameter> getParameterList();
+    
+}

Propchange: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowMethodCall.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowMethodParameter.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowMethodParameter.java?rev=1443791&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowMethodParameter.java (added)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowMethodParameter.java Thu Feb  7 23:44:08 2013
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2013 The Apache Software Foundation.
+ *
+ * Licensed 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.myfaces.config.element;
+
+import java.io.Serializable;
+
+/**
+ *
+ * @author lu4242
+ */
+public abstract class FacesFlowMethodParameter implements Serializable
+{
+    public abstract String getClassName();
+    
+    public abstract String getValue();
+}

Propchange: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowMethodParameter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowParameter.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowParameter.java?rev=1443791&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowParameter.java (added)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowParameter.java Thu Feb  7 23:44:08 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 org.apache.myfaces.config.element;
+
+import java.io.Serializable;
+
+/**
+ *
+ * @author Leonardo Uribe
+ */
+public abstract class FacesFlowParameter implements Serializable
+{
+    
+    public abstract String getName();
+    
+    public abstract String getValue();
+    
+}

Propchange: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowParameter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowReturn.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowReturn.java?rev=1443791&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowReturn.java (added)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowReturn.java Thu Feb  7 23:44:08 2013
@@ -0,0 +1,40 @@
+/*
+ * 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.myfaces.config.element;
+
+import java.io.Serializable;
+
+/**
+ *
+ * @author Leonardo Uribe
+ */
+public abstract class FacesFlowReturn implements Serializable
+{
+
+    public abstract String getId();
+    
+    /**
+     * "... This element must contain exactly one navigation-case element, 
+     * which must contain exactly one from-outcome element. ..."
+     * 
+     * @return 
+     */
+    public abstract NavigationCase getNavigationCase();
+    
+}

Propchange: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowReturn.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowSwitch.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowSwitch.java?rev=1443791&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowSwitch.java (added)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowSwitch.java Thu Feb  7 23:44:08 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 org.apache.myfaces.config.element;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ *
+ * @author Leonardo Uribe
+ */
+public abstract class FacesFlowSwitch implements Serializable
+{
+    public abstract String getId();
+    
+    public abstract List<NavigationCase> getNavigationCaseList();
+    
+    public abstract NavigationCase getDefaultOutcome();
+}

Propchange: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowSwitch.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowView.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowView.java?rev=1443791&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowView.java (added)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowView.java Thu Feb  7 23:44:08 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 org.apache.myfaces.config.element;
+
+import java.io.Serializable;
+
+/**
+ *
+ * @author Leonardo Uribe
+ */
+public abstract class FacesFlowView implements Serializable
+{
+    public abstract String getId();
+    
+    public abstract String getVdlDocument();
+    
+}

Propchange: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/FacesFlowView.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/NavigationRule.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/NavigationRule.java?rev=1443791&r1=1443790&r2=1443791&view=diff
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/NavigationRule.java (original)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/element/NavigationRule.java Thu Feb  7 23:44:08 2013
@@ -20,6 +20,7 @@ package org.apache.myfaces.config.elemen
 
 import java.io.Serializable;
 import java.util.Collection;
+import java.util.List;
 
 /**
  * Entry of the Collection returned by
@@ -37,5 +38,5 @@ public abstract class NavigationRule imp
     /**
      * @return a Collection of {@link org.apache.myfaces.config.element.NavigationCase}s
      */
-    public abstract Collection<? extends NavigationCase> getNavigationCases();
+    public abstract List<? extends NavigationCase> getNavigationCases();
 }

Modified: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java?rev=1443791&r1=1443790&r2=1443791&view=diff
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java (original)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java Thu Feb  7 23:44:08 2013
@@ -37,8 +37,10 @@ import org.apache.myfaces.config.element
 import org.apache.myfaces.config.element.NavigationRule;
 import org.apache.myfaces.config.element.Renderer;
 import org.apache.myfaces.config.element.Application;
+import org.apache.myfaces.config.element.ContractMapping;
 import org.apache.myfaces.config.element.Converter;
 import org.apache.myfaces.config.element.FacesConfig;
+import org.apache.myfaces.config.element.FacesFlowDefinition;
 import org.apache.myfaces.config.element.Factory;
 import org.apache.myfaces.config.element.LocaleConfig;
 import org.apache.myfaces.config.element.NamedEvent;
@@ -111,6 +113,11 @@ public class DigesterFacesConfigDispense
     private Map<String, FaceletsProcessing> faceletsProcessingByFileExtension
             = new HashMap<String, FaceletsProcessing>();
     
+    private List<FacesFlowDefinition> facesFlowDefinitions = new ArrayList<FacesFlowDefinition>();
+    
+    private List<String> protectedViewUrlPatterns = new ArrayList<String>();
+    private List<ContractMapping> resourceLibraryContractMappings = new ArrayList<ContractMapping>();
+    
     /**
      * Add another unmarshalled faces config object.
      * 
@@ -171,6 +178,7 @@ public class DigesterFacesConfigDispense
             variableResolver.addAll(application.getVariableResolver());
             resourceBundles.addAll(application.getResourceBundle());
             elResolvers.addAll(application.getElResolver());
+            resourceLibraryContractMappings.addAll(application.getResourceLibraryContractMappings());
 
             // Jsf 2.0 spec section 3.5.3 says this: 
             // ".... Any configuration resource that declares a list of default 
@@ -254,6 +262,8 @@ public class DigesterFacesConfigDispense
         navigationRules.addAll(config.getNavigationRules());
         facesVersion = config.getVersion();
         namedEvents.addAll(config.getNamedEvents());
+        facesFlowDefinitions.addAll(config.getFacesFlowDefinitions());
+        protectedViewUrlPatterns.addAll(config.getProtectedViewsUrlPatternList());
     }
 
     /**
@@ -710,4 +720,22 @@ public class DigesterFacesConfigDispense
         return flashFactories;
     }
 
+    @Override
+    public Collection<FacesFlowDefinition> getFacesFlowDefinitions()
+    {
+        return facesFlowDefinitions;
+    }
+
+    @Override
+    public Collection<String> getProtectedViewUrlPatterns()
+    {
+        return protectedViewUrlPatterns;
+    }
+
+    @Override
+    public Collection<ContractMapping> getResourceLibraryContractMappings()
+    {
+        return resourceLibraryContractMappings;
+    }
+    
 }

Modified: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigUnmarshallerImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigUnmarshallerImpl.java?rev=1443791&r1=1443790&r2=1443791&view=diff
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigUnmarshallerImpl.java (original)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigUnmarshallerImpl.java Thu Feb  7 23:44:08 2013
@@ -54,6 +54,9 @@ public class DigesterFacesConfigUnmarsha
         digester.addSetProperties("faces-config", "version", "version");
         // 2.0 specific end
         // 2.0 config ordering name start
+        
+        digester.addCallMethod("faces-config/protected-views/url-pattern", "addProtectedViewUrlPattern", 0);
+        
         digester.addCallMethod("faces-config/name", "setName", 0);
         digester.addObjectCreate("faces-config/ordering", Ordering.class);
         digester.addSetNext("faces-config/ordering", "setOrdering");
@@ -123,6 +126,15 @@ public class DigesterFacesConfigUnmarsha
         digester.addCallMethod("faces-config/factory/visit-context-factory", "addVisitContextFactory", 0);
         // 2.0 specific end
         
+        digester.addObjectCreate("faces-config/application/resource-library-contracts/contract-mapping", 
+            ContractMappingImpl.class);
+        digester.addSetNext("faces-config/application/resource-library-contracts/contract-mapping", 
+            "addResourceLibraryContractMapping");
+        digester.addCallMethod(
+            "faces-config/application/resource-library-contracts/contract-mapping/url-pattern", "setUrlPattern", 0);
+        digester.addCallMethod(
+            "faces-config/application/resource-library-contracts/contract-mapping/contracts", "setContracts", 0);
+        
         // 2.1 specific start
         digester.addCallMethod("faces-config/factory/facelet-cache-factory", "addFaceletCacheFactory", 0);
         // 2.1 specific end
@@ -306,6 +318,108 @@ public class DigesterFacesConfigUnmarsha
         //MyFaces specific facelets-processing instruction.
         digester.addCallMethod("faces-config/faces-config-extension/facelets-processing/oam-compress-spaces", 
                 "setOamCompressSpaces", 0);
+        
+        addFacesFlowRules(externalContext);
+        
+        
+    }
+    
+    private void addNavigationRules(ExternalContext externalContext, String prefix, String method)
+    {
+        digester.addObjectCreate(prefix, NavigationRule.class);
+        digester.addSetNext(prefix, method);
+        digester.addCallMethod(prefix+"/from-view-id", "setFromViewId", 0);
+        addNavigationCases(externalContext, prefix+"/navigation-case", "addNavigationCase");
+    }
+    
+    private void addNavigationCases(ExternalContext externalContext, String prefix, String method)
+    {
+        digester.addObjectCreate(prefix, NavigationCase.class);
+        digester.addSetNext(prefix, method);
+        digester.addCallMethod(prefix+"/from-action", "setFromAction", 0);
+        digester.addCallMethod(prefix+"/from-outcome", "setFromOutcome", 0);
+        digester.addCallMethod(prefix+"/if", "setIf", 0);
+        digester.addCallMethod(prefix+"/to-view-id", "setToViewId", 0);
+        digester.addObjectCreate(prefix+"/redirect", Redirect.class);
+        digester.addSetProperties(prefix+"/redirect", "include-view-params",
+                                  "includeViewParams");
+        digester.addSetNext(prefix+"/redirect", "setRedirect");
+        digester.addObjectCreate(prefix+"/redirect/view-param", ViewParam.class);
+        digester.addSetNext(prefix+"/redirect/view-param", "addViewParam");
+        digester.addCallMethod(prefix+"/redirect/view-param/name", "setName",0);
+        digester.addCallMethod(prefix+"/redirect/view-param/value", "setValue",0);
+    }
+    
+    private void addFacesFlowRules(ExternalContext externalContext)
+    {
+        digester.addObjectCreate("faces-config/faces-flow-definition", FacesFlowDefinitionImpl.class);
+        digester.addSetNext("faces-config/faces-flow-definition", "addFacesFlowDefinition");
+        digester.addSetProperties("faces-config/faces-flow-definition", "id", "id");
+        
+        digester.addCallMethod("faces-config/faces-flow-definition/start-node", "setStartNode", 0);
+        digester.addCallMethod("faces-config/faces-flow-definition/initializer", "setInitializer", 0);
+        digester.addCallMethod("faces-config/faces-flow-definition/finalizer", "setFinalizer", 0);
+        
+        digester.addObjectCreate("faces-config/faces-flow-definition/view", FacesFlowViewImpl.class);
+        digester.addSetNext("faces-config/faces-flow-definition/view", "addView");
+        digester.addSetProperties("faces-config/faces-flow-definition/view", "id", "id");
+        digester.addCallMethod("faces-config/faces-flow-definition/view/vdl-document", "setVdlDocument", 0);
+        
+        digester.addObjectCreate("faces-config/faces-flow-definition/switch", FacesFlowSwitchImpl.class);
+        digester.addSetNext("faces-config/faces-flow-definition/switch", "addSwitch");
+        digester.addSetProperties("faces-config/faces-flow-definition/switch", "id", "id");
+        
+        digester.addObjectCreate("faces-config/faces-flow-definition/switch/default-outcome", 
+            NavigationCase.class);
+        digester.addSetNext("faces-config/faces-flow-definition/switch/default-outcome", 
+            "setDefaultOutcome");
+        digester.addCallMethod("faces-config/faces-flow-definition/switch/default-outcome/from-outcome", 
+            "setFromOutcome", 0);
+        
+        addNavigationCases(externalContext, "faces-config/faces-flow-definition/switch/navigation-case", "addNavigationCase");
+        
+        digester.addObjectCreate("faces-config/faces-flow-definition/flow-return", FacesFlowReturnImpl.class);
+        digester.addSetNext("faces-config/faces-flow-definition/flow-return", "addReturn");
+        digester.addSetProperties("faces-config/faces-flow-definition/flow-return", "id", "id");
+        digester.addObjectCreate("faces-config/faces-flow-definition/flow-return/navigation-case", 
+            NavigationCase.class);
+        digester.addSetNext("faces-config/faces-flow-definition/flow-return/navigation-case", 
+            "setNavigationCase");
+        digester.addCallMethod("faces-config/faces-flow-definition/flow-return/navigation-case/from-outcome", 
+            "setFromOutcome", 0);
+        
+        addNavigationRules(externalContext, "faces-config/faces-flow-definition/navigation-rule", "addNavigationRule");
+        
+        digester.addObjectCreate("faces-config/faces-flow-definition/flow-call", FacesFlowCallImpl.class);
+        digester.addSetNext("faces-config/faces-flow-definition/flow-call", "addFlowCall");
+        digester.addSetProperties("faces-config/faces-flow-definition/flow-call", "id", "id");
+        digester.addCallMethod(
+            "faces-config/faces-flow-definition/flow-call/faces-flow-reference/faces-flow-id", 
+            "setCalledFlowId", 0);
+        digester.addObjectCreate("faces-config/faces-flow-definition/flow-call/outbound-parameter", 
+            FacesFlowParameterImpl.class);
+        digester.addSetNext("faces-config/faces-flow-definition/flow-call/outbound-parameter", 
+            "addOutboundParameter");
+        digester.addCallMethod("faces-config/faces-flow-definition/flow-call/outbound-parameter/name", "setName", 0);
+        digester.addCallMethod("faces-config/faces-flow-definition/flow-call/outbound-parameter/value", "setValue", 0);
+        
+        digester.addObjectCreate("faces-config/faces-flow-definition/method-call", FacesFlowMethodCallImpl.class);
+        digester.addSetNext("faces-config/faces-flow-definition/method-call", "addMethodCall");
+        digester.addCallMethod("faces-config/faces-flow-definition/method-call/method", "setMethod", 0);
+        digester.addSetProperties("faces-config/faces-flow-definition/method-call/method", "id", "id");
+        digester.addCallMethod("faces-config/faces-flow-definition/method-call/default-outcome", 
+            "setDefaultOutcome", 0);
+        digester.addObjectCreate("faces-config/faces-flow-definition/method-call/parameter", 
+            FacesFlowMethodParameterImpl.class);
+        digester.addSetNext("faces-config/faces-flow-definition/method-call/parameter", "addParameter");
+        digester.addCallMethod("faces-config/faces-flow-definition/method-call/parameter/class", "setClassName", 0);
+        digester.addCallMethod("faces-config/faces-flow-definition/method-call/parameter/value", "setValue", 0);
+        
+        digester.addObjectCreate("faces-config/faces-flow-definition/inbound-parameter", 
+            FacesFlowParameterImpl.class);
+        digester.addSetNext("faces-config/faces-flow-definition/inbound-parameter", "addInboundParameter");
+        digester.addCallMethod("faces-config/faces-flow-definition/inbound-parameter/name", "setName", 0);
+        digester.addCallMethod("faces-config/faces-flow-definition/inbound-parameter/value", "setValue", 0);
     }
 
     public FacesConfig getFacesConfig(InputStream in, String systemId) throws IOException, SAXException

Modified: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Application.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Application.java?rev=1443791&r1=1443790&r2=1443791&view=diff
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Application.java (original)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Application.java Thu Feb  7 23:44:08 2013
@@ -21,6 +21,7 @@ package org.apache.myfaces.config.impl.d
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
+import org.apache.myfaces.config.element.ContractMapping;
 
 /**
  * @author <a href="mailto:oliver@rossmueller.com">Oliver Rossmueller</a>
@@ -46,6 +47,9 @@ public class Application extends org.apa
             = new ArrayList<org.apache.myfaces.config.element.ResourceBundle>();
     private final List<org.apache.myfaces.config.element.SystemEventListener> systemEventListeners
             = new ArrayList<org.apache.myfaces.config.element.SystemEventListener>();
+    private final List<ContractMapping> resourceLibraryContractMappings 
+            = new ArrayList<ContractMapping>();
+    
     private boolean defaultValidatorsPresent = false;
     
     public void addActionListener(String listener)
@@ -207,5 +211,15 @@ public class Application extends org.apa
     {
         defaultValidatorsPresent = true;
     }
+
+    @Override
+    public List<ContractMapping> getResourceLibraryContractMappings()
+    {
+        return resourceLibraryContractMappings;
+    }
     
+    public void addResourceLibraryContractMapping(ContractMapping mapping)
+    {
+        resourceLibraryContractMappings.add(mapping);
+    }
 }

Added: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/ContractMappingImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/ContractMappingImpl.java?rev=1443791&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/ContractMappingImpl.java (added)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/ContractMappingImpl.java Thu Feb  7 23:44:08 2013
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2013 The Apache Software Foundation.
+ *
+ * Licensed 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.myfaces.config.impl.digester.elements;
+
+import org.apache.myfaces.config.element.ContractMapping;
+
+/**
+ *
+ * @author lu4242
+ */
+public class ContractMappingImpl extends ContractMapping
+{
+    private String urlPattern;
+    private String contracts;
+
+    /**
+     * @return the urlPattern
+     */
+    public String getUrlPattern()
+    {
+        return urlPattern;
+    }
+
+    /**
+     * @param urlPattern the urlPattern to set
+     */
+    public void setUrlPattern(String urlPattern)
+    {
+        this.urlPattern = urlPattern;
+    }
+
+    /**
+     * @return the contracts
+     */
+    public String getContracts()
+    {
+        return contracts;
+    }
+
+    /**
+     * @param contracts the contracts to set
+     */
+    public void setContracts(String contracts)
+    {
+        this.contracts = contracts;
+    }
+    
+}

Propchange: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/ContractMappingImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesConfig.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesConfig.java?rev=1443791&r1=1443790&r2=1443791&view=diff
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesConfig.java (original)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesConfig.java Thu Feb  7 23:44:08 2013
@@ -20,9 +20,11 @@ package org.apache.myfaces.config.impl.d
 
 import java.io.Serializable;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import org.apache.myfaces.config.element.FacesFlowDefinition;
 
 /**
  * @author <a href="mailto:oliver@rossmueller.com">Oliver Rossmueller</a>
@@ -52,6 +54,11 @@ public class FacesConfig extends org.apa
     private List<org.apache.myfaces.config.element.FacesConfigExtension> facesConfigExtensions
             = new ArrayList<org.apache.myfaces.config.element.FacesConfigExtension>();
     
+    private List <FacesFlowDefinition> facesFlowDefinitions 
+        = new ArrayList<FacesFlowDefinition>();
+    private List <String> protectedViewsUrlPatternList
+        = new ArrayList<String>();
+    
     private String metadataComplete;
     private String version;
     //Ordering variables
@@ -247,5 +254,26 @@ public class FacesConfig extends org.apa
     {
         facesConfigExtensions.add(elem);
     }
+
+    @Override
+    public List<FacesFlowDefinition> getFacesFlowDefinitions()
+    {
+        return facesFlowDefinitions;
+    }
+    
+    public void addFacesFlowDefinition(FacesFlowDefinition elem)
+    {
+        facesFlowDefinitions.add(elem);
+    }
+    
+    public List<String> getProtectedViewsUrlPatternList()
+    {
+        return protectedViewsUrlPatternList;
+    }
     
+    public void addProtectedViewUrlPattern(String urlPattern)
+    {
+        protectedViewsUrlPatternList.add(urlPattern);
+    }
+
 }

Added: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowCallImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowCallImpl.java?rev=1443791&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowCallImpl.java (added)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowCallImpl.java Thu Feb  7 23:44:08 2013
@@ -0,0 +1,77 @@
+/*
+ * 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.myfaces.config.impl.digester.elements;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.myfaces.config.element.FacesFlowCall;
+import org.apache.myfaces.config.element.FacesFlowParameter;
+
+/**
+ *
+ * @author Leonardo Uribe
+ */
+public class FacesFlowCallImpl extends FacesFlowCall
+{
+    private String _calledFlowId;
+    private List<FacesFlowParameter> _outboundParameterList;
+    private String _id;
+
+    public FacesFlowCallImpl()
+    {
+        _outboundParameterList = new ArrayList<FacesFlowParameter>();
+    }
+    
+    @Override
+    public String getCalledFlowId()
+    {
+        return _calledFlowId;
+    }
+
+    @Override
+    public List<FacesFlowParameter> getOutboundParameterList()
+    {
+        return _outboundParameterList;
+    }
+    
+    public void addOutboundParameter(FacesFlowParameter parameter)
+    {
+        _outboundParameterList.add(parameter);
+    }
+
+    /**
+     * @param calledFlowId the calledFlowId to set
+     */
+    public void setCalledFlowId(String calledFlowId)
+    {
+        this._calledFlowId = calledFlowId;
+    }
+
+    @Override
+    public String getId()
+    {
+        return _id;
+    }
+
+    public void setId(String id)
+    {
+        this._id = id;
+    }
+    
+}

Propchange: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowCallImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowDefinitionImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowDefinitionImpl.java?rev=1443791&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowDefinitionImpl.java (added)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowDefinitionImpl.java Thu Feb  7 23:44:08 2013
@@ -0,0 +1,190 @@
+/*
+ * 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.myfaces.config.impl.digester.elements;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.myfaces.config.element.FacesFlowCall;
+import org.apache.myfaces.config.element.FacesFlowMethodCall;
+import org.apache.myfaces.config.element.FacesFlowParameter;
+import org.apache.myfaces.config.element.FacesFlowReturn;
+import org.apache.myfaces.config.element.FacesFlowSwitch;
+import org.apache.myfaces.config.element.FacesFlowView;
+import org.apache.myfaces.config.element.NavigationRule;
+
+/**
+ *
+ * @author Leonardo Uribe
+ */
+public class FacesFlowDefinitionImpl extends org.apache.myfaces.config.element.FacesFlowDefinition
+{
+    private String _id;
+    private String _startNode;
+    private String _initializer;
+    private String _finalizer;
+    
+    private List<FacesFlowView> _viewList;
+    private List<FacesFlowSwitch> _switchList;
+    private List<FacesFlowReturn> _returnList;
+    private List<NavigationRule> _navigationRuleList;
+    private List<FacesFlowCall> _flowCallList;
+    private List<FacesFlowMethodCall> _methodCallList;
+    private List<FacesFlowParameter> _inboundParameterList;
+
+    public FacesFlowDefinitionImpl()
+    {
+        _viewList = new ArrayList<FacesFlowView>();
+        _switchList = new ArrayList<FacesFlowSwitch>();
+        _returnList = new ArrayList<FacesFlowReturn>();
+        _navigationRuleList = new ArrayList<NavigationRule>();
+        _flowCallList = new ArrayList<FacesFlowCall>();
+        _methodCallList = new ArrayList<FacesFlowMethodCall>();
+        _inboundParameterList = new ArrayList<FacesFlowParameter>();
+    }
+    
+    @Override
+    public String getStartNode()
+    {
+        return _startNode;
+    }
+
+    @Override
+    public List<FacesFlowView> getViewList()
+    {
+        return _viewList;
+    }
+    
+    public void addView(FacesFlowView view)
+    {
+        _viewList.add(view);
+    }
+
+    @Override
+    public List<FacesFlowSwitch> getSwitchList()
+    {
+        return _switchList;
+    }
+    
+    public void addSwitch(FacesFlowSwitch switchItem)
+    {
+        _switchList.add(switchItem);
+    }
+
+    @Override
+    public List<FacesFlowReturn> getReturnList()
+    {
+        return _returnList;
+    }
+
+    public void addReturn(FacesFlowReturn value)
+    {
+        _returnList.add(value);
+    }
+    
+    @Override
+    public List<NavigationRule> getNavigationRuleList()
+    {
+        return _navigationRuleList;
+    }
+
+    public void addNavigationRule(NavigationRule value)
+    {
+        _navigationRuleList.add(value);
+    }
+    
+    @Override
+    public List<FacesFlowCall> getFlowCallList()
+    {
+        return _flowCallList;
+    }
+
+    public void addFlowCall(FacesFlowCall value)
+    {
+        _flowCallList.add(value);
+    }
+
+    @Override
+    public List<FacesFlowMethodCall> getMethodCallList()
+    {
+        return _methodCallList;
+    }
+
+    public void addMethodCall(FacesFlowMethodCall value)
+    {
+        _methodCallList.add(value);
+    }
+    
+    @Override
+    public String getInitializer()
+    {
+        return _initializer;
+    }
+
+    @Override
+    public String getFinalizer()
+    {
+        return _finalizer;
+    }
+
+    @Override
+    public List<FacesFlowParameter> getInboundParameterList()
+    {
+        return _inboundParameterList;
+    }
+
+    public void addInboundParameter(FacesFlowParameter value)
+    {
+        _inboundParameterList.add(value);
+    }
+    
+    /**
+     * @param startNode the startNode to set
+     */
+    public void setStartNode(String startNode)
+    {
+        this._startNode = startNode;
+    }
+
+    /**
+     * @param initializer the initializer to set
+     */
+    public void setInitializer(String initializer)
+    {
+        this._initializer = initializer;
+    }
+
+    /**
+     * @param finalizer the finalizer to set
+     */
+    public void setFinalizer(String finalizer)
+    {
+        this._finalizer = finalizer;
+    }
+    
+    @Override
+    public String getId()
+    {
+        return _id;
+    }
+
+    public void setId(String id)
+    {
+        this._id = id;
+    }
+}

Propchange: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowDefinitionImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowMethodCallImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowMethodCallImpl.java?rev=1443791&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowMethodCallImpl.java (added)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowMethodCallImpl.java Thu Feb  7 23:44:08 2013
@@ -0,0 +1,91 @@
+/*
+ * 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.myfaces.config.impl.digester.elements;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.myfaces.config.element.FacesFlowParameter;
+
+/**
+ *
+ * @author Leonardo Uribe
+ */
+public class FacesFlowMethodCallImpl extends org.apache.myfaces.config.element.FacesFlowMethodCall
+{
+    private String _id;
+    private String _method;
+    private String _defaultOutcome;
+    
+    private List<FacesFlowParameter> _parameterList;
+    
+    public FacesFlowMethodCallImpl()
+    {
+        _parameterList = new ArrayList<FacesFlowParameter>();
+    }
+
+    @Override
+    public String getMethod()
+    {
+        return _method;
+    }
+
+    @Override
+    public String getDefaultOutcome()
+    {
+        return _defaultOutcome;
+    }
+
+    /**
+     * @param method the method to set
+     */
+    public void setMethod(String method)
+    {
+        this._method = method;
+    }
+
+    /**
+     * @param defaultOutcome the defaultOutcome to set
+     */
+    public void setDefaultOutcome(String defaultOutcome)
+    {
+        this._defaultOutcome = defaultOutcome;
+    }
+    
+    @Override
+    public String getId()
+    {
+        return _id;
+    }
+
+    public void setId(String id)
+    {
+        this._id = id;
+    }
+
+    @Override
+    public List<FacesFlowParameter> getParameterList()
+    {
+        return _parameterList;
+    }
+    
+    public void addParameter(FacesFlowParameter parameter)
+    {
+        _parameterList.add(parameter);
+    }
+}

Propchange: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowMethodCallImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowMethodParameterImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowMethodParameterImpl.java?rev=1443791&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowMethodParameterImpl.java (added)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowMethodParameterImpl.java Thu Feb  7 23:44:08 2013
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2013 The Apache Software Foundation.
+ *
+ * Licensed 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.myfaces.config.impl.digester.elements;
+
+import org.apache.myfaces.config.element.FacesFlowMethodParameter;
+
+/**
+ *
+ * @author lu4242
+ */
+public class FacesFlowMethodParameterImpl extends FacesFlowMethodParameter
+{
+    private String className;
+    private String value;
+
+    /**
+     * @return the className
+     */
+    public String getClassName()
+    {
+        return className;
+    }
+
+    /**
+     * @param className the className to set
+     */
+    public void setClassName(String className)
+    {
+        this.className = className;
+    }
+
+    /**
+     * @return the value
+     */
+    public String getValue()
+    {
+        return value;
+    }
+
+    /**
+     * @param value the value to set
+     */
+    public void setValue(String value)
+    {
+        this.value = value;
+    }
+    
+}

Propchange: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowMethodParameterImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowParameterImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowParameterImpl.java?rev=1443791&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowParameterImpl.java (added)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowParameterImpl.java Thu Feb  7 23:44:08 2013
@@ -0,0 +1,57 @@
+/*
+ * 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.myfaces.config.impl.digester.elements;
+
+/**
+ *
+ * @author Leonardo Uribe
+ */
+public class FacesFlowParameterImpl extends org.apache.myfaces.config.element.FacesFlowParameter
+{
+    private String _name;
+    private String _value;
+
+    @Override
+    public String getName()
+    {
+        return _name;
+    }
+
+    @Override
+    public String getValue()
+    {
+        return _value;
+    }
+
+    /**
+     * @param name the name to set
+     */
+    public void setName(String name)
+    {
+        this._name = name;
+    }
+
+    /**
+     * @param value the value to set
+     */
+    public void setValue(String value)
+    {
+        this._value = value;
+    }
+}

Propchange: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowParameterImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowReturnImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowReturnImpl.java?rev=1443791&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowReturnImpl.java (added)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowReturnImpl.java Thu Feb  7 23:44:08 2013
@@ -0,0 +1,57 @@
+/*
+ * 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.myfaces.config.impl.digester.elements;
+
+import org.apache.myfaces.config.element.NavigationCase;
+
+/**
+ *
+ * @author Leonardo Uribe
+ */
+public class FacesFlowReturnImpl extends org.apache.myfaces.config.element.FacesFlowReturn
+{
+    private String _id;
+    private NavigationCase _navigationCase;
+
+    @Override
+    public NavigationCase getNavigationCase()
+    {
+        return _navigationCase;
+    }
+
+    /**
+     * @param navigationCase the _navigationCase to set
+     */
+    public void setNavigationCase(NavigationCase navigationCase)
+    {
+        this._navigationCase = navigationCase;
+    }
+    
+    @Override
+    public String getId()
+    {
+        return _id;
+    }
+
+    public void setId(String id)
+    {
+        this._id = id;
+    }
+
+}

Propchange: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowReturnImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowSwitchImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowSwitchImpl.java?rev=1443791&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowSwitchImpl.java (added)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowSwitchImpl.java Thu Feb  7 23:44:08 2013
@@ -0,0 +1,76 @@
+/*
+ * 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.myfaces.config.impl.digester.elements;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.myfaces.config.element.NavigationCase;
+
+/**
+ *
+ * @author Leonardo Uribe
+ */
+public class FacesFlowSwitchImpl extends org.apache.myfaces.config.element.FacesFlowSwitch
+{
+    private String _id;
+    private NavigationCase _defaultOutcome;
+    private List<NavigationCase> _navigationCaseList;
+    
+    public FacesFlowSwitchImpl()
+    {
+        this._navigationCaseList = new ArrayList<NavigationCase>();
+    }
+
+    @Override
+    public List<NavigationCase> getNavigationCaseList()
+    {
+        return _navigationCaseList;
+    }
+    
+    public void addNavigationCase(NavigationCase navcase)
+    {
+        _navigationCaseList.add(navcase);
+    }
+
+    @Override
+    public NavigationCase getDefaultOutcome()
+    {
+        return _defaultOutcome;
+    }
+
+    /**
+     * @param defaultOutcome the defaultOutcome to set
+     */
+    public void setDefaultOutcome(NavigationCase defaultOutcome)
+    {
+        this._defaultOutcome = defaultOutcome;
+    }
+    
+    @Override
+    public String getId()
+    {
+        return _id;
+    }
+
+    public void setId(String id)
+    {
+        this._id = id;
+    }
+
+}

Propchange: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowSwitchImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowViewImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowViewImpl.java?rev=1443791&view=auto
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowViewImpl.java (added)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowViewImpl.java Thu Feb  7 23:44:08 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 org.apache.myfaces.config.impl.digester.elements;
+
+/**
+ *
+ * @author Leonardo Uribe
+ */
+public class FacesFlowViewImpl extends org.apache.myfaces.config.element.FacesFlowView
+{
+    private String _id;
+    private String _vdlDocument;
+
+    public FacesFlowViewImpl()
+    {
+    }
+    
+    @Override
+    public String getVdlDocument()
+    {
+        return _vdlDocument;
+    }
+
+    /**
+     * @param vdlDocument the vdlDocument to set
+     */
+    public void setVdlDocument(String vdlDocument)
+    {
+        this._vdlDocument = vdlDocument;
+    }
+    
+    @Override
+    public String getId()
+    {
+        return _id;
+    }
+
+    public void setId(String id)
+    {
+        this._id = id;
+    }
+
+}

Propchange: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/FacesFlowViewImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/NavigationRule.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/NavigationRule.java?rev=1443791&r1=1443790&r2=1443791&view=diff
==============================================================================
--- myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/NavigationRule.java (original)
+++ myfaces/core/branches/2.2.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/NavigationRule.java Thu Feb  7 23:44:08 2013
@@ -53,7 +53,7 @@ public class NavigationRule extends org.
     }
 
 
-    public Collection<org.apache.myfaces.config.element.NavigationCase> getNavigationCases()
+    public List<org.apache.myfaces.config.element.NavigationCase> getNavigationCases()
     {
         return navigationCases;
     }