Log message: From: To:
Path:
Author:
Issue:
File name:
File type:
Activity by path
Activity by time
2008-04
Activity by year and month
Activity by author
authors by first/last commit
Core group
Developer turnover
Changes    Collaboration    Timeline    Rss    Widget            
1 - 20 of 14273  Next ›
14273 30.01.2015 00:24:53, by edburns
http://java.net/jira/browse/JAVASERVERFACES-3735


SECTION: Modified Files
----------------------------
M test/servlet30/pom.xml
M jsf-ri/src/main/java/com/sun/faces/config/WebConfiguration.java

- new context-param com.sun.faces.forceAlwaysWriteFlashCookie causes the
flash cookie to always be written regardless of whether or not the
flash has data.

M jsf-ri/src/main/java/com/sun/faces/context/flash/ELFlash.java

- Supportfor the new context param

M jsf-ri/src/main/java/com/sun/faces/context/FacesContextFactoryImpl.java

- Make the context param value accessible in a performant fashion.

A test/servlet30/flashForceWriteCookie
A test/servlet30/flashForceWriteCookie/nbactions.xml
A test/servlet30/flashForceWriteCookie/src
A test/servlet30/flashForceWriteCookie/src/main
A test/servlet30/flashForceWriteCookie/src/main/webapp
A test/servlet30/flashForceWriteCookie/src/main/webapp/WEB-INF
A test/servlet30/flashForceWriteCookie/src/main/webapp/WEB-INF/web.xml
A test/servlet30/flashForceWriteCookie/src/main/webapp/WEB-INF/glassfish-web.xml
A test/servlet30/flashForceWriteCookie/src/main/webapp/first.xhtml
A test/servlet30/flashForceWriteCookie/src/main/webapp/third.xhtml
A test/servlet30/flashForceWriteCookie/src/main/webapp/second.xhtml
A test/servlet30/flashForceWriteCookie/src/main/java
A test/servlet30/flashForceWriteCookie/src/main/java/com
A test/servlet30/flashForceWriteCookie/src/main/java/com/sun
A test/servlet30/flashForceWriteCookie/src/main/java/com/sun/faces
A test/servlet30/flashForceWriteCookie/src/main/java/com/sun/faces/test
A test/servlet30/flashForceWriteCookie/src/main/java/com/sun/faces/test/servlet30
A test/servlet30/flashForceWriteCookie/src/main/java/com/sun/faces/test/servlet30/flashForceWriteCookie
A test/servlet30/flashForceWriteCookie/src/main/java/com/sun/faces/test/servlet30/flashForceWriteCookie/IndexBackingBean.java
A test/servlet30/flashForceWriteCookie/src/main/resources
A test/servlet30/flashForceWriteCookie/src/test
A test/servlet30/flashForceWriteCookie/src/test/java
A test/servlet30/flashForceWriteCookie/src/test/java/com
A test/servlet30/flashForceWriteCookie/src/test/java/com/sun
A test/servlet30/flashForceWriteCookie/src/test/java/com/sun/faces
A test/servlet30/flashForceWriteCookie/src/test/java/com/sun/faces/test
A test/servlet30/flashForceWriteCookie/src/test/java/com/sun/faces/test/servlet30
A test/servlet30/flashForceWriteCookie/src/test/java/com/sun/faces/test/servlet30/flashForceWriteCookie
A test/servlet30/flashForceWriteCookie/src/test/java/com/sun/faces/test/servlet30/flashForceWriteCookie/Issue3735IT.java
A test/servlet30/flashForceWriteCookie/pom.xml

