package models.dynamo; import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBAttribute; import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBAutoGeneratedKey; import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBHashKey; import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBTable; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import play.Logger; import play.libs.XPath; import java.util.ArrayList; import java.util.List; /** * A Flickr Tag for which we have retrieved some photos * User: pvillega */ @DynamoDBTable(tableName = "tag") public class Tag { private String id; private String name; @DynamoDBHashKey @DynamoDBAutoGeneratedKey public String getId() { return id; } public void setId(String id) { this.id = id; } @DynamoDBAttribute public String getName() { return name; } public void setName(String name) { this.name = name; } public static List<Tag> convertToTagList(Document xml) { List<Tag> tags = new ArrayList<>(); NodeList xmlTags = XPath.selectNodes("//tag", xml); Logger.debug("Tags number: " + xmlTags.getLength()); for(int i = 0; i < xmlTags.getLength(); i++) { Node n = xmlTags.item(i); Logger.debug("Tag: " + n.getTextContent()); Tag t = new Tag(); t.setName(n.getTextContent()); tags.add(t); } return tags; } }