001    package org.kuali.maven.ec2.state;
002    
003    import org.kuali.maven.ec2.EC2Utils;
004    import org.springframework.util.Assert;
005    
006    import com.amazonaws.services.ec2.model.Snapshot;
007    
008    public class SnapshotStateRetriever implements StateRetriever {
009    
010        EC2Utils ec2Utils;
011        String snapshotId;
012    
013        public SnapshotStateRetriever() {
014            this(null, null);
015        }
016    
017        public SnapshotStateRetriever(EC2Utils ec2Utils, String snapshotId) {
018            super();
019            this.ec2Utils = ec2Utils;
020            this.snapshotId = snapshotId;
021        }
022    
023        @Override
024        public String getState() {
025            Assert.notNull(ec2Utils);
026            Assert.notNull(snapshotId);
027            Snapshot s = ec2Utils.getSnapshot(snapshotId);
028            return s.getState();
029        }
030    
031        protected void validate() {
032        }
033    
034        public EC2Utils getEc2Utils() {
035            return ec2Utils;
036        }
037    
038        public void setEc2Utils(EC2Utils ec2Utils) {
039            this.ec2Utils = ec2Utils;
040        }
041    
042        public String getSnapshotId() {
043            return snapshotId;
044        }
045    
046        public void setSnapshotId(String snapshotId) {
047            this.snapshotId = snapshotId;
048        }
049    
050    }