summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-plugin/src/main/java/org/openecomp/core/zusammen/plugin/dao/types/SynchronizationStateEntity.java
blob: 510cef820b61ac3710a9c473f66dcedd20a81cce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
/*
 * Copyright © 2016-2017 European Support Limited
 *
 * Licensed 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.openecomp.core.zusammen.plugin.dao.types;

import com.amdocs.zusammen.datatypes.Id;

import java.util.Date;

/**
 * Synchronization state of an entity:
 * <ul>
 * <li>On private entity edit (create/update/delete): marked as dirty</li>
 * <li>On entity publication:
 * <ul>
 * <li>if the private entity exists - updated with the publish time, marked as not dirty</li>
 * <li>Otherwise - deleted</li>
 * </ul>
 * </li>
 * </ul>
 */
public class SynchronizationStateEntity {
  private Id id;
  private Id revisionId;
  private Date publishTime;
  private boolean dirty;
  private String user;
  private String message;

  public SynchronizationStateEntity(Id id,Id revisionId) {
    this.id = id;
    this.revisionId = revisionId;
  }

  public SynchronizationStateEntity(Id id,Id revisionId, Date publishTime, boolean dirty) {
    this(id,revisionId);
    this.publishTime = publishTime;
    this.dirty = dirty;
  }

  public Id getId() {
    return id;
  }

  public Date getPublishTime() {
    return publishTime;
  }

  public void setPublishTime(Date publishTime) {
    this.publishTime = publishTime;
  }

  public boolean isDirty() {
    return dirty;
  }

  public void setDirty(boolean dirty) {
    this.dirty = dirty;
  }

  public Id getRevisionId() {
    return revisionId;
  }

  public void setRevisionId(Id revisionId) {
    this.revisionId = revisionId;
  }

  public String getUser() {
    return user;
  }

  public void setUser(String user) {
    this.user = user;
  }

  public String getMessage() {
    return message;
  }

  public void setMessage(String message) {
    this.message = message;
  }

  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }

    SynchronizationStateEntity that = (SynchronizationStateEntity) o;

    return id.equals(that.id);
  }

  @Override
  public int hashCode() {
    return id.hashCode();
  }
}