- new test content
14272 29.01.2015 23:07:15, by mriem
Fixes https://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-819, add disabled attribute for h:button
14271 29.01.2015 21:24:17, by mriem
Fixes https://java.net/jira/browse/JAVASERVERFACES-3692, [PORT 2.1.29] JAVASERVERFACES-3100, Issue with pass action listener from author code into nested composited component of a composited component
14270 29.01.2015 19:16:57, by mriem
Fixes https://java.net/jira/browse/JAVASERVERFACES-3729, Add support for generic types and injection of the requestCookieMap
14269 29.01.2015 18:20:42, by mriem
Fixes https://java.net/jira/browse/JAVASERVERFACES-3730, Add support for generic types and injection of the sessionMap
14268 29.01.2015 17:52:27, by mriem
Fixes https://java.net/jira/browse/JAVASERVERFACES-3731, Add support for generic types and injection of the viewMap
14267 29.01.2015 17:15:09, by mriem
Fixes https://java.net/jira/browse/JAVASERVERFACES-3733, Migrate jsf-test/JAVASERVERFACES-2197 to test/servlet30/compositeComponentForAttribute
14266 29.01.2015 15:31:59, by mriem
Move systest to proper package
14265 28.01.2015 20:23:20, by mriem
@Ignore test, issue #3582 was previously filed to address this
14264 28.01.2015 17:17:47, by mriem
@Ignore test because we are waiting for upstream resolution
14263 28.01.2015 17:15:03, by mriem
@Ignore test because we are waiting for upstream resolution
14262 28.01.2015 17:09:35, by edburns
http://java.net/jira/browse/JAVASERVERFACES-3716

Port to 2.2.8

r14252 | edburns | 2015-01-26 18:45:25 -0500 (Mon, 26 Jan 2015) | 64 lines

http://java.net/jira/browse/JAVASERVERFACES-3714

r14246 | edburns | 2015-01-23 15:25:36 -0500 (Fri, 23 Jan 2015) | 58 lines

http://java.net/jira/browse/JAVASERVERFACES-3714


SECTION: Modified Files
----------------------------
M jsf-ri/src/main/java/com/sun/faces/config/WebConfiguration.java

- When scanning a jar for contracts, don't stop at the first one.
Instead, find all contracts in the jar.

M test/servlet30/pom.xml
A test/servlet30/appUsingJarWithExactlyTwoContracts
A test/servlet30/appUsingJarWithExactlyTwoContracts/pom.xml
A test/servlet30/appUsingJarWithExactlyTwoContracts/nbactions.xml
A test/servlet30/appUsingJarWithExactlyTwoContracts/src
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/test
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/test/java
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/test/java/com
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/test/java/com/sun
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/test/java/com/sun/faces
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/test/java/com/sun/faces/test
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/test/java/com/sun/faces/test/servlet30
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/test/java/com/sun/faces/test/servlet30/appUsingJarWithExactlyTwoContracts
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/test/java/com/sun/faces/test/servlet30/appUsingJarWithExactlyTwoContracts/Issue3714IT.java
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/main
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/main/resources
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/main/webapp
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/main/webapp/index.xhtml
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/main/webapp/WEB-INF
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/main/webapp/WEB-INF/glassfish-web.xml
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/main/webapp/WEB-INF/web.xml
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/main/java
A test/servlet30/jarWithExactlyTwoContracts
A test/servlet30/jarWithExactlyTwoContracts/pom.xml
A test/servlet30/jarWithExactlyTwoContracts/src
A test/servlet30/jarWithExactlyTwoContracts/src/main
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/siteLayout
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/siteLayout/javax.faces.contract.xml
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/siteLayout/default.css
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/siteLayout/cssLayout.css
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/siteLayout/leftNav_foo.xhtml
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/siteLayout/topNav_Template.xhtml
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/resourcesInContractInJar
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/resourcesInContractInJar/img01.gif
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/resourcesInContractInJar/img02.gif
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/resourcesInContractInJar/javax.faces.contract.xml
A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/resourcesInContractInJar
A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/resourcesInContractInJar/img01.gif
A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/resourcesInContractInJar/img02.gif
A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/resourcesInContractInJar/javax.faces.contract.xml
A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts/basic_in_jar/Spec1338IT.java
A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main/webapp/useResourceInContractInJar.xhtml

- Test content

------------------------------------------------------------------------

------------------------------------------------------------------------
14261 28.01.2015 15:49:18, by mriem
Fixes https://java.net/jira/browse/JAVASERVERFACES-3724, Migrate jsf-test/JAVASERVERFACES_SPEC_PUBLIC-763 to test/javaee6web/injectArtifacts
14260 28.01.2015 15:15:45, by mriem
Migrate systest to proper location
14259 28.01.2015 04:08:19, by ren.zhijun.oracle
Refactoring the class to fix the following bad smells:

