package org.springframework.data.simpledb.repository.util;
import org.springframework.data.simpledb.domain.JSONCompatibleClass;
import org.springframework.data.simpledb.domain.SimpleDbUser;
import java.util.*;
public class SimpleDbUserBuilder {
public static SimpleDbUser createUserWithSampleAttributes(String itemName) {
SimpleDbUser user = new SimpleDbUser();
{
user.setItemName(itemName);
user.setPrimitiveField(0.01f);
user.setCoreField("tes_string$");
List<Integer> list = Arrays.asList(Integer.valueOf(123), Integer.valueOf(23));
user.setCoreTypeList(list);
user.setPrimitiveArrayField(new long[] { 1234L });
final SimpleDbUser.NestedEntity nestedEntity = new SimpleDbUser.NestedEntity();
{
nestedEntity.setNestedPrimitiveField(11);
}
user.setNestedEntity(nestedEntity);
List<String> sampleJSONList = new LinkedList<String>();
sampleJSONList.add("JSON");
user.setObjectField(sampleJSONList);
user.setObjectList(buildListOfObjects());
Map<String, JSONCompatibleClass> map = new HashMap<String, JSONCompatibleClass>();
JSONCompatibleClass json = new JSONCompatibleClass();
json.setName("Tom");
map.put("Tom", json);
user.setMapOfStringAndObject(map);
}
return user;
}
private static ArrayList<JSONCompatibleClass> buildListOfObjects() {
ArrayList<JSONCompatibleClass> listOfObjects = new ArrayList<JSONCompatibleClass>();
JSONCompatibleClass sampleElement = new JSONCompatibleClass();
sampleElement.setName("SAMPLE");
listOfObjects.add(sampleElement);
return listOfObjects;
}
public static List<SimpleDbUser> createListOfItems(int length) {
List<SimpleDbUser> list = new ArrayList<SimpleDbUser>();
for(int i = 0; i < length; i++) {
String itemName = "Item_" + i;
SimpleDbUser user = createUserWithSampleAttributes(itemName);
list.add(user);
}
return list;
}
public static List<SimpleDbUser> createUsersWithPrimitiveFields(float[] primitiveFields) {
List<SimpleDbUser> users = SimpleDbUserBuilder.createListOfItems(primitiveFields.length);
int i = 0;
for(SimpleDbUser user : users) {
user.setPrimitiveField(primitiveFields[i]);
i++;
}
return users;
}
}