Added: 
hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/response/WccData.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/response/WccData.java?rev=1493924&view=auto
==============================================================================
--- 
hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/response/WccData.java
 (added)
+++ 
hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/response/WccData.java
 Mon Jun 17 20:32:13 2013
@@ -0,0 +1,58 @@
+/**
+ * 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.hadoop.nfs.nfs3.response;
+
+import org.apache.hadoop.nfs.nfs3.Nfs3FileAttributes;
+import org.apache.hadoop.oncrpc.XDR;
+
+/**
+ * WccData saved information used by client for weak cache consistency
+ */
+public class WccData {
+  private WccAttr preOpAttr;
+  private Nfs3FileAttributes postOpAttr;
+
+  public WccAttr getPreOpAttr() {
+    return preOpAttr;
+  }
+
+  public void setPreOpAttr(WccAttr preOpAttr) {
+    this.preOpAttr = preOpAttr;
+  }
+
+  public Nfs3FileAttributes getPostOpAttr() {
+    return postOpAttr;
+  }
+
+  public void setPostOpAttr(Nfs3FileAttributes postOpAttr) {
+    this.postOpAttr = postOpAttr;
+  }
+
+  public WccData(WccAttr preOpAttr, Nfs3FileAttributes postOpAttr) {
+    this.preOpAttr = (preOpAttr == null) ? new WccAttr() : preOpAttr;
+    this.postOpAttr = (postOpAttr == null) ? new Nfs3FileAttributes()
+        : postOpAttr;
+  }
+
+  public void serialize(XDR out) {
+    out.writeBoolean(true); // attributes follow
+    preOpAttr.serialize(out);
+    out.writeBoolean(true); // attributes follow
+    postOpAttr.serialize(out);
+  }
+}
\ No newline at end of file

Added: 
hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/test/java/org/apache/hadoop/nfs/TestNfsTime.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/test/java/org/apache/hadoop/nfs/TestNfsTime.java?rev=1493924&view=auto
==============================================================================
--- 
hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/test/java/org/apache/hadoop/nfs/TestNfsTime.java
 (added)
+++ 
hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/test/java/org/apache/hadoop/nfs/TestNfsTime.java
 Mon Jun 17 20:32:13 2013
@@ -0,0 +1,47 @@
+/**
+ * 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.hadoop.nfs;
+
+import junit.framework.Assert;
+
+import org.apache.hadoop.nfs.NfsTime;
+import org.apache.hadoop.oncrpc.XDR;
+import org.junit.Test;
+
+public class TestNfsTime {
+  @Test
+  public void testConstructor() {
+    NfsTime nfstime = new NfsTime(1001);
+    Assert.assertEquals(1, nfstime.getSeconds());
+    Assert.assertEquals(1000000, nfstime.getNseconds());
+  }
+  
+  @Test
+  public void testSerializeDeserialize() {
+    // Serialize NfsTime
+    NfsTime t1 = new NfsTime(1001);
+    XDR xdr = new XDR();
+    t1.serialize(xdr);
+    
+    // Deserialize it back
+    NfsTime t2 = NfsTime.deserialize(xdr);
+    
+    // Ensure the NfsTimes are equal
+    Assert.assertEquals(t1, t2);
+  }
+}

Added: 
hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/test/java/org/apache/hadoop/nfs/nfs3/TestFileHandle.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/test/java/org/apache/hadoop/nfs/nfs3/TestFileHandle.java?rev=1493924&view=auto
==============================================================================
--- 
hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/test/java/org/apache/hadoop/nfs/nfs3/TestFileHandle.java
 (added)
+++ 
hadoop/common/trunk/hadoop-common-project/hadoop-nfs/src/test/java/org/apache/hadoop/nfs/nfs3/TestFileHandle.java
 Mon Jun 17 20:32:13 2013
@@ -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.hadoop.nfs.nfs3;
+
+import junit.framework.Assert;
+
+import org.apache.hadoop.nfs.nfs3.FileHandle;
+import org.apache.hadoop.oncrpc.XDR;
+import org.junit.Test;
+
+public class TestFileHandle {
+  @Test
+  public void testConstructor() {
+    FileHandle handle = new FileHandle(1024);
+    XDR xdr = new XDR();
+    handle.serialize(xdr);
+    Assert.assertEquals(handle.getFileId(), 1024);
+
+    // Deserialize it back 
+    FileHandle handle2 = new FileHandle();
+    handle2.deserialize(xdr);
+    Assert.assertEquals(handle.getFileId(), 1024);
+  }
+}


Reply via email to