gcube-cms-suite/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/profile/Profile.java

47 lines
1.1 KiB
Java
Raw Normal View History

2021-09-20 16:47:35 +02:00
package org.gcube.application.geoportal.common.model.profile;
2022-01-12 18:42:22 +01:00
import java.util.ArrayList;
import java.util.HashMap;
2021-09-20 16:47:35 +02:00
import java.util.List;
2022-01-12 18:42:22 +01:00
import java.util.Map;
2021-09-20 16:47:35 +02:00
import javax.xml.bind.annotation.XmlRootElement;
2021-12-07 12:16:29 +01:00
import lombok.Data;
2021-09-20 16:47:35 +02:00
import lombok.Getter;
import lombok.NoArgsConstructor;
2021-12-07 13:05:08 +01:00
import org.bson.Document;
import org.gcube.application.geoportal.common.model.document.AccountingInfo;
import org.gcube.application.geoportal.common.model.document.ComparableVersion;
2021-09-20 16:47:35 +02:00
2021-12-07 12:16:29 +01:00
@Data
2021-09-20 16:47:35 +02:00
@NoArgsConstructor
@XmlRootElement
public class Profile{
private String id;
2021-12-07 13:05:08 +01:00
private ComparableVersion version;
private String name;
private String description;
private AccountingInfo creationInfo;
private Document schema;
private List<HandlerDeclaration> handlers;
2022-01-12 18:42:22 +01:00
/**
* Returns map Type -> Handler Declaration
* @return
*/
public Map<String,List<HandlerDeclaration>> getHandlersMap(){
HashMap<String,List<HandlerDeclaration>> toReturn=new HashMap<>();
handlers.forEach(h->{
if(!toReturn.containsKey(h.getType()))
toReturn.put(h.getType(),new ArrayList<>());
toReturn.get(h.getType()).add(h);
});
return toReturn;
}
2021-09-20 16:47:35 +02:00
}