// Path: backend/src/main/java/no/akvaplan/postsense/datatypes/BucketData.java
// public class BucketData {
// 	private String id;
// 	private String bucketName;
// 	private List<String> keyIds;
// 	
// 	public BucketData() {
// 		keyIds = new ArrayList<>();
// 	}
// 	
// 	public BucketData(String id) {
// 		this();
// 		this.id = id;
// 		this.bucketName = id;
// 	}
// 	
// 	public String getId() {
// 		return id;
// 	}
// 	
// 	public void setId(String id) {
// 		this.id = id;
// 	}
// 
// 	public String getBucketName() {
// 		return bucketName;
// 	}
// 	
// 	public void setBucketName(String bucketName) {
// 		this.bucketName = bucketName;
// 	}	
// 	
// 	public List<String> getKeyIds() {
// 		return keyIds;
// 	}
// 	
// 	public void setKeyIds(List<String> keyIds) {
// 		this.keyIds = keyIds;
// 	}
// }
// 
// Path: backend/src/main/java/no/akvaplan/postsense/datatypes/KeyData.java
// public class KeyData {
// 	private String id;
// 	private String keyName;
// 	
// 	public KeyData() {
// 		// TODO Auto-generated constructor stub
// 	}
// 	
// 	public KeyData(String id) {
// 		this.id = id;
// 		this.keyName = keyName;
// 	}
// 	
// 	public String getId() {
// 		return id;
// 	}
// 	
// 	public void setId(String id) {
// 		this.id = id;
// 	}
// 	
// 	public String getKeyName() {
// 		return keyName;
// 	}
// 	
// 	public void setKeyName(String keyName) {
// 		this.keyName = keyName;
// 	}
// }
// 
// Path: backend/src/main/java/no/akvaplan/postsense/datatypes/KeyValue.java
// public class KeyValue {
// 	String id;
// 	String keyName;
// 	String value;
// 	
// 	public KeyValue() {
// 		// TODO Auto-generated constructor stub
// 	}
// 	
// 	public KeyValue(String id, String value) {
// 		this.id = id;
// 		this.value = value;
// 	}
// 	
// 	public String getKeyName() {
// 		return keyName;
// 	}
// 	
// 	public void setKeyName(String keyName) {
// 		this.keyName = keyName;
// 	}
// 	
// 	public String getId() {
// 		return id;
// 	}
// 	
// 	public void setId(String id) {
// 		this.id = id;
// 	}
// 	
// 	public String getValue() {
// 		return value;
// 	}
// 	
// 	public void setValue(String value) {
// 		this.value = value;
// 	}
// }


import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.apache.log4j.Logger;
import no.akvaplan.postsense.datatypes.BucketData;
import no.akvaplan.postsense.datatypes.KeyData;
import no.akvaplan.postsense.datatypes.KeyValue;
import com.basho.riak.client.IRiakClient;
import com.basho.riak.client.RiakException;
import com.basho.riak.client.RiakRetryFailedException;
import com.basho.riak.client.bucket.Bucket;
import com.basho.riak.client.query.indexes.BucketIndex;
import com.google.gson.Gson;
package no.haagensoftware.riak.dao;





public class RiakBucketDao {
	private static Logger logger = Logger.getLogger(RiakBucketDao.class.getName());
	
	private IRiakClient riakClient;
	
	public RiakBucketDao(IRiakClient riakClient) {
		this.riakClient = riakClient;
	}
	
	public List<BucketData> getBuckets() {
		List<BucketData> bucketList = new ArrayList<>();
		try {
			for (String bucket : riakClient.listBuckets()) {
				BucketData bd = new BucketData(bucket);
				List<String> keyIds = new ArrayList<>();
				
// Path: backend/src/main/java/no/akvaplan/postsense/datatypes/BucketData.java
// public class BucketData {
// 	private String id;
// 	private String bucketName;
// 	private List<String> keyIds;
// 	
// 	public BucketData() {
// 		keyIds = new ArrayList<>();
// 	}
// 	
// 	public BucketData(String id) {
// 		this();
// 		this.id = id;
// 		this.bucketName = id;
// 	}
// 	
// 	public String getId() {
// 		return id;
// 	}
// 	
// 	public void setId(String id) {
// 		this.id = id;
// 	}
// 
// 	public String getBucketName() {
// 		return bucketName;
// 	}
// 	
// 	public void setBucketName(String bucketName) {
// 		this.bucketName = bucketName;
// 	}	
// 	
// 	public List<String> getKeyIds() {
// 		return keyIds;
// 	}
// 	
// 	public void setKeyIds(List<String> keyIds) {
// 		this.keyIds = keyIds;
// 	}
// }
// 
// Path: backend/src/main/java/no/akvaplan/postsense/datatypes/KeyData.java
// public class KeyData {
// 	private String id;
// 	private String keyName;
// 	
// 	public KeyData() {
// 		// TODO Auto-generated constructor stub
// 	}
// 	
// 	public KeyData(String id) {
// 		this.id = id;
// 		this.keyName = keyName;
// 	}
// 	
// 	public String getId() {
// 		return id;
// 	}
// 	
// 	public void setId(String id) {
// 		this.id = id;
// 	}
// 	
// 	public String getKeyName() {
// 		return keyName;
// 	}
// 	
// 	public void setKeyName(String keyName) {
// 		this.keyName = keyName;
// 	}
// }
// 
// Path: backend/src/main/java/no/akvaplan/postsense/datatypes/KeyValue.java
// public class KeyValue {
// 	String id;
// 	String keyName;
// 	String value;
// 	
// 	public KeyValue() {
// 		// TODO Auto-generated constructor stub
// 	}
// 	
// 	public KeyValue(String id, String value) {
// 		this.id = id;
// 		this.value = value;
// 	}
// 	
// 	public String getKeyName() {
// 		return keyName;
// 	}
// 	
// 	public void setKeyName(String keyName) {
// 		this.keyName = keyName;
// 	}
// 	
// 	public String getId() {
// 		return id;
// 	}
// 	
// 	public void setId(String id) {
// 		this.id = id;
// 	}
// 	
// 	public String getValue() {
// 		return value;
// 	}
// 	
// 	public void setValue(String value) {
// 		this.value = value;
// 	}
// }


// Path: backend/src/main/java/no/haagensoftware/riak/dao/RiakBucketDao.java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.apache.log4j.Logger;
import no.akvaplan.postsense.datatypes.BucketData;
import no.akvaplan.postsense.datatypes.KeyData;
import no.akvaplan.postsense.datatypes.KeyValue;
import com.basho.riak.client.IRiakClient;
import com.basho.riak.client.RiakException;
import com.basho.riak.client.RiakRetryFailedException;
import com.basho.riak.client.bucket.Bucket;
import com.basho.riak.client.query.indexes.BucketIndex;
import com.google.gson.Gson;

package no.haagensoftware.riak.dao;





public class RiakBucketDao {
	private static Logger logger = Logger.getLogger(RiakBucketDao.class.getName());
	
	private IRiakClient riakClient;
	
	public RiakBucketDao(IRiakClient riakClient) {
		this.riakClient = riakClient;
	}
	
	public List<BucketData> getBuckets() {
		List<BucketData> bucketList = new ArrayList<>();
		try {
			for (String bucket : riakClient.listBuckets()) {
				BucketData bd = new BucketData(bucket);
				List<String> keyIds = new ArrayList<>();
				
				for (KeyData kd : getKeysForBucket(bucket)) {