> NavigationHandlerImpl.java:45, UnusedImports, Priority: Normal
> Avoid unused imports such as 'com.sun.faces.config.processor.FacesFlowDefinitionConfigProcessor'.
Removed.
>
> NavigationHandlerImpl.java:201, UseStringBufferForStringAppends, Priority: Normal
> Prefer StringBuffer over += for concatenating strings.
Removed.
>
> NavigationHandlerImpl.java:203, UseStringBufferForStringAppends, Priority: Normal
> Prefer StringBuffer over += for concatenating strings.
Removed.
>
> NavigationHandlerImpl.java:257, UnusedFormalParameter, Priority: Normal
> Avoid unused method parameters such as 'context'.
Changed.
>
> NavigationHandlerImpl.java:544, UnusedLocalVariable, Priority: Normal
> Avoid unused local variables such as 'newFlow'.
removed.
>
> NavigationHandlerImpl.java:648, AvoidInstantiatingObjectsInLoops, Priority: Normal
> Avoid instantiating new objects inside loops.
Changed, need you to review.
>
> NavigationHandlerImpl.java:820, AvoidInstantiatingObjectsInLoops, Priority: Normal
> Avoid instantiating new objects inside loops.
Not changed, actually only created once.
>
>
> NavigationHandlerImpl.java:821, AvoidInstantiatingObjectsInLoops, Priority: Normal
> Avoid instantiating new objects inside loops.
Not changed, actually only created once.
>
> NavigationHandlerImpl.java:827, AvoidInstantiatingObjectsInLoops, Priority: Normal
> Avoid instantiating new objects inside loops.
Not changed, actually only created once.
>
> NavigationHandlerImpl.java:841, UseStringBufferForStringAppends, Priority: Normal
> Prefer StringBuffer over += for concatenating strings.
Changed.
>
>
> NavigationHandlerImpl.java:845, SimplifyStartsWith, Priority: Normal
> This call to String.startsWith can be rewritten using String.charAt(0).
Changed.
>
> NavigationHandlerImpl.java:846, UseIndexOfChar, Priority: Normal
> String.indexOf(char) is faster than String.indexOf(String).
Changed
>
> NavigationHandlerImpl.java:849, UseStringBufferForStringAppends, Priority: Normal
> Prefer StringBuffer over += for concatenating strings.
Changed, need you to review code.
>
>
> NavigationHandlerImpl.java:851, UseStringBufferForStringAppends, Priority: Normal
> Prefer StringBuffer over += for concatenating strings.
Changed.
>
> NavigationHandlerImpl.java:917, PrematureDeclaration, Priority: Normal
> Avoid declaring a variable if it is unreferenced before a possible exit point.
Changed
>
> NavigationHandlerImpl.java:918, PrematureDeclaration, Priority: Normal
> Avoid declaring a variable if it is unreferenced before a possible exit point.
Changed
>
> NavigationHandlerImpl.java:1052, PrematureDeclaration, Priority: Normal
> Avoid declaring a variable if it is unreferenced before a possible exit point.
Changed
>
> NavigationHandlerImpl.java:1115, PrematureDeclaration, Priority: Normal
> Avoid declaring a variable if it is unreferenced before a possible exit point.
Changed
>
> NavigationHandlerImpl.java:1223, UnusedFormalParameter, Priority: Normal
> Avoid unused method parameters such as 'toFlowDocumentId'.
Changed.
>
> NavigationHandlerImpl.java:1224, PrematureDeclaration, Priority: Normal
> Avoid declaring a variable if it is unreferenced before a possible exit point.
Changed
>
> NavigationHandlerImpl.java:1234, CollapsibleIfStatements, Priority: Normal
> These nested if statements could be combined.
Changed
>
> NavigationHandlerImpl.java:1252, PrematureDeclaration, Priority: Normal
> Avoid declaring a variable if it is unreferenced before a possible exit point.
Changed.
>
> NavigationHandlerImpl.java:1347, CollapsibleIfStatements, Priority: Normal
> These nested if statements could be combined.
Changed, need you to review the code.
>
> NavigationHandlerImpl.java:1383, RedundantFieldInitializer, Priority: Normal
> Avoid using redundant field initializer for 'isFlowEntryFromExplicitRule'.
Changed
>
> NavigationHandlerImpl.java:1394, AvoidFieldNameMatchingTypeName, Priority: Normal
> It is somewhat confusing to have a field name matching the declaring class name.
changed.
>
> NavigationHandlerImpl.java:1567, CollapsibleIfStatements, Priority: Normal
> These nested if statements could be combined.
Changed

