workspace-tree-widget/src/main/java/org/gcube/portlets/user/workspace/client/workspace/GWTProperties.java

90 lines
1.4 KiB
Java

/**
*
*/
package org.gcube.portlets.user.workspace.client.workspace;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import com.google.gwt.user.client.rpc.IsSerializable;
/**
* @author Federico De Faveri defaveriAtisti.cnr.it
*
*/
public class GWTProperties implements IsSerializable {
protected String id;
/**
* workaround for GWT issue 2862
*/
protected List<Data> properties;
public GWTProperties()
{}
/**
* @param id
* @param properties
*/
public GWTProperties(String id, Map<String, String> mapProperties) {
this.id = id;
this.properties = new LinkedList<Data>();
//workaround for GWT issue 2862
for (Entry<String, String> entry :mapProperties.entrySet()){
properties.add(new Data(entry.getKey(), entry.getValue()));
}
}
public String getId() {
return id;
}
public String getMetaData(String metaDataId) {
for (Data data :properties){
if (data.getKey().equals(metaDataId)) return data.value;
}
return null;
}
/**
* workaround for GWT issue 2862
*/
protected class Data{
protected String key;
protected String value;
protected Data(String key, String value) {
this.key = key;
this.value = value;
}
/**
* @return the key
*/
public String getKey() {
return key;
}
/**
* @return the value
*/
public String getValue() {
return value;
}
}
}