You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by so...@apache.org on 2014/04/30 18:20:55 UTC

svn commit: r1591387 - /myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/FacesMessageWrapper.java

Author: sobryan
Date: Wed Apr 30 16:20:54 2014
New Revision: 1591387

URL: http://svn.apache.org/r1591387
Log:
TRINIDAD-2467 - FacesMessageWrapper and Skin Addition enhancements

Thanks for the patch Venkata

Modified:
    myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/FacesMessageWrapper.java

Modified: myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/FacesMessageWrapper.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/FacesMessageWrapper.java?rev=1591387&r1=1591386&r2=1591387&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/FacesMessageWrapper.java (original)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/FacesMessageWrapper.java Wed Apr 30 16:20:54 2014
@@ -18,6 +18,13 @@
  */
 package org.apache.myfaces.trinidad.component;
 
+import java.io.Externalizable;
+
+import java.io.IOException;
+import java.io.InvalidClassException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
 import javax.faces.application.FacesMessage;
 
 import org.apache.myfaces.trinidad.util.LabeledFacesMessage;
@@ -28,8 +35,13 @@ import org.apache.myfaces.trinidad.util.
  *
  * @version $Name:  $ ($Revision: adfrt/faces/adf-faces-api/src/main/java/oracle/adf/view/faces/component/FacesMessageWrapper.java#0 $) $Date: 10-nov-2005.19:09:45 $
  */
-class FacesMessageWrapper extends LabeledFacesMessage
+class FacesMessageWrapper extends LabeledFacesMessage implements Externalizable
 {
+  public FacesMessageWrapper()
+  {
+    this(new FacesMessage(), null);
+  }
+  
   public FacesMessageWrapper(FacesMessage wrapped, Object label)
   {
     _wrapped = wrapped;
@@ -55,6 +67,17 @@ class FacesMessageWrapper extends Labele
   }
 
   @Override
+  public Object getLabel()
+  {
+    if(_wrapped instanceof LabeledFacesMessage)
+    {
+      return ((LabeledFacesMessage)_wrapped).getLabel();
+    }
+    
+    return _label;
+  }
+
+  @Override
   public void setDetail(String detail)
   {
     _wrapped.setDetail(detail);
@@ -72,6 +95,56 @@ class FacesMessageWrapper extends Labele
     _wrapped.setSummary(summary);
   }
 
+  @Override
+  public void setLabel(Object label)
+  {
+    if(_wrapped instanceof LabeledFacesMessage)
+    {
+      ((LabeledFacesMessage)_wrapped).setLabel(label);
+    }
+    else
+    {
+      _label = label;
+    }
+  }  
+
+  /**
+   * Writes this object to the serialized stream.
+   * 
+   * @param objectOutput
+   * @throws IOException
+   */
+  public void writeExternal(ObjectOutput objectOutput)
+    throws IOException
+  {
+    objectOutput.writeLong(serialVersionUID);
+    objectOutput.writeObject(_wrapped);
+    objectOutput.writeObject(_label);
+  }
+
+  /**
+   * Reads this object from the serialized stream.
+   * 
+   * @param objectInput
+   * @throws IOException
+   * @throws ClassNotFoundException
+   */
+  public void readExternal(ObjectInput objectInput)
+    throws IOException, ClassNotFoundException
+  {
+    Long version = objectInput.readLong();
+    
+    if(version != serialVersionUID)
+    {
+      throw new InvalidClassException("Classes are not compatible.  Received serialVersionUID = " + version + ", local serialVersionUID = "+ serialVersionUID);
+    }
+
+    _wrapped = (FacesMessage)objectInput.readObject();
+    _label = objectInput.readObject();
+  }
+
   private FacesMessage _wrapped;
+  private Object _label;
   private static final long serialVersionUID = 1L;
+
 }