You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2011/03/06 15:54:07 UTC
svn commit: r1078478 [1/2] - in /myfaces/extensions/cdi/trunk:
jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/
jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/v...
Author: gpetracek
Date: Sun Mar 6 14:54:06 2011
New Revision: 1078478
URL: http://svn.apache.org/viewvc?rev=1078478&view=rev
Log:
EXTCDI-150 ViewConfigResolver (first draft)
Added:
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/PageBeanDescriptor.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/ViewConfigDescriptor.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/ViewConfigResolver.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultPageBeanDescriptor.java
- copied, changed from r1074791, myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultPageBeanConfigEntry.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigDescriptor.java
- copied, changed from r1074791, myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigEntry.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigResolver.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/InlineViewConfigDescriptor.java
- copied, changed from r1074791, myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/InlineViewConfigEntry.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/EditableViewConfigDescriptor.java
- copied, changed from r1074791, myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/ViewConfigEntry.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/LifecycleAwarePageBeanDescriptor.java
- copied, changed from r1074791, myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/PageBeanConfigEntry.java
Removed:
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultPageBeanConfigEntry.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigEntry.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/InlineViewConfigEntry.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/PageBeanConfigEntry.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/ViewConfigEntry.java
Modified:
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/Page.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigExtractor.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ExtractedViewConfigDefinitionEntry.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/PhasesLifecycleCallbackPhaseListener.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/PreRenderViewBeanLoader.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewConfigCache.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewConfigExtension.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewControllerActionListener.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/ViewConfigExtractor.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/DefaultViewControllerStrategy.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/navigation/ViewConfigAwareNavigationHandler.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/security/SecurityAwareViewHandler.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/security/SecurityViewListener.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/util/SecurityUtils.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/jsf/test/impl/config/view/ViewConfigTest.java
myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/navigation/NavigationCaseMapWrapper.java
myfaces/extensions/cdi/trunk/test-modules/base-test-infrastructure-module/src/main/java/org/apache/myfaces/extensions/cdi/test/cargo/SimplePageInteraction.java
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/Page.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/Page.java?rev=1078478&r1=1078477&r2=1078478&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/Page.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/Page.java Sun Mar 6 14:54:06 2011
@@ -53,7 +53,7 @@ public @interface Page
* for including view params in jsf2
* @return
*/
- ViewParameter viewParams() default ViewParameter.DEFAULT;
+ ViewParameterMode viewParams() default ViewParameterMode.DEFAULT;
public interface Extension
{
@@ -68,7 +68,7 @@ public @interface Page
DEFAULT, FORWARD, REDIRECT
}
- public enum ViewParameter
+ public enum ViewParameterMode
{
DEFAULT, INCLUDE, EXCLUDE
}
Added: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/PageBeanDescriptor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/PageBeanDescriptor.java?rev=1078478&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/PageBeanDescriptor.java (added)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/PageBeanDescriptor.java Sun Mar 6 14:54:06 2011
@@ -0,0 +1,29 @@
+/*
+ * 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.extensions.cdi.jsf.api.config.view;
+
+/**
+ * @author Gerhard Petracek
+ */
+public interface PageBeanDescriptor
+{
+ Class getBeanClass();
+
+ String getBeanName();
+}
Added: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/ViewConfigDescriptor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/ViewConfigDescriptor.java?rev=1078478&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/ViewConfigDescriptor.java (added)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/ViewConfigDescriptor.java Sun Mar 6 14:54:06 2011
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.cdi.jsf.api.config.view;
+
+import org.apache.myfaces.extensions.cdi.core.api.config.view.ViewConfig;
+import org.apache.myfaces.extensions.cdi.core.api.security.AccessDecisionVoter;
+
+import java.lang.annotation.Annotation;
+import java.util.List;
+
+/**
+ * @author Gerhard Petracek
+ */
+public interface ViewConfigDescriptor
+{
+ String getViewId();
+
+ Class<? extends ViewConfig> getViewConfig();
+
+ Page.NavigationMode getNavigationMode();
+
+ List<Annotation> getMetaData();
+
+ List<Class<? extends AccessDecisionVoter>> getAccessDecisionVoters();
+
+ List<PageBeanDescriptor> getPageBeanConfigs();
+}
Added: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/ViewConfigResolver.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/ViewConfigResolver.java?rev=1078478&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/ViewConfigResolver.java (added)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/view/ViewConfigResolver.java Sun Mar 6 14:54:06 2011
@@ -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 org.apache.myfaces.extensions.cdi.jsf.api.config.view;
+
+import org.apache.myfaces.extensions.cdi.core.api.config.view.ViewConfig;
+
+import java.util.List;
+
+/**
+ * @author Gerhard Petracek
+ */
+public interface ViewConfigResolver
+{
+ ViewConfigDescriptor getViewConfig(String viewId);
+
+ ViewConfigDescriptor getViewConfig(Class<? extends ViewConfig> viewDefinitionClass);
+
+ List<ViewConfigDescriptor> getViewConfigs();
+
+ ViewConfigDescriptor getDefaultErrorViewConfig();
+
+ ViewConfigDescriptor getErrorViewConfig(Class<? extends ViewConfig> viewDefinitionClass);
+}
Copied: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultPageBeanDescriptor.java (from r1074791, myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultPageBeanConfigEntry.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultPageBeanDescriptor.java?p2=myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultPageBeanDescriptor.java&p1=myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultPageBeanConfigEntry.java&r1=1074791&r2=1078478&rev=1078478&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultPageBeanConfigEntry.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultPageBeanDescriptor.java Sun Mar 6 14:54:06 2011
@@ -24,7 +24,7 @@ import org.apache.myfaces.extensions.cdi
import org.apache.myfaces.extensions.cdi.jsf.api.config.view.PreRenderView;
import org.apache.myfaces.extensions.cdi.jsf.api.listener.phase.AfterPhase;
import org.apache.myfaces.extensions.cdi.jsf.api.listener.phase.BeforePhase;
-import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.PageBeanConfigEntry;
+import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.LifecycleAwarePageBeanDescriptor;
import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.RequestLifecycleCallbackEntry;
import javax.faces.event.PhaseId;
@@ -41,7 +41,7 @@ import static org.apache.myfaces.extensi
/**
* @author Gerhard Petracek
*/
-class DefaultPageBeanConfigEntry implements PageBeanConfigEntry
+class DefaultPageBeanDescriptor implements LifecycleAwarePageBeanDescriptor
{
private final String beanName;
@@ -54,7 +54,7 @@ class DefaultPageBeanConfigEntry impleme
private List<Method> preRenderViewMethods = new ArrayList<Method>();
private List<Method> postRenderViewMethods = new ArrayList<Method>();
- DefaultPageBeanConfigEntry(String beanName, Class beanClass)
+ DefaultPageBeanDescriptor(String beanName, Class beanClass)
{
this.beanName = beanName;
this.beanClass = beanClass;
Copied: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigDescriptor.java (from r1074791, myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigEntry.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigDescriptor.java?p2=myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigDescriptor.java&p1=myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigEntry.java&r1=1074791&r2=1078478&rev=1078478&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigEntry.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigDescriptor.java Sun Mar 6 14:54:06 2011
@@ -24,8 +24,10 @@ import org.apache.myfaces.extensions.cdi
import org.apache.myfaces.extensions.cdi.core.api.security.AccessDecisionVoter;
import org.apache.myfaces.extensions.cdi.jsf.api.config.view.Page;
import org.apache.myfaces.extensions.cdi.jsf.api.config.view.PageBean;
-import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.PageBeanConfigEntry;
-import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.ViewConfigEntry;
+import org.apache.myfaces.extensions.cdi.jsf.api.config.view.PageBeanDescriptor;
+import org.apache.myfaces.extensions.cdi.jsf.api.config.view.ViewConfigDescriptor;
+import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.EditableViewConfigDescriptor;
+import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.LifecycleAwarePageBeanDescriptor;
import javax.enterprise.inject.spi.BeanManager;
import javax.inject.Named;
@@ -43,7 +45,7 @@ import static org.apache.myfaces.extensi
/**
* @author Gerhard Petracek
*/
-public class DefaultViewConfigEntry implements ViewConfigEntry
+public class DefaultViewConfigDescriptor implements EditableViewConfigDescriptor
{
private final String viewId;
@@ -51,13 +53,13 @@ public class DefaultViewConfigEntry impl
private final Page.NavigationMode navigationMode;
- private List<PageBeanConfigEntry> beanDefinition;
+ private List<PageBeanDescriptor> pageBeanDescriptors;
//security
private final List<Class<? extends AccessDecisionVoter>> accessDecisionVoters;
private final Class<? extends ViewConfig> customErrorView;
- private Page.ViewParameter viewParameter;
+ private Page.ViewParameterMode viewParameterMode;
//meta-data
private List<Annotation> metaDataList;
@@ -65,22 +67,22 @@ public class DefaultViewConfigEntry impl
private transient BeanManager beanManager;
- public DefaultViewConfigEntry(String viewId,
- Class<? extends ViewConfig> viewDefinitionClass,
- Page.NavigationMode navigationMode,
- Page.ViewParameter viewParameter,
- List<Class<? extends AccessDecisionVoter>> accessDecisionVoters,
- Class<? extends ViewConfig> errorView,
- List<Annotation> metaDataList)
+ public DefaultViewConfigDescriptor(String viewId,
+ Class<? extends ViewConfig> viewDefinitionClass,
+ Page.NavigationMode navigationMode,
+ Page.ViewParameterMode viewParameterMode,
+ List<Class<? extends AccessDecisionVoter>> accessDecisionVoters,
+ Class<? extends ViewConfig> errorView,
+ List<Annotation> metaDataList)
{
this.viewId = viewId;
this.viewDefinitionClass = viewDefinitionClass;
this.navigationMode = navigationMode;
- this.viewParameter = viewParameter;
+ this.viewParameterMode = viewParameterMode;
this.metaDataList = metaDataList;
- beanDefinition = Collections.unmodifiableList(findPageBeanDefinitions(viewDefinitionClass));
+ pageBeanDescriptors = Collections.unmodifiableList(findPageBeanDefinitions(viewDefinitionClass));
//TODO validate view-id
//noinspection unchecked
@@ -101,7 +103,7 @@ public class DefaultViewConfigEntry impl
return viewId;
}
- public Class<? extends ViewConfig> getViewDefinitionClass()
+ public Class<? extends ViewConfig> getViewConfig()
{
return viewDefinitionClass;
}
@@ -111,49 +113,61 @@ public class DefaultViewConfigEntry impl
return navigationMode;
}
- public Page.ViewParameter getViewParameter()
+ public Page.ViewParameterMode getViewParameterMode()
{
- return viewParameter;
+ return viewParameterMode;
}
- public List<PageBeanConfigEntry> getPageBeanDefinitions()
+ public List<PageBeanDescriptor> getPageBeanConfigs()
{
- return beanDefinition;
+ return pageBeanDescriptors;
}
public void invokeInitViewMethods()
{
- for(PageBeanConfigEntry beanEntry : getPageBeanDefinitions())
+ for(PageBeanDescriptor beanEntry : getPageBeanConfigs())
{
- processCallbacks(beanEntry, beanEntry.getInitViewMethods());
+ if(beanEntry instanceof LifecycleAwarePageBeanDescriptor)
+ {
+ processCallbacks(beanEntry, ((LifecycleAwarePageBeanDescriptor)beanEntry).getInitViewMethods());
+ }
}
}
public void invokePrePageActionMethods()
{
- for(PageBeanConfigEntry beanEntry : getPageBeanDefinitions())
+ for(PageBeanDescriptor beanEntry : getPageBeanConfigs())
{
- processCallbacks(beanEntry, beanEntry.getPrePageActionMethods());
+ if(beanEntry instanceof LifecycleAwarePageBeanDescriptor)
+ {
+ processCallbacks(beanEntry, ((LifecycleAwarePageBeanDescriptor)beanEntry).getPrePageActionMethods());
+ }
}
}
public void invokePreRenderViewMethods()
{
- for(PageBeanConfigEntry beanEntry : getPageBeanDefinitions())
+ for(PageBeanDescriptor beanEntry : getPageBeanConfigs())
{
- processCallbacks(beanEntry, beanEntry.getPreRenderViewMethods());
+ if(beanEntry instanceof LifecycleAwarePageBeanDescriptor)
+ {
+ processCallbacks(beanEntry, ((LifecycleAwarePageBeanDescriptor)beanEntry).getPreRenderViewMethods());
+ }
}
}
public void invokePostRenderViewMethods()
{
- for(PageBeanConfigEntry beanEntry : getPageBeanDefinitions())
+ for(PageBeanDescriptor beanEntry : getPageBeanConfigs())
{
- processCallbacks(beanEntry, beanEntry.getPostRenderViewMethods());
+ if(beanEntry instanceof LifecycleAwarePageBeanDescriptor)
+ {
+ processCallbacks(beanEntry, ((LifecycleAwarePageBeanDescriptor)beanEntry).getPostRenderViewMethods());
+ }
}
}
- private void processCallbacks(PageBeanConfigEntry beanEntry, List<Method> methodList)
+ private void processCallbacks(PageBeanDescriptor beanEntry, List<Method> methodList)
{
Object bean;
if (!methodList.isEmpty())
@@ -220,13 +234,13 @@ public class DefaultViewConfigEntry impl
public void addPageBean(Class pageBeanClass)
{
- List<PageBeanConfigEntry> newList = new ArrayList<PageBeanConfigEntry>(this.beanDefinition);
+ List<PageBeanDescriptor> newList = new ArrayList<PageBeanDescriptor>(this.pageBeanDescriptors);
- PageBeanConfigEntry newEntry = new DefaultPageBeanConfigEntry(getBeanName(pageBeanClass) , pageBeanClass);
+ PageBeanDescriptor newEntry = new DefaultPageBeanDescriptor(getBeanName(pageBeanClass) , pageBeanClass);
newList.add(newEntry);
- this.beanDefinition = Collections.unmodifiableList(newList);
+ this.pageBeanDescriptors = Collections.unmodifiableList(newList);
}
void activateSimpleEntryMode()
@@ -239,7 +253,7 @@ public class DefaultViewConfigEntry impl
return simpleEntryMode;
}
- private List<PageBeanConfigEntry> findPageBeanDefinitions(Class<? extends ViewConfig> viewDefinitionClass)
+ private List<PageBeanDescriptor> findPageBeanDefinitions(Class<? extends ViewConfig> viewDefinitionClass)
{
if(!viewDefinitionClass.isAnnotationPresent(PageBean.class) &&
!viewDefinitionClass.isAnnotationPresent(PageBean.List.class))
@@ -247,7 +261,7 @@ public class DefaultViewConfigEntry impl
return Collections.emptyList();
}
- List<PageBeanConfigEntry> result = new ArrayList<PageBeanConfigEntry>();
+ List<PageBeanDescriptor> result = new ArrayList<PageBeanDescriptor>();
if(viewDefinitionClass.isAnnotationPresent(PageBean.class))
{
@@ -262,9 +276,9 @@ public class DefaultViewConfigEntry impl
return result;
}
- private List<PageBeanConfigEntry> extractBeanEntries(PageBean.List pageBeanList)
+ private List<PageBeanDescriptor> extractBeanEntries(PageBean.List pageBeanList)
{
- List<PageBeanConfigEntry> result = new ArrayList<PageBeanConfigEntry>();
+ List<PageBeanDescriptor> result = new ArrayList<PageBeanDescriptor>();
for(PageBean pageBean : pageBeanList.value())
{
result.add(extractBeanEntry(pageBean));
@@ -272,11 +286,11 @@ public class DefaultViewConfigEntry impl
return result;
}
- private PageBeanConfigEntry extractBeanEntry(PageBean pageBean)
+ private PageBeanDescriptor extractBeanEntry(PageBean pageBean)
{
if(!"".equals(pageBean.name()))
{
- return new DefaultPageBeanConfigEntry(pageBean.name(), pageBean.value());
+ return new DefaultPageBeanDescriptor(pageBean.name(), pageBean.value());
}
Class<?> pageBeanClass = pageBean.value();
@@ -285,7 +299,7 @@ public class DefaultViewConfigEntry impl
//TODO allow indirect usage of @Named
pageBeanName = getBeanName(pageBeanClass);
- return new DefaultPageBeanConfigEntry(pageBeanName, pageBeanClass);
+ return new DefaultPageBeanDescriptor(pageBeanName, pageBeanClass);
}
private String getBeanName(Class<?> pageBeanClass)
@@ -320,12 +334,12 @@ public class DefaultViewConfigEntry impl
{
return true;
}
- if (!(o instanceof ViewConfigEntry))
+ if (!(o instanceof ViewConfigDescriptor))
{
return false;
}
- ViewConfigEntry that = (ViewConfigEntry) o;
+ ViewConfigDescriptor that = (ViewConfigDescriptor) o;
if (!viewId.equals(that.getViewId()))
{
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigExtractor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigExtractor.java?rev=1078478&r1=1078477&r2=1078478&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigExtractor.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigExtractor.java Sun Mar 6 14:54:06 2011
@@ -23,7 +23,8 @@ import org.apache.myfaces.extensions.cdi
import org.apache.myfaces.extensions.cdi.core.api.config.view.DefaultErrorView;
import org.apache.myfaces.extensions.cdi.core.api.security.Secured;
import org.apache.myfaces.extensions.cdi.jsf.api.config.view.Page;
-import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.ViewConfigEntry;
+import org.apache.myfaces.extensions.cdi.jsf.api.config.view.ViewConfigDescriptor;
+import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.EditableViewConfigDescriptor;
import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.ViewConfigExtractor;
import javax.inject.Named;
@@ -41,12 +42,12 @@ class DefaultViewConfigExtractor impleme
{
private static final long serialVersionUID = 5794817257216134993L;
- public ViewConfigEntry extractViewConfig(Class<? extends ViewConfig> viewDefinitionClass)
+ public ViewConfigDescriptor extractViewConfig(Class<? extends ViewConfig> viewDefinitionClass)
{
//use the interface to make clear which information we really need
- ViewConfigEntry viewConfigEntry = new ExtractedViewConfigDefinitionEntry(viewDefinitionClass);
+ ViewConfigDescriptor viewConfigDescriptor = new ExtractedViewConfigDefinitionEntry(viewDefinitionClass);
- return extractViewConfigEntry(viewDefinitionClass, viewConfigEntry);
+ return extractViewConfigDescriptor(viewDefinitionClass, viewConfigDescriptor);
}
public boolean isInlineViewConfig(Class<? extends ViewConfig> viewDefinitionClass)
@@ -54,7 +55,7 @@ class DefaultViewConfigExtractor impleme
return isResolvable(viewDefinitionClass, new ArrayList<Class<? extends Annotation>>());
}
- public ViewConfigEntry extractInlineViewConfig(Class<? extends ViewConfig> viewDefinitionClass)
+ public ViewConfigDescriptor extractInlineViewConfig(Class<? extends ViewConfig> viewDefinitionClass)
{
Class viewConfigRootMarker = ViewConfigCache.getInlineViewConfigRootMarker();
@@ -79,23 +80,34 @@ class DefaultViewConfigExtractor impleme
}
//use the interface to make clear which information we really need
- ViewConfigEntry viewConfigEntry = new ExtractedInlineViewConfigDefinitionEntry(viewDefinitionClass, basePath);
+ ViewConfigDescriptor viewConfigDescriptor =
+ new ExtractedInlineViewConfigDefinitionEntry(viewDefinitionClass, basePath);
- return extractViewConfigEntry(viewDefinitionClass, viewConfigEntry);
+ return extractViewConfigDescriptor(viewDefinitionClass, viewConfigDescriptor);
}
- private ViewConfigEntry extractViewConfigEntry(Class<? extends ViewConfig> viewDefinitionClass,
- ViewConfigEntry viewConfigEntry)
+ private ViewConfigDescriptor extractViewConfigDescriptor(Class<? extends ViewConfig> viewDefinitionClass,
+ ViewConfigDescriptor viewConfigDescriptor)
{
- scanViewConfigClass(viewDefinitionClass, (ExtractedViewConfigDefinitionEntry)viewConfigEntry);
+ scanViewConfigClass(viewDefinitionClass, (ExtractedViewConfigDefinitionEntry)viewConfigDescriptor);
- return new DefaultViewConfigEntry(viewConfigEntry.getViewId(),
+ Class<? extends ViewConfig> errorView = null;
+
+ Page.ViewParameterMode viewParameterMode = Page.ViewParameterMode.DEFAULT;
+
+ if(viewConfigDescriptor instanceof EditableViewConfigDescriptor)
+ {
+ errorView = ((EditableViewConfigDescriptor)viewConfigDescriptor).getErrorView();
+ viewParameterMode = ((EditableViewConfigDescriptor)viewConfigDescriptor).getViewParameterMode();
+ }
+
+ return new DefaultViewConfigDescriptor(viewConfigDescriptor.getViewId(),
viewDefinitionClass,
- viewConfigEntry.getNavigationMode(),
- viewConfigEntry.getViewParameter(),
- viewConfigEntry.getAccessDecisionVoters(),
- viewConfigEntry.getErrorView(),
- viewConfigEntry.getMetaData());
+ viewConfigDescriptor.getNavigationMode(),
+ viewParameterMode,
+ viewConfigDescriptor.getAccessDecisionVoters(),
+ errorView,
+ viewConfigDescriptor.getMetaData());
}
private Collection<Annotation> extractViewMetaData(
@@ -187,9 +199,9 @@ class DefaultViewConfigExtractor impleme
}
if (!scannedViewConfig.isKnownViewParameter() &&
- !pageAnnotation.viewParams().equals(Page.ViewParameter.DEFAULT))
+ !pageAnnotation.viewParams().equals(Page.ViewParameterMode.DEFAULT))
{
- scannedViewConfig.setViewParameter(pageAnnotation.viewParams());
+ scannedViewConfig.setViewParameterMode(pageAnnotation.viewParams());
}
if (!pageAnnotation.name().equals(defaultPageName))
Added: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigResolver.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigResolver.java?rev=1078478&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigResolver.java (added)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/DefaultViewConfigResolver.java Sun Mar 6 14:54:06 2011
@@ -0,0 +1,73 @@
+/*
+ * 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.extensions.cdi.jsf.impl.config.view;
+
+import org.apache.myfaces.extensions.cdi.core.api.config.view.ViewConfig;
+import org.apache.myfaces.extensions.cdi.jsf.api.config.view.ViewConfigDescriptor;
+import org.apache.myfaces.extensions.cdi.jsf.api.config.view.ViewConfigResolver;
+import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.EditableViewConfigDescriptor;
+
+import javax.enterprise.context.ApplicationScoped;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @author Gerhard Petracek
+ */
+@ApplicationScoped
+public class DefaultViewConfigResolver implements ViewConfigResolver
+{
+ public ViewConfigDescriptor getViewConfig(String viewId)
+ {
+ return ViewConfigCache.getViewConfig(viewId);
+ }
+
+ public ViewConfigDescriptor getDefaultErrorViewConfig()
+ {
+ return ViewConfigCache.getDefaultErrorView();
+ }
+
+ public ViewConfigDescriptor getErrorViewConfig(Class<? extends ViewConfig> viewDefinitionClass)
+ {
+ ViewConfigDescriptor viewConfigDescriptor = getViewConfig(viewDefinitionClass);
+
+ Class<? extends ViewConfig> errorView = null;
+ if(viewConfigDescriptor instanceof EditableViewConfigDescriptor)
+ {
+ errorView = ((EditableViewConfigDescriptor)viewConfigDescriptor).getErrorView();
+ }
+
+ if(errorView == null)
+ {
+ return getDefaultErrorViewConfig();
+ }
+ return getViewConfig(errorView);
+ }
+
+ public List<ViewConfigDescriptor> getViewConfigs()
+ {
+ return Collections
+ .unmodifiableList((List<? extends ViewConfigDescriptor>) ViewConfigCache.getViewConfigDescriptors());
+ }
+
+ public ViewConfigDescriptor getViewConfig(Class<? extends ViewConfig> viewDefinitionClass)
+ {
+ return ViewConfigCache.getViewConfig(viewDefinitionClass);
+ }
+}
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ExtractedViewConfigDefinitionEntry.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ExtractedViewConfigDefinitionEntry.java?rev=1078478&r1=1078477&r2=1078478&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ExtractedViewConfigDefinitionEntry.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ExtractedViewConfigDefinitionEntry.java Sun Mar 6 14:54:06 2011
@@ -21,8 +21,8 @@ package org.apache.myfaces.extensions.cd
import org.apache.myfaces.extensions.cdi.core.api.config.view.ViewConfig;
import org.apache.myfaces.extensions.cdi.core.api.security.AccessDecisionVoter;
import org.apache.myfaces.extensions.cdi.jsf.api.config.view.Page;
-import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.PageBeanConfigEntry;
-import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.ViewConfigEntry;
+import org.apache.myfaces.extensions.cdi.jsf.api.config.view.PageBeanDescriptor;
+import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.EditableViewConfigDescriptor;
import java.lang.annotation.Annotation;
import java.util.Map;
@@ -35,7 +35,7 @@ import java.util.Collections;
/**
* @author Gerhard Petracek
*/
-class ExtractedViewConfigDefinitionEntry implements ViewConfigEntry
+class ExtractedViewConfigDefinitionEntry implements EditableViewConfigDescriptor
{
static final String ROOT_PATH = "/";
static final String DEFAULT_EXTENSION = Page.Extension.XHTML;
@@ -59,7 +59,7 @@ class ExtractedViewConfigDefinitionEntry
protected String pageName = DEFAULT_PAGE_NAME;
private String extension = DEFAULT_EXTENSION;
private Page.NavigationMode navigationMode = null;
- private Page.ViewParameter viewParameter = null;
+ private Page.ViewParameterMode viewParameterMode = null;
public ExtractedViewConfigDefinitionEntry(Class<? extends ViewConfig> viewDefinitionClass)
{
@@ -87,16 +87,16 @@ class ExtractedViewConfigDefinitionEntry
public boolean isKnownViewParameter()
{
- return this.viewParameter != null;
+ return this.viewParameterMode != null;
}
- public Page.ViewParameter getViewParameter()
+ public Page.ViewParameterMode getViewParameterMode()
{
- if(this.viewParameter == null)
+ if(this.viewParameterMode == null)
{
- return Page.ViewParameter.DEFAULT;
+ return Page.ViewParameterMode.DEFAULT;
}
- return this.viewParameter;
+ return this.viewParameterMode;
}
public Class<? extends ViewConfig> getErrorView()
@@ -134,9 +134,9 @@ class ExtractedViewConfigDefinitionEntry
this.navigationMode = navigationMode;
}
- public void setViewParameter(Page.ViewParameter viewParameter)
+ public void setViewParameterMode(Page.ViewParameterMode viewParameterMode)
{
- this.viewParameter = viewParameter;
+ this.viewParameterMode = viewParameterMode;
}
public void setPageName(String pageName)
@@ -230,7 +230,7 @@ class ExtractedViewConfigDefinitionEntry
/*
* TODO refactor it!
*/
- public Class<? extends ViewConfig> getViewDefinitionClass()
+ public Class<? extends ViewConfig> getViewConfig()
{
throw new IllegalStateException(NOT_IMPLEMENTED_MESSAGE);
}
@@ -298,7 +298,7 @@ class ExtractedViewConfigDefinitionEntry
throw new IllegalStateException(NOT_IMPLEMENTED_MESSAGE);
}
- public List<PageBeanConfigEntry> getPageBeanDefinitions()
+ public List<PageBeanDescriptor> getPageBeanConfigs()
{
throw new IllegalStateException(NOT_IMPLEMENTED_MESSAGE);
}
Copied: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/InlineViewConfigDescriptor.java (from r1074791, myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/InlineViewConfigEntry.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/InlineViewConfigDescriptor.java?p2=myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/InlineViewConfigDescriptor.java&p1=myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/InlineViewConfigEntry.java&r1=1074791&r2=1078478&rev=1078478&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/InlineViewConfigEntry.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/InlineViewConfigDescriptor.java Sun Mar 6 14:54:06 2011
@@ -24,12 +24,13 @@ import org.apache.myfaces.extensions.cdi
/**
* @author Gerhard Petracek
*/
-class InlineViewConfigEntry
+class InlineViewConfigDescriptor
{
private final ViewConfigExtractor viewConfigExtractor;
private final Class<? extends ViewConfig> viewConfigDefinition;
- InlineViewConfigEntry(ViewConfigExtractor viewConfigExtractor, Class<? extends ViewConfig> viewConfigDefinition)
+ InlineViewConfigDescriptor(ViewConfigExtractor viewConfigExtractor,
+ Class<? extends ViewConfig> viewConfigDefinition)
{
this.viewConfigExtractor = viewConfigExtractor;
this.viewConfigDefinition = viewConfigDefinition;
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/PhasesLifecycleCallbackPhaseListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/PhasesLifecycleCallbackPhaseListener.java?rev=1078478&r1=1078477&r2=1078478&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/PhasesLifecycleCallbackPhaseListener.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/PhasesLifecycleCallbackPhaseListener.java Sun Mar 6 14:54:06 2011
@@ -24,9 +24,11 @@ import org.apache.myfaces.extensions.cdi
import org.apache.myfaces.extensions.cdi.core.api.UnhandledException;
import static org.apache.myfaces.extensions.cdi.jsf.impl.util.ExceptionUtils.invalidPhasesCallbackMethod;
import org.apache.myfaces.extensions.cdi.jsf.api.listener.phase.JsfPhaseListener;
-import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.PageBeanConfigEntry;
+import org.apache.myfaces.extensions.cdi.jsf.api.config.view.PageBeanDescriptor;
+import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.EditableViewConfigDescriptor;
+import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.LifecycleAwarePageBeanDescriptor;
import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.RequestLifecycleCallbackEntry;
-import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.ViewConfigEntry;
+import org.apache.myfaces.extensions.cdi.jsf.api.config.view.ViewConfigDescriptor;
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseListener;
@@ -96,11 +98,11 @@ public final class PhasesLifecycleCallba
//override the view-id if we have a new view
this.windowContext.setAttribute(INITIALIZED_VIEW_ID_MARKER_KEY, viewId);
- ViewConfigEntry viewDefinitionEntry = ViewConfigCache.getViewDefinition(viewId);
+ ViewConfigDescriptor viewDefinitionEntry = ViewConfigCache.getViewConfig(viewId);
- if (viewDefinitionEntry != null)
+ if (viewDefinitionEntry instanceof EditableViewConfigDescriptor)
{
- viewDefinitionEntry.invokeInitViewMethods();
+ ((EditableViewConfigDescriptor)viewDefinitionEntry).invokeInitViewMethods();
}
}
@@ -122,21 +124,21 @@ public final class PhasesLifecycleCallba
private void processPreRenderView(String viewId)
{
- ViewConfigEntry viewDefinitionEntry = ViewConfigCache.getViewDefinition(viewId);
+ ViewConfigDescriptor viewDefinitionEntry = ViewConfigCache.getViewConfig(viewId);
- if (viewDefinitionEntry != null)
+ if (viewDefinitionEntry instanceof EditableViewConfigDescriptor)
{
- viewDefinitionEntry.invokePreRenderViewMethods();
+ ((EditableViewConfigDescriptor)viewDefinitionEntry).invokePreRenderViewMethods();
}
}
private void processPostRenderView(String viewId)
{
- ViewConfigEntry viewDefinitionEntry = ViewConfigCache.getViewDefinition(viewId);
+ ViewConfigDescriptor viewDefinitionEntry = ViewConfigCache.getViewConfig(viewId);
- if (viewDefinitionEntry != null)
+ if (viewDefinitionEntry instanceof EditableViewConfigDescriptor)
{
- viewDefinitionEntry.invokePostRenderViewMethods();
+ ((EditableViewConfigDescriptor)viewDefinitionEntry).invokePostRenderViewMethods();
}
}
@@ -156,29 +158,34 @@ public final class PhasesLifecycleCallba
String viewId = viewRoot.getViewId();
- ViewConfigEntry viewDefinitionEntry = ViewConfigCache.getViewDefinition(viewId);
+ ViewConfigDescriptor viewDefinitionEntry = ViewConfigCache.getViewConfig(viewId);
if(viewDefinitionEntry == null)
{
return;
}
- List<PageBeanConfigEntry> beanEntries = viewDefinitionEntry.getPageBeanDefinitions();
+ List<PageBeanDescriptor> beanEntries = viewDefinitionEntry.getPageBeanConfigs();
Object bean;
RequestLifecycleCallbackEntry phasesLifecycleCallbackEntry;
List<Method> lifecycleCallbacks;
- for(PageBeanConfigEntry beanEntry : beanEntries)
+ for(PageBeanDescriptor beanEntry : beanEntries)
{
- phasesLifecycleCallbackEntry = beanEntry.getPhasesLifecycleCallback(phaseEvent.getPhaseId());
+ if(!(beanEntry instanceof LifecycleAwarePageBeanDescriptor))
+ {
+ continue;
+ }
+
+ phasesLifecycleCallbackEntry = ((LifecycleAwarePageBeanDescriptor)beanEntry)
+ .getPhasesLifecycleCallback(phaseEvent.getPhaseId());
if(phasesLifecycleCallbackEntry == null)
{
continue;
}
-
if(beforePhase)
{
lifecycleCallbacks = phasesLifecycleCallbackEntry.getBeforePhaseCallbacks();
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/PreRenderViewBeanLoader.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/PreRenderViewBeanLoader.java?rev=1078478&r1=1078477&r2=1078478&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/PreRenderViewBeanLoader.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/PreRenderViewBeanLoader.java Sun Mar 6 14:54:06 2011
@@ -18,11 +18,11 @@
*/
package org.apache.myfaces.extensions.cdi.jsf.impl.config.view;
+import org.apache.myfaces.extensions.cdi.jsf.api.config.view.PageBeanDescriptor;
import org.apache.myfaces.extensions.cdi.jsf.api.listener.phase.BeforePhase;
import org.apache.myfaces.extensions.cdi.jsf.api.listener.phase.JsfPhaseId;
import org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils;
-import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.PageBeanConfigEntry;
-import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.ViewConfigEntry;
+import org.apache.myfaces.extensions.cdi.jsf.api.config.view.ViewConfigDescriptor;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.event.Observes;
@@ -41,16 +41,16 @@ public class PreRenderViewBeanLoader
{
String viewId = event.getFacesContext().getViewRoot().getViewId();
- ViewConfigEntry viewDefinitionEntry = ViewConfigCache.getViewDefinition(viewId);
+ ViewConfigDescriptor viewDefinitionEntry = ViewConfigCache.getViewConfig(viewId);
if(viewDefinitionEntry == null)
{
return;
}
- List<PageBeanConfigEntry> beanEntries = viewDefinitionEntry.getPageBeanDefinitions();
+ List<PageBeanDescriptor> beanEntries = viewDefinitionEntry.getPageBeanConfigs();
- for(PageBeanConfigEntry beanEntry : beanEntries)
+ for(PageBeanDescriptor beanEntry : beanEntries)
{
//resolve bean to trigger @PostConstruct if it isn't scoped
CodiUtils.getOrCreateScopedInstanceOfBeanByName(beanManager, beanEntry.getBeanName(), Object.class);
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewConfigCache.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewConfigCache.java?rev=1078478&r1=1078477&r2=1078478&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewConfigCache.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewConfigCache.java Sun Mar 6 14:54:06 2011
@@ -19,7 +19,8 @@
package org.apache.myfaces.extensions.cdi.jsf.impl.config.view;
import org.apache.myfaces.extensions.cdi.core.api.config.view.ViewConfig;
-import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.ViewConfigEntry;
+import org.apache.myfaces.extensions.cdi.jsf.api.config.view.ViewConfigDescriptor;
+import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.EditableViewConfigDescriptor;
import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.ViewConfigExtractor;
import org.apache.myfaces.extensions.cdi.core.api.config.view.DefaultErrorView;
@@ -45,21 +46,21 @@ public class ViewConfigCache
{
//we don't need a ConcurrentHashMap - write access is only allowed during the startup (by one thread)
- private static Map<ClassLoader, Map<String, ViewConfigEntry>>
+ private static Map<ClassLoader, Map<String, ViewConfigDescriptor>>
viewIdToViewDefinitionEntryMapping
- = new HashMap<ClassLoader, Map<String, ViewConfigEntry>>();
+ = new HashMap<ClassLoader, Map<String, ViewConfigDescriptor>>();
- private static Map<ClassLoader, Map<Class<? extends ViewConfig>, ViewConfigEntry>>
+ private static Map<ClassLoader, Map<Class<? extends ViewConfig>, ViewConfigDescriptor>>
viewDefinitionToViewDefinitionEntryMapping =
- new HashMap<ClassLoader, Map<Class<? extends ViewConfig>, ViewConfigEntry>>();
+ new HashMap<ClassLoader, Map<Class<? extends ViewConfig>, ViewConfigDescriptor>>();
- private static Map<ClassLoader, List<InlineViewConfigEntry>>
+ private static Map<ClassLoader, List<InlineViewConfigDescriptor>>
inlineViewDefinitionEntryList =
- new HashMap<ClassLoader, List<InlineViewConfigEntry>>();
+ new HashMap<ClassLoader, List<InlineViewConfigDescriptor>>();
- private static Map<ClassLoader, ViewConfigEntry>
+ private static Map<ClassLoader, ViewConfigDescriptor>
defaultErrorView =
- new HashMap<ClassLoader, ViewConfigEntry>();
+ new HashMap<ClassLoader, ViewConfigDescriptor>();
private static Map<ClassLoader, Class>
inlineViewConfigRootMarker =
@@ -88,34 +89,34 @@ public class ViewConfigCache
lazyInitAllowed.put(getClassloader(), newValue);
}
- static void addViewDefinition(String viewId, ViewConfigEntry viewDefinitionEntry)
+ static void addViewConfigDescriptor(String viewId, ViewConfigDescriptor viewConfigDescriptor)
{
- storeViewDefinition(viewId, viewDefinitionEntry, false);
+ storeViewConfigDescriptor(viewId, viewConfigDescriptor, false);
}
- static void replaceViewDefinition(String viewId, ViewConfigEntry viewDefinitionEntry)
+ static void replaceViewConfigDescriptor(String viewId, ViewConfigDescriptor viewDefinitionEntry)
{
- storeViewDefinition(viewId, viewDefinitionEntry, true);
+ storeViewConfigDescriptor(viewId, viewDefinitionEntry, true);
}
- public static ViewConfigEntry getViewDefinition(String viewId)
+ public static ViewConfigDescriptor getViewConfig(String viewId)
{
return getViewIdToViewDefinitionEntryMapping(true).get(viewId);
}
- public static Collection<ViewConfigEntry> getViewConfigEntries()
+ public static Collection<ViewConfigDescriptor> getViewConfigDescriptors()
{
- Map<String, ViewConfigEntry> entryMap = getViewIdToViewDefinitionEntryMapping(true);
+ Map<String, ViewConfigDescriptor> entryMap = getViewIdToViewDefinitionEntryMapping(true);
return entryMap.values();
}
- public static ViewConfigEntry getViewDefinition(Class<? extends ViewConfig> viewDefinitionClass)
+ public static ViewConfigDescriptor getViewConfig(Class<? extends ViewConfig> viewDefinitionClass)
{
return getViewDefinitionToViewDefinitionEntryMapping(true).get(viewDefinitionClass);
}
- public static ViewConfigEntry getDefaultErrorView()
+ public static ViewConfigDescriptor getDefaultErrorView()
{
lazyInlineViewConfigCompilation();
return defaultErrorView.get(getClassloader());
@@ -137,7 +138,7 @@ public class ViewConfigCache
static void queueInlineViewConfig(ViewConfigExtractor viewConfigExtractor, Class<? extends ViewConfig> beanClass)
{
getInlineViewDefinitionToViewDefinitionEntryList()
- .add(new InlineViewConfigEntry(viewConfigExtractor, beanClass));
+ .add(new InlineViewConfigDescriptor(viewConfigExtractor, beanClass));
}
static void setInlineViewConfigRootMarker(Class viewConfigRootClass)
@@ -163,7 +164,7 @@ public class ViewConfigCache
}
static void storeViewDefinition(String viewId,
- ViewConfigEntry viewDefinitionEntry,
+ ViewConfigDescriptor viewDefinitionEntry,
boolean allowReplace,
boolean lazyInit)
{
@@ -171,41 +172,43 @@ public class ViewConfigCache
{
throw ambiguousViewDefinitionException(
viewId,
- viewDefinitionEntry.getViewDefinitionClass(),
- getViewIdToViewDefinitionEntryMapping(lazyInit).get(viewId).getViewDefinitionClass());
+ viewDefinitionEntry.getViewConfig(),
+ getViewIdToViewDefinitionEntryMapping(lazyInit).get(viewId).getViewConfig());
}
tryToStorePageAsDefaultErrorPage(viewDefinitionEntry);
getViewIdToViewDefinitionEntryMapping(lazyInit).put(viewId, viewDefinitionEntry);
getViewDefinitionToViewDefinitionEntryMapping(lazyInit)
- .put(viewDefinitionEntry.getViewDefinitionClass(), viewDefinitionEntry);
+ .put(viewDefinitionEntry.getViewConfig(), viewDefinitionEntry);
}
- static void storeViewDefinition(String viewId, ViewConfigEntry viewDefinitionEntry, boolean allowReplace)
+ static void storeViewConfigDescriptor(String viewId,
+ ViewConfigDescriptor viewConfigDescriptor,
+ boolean allowReplace)
{
- storeViewDefinition(viewId, viewDefinitionEntry, allowReplace, true);
+ storeViewDefinition(viewId, viewConfigDescriptor, allowReplace, true);
}
- private static Map<String, ViewConfigEntry> getViewIdToViewDefinitionEntryMapping(boolean lazyInit)
+ private static Map<String, ViewConfigDescriptor> getViewIdToViewDefinitionEntryMapping(boolean lazyInit)
{
if(lazyInit)
{
lazyInlineViewConfigCompilation();
}
- Map<String, ViewConfigEntry> result = viewIdToViewDefinitionEntryMapping.get(getClassloader());
+ Map<String, ViewConfigDescriptor> result = viewIdToViewDefinitionEntryMapping.get(getClassloader());
if(result == null)
{
- result = new HashMap<String, ViewConfigEntry>();
+ result = new HashMap<String, ViewConfigDescriptor>();
viewIdToViewDefinitionEntryMapping.put(getClassloader(), result);
}
return result;
}
- private static Map<Class<? extends ViewConfig>, ViewConfigEntry>
+ private static Map<Class<? extends ViewConfig>, ViewConfigDescriptor>
getViewDefinitionToViewDefinitionEntryMapping(boolean lazyInit)
{
if(lazyInit)
@@ -213,45 +216,46 @@ public class ViewConfigCache
lazyInlineViewConfigCompilation();
}
- Map<Class<? extends ViewConfig>, ViewConfigEntry> result =
+ Map<Class<? extends ViewConfig>, ViewConfigDescriptor> result =
viewDefinitionToViewDefinitionEntryMapping.get(getClassloader());
if(result == null)
{
- result = new HashMap<Class<? extends ViewConfig>, ViewConfigEntry>();
+ result = new HashMap<Class<? extends ViewConfig>, ViewConfigDescriptor>();
viewDefinitionToViewDefinitionEntryMapping.put(getClassloader(), result);
}
return result;
}
- private static List<InlineViewConfigEntry> getInlineViewDefinitionToViewDefinitionEntryList()
+ private static List<InlineViewConfigDescriptor> getInlineViewDefinitionToViewDefinitionEntryList()
{
- List<InlineViewConfigEntry> inlineViewConfigEntryList = inlineViewDefinitionEntryList.get(getClassloader());
+ List<InlineViewConfigDescriptor> inlineViewConfigDescriptors =
+ inlineViewDefinitionEntryList.get(getClassloader());
- if(inlineViewConfigEntryList == null)
+ if(inlineViewConfigDescriptors == null)
{
- inlineViewConfigEntryList = new ArrayList<InlineViewConfigEntry>();
- inlineViewDefinitionEntryList.put(getClassloader(), inlineViewConfigEntryList);
+ inlineViewConfigDescriptors = new ArrayList<InlineViewConfigDescriptor>();
+ inlineViewDefinitionEntryList.put(getClassloader(), inlineViewConfigDescriptors);
}
- return inlineViewConfigEntryList;
+ return inlineViewConfigDescriptors;
}
- private static void tryToStorePageAsDefaultErrorPage(ViewConfigEntry viewDefinitionEntry)
+ private static void tryToStorePageAsDefaultErrorPage(ViewConfigDescriptor viewDefinitionEntry)
{
- if(DefaultErrorView.class.isAssignableFrom(viewDefinitionEntry.getViewDefinitionClass()))
+ if(DefaultErrorView.class.isAssignableFrom(viewDefinitionEntry.getViewConfig()))
{
- ViewConfigEntry currentErrorView = getDefaultErrorView();
+ ViewConfigDescriptor currentErrorView = getDefaultErrorView();
if(currentErrorView != null)
{
- throw ambiguousDefaultErrorViewDefinitionException(viewDefinitionEntry.getViewDefinitionClass(),
- currentErrorView.getViewDefinitionClass());
+ throw ambiguousDefaultErrorViewDefinitionException(viewDefinitionEntry.getViewConfig(),
+ currentErrorView.getViewConfig());
}
setDefaultErrorView(viewDefinitionEntry);
}
}
- private static void setDefaultErrorView(ViewConfigEntry viewDefinitionEntry)
+ private static void setDefaultErrorView(ViewConfigDescriptor viewDefinitionEntry)
{
//TODO
defaultErrorView.put(getClassloader(), viewDefinitionEntry);
@@ -264,10 +268,10 @@ public class ViewConfigCache
private static void lazyInlineViewConfigCompilation()
{
- List<InlineViewConfigEntry> inlineViewConfigEntryList =
+ List<InlineViewConfigDescriptor> inlineViewConfigDescriptors =
inlineViewDefinitionEntryList.get(getClassloader());
- if(inlineViewConfigEntryList == null)
+ if(inlineViewConfigDescriptors == null)
{
//there is no inline view config or it is already processed
return;
@@ -278,7 +282,7 @@ public class ViewConfigCache
return;
}
- registerInlineViewConfigEntry();
+ registerInlineViewConfigDescriptor();
}
private static boolean isInWriteMode()
@@ -286,29 +290,32 @@ public class ViewConfigCache
return !Boolean.TRUE.equals(lazyInitAllowed.get(getClassloader()));
}
- private static synchronized void registerInlineViewConfigEntry()
+ private static synchronized void registerInlineViewConfigDescriptor()
{
- List<InlineViewConfigEntry> inlineViewConfigEntryList =
+ List<InlineViewConfigDescriptor> inlineViewConfigDescriptors =
inlineViewDefinitionEntryList.get(getClassloader());
// switch into paranoia mode
- if(inlineViewConfigEntryList == null)
+ if(inlineViewConfigDescriptors == null)
{
return;
}
- ViewConfigEntry viewConfigEntry;
- for(InlineViewConfigEntry inlineViewConfigEntry : inlineViewConfigEntryList)
+ ViewConfigDescriptor viewConfig;
+ for(InlineViewConfigDescriptor inlineViewConfigDescriptor : inlineViewConfigDescriptors)
{
- viewConfigEntry = inlineViewConfigEntry.getViewConfigExtractor()
- .extractInlineViewConfig(inlineViewConfigEntry.getViewConfigDefinition());
+ viewConfig = inlineViewConfigDescriptor.getViewConfigExtractor()
+ .extractInlineViewConfig(inlineViewConfigDescriptor.getViewConfigDefinition());
- if(viewConfigEntry != null)
+ if(viewConfig != null)
{
- //activate view controller annotations
- viewConfigEntry.addPageBean(viewConfigEntry.getViewDefinitionClass());
+ if(viewConfig instanceof EditableViewConfigDescriptor)
+ {
+ //activate view controller annotations
+ ((EditableViewConfigDescriptor)viewConfig).addPageBean(viewConfig.getViewConfig());
+ }
- storeViewDefinition(viewConfigEntry.getViewId(), viewConfigEntry, false, false);
+ storeViewDefinition(viewConfig.getViewId(), viewConfig, false, false);
}
}
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewConfigExtension.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewConfigExtension.java?rev=1078478&r1=1078477&r2=1078478&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewConfigExtension.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewConfigExtension.java Sun Mar 6 14:54:06 2011
@@ -26,8 +26,9 @@ import org.apache.myfaces.extensions.cdi
import org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils;
import org.apache.myfaces.extensions.cdi.jsf.api.config.view.Page;
import org.apache.myfaces.extensions.cdi.jsf.api.config.view.InlineViewConfigRoot;
-import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.PageBeanConfigEntry;
-import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.ViewConfigEntry;
+import org.apache.myfaces.extensions.cdi.jsf.api.config.view.PageBeanDescriptor;
+import org.apache.myfaces.extensions.cdi.jsf.api.config.view.ViewConfigDescriptor;
+import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.EditableViewConfigDescriptor;
import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.ViewConfigExtractor;
import org.apache.myfaces.extensions.cdi.jsf.impl.listener.phase.ViewControllerInterceptor;
@@ -126,32 +127,35 @@ public class ViewConfigExtension impleme
this.logger.info(pageDefinitionClass.getName() + " will be used as page-definition.");
}
- ViewConfigEntry newEntry = createViewConfigEntry(pageDefinitionClass);
+ ViewConfigDescriptor newEntry = createViewConfigDescriptor(pageDefinitionClass);
if(newEntry != null)
{
- ViewConfigEntry existingEntry = ViewConfigCache.getViewDefinition(newEntry.getViewDefinitionClass());
+ ViewConfigDescriptor existingDescriptor = ViewConfigCache.getViewConfig(newEntry.getViewConfig());
//TODO introduce an SPI with a better name
- if(/*viewConfigEntry != null*/existingEntry instanceof DefaultViewConfigEntry
- && ((DefaultViewConfigEntry)existingEntry).isSimpleEntryMode())
+ if(/*viewConfigDescriptor != null*/existingDescriptor instanceof DefaultViewConfigDescriptor
+ && ((DefaultViewConfigDescriptor)existingDescriptor).isSimpleEntryMode())
{
//in this case the alternative view-controller approach which just adds page-beans was invoked before
//-> we just have to use the page bean of the existing entry
//here we have a simple-entry! (which just contains page-bean definitions)
- for(PageBeanConfigEntry pageBeanConfigEntry : existingEntry.getPageBeanDefinitions())
+ for(PageBeanDescriptor pageBeanDescriptor : existingDescriptor.getPageBeanConfigs())
{
//add page-beans to the real entry
- newEntry.addPageBean(pageBeanConfigEntry.getBeanClass());
+ if(newEntry instanceof EditableViewConfigDescriptor)
+ {
+ ((EditableViewConfigDescriptor)newEntry).addPageBean(pageBeanDescriptor.getBeanClass());
+ }
}
- ViewConfigCache.replaceViewDefinition(newEntry.getViewId(), newEntry);
+ ViewConfigCache.replaceViewConfigDescriptor(newEntry.getViewId(), newEntry);
return;
}
//add created entry
//if there is already an normal (not simple!) entry force an exception
- ViewConfigCache.addViewDefinition(newEntry.getViewId(), newEntry);
+ ViewConfigCache.addViewConfigDescriptor(newEntry.getViewId(), newEntry);
}
}
@@ -204,32 +208,38 @@ public class ViewConfigExtension impleme
for(Class<? extends ViewConfig> viewConfigClass : view.value())
{
- ViewConfigEntry viewConfigEntry = ViewConfigCache.getViewDefinition(viewConfigClass);
+ ViewConfigDescriptor viewConfigDescriptor = ViewConfigCache.getViewConfig(viewConfigClass);
- if(viewConfigEntry == null)
+ if(viewConfigDescriptor == null)
{
- ViewConfigEntry entry = createViewConfigEntry(viewConfigClass);
+ ViewConfigDescriptor entry = createViewConfigDescriptor(viewConfigClass);
if(entry != null)
{
- entry.addPageBean(annotatedType.getJavaClass());
+ if(entry instanceof EditableViewConfigDescriptor)
+ {
+ ((EditableViewConfigDescriptor)entry).addPageBean(annotatedType.getJavaClass());
+ }
- //TODO introduce an SPI with a better name
- if(entry instanceof DefaultViewConfigEntry)
+ if(entry instanceof DefaultViewConfigDescriptor)
{
- ((DefaultViewConfigEntry)entry).activateSimpleEntryMode();
+ //TODO introduce an SPI with a better name
+ ((DefaultViewConfigDescriptor)entry).activateSimpleEntryMode();
}
- ViewConfigCache.addViewDefinition(entry.getViewId(), entry);
+ ViewConfigCache.addViewConfigDescriptor(entry.getViewId(), entry);
}
}
else
{
- viewConfigEntry.addPageBean(annotatedType.getJavaClass());
+ if(viewConfigDescriptor instanceof EditableViewConfigDescriptor)
+ {
+ ((EditableViewConfigDescriptor)viewConfigDescriptor).addPageBean(annotatedType.getJavaClass());
+ }
}
}
}
- protected ViewConfigEntry createViewConfigEntry(Class<? extends ViewConfig> viewDefinitionClass)
+ protected ViewConfigDescriptor createViewConfigDescriptor(Class<? extends ViewConfig> viewDefinitionClass)
{
//we use abstract classes for nesting definitions
//TODO log a warning in case of project-stage dev
@@ -238,7 +248,7 @@ public class ViewConfigExtension impleme
return null;
}
- ViewConfigEntry result = getViewConfigExtractor().extractViewConfig(viewDefinitionClass);
+ ViewConfigDescriptor result = getViewConfigExtractor().extractViewConfig(viewDefinitionClass);
return result;
}
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewControllerActionListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewControllerActionListener.java?rev=1078478&r1=1078477&r2=1078478&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewControllerActionListener.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/ViewControllerActionListener.java Sun Mar 6 14:54:06 2011
@@ -20,7 +20,8 @@ package org.apache.myfaces.extensions.cd
import org.apache.myfaces.extensions.cdi.core.api.Deactivatable;
import org.apache.myfaces.extensions.cdi.core.impl.util.ClassDeactivation;
-import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.ViewConfigEntry;
+import org.apache.myfaces.extensions.cdi.jsf.api.config.view.ViewConfigDescriptor;
+import org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi.EditableViewConfigDescriptor;
import javax.faces.event.ActionListener;
import javax.faces.event.ActionEvent;
@@ -48,12 +49,12 @@ public class ViewControllerActionListene
return;
}
- ViewConfigEntry viewConfigEntry =
- ViewConfigCache.getViewDefinition(FacesContext.getCurrentInstance().getViewRoot().getViewId());
+ ViewConfigDescriptor viewConfigDescriptor =
+ ViewConfigCache.getViewConfig(FacesContext.getCurrentInstance().getViewRoot().getViewId());
- if(viewConfigEntry != null)
+ if(viewConfigDescriptor instanceof EditableViewConfigDescriptor)
{
- viewConfigEntry.invokePrePageActionMethods();
+ ((EditableViewConfigDescriptor)viewConfigDescriptor).invokePrePageActionMethods();
}
this.wrapped.processAction(actionEvent);
Copied: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/EditableViewConfigDescriptor.java (from r1074791, myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/ViewConfigEntry.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/EditableViewConfigDescriptor.java?p2=myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/EditableViewConfigDescriptor.java&p1=myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/ViewConfigEntry.java&r1=1074791&r2=1078478&rev=1078478&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/ViewConfigEntry.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/EditableViewConfigDescriptor.java Sun Mar 6 14:54:06 2011
@@ -19,30 +19,20 @@
package org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi;
import org.apache.myfaces.extensions.cdi.core.api.config.view.ViewConfig;
-import org.apache.myfaces.extensions.cdi.core.api.security.AccessDecisionVoter;
import org.apache.myfaces.extensions.cdi.jsf.api.config.view.Page;
-
-import java.lang.annotation.Annotation;
-import java.util.List;
+import org.apache.myfaces.extensions.cdi.jsf.api.config.view.ViewConfigDescriptor;
/**
* @author Gerhard Petracek
*/
-public interface ViewConfigEntry
+public interface EditableViewConfigDescriptor extends ViewConfigDescriptor
{
- String getViewId();
-
- Class<? extends ViewConfig> getViewDefinitionClass();
-
+ //it isn't available in ViewConfigDescriptor to avoid confusions of app-developers
+ //(e.g. navigation to the error view should be handled differently)
Class<? extends ViewConfig> getErrorView();
- Page.NavigationMode getNavigationMode();
-
- Page.ViewParameter getViewParameter();
-
- List<Annotation> getMetaData();
-
- List<Class<? extends AccessDecisionVoter>> getAccessDecisionVoters();
+ //due to the usage in @Page we can't move it to the api of the jsf2 module
+ Page.ViewParameterMode getViewParameterMode();
void addPageBean(Class pageBeanClass);
@@ -53,6 +43,4 @@ public interface ViewConfigEntry
void invokePreRenderViewMethods();
void invokePostRenderViewMethods();
-
- List<PageBeanConfigEntry> getPageBeanDefinitions();
}
Copied: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/LifecycleAwarePageBeanDescriptor.java (from r1074791, myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/PageBeanConfigEntry.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/LifecycleAwarePageBeanDescriptor.java?p2=myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/LifecycleAwarePageBeanDescriptor.java&p1=myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/PageBeanConfigEntry.java&r1=1074791&r2=1078478&rev=1078478&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/PageBeanConfigEntry.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/LifecycleAwarePageBeanDescriptor.java Sun Mar 6 14:54:06 2011
@@ -18,6 +18,8 @@
*/
package org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi;
+import org.apache.myfaces.extensions.cdi.jsf.api.config.view.PageBeanDescriptor;
+
import javax.faces.event.PhaseId;
import java.lang.reflect.Method;
import java.util.List;
@@ -25,12 +27,8 @@ import java.util.List;
/**
* @author Gerhard Petracek
*/
-public interface PageBeanConfigEntry
+public interface LifecycleAwarePageBeanDescriptor extends PageBeanDescriptor
{
- Class getBeanClass();
-
- String getBeanName();
-
List<Method> getInitViewMethods();
List<Method> getPrePageActionMethods();
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/ViewConfigExtractor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/ViewConfigExtractor.java?rev=1078478&r1=1078477&r2=1078478&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/ViewConfigExtractor.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/view/spi/ViewConfigExtractor.java Sun Mar 6 14:54:06 2011
@@ -19,6 +19,7 @@
package org.apache.myfaces.extensions.cdi.jsf.impl.config.view.spi;
import org.apache.myfaces.extensions.cdi.core.api.config.view.ViewConfig;
+import org.apache.myfaces.extensions.cdi.jsf.api.config.view.ViewConfigDescriptor;
import java.io.Serializable;
@@ -27,9 +28,9 @@ import java.io.Serializable;
*/
public interface ViewConfigExtractor extends Serializable
{
- ViewConfigEntry extractViewConfig(Class<? extends ViewConfig> viewDefinitionClass);
+ ViewConfigDescriptor extractViewConfig(Class<? extends ViewConfig> viewDefinitionClass);
boolean isInlineViewConfig(Class<? extends ViewConfig> viewDefinitionClass);
- ViewConfigEntry extractInlineViewConfig(Class<? extends ViewConfig> viewDefinitionClass);
+ ViewConfigDescriptor extractInlineViewConfig(Class<? extends ViewConfig> viewDefinitionClass);
}
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/DefaultViewControllerStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/DefaultViewControllerStrategy.java?rev=1078478&r1=1078477&r2=1078478&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/DefaultViewControllerStrategy.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/DefaultViewControllerStrategy.java Sun Mar 6 14:54:06 2011
@@ -126,6 +126,6 @@ public class DefaultViewControllerStrate
private String resolveViewId(Class<? extends ViewConfig> viewDefinitionClass)
{
- return ViewConfigCache.getViewDefinition(viewDefinitionClass).getViewId();
+ return ViewConfigCache.getViewConfig(viewDefinitionClass).getViewId();
}
}