|
|
|
@ -1,5 +1,5 @@
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
package org.gcube.portlets.user.workspace.client.workspace;
|
|
|
|
|
|
|
|
|
@ -14,7 +14,7 @@ import com.google.gwt.user.client.rpc.IsSerializable;
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
public abstract class GWTWorkspaceItem implements IsSerializable {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected String id;
|
|
|
|
|
protected GWTProperties properties;
|
|
|
|
|
protected String name;
|
|
|
|
@ -24,16 +24,16 @@ public abstract class GWTWorkspaceItem implements IsSerializable {
|
|
|
|
|
protected Date lastModificationTime;
|
|
|
|
|
protected GWTWorkspaceItemAction lastAction;
|
|
|
|
|
protected GWTWorkspaceFolder parent;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected boolean isLoading = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected GWTWorkspaceItem()
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
public GWTWorkspaceItem(GWTWorkspaceFolder parent, String id, String name,
|
|
|
|
|
String description, String owner, Date creationTime,
|
|
|
|
|
String description, String owner, Date creationTime,
|
|
|
|
|
GWTProperties properties, Date lastModificationTime, GWTWorkspaceItemAction lastAction) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.parent = parent;
|
|
|
|
|
this.creationTime = creationTime;
|
|
|
|
|
this.id = id;
|
|
|
|
@ -48,7 +48,7 @@ public abstract class GWTWorkspaceItem implements IsSerializable {
|
|
|
|
|
public String getId(){
|
|
|
|
|
return id;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public GWTWorkspaceFolder getParent()
|
|
|
|
|
{
|
|
|
|
|
return parent;
|
|
|
|
@ -57,11 +57,11 @@ public abstract class GWTWorkspaceItem implements IsSerializable {
|
|
|
|
|
public Date getCreationTime(){
|
|
|
|
|
return creationTime;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public GWTProperties getProperties(){
|
|
|
|
|
return properties;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public String getName(){
|
|
|
|
|
return name;
|
|
|
|
|
}
|
|
|
|
@ -69,7 +69,7 @@ public abstract class GWTWorkspaceItem implements IsSerializable {
|
|
|
|
|
public String getOwner(){
|
|
|
|
|
return owner;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public String getDescription() {
|
|
|
|
|
return description;
|
|
|
|
|
}
|
|
|
|
@ -81,51 +81,51 @@ public abstract class GWTWorkspaceItem implements IsSerializable {
|
|
|
|
|
public GWTWorkspaceItemAction getLastAction() {
|
|
|
|
|
return lastAction;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public abstract GWTItemDescription getItemDescription();
|
|
|
|
|
|
|
|
|
|
public String getLabel()
|
|
|
|
|
{
|
|
|
|
|
return getItemDescription().getLabel();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public String getIconClass(){
|
|
|
|
|
|
|
|
|
|
public String getIconClass(){
|
|
|
|
|
return getItemDescription().getIconClass();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public abstract GWTWorkspaceItemType getType();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public abstract List<? extends GWTWorkspaceItem> getChildren();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected void setParent(GWTWorkspaceFolder parent)
|
|
|
|
|
{
|
|
|
|
|
this.parent = parent;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public int countSubTreeChildren()
|
|
|
|
|
{
|
|
|
|
|
int total = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (GWTWorkspaceItem child : getChildren()){
|
|
|
|
|
total += 1 + child.countSubTreeChildren();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return total;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
public int countSubTreeChildren(GWTWorkspaceItemType type)
|
|
|
|
|
{
|
|
|
|
|
int total = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (GWTWorkspaceItem child : getChildren()){
|
|
|
|
|
total += child.countSubTreeChildren(type);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (child.getType() == type) total++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return total;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected void setName(String name)
|
|
|
|
|
{
|
|
|
|
|
this.name = name;
|
|
|
|
@ -134,7 +134,7 @@ public abstract class GWTWorkspaceItem implements IsSerializable {
|
|
|
|
|
protected void setDescription(String description) {
|
|
|
|
|
this.description = description;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public boolean isRoot()
|
|
|
|
|
{
|
|
|
|
|
return getParent() == null;
|
|
|
|
@ -150,19 +150,19 @@ public abstract class GWTWorkspaceItem implements IsSerializable {
|
|
|
|
|
if (!(obj instanceof GWTWorkspaceItem)) return false;
|
|
|
|
|
return this.id.equals(((GWTWorkspaceItem)obj).getId());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public String getPath()
|
|
|
|
|
{
|
|
|
|
|
if (isRoot()) return "/"+name;
|
|
|
|
|
return getParent().getPath()+"/"+name;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public boolean isAncestor(GWTWorkspaceItem item)
|
|
|
|
|
{
|
|
|
|
|
if (id.equals(item.getId())) return true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (isRoot()) return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return getParent().isAncestor(item);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -173,4 +173,6 @@ public abstract class GWTWorkspaceItem implements IsSerializable {
|
|
|
|
|
return isLoading;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|