This is an automated email from the ASF dual-hosted git repository.

gosonzhang pushed a commit to branch TUBEMQ-570
in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git

commit ee98d30486a114e4ed8fd507c8dce875c216645e
Author: gosonzhang <[email protected]>
AuthorDate: Wed May 26 20:28:16 2021 +0800

    [INLONG-618] Add unit tests for metastore.dao.entity.*
---
 .../metamanage/metastore/dao/entity/BaseEntity.java     | 17 ++++++++---------
 .../metamanage/metastore/dao/entity/BaseEntityTest.java |  5 +++--
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git 
a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntity.java
 
b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntity.java
index b964b96..24e97a8 100644
--- 
a/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntity.java
+++ 
b/tubemq-server/src/main/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntity.java
@@ -34,7 +34,7 @@ public class BaseEntity implements Serializable, Cloneable {
 
     private long dataVersionId =
             TBaseConstants.META_VALUE_UNDEFINED;    // -2: undefined, other: 
version
-    private final AtomicLong serialId =
+    private AtomicLong serialId =
             new AtomicLong(TBaseConstants.META_VALUE_UNDEFINED);
     private String createUser = "";        // create user
     private Date createDate = null;        // create date
@@ -165,12 +165,7 @@ public class BaseEntity implements Serializable, Cloneable 
{
     }
 
     protected void updSerialId() {
-        if (serialId.get() == TBaseConstants.META_VALUE_UNDEFINED) {
-            this.serialId.set(System.currentTimeMillis());
-        } else {
-            this.serialId.incrementAndGet();
-        }
-
+        this.serialId.set(System.currentTimeMillis());
     }
 
     public String getModifyUser() {
@@ -283,9 +278,13 @@ public class BaseEntity implements Serializable, Cloneable 
{
     }
 
     @Override
-    public Object clone() {
+    public BaseEntity clone() {
         try {
-            return super.clone();
+            BaseEntity copy = (BaseEntity) super.clone();
+            if (copy != null) {
+                copy.serialId = new AtomicLong(this.serialId.get());
+            }
+            return copy;
         } catch (Throwable e) {
             return null;
         }
diff --git 
a/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntityTest.java
 
b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntityTest.java
index 417a613..b71f1cd 100644
--- 
a/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntityTest.java
+++ 
b/tubemq-server/src/test/java/org/apache/tubemq/server/master/metamanage/metastore/dao/entity/BaseEntityTest.java
@@ -136,11 +136,12 @@ public class BaseEntityTest {
         Assert.assertEquals(baseEntity8.getCreateDateStr(), "");
         Assert.assertEquals(baseEntity8.getModifyDateStr(), "");
         // case 9
-        BaseEntity baseEntity9 = (BaseEntity) baseEntity6.clone();
+        BaseEntity baseEntity9 =  baseEntity6.clone();
         Assert.assertEquals(baseEntity9, baseEntity6);
-        baseEntity9.setAttributes("aaaaabbbbccccddd");
         ThreadUtils.sleep(2000);
         baseEntity9.updSerialId();
+        baseEntity9.setDataVersionId(222223333);
+        baseEntity9.setAttributes("aaaaabbbbccccddd");
         baseEntity9.updQueryKeyInfo(newDataVerId, newCreateUser, 
newModifyUser);
         Assert.assertNotEquals(baseEntity6.getDataVerId(), 
baseEntity9.getDataVerId());
         Assert.assertNotEquals(baseEntity6.getSerialId(), 
baseEntity9.getSerialId());

Reply via email to