Author: wesw
Date: Mon Apr 27 02:09:35 2009
New Revision: 768855
URL: http://svn.apache.org/viewvc?rev=768855&view=rev
Log:
WW-3102 minor changes per findbugs analysis
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ActionComponent.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Bean.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Component.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Date.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ElseIf.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/FormButton.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Param.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ApplicationMap.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/DefaultStaticContentLoader.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/RequestMap.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/SessionMap.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/CheckboxInterceptor.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/MessageStoreInterceptor.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ScopeInterceptor.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/DateFormatter.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/FastByteArrayOutputStream.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/IteratorStatus.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AnchorTag.java
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ActionComponent.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ActionComponent.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ActionComponent.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ActionComponent.java
Mon Apr 27 02:09:35 2009
@@ -128,7 +128,6 @@
protected ValueStackFactory valueStackFactory;
protected ActionProxyFactory actionProxyFactory;
protected ActionProxy proxy;
- protected ActionMapper actionMapper;
protected String name;
protected String namespace;
protected boolean executeResult;
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Bean.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Bean.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Bean.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Bean.java
Mon Apr 27 02:09:35 2009
@@ -97,7 +97,7 @@
@StrutsTag(name="bean", tldTagClass="org.apache.struts2.views.jsp.BeanTag",
description="Instantiate a JavaBean and place it in the context")
public class Bean extends ContextBean {
- protected static Logger LOG = LoggerFactory.getLogger(Bean.class);
+ protected static final Logger LOG = LoggerFactory.getLogger(Bean.class);
protected Object bean;
protected String name;
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Component.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Component.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Component.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Component.java
Mon Apr 27 02:09:35 2009
@@ -403,7 +403,7 @@
boolean includeContext, boolean
encodeResult, boolean forceAddSchemeHostAndPort,
boolean escapeAmp) {
String finalAction = findString(action);
- String finalMethod = method != null ? findString(method) : method;
+ String finalMethod = method != null ? findString(method) : null;
String finalNamespace = determineNamespace(namespace, getStack(), req);
ActionMapping mapping = new ActionMapping(finalAction, finalNamespace,
finalMethod, parameters);
String uri = actionMapper.getUriFromActionMapping(mapping);
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Date.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Date.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Date.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Date.java
Mon Apr 27 02:09:35 2009
@@ -274,7 +274,6 @@
public boolean end(Writer writer, String body) {
String msg = null;
- ValueStack stack = getStack();
java.util.Date date = null;
// find the name on the valueStack
try {
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ElseIf.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ElseIf.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ElseIf.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ElseIf.java
Mon Apr 27 02:09:35 2009
@@ -88,7 +88,7 @@
if (answer.booleanValue()) {
stack.getContext().put(If.ANSWER, answer);
}
- return answer != null && answer.booleanValue();
+ return answer.booleanValue();
}
public boolean end(Writer writer, String body) {
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/FormButton.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/FormButton.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/FormButton.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/FormButton.java
Mon Apr 27 02:09:35 2009
@@ -44,7 +44,6 @@
protected String method;
protected String align;
protected String type;
- protected ActionMapper actionMapper;
public FormButton(ValueStack stack, HttpServletRequest request,
HttpServletResponse response) {
super(stack, request, response);
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Param.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Param.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Param.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Param.java
Mon Apr 27 02:09:35 2009
@@ -108,7 +108,7 @@
String name = findString(this.name);
if (name == null) {
- throw new StrutsException("No name found for following
expression: " + name);
+ throw new StrutsException("No name found for following
expression: " + this.name);
}
Object value = findValue(this.value);
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java
Mon Apr 27 02:09:35 2009
@@ -308,8 +308,6 @@
// where the parameters specified in value attribute takes priority.
if (value != null && value.trim().length() > 0 && value.indexOf("?") >
0) {
- mergedParams = new LinkedHashMap();
-
String queryString = value.substring(value.indexOf("?")+1);
mergedParams = UrlHelper.parseQueryString(queryString);
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ApplicationMap.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ApplicationMap.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ApplicationMap.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ApplicationMap.java
Mon Apr 27 02:09:35 2009
@@ -86,6 +86,9 @@
final Object value = context.getAttribute(key);
entries.add(new Map.Entry() {
public boolean equals(Object obj) {
+ if (!(obj instanceof Map.Entry)) {
+ return false;
+ }
Map.Entry entry = (Map.Entry) obj;
return ((key == null) ? (entry.getKey() == null) :
key.equals(entry.getKey())) && ((value == null) ? (entry.getValue() == null) :
value.equals(entry.getValue()));
@@ -119,6 +122,9 @@
final Object value = context.getInitParameter(key);
entries.add(new Map.Entry() {
public boolean equals(Object obj) {
+ if (!(obj instanceof Map.Entry)) {
+ return false;
+ }
Map.Entry entry = (Map.Entry) obj;
return ((key == null) ? (entry.getKey() == null) :
key.equals(entry.getKey())) && ((value == null) ? (entry.getValue() == null) :
value.equals(entry.getValue()));
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/DefaultStaticContentLoader.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/DefaultStaticContentLoader.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/DefaultStaticContentLoader.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/DefaultStaticContentLoader.java
Mon Apr 27 02:09:35 2009
@@ -170,7 +170,7 @@
String pathEnding = buildPath(name, pathPrefix);
if (resourceUrl.getFile().endsWith(pathEnding))
is = resourceUrl.openStream();
- } catch (Exception ex) {
+ } catch (IOException ex) {
// just ignore it
continue;
}
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
Mon Apr 27 02:09:35 2009
@@ -602,7 +602,20 @@
File multipartSaveDir = new File(saveDir);
if (!multipartSaveDir.exists()) {
- multipartSaveDir.mkdir();
+ if (multipartSaveDir.mkdir() == false) {
+ String logMessage;
+ try {
+ logMessage = "Could not find create multipart save
directory '"+multipartSaveDir.getCanonicalPath()+"'.";
+ } catch (IOException e) {
+ logMessage = "Could not find create multipart save
directory '"+multipartSaveDir.toString()+"'.";
+ }
+ if(devMode) {
+ LOG.error(logMessage);
+ }
+ else {
+ LOG.warn(logMessage);
+ }
+ }
}
}
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/RequestMap.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/RequestMap.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/RequestMap.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/RequestMap.java
Mon Apr 27 02:09:35 2009
@@ -80,6 +80,9 @@
final Object value = request.getAttribute(key);
entries.add(new Entry() {
public boolean equals(Object obj) {
+ if (!(obj instanceof Entry)) {
+ return false;
+ }
Entry entry = (Entry) obj;
return ((key == null) ? (entry.getKey() == null) :
key.equals(entry.getKey())) && ((value == null) ? (entry.getValue() == null) :
value.equals(entry.getValue()));
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/SessionMap.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/SessionMap.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/SessionMap.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/SessionMap.java
Mon Apr 27 02:09:35 2009
@@ -117,6 +117,9 @@
final Object value = session.getAttribute(key);
entries.add(new Map.Entry<K,V>() {
public boolean equals(Object obj) {
+ if (!(obj instanceof Map.Entry)) {
+ return false;
+ }
Map.Entry<K, V> entry = (Map.Entry<K, V>) obj;
return ((key == null) ? (entry.getKey() == null) :
key.equals(entry.getKey())) && ((value == null) ? (entry.getValue() == null) :
value.equals(entry.getValue()));
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java
Mon Apr 27 02:09:35 2009
@@ -121,16 +121,16 @@
String actionName = mapping.getName();
- int lastSlashPos = actionName.lastIndexOf('/');
String id = null;
- if (lastSlashPos > -1 && actionName != null) {
- id = actionName.substring(lastSlashPos+1);
- }
-
// Only try something if the action name is specified
if (actionName != null && actionName.length() > 0) {
+ int lastSlashPos = actionName.lastIndexOf('/');
+ if (lastSlashPos > -1) {
+ id = actionName.substring(lastSlashPos+1);
+ }
+
// If a method hasn't been explicitly named, try to guess using
ReST-style patterns
if (mapping.getMethod() == null) {
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java
Mon Apr 27 02:09:35 2009
@@ -120,15 +120,18 @@
* @see
org.apache.struts2.dispatcher.mapper.ActionMapper#getUriFromActionMapping(org.apache.struts2.dispatcher.mapper.ActionMapping)
*/
public String getUriFromActionMapping(ActionMapping mapping) {
- String base = mapping.getNamespace() + mapping.getName();
+ StringBuilder retVal = new StringBuilder();
+ retVal.append(mapping.getNamespace());
+ retVal.append(mapping.getName());
for (Map.Entry<String, Object> entry : mapping.getParams().entrySet())
{
String name = entry.getKey();
if (name.equals(mapping.getName() + "Id")) {
- base = base + "/" + entry.getValue();
+ retVal.append("/");
+ retVal.append(entry.getValue());
break;
}
}
- return base;
+ return retVal.toString();
}
}
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/CheckboxInterceptor.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/CheckboxInterceptor.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/CheckboxInterceptor.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/CheckboxInterceptor.java
Mon Apr 27 02:09:35 2009
@@ -66,14 +66,15 @@
public String intercept(ActionInvocation ai) throws Exception {
Map parameters = ai.getInvocationContext().getParameters();
Map<String, String[]> newParams = new HashMap<String, String[]>();
- Set<String> keys = parameters.keySet();
- for (Iterator<String> iterator = keys.iterator(); iterator.hasNext();)
{
- String key = iterator.next();
+ Set<Map.Entry> entries = parameters.entrySet();
+ for (Iterator<Map.Entry> iterator = entries.iterator();
iterator.hasNext();) {
+ Map.Entry entry = iterator.next();
+ String key = (String)entry.getKey();
if (key.startsWith("__checkbox_")) {
String name = key.substring("__checkbox_".length());
- Object values = parameters.get(key);
+ Object values = entry.getValue();
iterator.remove();
if (values != null && values instanceof String[] &&
((String[])values).length > 1) {
LOG.debug("Bypassing automatic checkbox detection due to
multiple checkboxes of the same name: #1", name);
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java
Mon Apr 27 02:09:35 2009
@@ -317,7 +317,9 @@
}
if ((currentFile != null) && currentFile.isFile()) {
- currentFile.delete();
+ if (currentFile.delete() == false) {
+ LOG.warn("Resource Leaking: Could not remove uploaded
file '"+currentFile.getCanonicalPath()+"'.");
+ }
}
}
}
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/MessageStoreInterceptor.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/MessageStoreInterceptor.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/MessageStoreInterceptor.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/MessageStoreInterceptor.java
Mon Apr 27 02:09:35 2009
@@ -160,9 +160,9 @@
private String requestParameterSwitch = "operationMode";
private String operationMode = NONE;
- public static String fieldErrorsSessionKey =
"__MessageStoreInterceptor_FieldErrors_SessionKey";
- public static String actionErrorsSessionKey =
"__MessageStoreInterceptor_ActionErrors_SessionKey";
- public static String actionMessagesSessionKey =
"__MessageStoreInterceptor_ActionMessages_SessionKey";
+ public static final String fieldErrorsSessionKey =
"__MessageStoreInterceptor_FieldErrors_SessionKey";
+ public static final String actionErrorsSessionKey =
"__MessageStoreInterceptor_ActionErrors_SessionKey";
+ public static final String actionMessagesSessionKey =
"__MessageStoreInterceptor_ActionMessages_SessionKey";
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ScopeInterceptor.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ScopeInterceptor.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ScopeInterceptor.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ScopeInterceptor.java
Mon Apr 27 02:09:35 2009
@@ -210,6 +210,9 @@
public String toString() {
return "NULL";
}
+ public int hashCode() {
+ return 1; // All instances of this class are equivalent
+ }
public boolean equals(Object obj) {
return obj == null || (obj instanceof NULLClass);
}
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/DateFormatter.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/DateFormatter.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/DateFormatter.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/DateFormatter.java
Mon Apr 27 02:09:35 2009
@@ -57,7 +57,7 @@
}
public void setDate(Date date) {
- this.date = date;
+ this.date = (date == null) ? null : (Date)date.clone();
}
public void setDate(int date) {
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/FastByteArrayOutputStream.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/FastByteArrayOutputStream.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/FastByteArrayOutputStream.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/FastByteArrayOutputStream.java
Mon Apr 27 02:09:35 2009
@@ -134,10 +134,20 @@
* This method is need only for debug. And needed for tests generated
files.
*/
private void writeToFile() {
+ FileOutputStream fileOutputStream = null;
try {
- writeTo(new FileOutputStream("/tmp/" + getClass().getName() +
System.currentTimeMillis() + ".log"));
+ fileOutputStream = new FileOutputStream("/tmp/" +
getClass().getName() + System.currentTimeMillis() + ".log");
+ writeTo(fileOutputStream);
} catch (IOException e) {
// Ignore
+ } finally {
+ if (fileOutputStream != null) {
+ try {
+ fileOutputStream.close();
+ } catch (IOException e) {
+ // Ignore
+ }
+ }
}
}
@@ -258,4 +268,4 @@
public void close() {
closed = true;
}
-}
\ No newline at end of file
+}
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/IteratorStatus.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/IteratorStatus.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/IteratorStatus.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/IteratorStatus.java
Mon Apr 27 02:09:35 2009
@@ -77,7 +77,7 @@
}
public boolean isOdd() {
- return ((state.index + 1) % 2) == 1;
+ return ((state.index + 1) % 2) != 0;
}
public int modulus(int operand) {
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AnchorTag.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AnchorTag.java?rev=768855&r1=768854&r2=768855&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AnchorTag.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AnchorTag.java
Mon Apr 27 02:09:35 2009
@@ -39,7 +39,6 @@
protected String href;
protected String includeParams;
protected String scheme;
- protected String value;
protected String action;
protected String namespace;
protected String method;