This commit is contained in:
Lucio Lelii 2018-05-07 12:17:59 +00:00
parent 50ebdd199b
commit bd59614019
17 changed files with 311 additions and 5 deletions

View File

@ -8,6 +8,7 @@ import lombok.NoArgsConstructor;
import org.gcube.common.storagehub.model.annotations.AttributeRootNode;
import org.gcube.common.storagehub.model.annotations.ListNodes;
import org.gcube.common.storagehub.model.items.nodes.accounting.AccountEntry;
@NoArgsConstructor
@Data

View File

@ -1,4 +1,4 @@
package org.gcube.common.storagehub.model.items.nodes;
package org.gcube.common.storagehub.model.items.nodes.accounting;
import java.util.Calendar;
@ -17,6 +17,8 @@ import lombok.Setter;
@AttributeRootNode("nthl:accountingEntry")
public class AccountEntry {
AccountingEntryType type = AccountingEntryType.UNKNOWN;
@Attribute("hl:user")
String user;
@ -26,6 +28,7 @@ public class AccountEntry {
@Attribute("hl:version")
String version;
@Attribute("jcr:primaryType")
private String primaryType;
}

View File

@ -0,0 +1,22 @@
package org.gcube.common.storagehub.model.items.nodes.accounting;
import org.gcube.common.storagehub.model.annotations.Attribute;
import org.gcube.common.storagehub.model.annotations.AttributeRootNode;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@AttributeRootNode("nthl:accountingEntryCreate")
public class AccountEntryCreate extends AccountEntry{
@Attribute("hl:itemName")
String itemName;
AccountingEntryType type = AccountingEntryType.CREATE;
}

View File

@ -0,0 +1,25 @@
package org.gcube.common.storagehub.model.items.nodes.accounting;
import org.gcube.common.storagehub.model.annotations.Attribute;
import org.gcube.common.storagehub.model.annotations.AttributeRootNode;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@AttributeRootNode("nthl:accountingEntryDelete")
public class AccountEntryDelete extends AccountEntry{
@Attribute("hl:itemName")
String itemName;
@Attribute("hl:fromPath")
String fromPath;
AccountingEntryType type = AccountingEntryType.DELETE;
}

View File

@ -0,0 +1,19 @@
package org.gcube.common.storagehub.model.items.nodes.accounting;
import org.gcube.common.storagehub.model.annotations.AttributeRootNode;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@AttributeRootNode("nthl:accountingEntryDisabledPublicAccess")
public class AccountEntryDisabledPublicAccess extends AccountEntry{
AccountingEntryType type = AccountingEntryType.DISABLED_PUBLIC_ACCESS;
}

View File

@ -0,0 +1,19 @@
package org.gcube.common.storagehub.model.items.nodes.accounting;
import org.gcube.common.storagehub.model.annotations.AttributeRootNode;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@AttributeRootNode("nthl:accountingEntryEnabledPublicAccess")
public class AccountEntryEnabledPublicAccess extends AccountEntry{
AccountingEntryType type = AccountingEntryType.ENABLED_PUBLIC_ACCESS;
}

View File

@ -0,0 +1,23 @@
package org.gcube.common.storagehub.model.items.nodes.accounting;
import org.gcube.common.storagehub.model.annotations.Attribute;
import org.gcube.common.storagehub.model.annotations.AttributeRootNode;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@AttributeRootNode("nthl:accountingEntryPaste")
public class AccountEntryPaste extends AccountEntry{
@Attribute("hl:fromPath")
String fromPath;
AccountingEntryType type = AccountingEntryType.PASTE;
}

View File

@ -2,7 +2,6 @@ package org.gcube.common.storagehub.model.items.nodes.accounting;
import org.gcube.common.storagehub.model.annotations.Attribute;
import org.gcube.common.storagehub.model.annotations.AttributeRootNode;
import org.gcube.common.storagehub.model.items.nodes.AccountEntry;
import lombok.AllArgsConstructor;
import lombok.Getter;

View File

@ -0,0 +1,23 @@
package org.gcube.common.storagehub.model.items.nodes.accounting;
import org.gcube.common.storagehub.model.annotations.Attribute;
import org.gcube.common.storagehub.model.annotations.AttributeRootNode;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@AttributeRootNode("nthl:accountingEntryRestore")
public class AccountEntryRestore extends AccountEntry{
@Attribute("hl:itemName")
String itemName;
AccountingEntryType type = AccountingEntryType.RESTORE;
}

View File

@ -0,0 +1,26 @@
package org.gcube.common.storagehub.model.items.nodes.accounting;
import org.gcube.common.storagehub.model.annotations.Attribute;
import org.gcube.common.storagehub.model.annotations.AttributeRootNode;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@AttributeRootNode("nthl:accountingEntryShare")
public class AccountEntryShare extends AccountEntry{
@Attribute("hl:itemName")
String itemName;
@Attribute("hl:members")
String[] members;
AccountingEntryType type = AccountingEntryType.SHARE;
}

View File

@ -0,0 +1,22 @@
package org.gcube.common.storagehub.model.items.nodes.accounting;
import org.gcube.common.storagehub.model.annotations.Attribute;
import org.gcube.common.storagehub.model.annotations.AttributeRootNode;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@AttributeRootNode("nthl:accountingEntryUnshare")
public class AccountEntryUnshare extends AccountEntry{
@Attribute("hl:itemName")
String itemName;
AccountingEntryType type = AccountingEntryType.UNSHARE;
}

View File

@ -0,0 +1,23 @@
package org.gcube.common.storagehub.model.items.nodes.accounting;
import org.gcube.common.storagehub.model.annotations.Attribute;
import org.gcube.common.storagehub.model.annotations.AttributeRootNode;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@AttributeRootNode("nthl:accountingEntryUpdate")
public class AccountEntryUpdate extends AccountEntry{
@Attribute("hl:itemName")
String itemName;
AccountingEntryType type = AccountingEntryType.UPDATE;
}

View File

@ -0,0 +1,19 @@
package org.gcube.common.storagehub.model.items.nodes.accounting;
import org.gcube.common.storagehub.model.annotations.AttributeRootNode;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@AttributeRootNode("nthl:accountingFolderEntryAdd")
public class AccountFolderEntryAdd extends AccountFolderEntryRemoval{
AccountingEntryType type = AccountingEntryType.ADD;
}

View File

@ -0,0 +1,20 @@
package org.gcube.common.storagehub.model.items.nodes.accounting;
import org.gcube.common.storagehub.model.annotations.AttributeRootNode;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@AttributeRootNode("nthl:accountingFolderEntryCut")
public class AccountFolderEntryCut extends AccountFolderEntryRemoval{
AccountingEntryType type = AccountingEntryType.CUT;
}

View File

@ -0,0 +1,33 @@
package org.gcube.common.storagehub.model.items.nodes.accounting;
import org.gcube.common.storagehub.model.annotations.Attribute;
import org.gcube.common.storagehub.model.annotations.AttributeRootNode;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@AttributeRootNode("nthl:accountingFolderEntryRemoval")
public class AccountFolderEntryRemoval extends AccountEntry{
@Attribute("hl:itemName")
String itemName;
@Attribute("hl:folderItemType")
String folderItemType;
@Attribute("hl:itemType")
String itmeType;
@Attribute("hl:mimeType")
String mimeType;
AccountingEntryType type = AccountingEntryType.REMOVAL;
}

View File

@ -0,0 +1,27 @@
package org.gcube.common.storagehub.model.items.nodes.accounting;
import org.gcube.common.storagehub.model.annotations.Attribute;
import org.gcube.common.storagehub.model.annotations.AttributeRootNode;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@AttributeRootNode("nthl:accountingFolderEntryRenaming")
public class AccountFolderEntryRenaming {
@Attribute("hl:oldItemName")
String oldItemName;
@Attribute("hl:newItemName")
String newItemName;
AccountingEntryType type = AccountingEntryType.RENAMING;
}

View File

@ -31,8 +31,10 @@ public enum AccountingEntryType {
DISABLED_PUBLIC_ACCESS("nthl:accountingEntryDisabledPublicAccess"),
SET_ACL("nthl:accountingEntryAddACL");
SET_ACL("nthl:accountingEntryAddACL"),
UNKNOWN("nthl:accountingEntry");
private String nodeTypeDefinition;