SECTION: Modified Files
----------------------------
M jsf-ri/src/main/java/com/sun/faces/application/NavigationHandlerImpl.java


SECTION: Diffs
----------------------------
Index: jsf-ri/src/main/java/com/sun/faces/application/NavigationHandlerImpl.java
===================================================================
--- jsf-ri/src/main/java/com/sun/faces/application/NavigationHandlerImpl.java (revision 14242)
+++ jsf-ri/src/main/java/com/sun/faces/application/NavigationHandlerImpl.java (working copy)
@@ -42,7 +42,6 @@

import com.sun.faces.RIConstants;
import com.sun.faces.config.InitFacesContext;
-import com.sun.faces.config.processor.FacesFlowDefinitionConfigProcessor;
import com.sun.faces.flow.FlowHandlerImpl;
import com.sun.faces.flow.FlowImpl;
import com.sun.faces.flow.builder.MutableNavigationCase;
@@ -254,7 +253,7 @@
// --------------------------------------------------------- Private Methods
private static final String ROOT_NAVIGATION_MAP_ID = NavigationHandlerImpl.class.getName() + ".NAVIGATION_MAP";

- private Map<String, Set<NavigationCase>> getRootNavigationMap(FacesContext context) {
+ private Map<String, Set<NavigationCase>> getRootNaviMap() {
Map<String, Set<NavigationCase>> result = null;
NavigationInfo info = null;
if (null == navigationMaps) {
@@ -499,7 +498,7 @@

// If we still don't have a match, see if this is a viewNode
if (null == caseStruct && null != fromAction && null != outcome) {
- caseStruct = findViewNodeMatch(ctx, fromAction, outcome, toFlowDocumentId);
+ caseStruct = findViewNodeMatch(ctx, fromAction, outcome);
}

// If we still don't have a match, see if this is a switch
@@ -541,7 +540,6 @@
if (null != flowHandler) {

Flow currentFlow = null;
- Flow newFlow = null;
currentFlow = flowHandler.getCurrentFlow(ctx);
if (null != currentFlow) {
caseStruct = findRootNavigationMapAbandonedFlowMatch(ctx, viewId, fromAction, outcome, toFlowDocumentId);
@@ -632,6 +630,7 @@
Map<String, Set<NavigationCase>> navMap) {
CaseStruct result = null;

+ StringBuilder sb = new StringBuilder(32);
for (String fromViewId : getWildCardMatchList(ctx)) {
// See if the entire wildcard string (without the trailing "*" is
// contained in the incoming viewIdToTest.
@@ -645,7 +644,10 @@

// Append the trailing "*" so we can do our map lookup;

- String wcFromViewId = new StringBuilder(32).append(fromViewId).append('*').toString();
+ if ( sb.length() != 0 ) {
+ sb.delete(0, sb.length());
+ }
+ String wcFromViewId = sb.append(fromViewId).append('*').toString();
Set<NavigationCase> ccaseSet = navMap.get(wcFromViewId);

if (ccaseSet == null) {
@@ -725,7 +727,7 @@
String fromAction,
String outcome, String toFlowDocumentId) {
CaseStruct caseStruct = null;
- Map<String, Set<NavigationCase>> navMap = getRootNavigationMap(ctx);
+ Map<String, Set<NavigationCase>> navMap = getRootNaviMap();

if (viewId != null) {
caseStruct = findExactMatch(ctx, viewId, fromAction, outcome, toFlowDocumentId, navMap);
@@ -835,22 +837,24 @@
}

// If the viewIdToTest needs an extension, take one from the currentViewId.
+ StringBuilder viewIdBuf = new StringBuilder(viewIdToTest);
if (viewIdToTest.lastIndexOf('.') == -1) {
int idx = currentViewId.lastIndexOf('.');
if (idx != -1) {
- viewIdToTest = viewIdToTest + currentViewId.substring(idx);
+ viewIdBuf.append(currentViewId.substring(idx));
}
}
-
- if (!viewIdToTest.startsWith("/")) {
- int lastSlash = currentViewId.lastIndexOf("/");
+
+ if (viewIdToTest.charAt(0) != '/') {
+ int lastSlash = currentViewId.lastIndexOf('/');
if (lastSlash != -1) {
currentViewId = currentViewId.substring(0, lastSlash + 1);
- viewIdToTest = currentViewId + viewIdToTest;
+ viewIdBuf.insert(0, currentViewId);
} else {
- viewIdToTest = "/" + viewIdToTest;
+ viewIdBuf.insert(0, "/");
}
}
+ viewIdToTest = viewIdBuf.toString();

ViewHandler viewHandler = Util.getViewHandler(context);
FlowHandler flowHandler = context.getApplication().getFlowHandler();
@@ -914,12 +918,13 @@

private CaseStruct findSwitchMatch(FacesContext context, String fromAction,
String outcome, String toFlowDocumentId) {
+ FlowHandler flowHandler = context.getApplication().getFlowHandler();
+ if (null == flowHandler) {
+ return null;
+ }
+
CaseStruct result = null;
NavigationInfo info = getNavigationInfo(context, toFlowDocumentId, fromAction);
- FlowHandler flowHandler = context.getApplication().getFlowHandler();
- if (null == flowHandler) {
- return null;
- }
Flow currentFlow = flowHandler.getCurrentFlow(context);

if (null != info && null != info.switches && !info.switches.isEmpty()) {
@@ -1049,11 +1054,12 @@
}

private CaseStruct findMethodCallMatch(FacesContext context, String fromAction, String outcome, String toFlowDocumentId) {
+ FlowHandler flowHandler = context.getApplication().getFlowHandler();
+ if (null == flowHandler) {
+ return null;
+ }
+
CaseStruct result = null;
- FlowHandler flowHandler = context.getApplication().getFlowHandler();
- if (null == flowHandler) {
- return null;
- }
Flow currentFlow = flowHandler.getCurrentFlow(context);
if (null != currentFlow) {
FlowNode node = currentFlow.getNode(outcome);
@@ -1112,12 +1118,12 @@

private CaseStruct findFacesFlowCallMatch(FacesContext context,
String fromAction, String outcome, String toFlowDocumentId) {
- CaseStruct result = null;
-
FlowHandler flowHandler = context.getApplication().getFlowHandler();
if (null == flowHandler) {
return null;
}
+
+ CaseStruct result = null;
Flow currentFlow = flowHandler.getCurrentFlow(context);
Flow newFlow = null;
FlowCallNode facesFlowCallNode = null;
@@ -1220,20 +1226,18 @@
}

private CaseStruct findViewNodeMatch(FacesContext context,
- String fromAction, String outcome, String toFlowDocumentId) {
- CaseStruct result = null;
-
+ String fromAction, String outcome) {
FlowHandler flowHandler = context.getApplication().getFlowHandler();
if (null == flowHandler) {
return null;
}
+
+ CaseStruct result = null;
Flow currentFlow = flowHandler.getCurrentFlow(context);
if (null != currentFlow) {
FlowNode node = currentFlow.getNode(outcome);
- if (null != node) {
- if (node instanceof ViewNode) {
- result = synthesizeCaseStruct(context, currentFlow, fromAction, outcome);
- }
+ if (null != node && node instanceof ViewNode) {
+ result = synthesizeCaseStruct(context, currentFlow, fromAction, outcome);
}
}
if (null != result) {
@@ -1249,11 +1253,12 @@

private CaseStruct findReturnMatch(FacesContext context,
String fromAction, String outcome) {
- CaseStruct result = null;
FlowHandler flowHandler = context.getApplication().getFlowHandler();
if (null == flowHandler) {
return null;
}
+
+ CaseStruct result = null;
Flow currentFlow = flowHandler.getCurrentFlow(context);
if (null != currentFlow) {
// If so, see if the outcome is one of this flow's
@@ -1323,35 +1328,24 @@
String cncFromOutcome = cnc.getFromOutcome();
boolean cncHasCondition = cnc.hasCondition();
String cncToViewId = cnc.getToViewId(ctx);
-
- if ((cncFromAction != null) && (cncFromOutcome != null)) {
- if ((cncFromAction.equals(fromAction)) &&
- (cncFromOutcome.equals(outcome))) {
- result.viewId = cncToViewId;
- result.navCase = cnc;
+
+ if ((cncFromAction != null && cncFromAction.equals(fromAction) )
+ && (cncFromOutcome != null && cncFromOutcome.equals(outcome))) {
match = true;
- }
- } else if ((cncFromAction == null) && (cncFromOutcome != null)) {
- if (cncFromOutcome.equals(outcome)) {
- result.viewId = cncToViewId;
- result.navCase = cnc;
+ } else if ((cncFromAction == null)
+ && (cncFromOutcome != null && cncFromOutcome.equals(outcome) )) {
match = true;
- }
- } else if ((cncFromAction != null) && (cncFromOutcome == null)) {
- if (cncFromAction.equals(fromAction) && (outcome != null || cncHasCondition)) {
- result.viewId = cncToViewId;
- result.navCase = cnc;
+ } else if ((cncFromAction != null && cncFromAction.equals(fromAction) )
+ && (cncFromOutcome == null) && (outcome != null || cncHasCondition)) {
match = true;
- }
- } else if ((cncFromAction == null) && (cncFromOutcome == null)) {
- if (outcome != null || cncHasCondition) {
- result.viewId = cncToViewId;
- result.navCase = cnc;
+ } else if ((cncFromAction == null) && (cncFromOutcome == null)
+ && (outcome != null || cncHasCondition)) {
match = true;
- }
- }
+ }

if (match) {
+ result.viewId = cncToViewId;
+ result.navCase = cnc;
if (cncHasCondition && Boolean.FALSE.equals(cnc.getCondition(ctx))) {
match = false;
} else {
@@ -1369,8 +1363,7 @@

return null;
}
-
-
+
// ---------------------------------------------------------- Nested Classes


@@ -1380,7 +1373,7 @@
Flow currentFlow;
Flow newFlow;
FlowCallNode facesFlowCallNode;
- boolean isFlowEntryFromExplicitRule = false;
+ boolean isFlowEntryFromExplicitRule;
}

private static final class NavigationInfo {
@@ -1391,7 +1384,7 @@

private static final class NavigationMap extends AbstractMap<String,Set<NavigationCase>> {

- private HashMap<String,Set<NavigationCase>> navigationMap =
+ private HashMap<String,Set<NavigationCase>> mapToLookForNavCase =
new HashMap<>();
private TreeSet<String> wildcardMatchList =
new TreeSet<>(new Comparator<String>() {
@@ -1406,13 +1399,13 @@

@Override
public int size() {
- return navigationMap.size();
+ return mapToLookForNavCase.size();
}


@Override
public boolean isEmpty() {
- return navigationMap.isEmpty();
+ return mapToLookForNavCase.isEmpty();
}


@@ -1425,9 +1418,9 @@
throw new IllegalArgumentException();
}
updateWildcards(key);
- Set<NavigationCase> existing = navigationMap.get(key);
+ Set<NavigationCase> existing = mapToLookForNavCase.get(key);
if (existing == null) {
- navigationMap.put(key, value);
+ mapToLookForNavCase.put(key, value);
return null;
} else {
existing.addAll(value);
@@ -1444,9 +1437,9 @@
for (Map.Entry<? extends String, ? extends Set<NavigationCase>> entry : m.entrySet()) {
String key = entry.getKey();
updateWildcards(key);
- Set<NavigationCase> existing = navigationMap.get(key);
+ Set<NavigationCase> existing = mapToLookForNavCase.get(key);
if (existing == null) {
- navigationMap.put(key, entry.getValue());
+ mapToLookForNavCase.put(key, entry.getValue());
} else {
existing.addAll(entry.getValue());
}
@@ -1532,7 +1525,7 @@
return new Iterator<Entry<String,Set<NavigationCase>>>() {

Iterator<Entry<String, Set<NavigationCase>>> i =
- navigationMap.entrySet().iterator();
+ mapToLookForNavCase.entrySet().iterator();

@Override
public boolean hasNext() {
@@ -1563,13 +1556,10 @@

private void updateWildcards(String fromViewId) {

- if (!navigationMap.containsKey(fromViewId)) {
- if (fromViewId.endsWith("*")) {
+ if (!mapToLookForNavCase.containsKey(fromViewId) && fromViewId.endsWith("*")) {
wildcardMatchList.add(fromViewId.substring(0, fromViewId.lastIndexOf('*')));
- }
}
+ }

- }
-
}
}
14258 27.01.2015 22:41:37, by edburns
http://java.net/jira/browse/JAVASERVERFACES-3716

Port to 2.2.8

r14252 | edburns | 2015-01-26 18:45:25 -0500 (Mon, 26 Jan 2015) | 64 lines

http://java.net/jira/browse/JAVASERVERFACES-3714

r14246 | edburns | 2015-01-23 15:25:36 -0500 (Fri, 23 Jan 2015) | 58 lines

http://java.net/jira/browse/JAVASERVERFACES-3714


SECTION: Modified Files
----------------------------
M jsf-ri/src/main/java/com/sun/faces/config/WebConfiguration.java

- When scanning a jar for contracts, don't stop at the first one.
Instead, find all contracts in the jar.

M test/servlet30/pom.xml
A test/servlet30/appUsingJarWithExactlyTwoContracts
A test/servlet30/appUsingJarWithExactlyTwoContracts/pom.xml
A test/servlet30/appUsingJarWithExactlyTwoContracts/nbactions.xml
A test/servlet30/appUsingJarWithExactlyTwoContracts/src
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/test
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/test/java
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/test/java/com
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/test/java/com/sun
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/test/java/com/sun/faces
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/test/java/com/sun/faces/test
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/test/java/com/sun/faces/test/servlet30
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/test/java/com/sun/faces/test/servlet30/appUsingJarWithExactlyTwoContracts
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/test/java/com/sun/faces/test/servlet30/appUsingJarWithExactlyTwoContracts/Issue3714IT.java
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/main
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/main/resources
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/main/webapp
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/main/webapp/index.xhtml
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/main/webapp/WEB-INF
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/main/webapp/WEB-INF/glassfish-web.xml
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/main/webapp/WEB-INF/web.xml
A test/servlet30/appUsingJarWithExactlyTwoContracts/src/main/java
A test/servlet30/jarWithExactlyTwoContracts
A test/servlet30/jarWithExactlyTwoContracts/pom.xml
A test/servlet30/jarWithExactlyTwoContracts/src
A test/servlet30/jarWithExactlyTwoContracts/src/main
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/siteLayout
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/siteLayout/javax.faces.contract.xml
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/siteLayout/default.css
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/siteLayout/cssLayout.css
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/siteLayout/leftNav_foo.xhtml
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/siteLayout/topNav_Template.xhtml
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/resourcesInContractInJar
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/resourcesInContractInJar/img01.gif
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/resourcesInContractInJar/img02.gif
A test/servlet30/jarWithExactlyTwoContracts/src/main/resources/META-INF/contracts/resourcesInContractInJar/javax.faces.contract.xml
A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/resourcesInContractInJar
A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/resourcesInContractInJar/img01.gif
A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/resourcesInContractInJar/img02.gif
A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/resourcesInContractInJar/javax.faces.contract.xml
A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts/basic_in_jar/Spec1338IT.java
A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main/webapp/useResourceInContractInJar.xhtml

- Test content

------------------------------------------------------------------------

------------------------------------------------------------------------
14257 27.01.2015 21:08:45, by mriem
Fixes https://java.net/jira/browse/JAVASERVERFACES-3722, Add support for generic types and injection of the applicationMap
14256 27.01.2015 20:14:35, by mriem
@Ignore tests
14255 27.01.2015 19:55:38, by mriem
@Ignore test
14254 27.01.2015 16:03:44, by mriem
Fixes https://java.net/jira/browse/JAVASERVERFACES-3719, Migrate jsf-test/JAVASERVERFACES_SPEC_PUBLIC-719 to test/servlet30/faceletResourceResolver2
1 2 3 4 5 6 7 8 9 10 Next