OneEC2Tag.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package hudson.plugins.ec2.one;
  2. import hudson.model.Descriptor;
  3. import hudson.model.AbstractDescribableImpl;
  4. import hudson.Extension;
  5. import org.kohsuke.stapler.DataBoundConstructor;
  6. import java.util.List;
  7. import java.util.LinkedList;
  8. import com.amazonaws.services.ec2.model.Tag;
  9. public class OneEC2Tag extends AbstractDescribableImpl<OneEC2Tag>
  10. {
  11. private String name;
  12. private String value;
  13. @DataBoundConstructor
  14. public OneEC2Tag(String name, String value) {
  15. this.name = name;
  16. this.value = value;
  17. }
  18. /* Constructor from Amazon Tag */
  19. public OneEC2Tag(Tag t) {
  20. name = t.getKey();
  21. value = t.getValue();
  22. }
  23. public String getName() {
  24. return name;
  25. }
  26. public String getValue() {
  27. return value;
  28. }
  29. @Override
  30. public String toString() {
  31. return "EC2Tag: " + name + "->" + value;
  32. }
  33. @Override
  34. public boolean equals(Object o) {
  35. if (o == null) return false;
  36. if (!(o instanceof OneEC2Tag)) return false;
  37. OneEC2Tag other = (OneEC2Tag) o;
  38. if ((name == null && other.name != null) || !name.equals( other.name)) return false;
  39. if ((value == null && other.value != null) || !value.equals( other.value)) return false;
  40. return true;
  41. }
  42. @Extension
  43. public static class DescriptorImpl extends Descriptor<OneEC2Tag> {
  44. @Override
  45. public String getDisplayName() { return ""; }
  46. }
  47. /* Helper method to convert lists of Amazon tags into internal format */
  48. public static List<OneEC2Tag> fromAmazonTags(List<Tag> amazon_tags) {
  49. if (null == amazon_tags) {
  50. return null;
  51. }
  52. LinkedList<OneEC2Tag> result = new LinkedList<OneEC2Tag>();
  53. for (Tag t : amazon_tags) {
  54. result.add(new OneEC2Tag(t));
  55. }
  56. return result;
  57. }
  58. }