You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by to...@apache.org on 2014/11/20 01:51:23 UTC

[2/2] incubator-usergrid git commit: Fixed wiring problem with new proxy impl

Fixed wiring problem with new proxy impl

Took George's advice and refactored resource to external file to keep test cleaner


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/bc0a9005
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/bc0a9005
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/bc0a9005

Branch: refs/heads/USERGRID-250-buffer-size-fix
Commit: bc0a900563249afa9c857b0401264e961d6e4458
Parents: 8beab44
Author: Todd Nine <tn...@apigee.com>
Authored: Wed Nov 19 17:51:13 2014 -0700
Committer: Todd Nine <tn...@apigee.com>
Committed: Wed Nov 19 17:51:13 2014 -0700

----------------------------------------------------------------------
 stack/core/pom.xml                              |   32 +-
 .../corepersistence/CpEntityDeleteListener.java |    3 +-
 .../usergrid/persistence/LargeEntityIT.java     |  513 +------
 stack/core/src/test/resources/largeentity.json  | 1329 ++++++++++++++++++
 .../collection/util/EntityHelper.java           |    2 +-
 5 files changed, 1364 insertions(+), 515 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bc0a9005/stack/core/pom.xml
----------------------------------------------------------------------
diff --git a/stack/core/pom.xml b/stack/core/pom.xml
index 98c7628..61ce099 100644
--- a/stack/core/pom.xml
+++ b/stack/core/pom.xml
@@ -142,22 +142,30 @@
                     <include>**/*.sh</include>
                     <include>**/stack.json</include>
                     <include>**/*.properties</include>
-                    <include>**/*.xml</include> 
+                    <include>**/*.xml</include>
+
                 </includes>
             </resource>
         </resources>
 
-        <testResources> 
-            <testResource> 
-                <directory>src/test/resources</directory> 
-                <filtering>true</filtering> 
-                <includes>
-                    <include>**/*.yaml</include>
-                    <include>**/*.properties</include> 
-                    <include>**/*.xml</include> 
-                </includes> 
-            </testResource> 
-        </testResources>
+    <testResources>
+      <testResource>
+        <directory>src/test/resources</directory>
+        <filtering>true</filtering>
+        <includes>
+          <include>**/*.yaml</include>
+          <include>**/*.properties</include>
+          <include>**/*.xml</include>
+        </includes>
+      </testResource>
+      <testResource>
+        <directory>src/test/resources</directory>
+        <filtering>true</filtering>
+        <includes>
+          <include>largeentity.json</include>
+        </includes>
+      </testResource>
+    </testResources>
 
     <plugins>
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bc0a9005/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityDeleteListener.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityDeleteListener.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityDeleteListener.java
index 4ec4056..8785ab2 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityDeleteListener.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityDeleteListener.java
@@ -30,6 +30,7 @@ import org.apache.usergrid.persistence.collection.MvccEntity;
 import org.apache.usergrid.persistence.collection.mvcc.entity.impl.MvccEntityDeleteEvent;
 import org.apache.usergrid.persistence.collection.serialization.SerializationFig;
 import org.apache.usergrid.persistence.core.entity.EntityVersion;
+import org.apache.usergrid.persistence.core.guice.ProxyImpl;
 import org.apache.usergrid.persistence.core.rx.ObservableIterator;
 
 import com.google.inject.Inject;
@@ -54,7 +55,7 @@ public class CpEntityDeleteListener {
     private final SerializationFig serializationFig;
 
     @Inject
-    public CpEntityDeleteListener(final MvccEntitySerializationStrategy entityMetadataSerialization,
+    public CpEntityDeleteListener(@ProxyImpl final MvccEntitySerializationStrategy entityMetadataSerialization,
                                     final Keyspace keyspace,
                                     final SerializationFig serializationFig){
         this.entityMetadataSerialization = entityMetadataSerialization;

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bc0a9005/stack/core/src/test/java/org/apache/usergrid/persistence/LargeEntityIT.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/persistence/LargeEntityIT.java b/stack/core/src/test/java/org/apache/usergrid/persistence/LargeEntityIT.java
index 0954ded..ad6ca27 100644
--- a/stack/core/src/test/java/org/apache/usergrid/persistence/LargeEntityIT.java
+++ b/stack/core/src/test/java/org/apache/usergrid/persistence/LargeEntityIT.java
@@ -19,6 +19,10 @@
 package org.apache.usergrid.persistence;
 
 
+import java.net.URL;
+import java.nio.charset.Charset;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.Map;
 
 import org.junit.Rule;
@@ -51,7 +55,13 @@ public class LargeEntityIT extends AbstractCoreIT {
 
         LOG.debug( "testLargeEntityCrud" );
 
-        final Map<String, Object> json = ( Map<String, Object> ) JsonUtils.parse( TEST_DATA );
+        final URL resource = this.getClass().getClassLoader().getResource( TEST_DATA_FILE );
+
+        final byte[] fileData = Files.readAllBytes( Paths.get( resource.toURI() ) );
+
+        final String fileAsString = new String( fileData, Charset.forName( "UTF-8" ) );
+
+        final Map<String, Object> json = ( Map<String, Object> ) JsonUtils.parse( fileAsString );
 
 
         final EntityManager em = app.getEntityManager();
@@ -68,504 +78,5 @@ public class LargeEntityIT extends AbstractCoreIT {
     }
 
 
-    private static final String TEST_DATA =
-            "{\n" + "  \"name\": \"p333812236\",\n" + "  \"catentryid\": 7176,\n" + "  \"productid\": 33381,\n"
-                    + "  \"services\": [\n" + "    {\n" + "      \"id\": 575,\n" + "      \"name\": \"Monogram\",\n"
-                    + "      \"required\": 0,\n" + "      \"attributes\": [\n" + "        {\n"
-                    + "          \"id\": 80224,\n" + "          \"name\": \"Style/Case\",\n"
-                    + "          \"value\": \"Block Uppercase\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 3,\n" + "          \"label\": \"\",\n" + "          \"maxlength\": 10,\n"
-                    + "          \"additionalvalidchars\": \"33,34,35,38,39,40,41,43,44,45,46,47,63,64\",\n"
-                    + "          \"notes\": \"\"\n" + "        },\n" + "        {\n" + "          \"id\": 80225,\n"
-                    + "          \"name\": \"Style/Case\",\n" + "          \"value\": \"Block Upper- and Lowercase\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 3,\n" + "          \"label\": \"\",\n"
-                    + "          \"maxlength\": 10,\n"
-                    + "          \"additionalvalidchars\": \"33,34,35,38,39,40,41,43,44,45,46,47,63,64\",\n"
-                    + "          \"notes\": \"\"\n" + "        },\n" + "        {\n" + "          \"id\": 80234,\n"
-                    + "          \"name\": \"Style/Case\",\n" + "          \"value\": \"Times Bold Uppercase\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 3,\n" + "          \"label\": \"\",\n"
-                    + "          \"maxlength\": 10,\n"
-                    + "          \"additionalvalidchars\": \"33,36,37,38,39,40,41,44,45,46,47,58,59,63\",\n"
-                    + "          \"notes\": \"\"\n" + "        },\n" + "        {\n" + "          \"id\": 80235,\n"
-                    + "          \"name\": \"Style/Case\",\n"
-                    + "          \"value\": \"Times Bold Upper- and Lowercase\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 3,\n" + "          \"label\": \"\",\n" + "          \"maxlength\": 10,\n"
-                    + "          \"additionalvalidchars\": \"33,36,37,38,39,40,41,44,45,46,47,58,59,63\",\n"
-                    + "          \"notes\": \"\"\n" + "        },\n" + "        {\n" + "          \"id\": 80237,\n"
-                    + "          \"name\": \"Monogram\",\n" + "          \"value\": \"text\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 1,\n" + "          \"label\": \"\",\n"
-                    + "          \"maxlength\": 10,\n" + "          \"notes\": \"\"\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137788,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Black\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137789,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Navy\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137790,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Royal Blue\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137791,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Brown\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137792,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Purple\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137793,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Red\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137794,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Sea Green\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137795,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Hunter Green\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137796,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Dark Green\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137797,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Gold\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137798,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"White\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137799,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Platinum\",\n" + "          \"isdefault\": 1,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137800,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Natural\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137801,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Taupe\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137802,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Light Purple\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137803,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Burgundy\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137804,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Teal\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137805,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Mimosa Yellow\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137806,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Turkey Red\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137807,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Lucerne Blue\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137808,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Nickel\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137809,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Orange\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137810,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Standard Blue\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137811,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Cobalt\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137812,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Dark Pink\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137813,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Sage\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137814,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Salmon\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137815,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Lime\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137816,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Rancho Rose\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137817,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Olive\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137818,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Rose\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137819,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Nile Green\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137820,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Dark Khaki\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137821,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Eggplant\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137822,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Cypress\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137823,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Terra Cotta\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137824,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Walnut\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137825,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Burlap\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 137826,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Loden\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 210983,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Copper\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 210984,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Dark Teal\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 216129,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Pink\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 227825,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Dark Brown\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 227826,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Emerald\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 227827,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Mid Blue\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 291205,\n" + "          \"name\": \"Style/Case\",\n"
-                    + "          \"value\": \"Script Upper/Lower\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 3,\n" + "          \"label\": \"\",\n" + "          \"maxlength\": 10,\n"
-                    + "          \"additionalvalidchars\": \"33,34,35,39,43,44,46,47,63\",\n"
-                    + "          \"notes\": \"\"\n" + "        },\n" + "        {\n" + "          \"id\": 291206,\n"
-                    + "          \"name\": \"Style/Case\",\n" + "          \"value\": \"Thin Script Upper/Lower\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 3,\n" + "          \"label\": \"\",\n"
-                    + "          \"maxlength\": 10,\n"
-                    + "          \"additionalvalidchars\": \"33,34,35,38,39,43,44,45,46,47,63\",\n"
-                    + "          \"notes\": \"\"\n" + "        },\n" + "        {\n" + "          \"id\": 291207,\n"
-                    + "          \"name\": \"Style/Case\",\n" + "          \"value\": \"Athletic Upper\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 3,\n" + "          \"label\": \"\",\n"
-                    + "          \"maxlength\": 10,\n" + "          \"notes\": \"\"\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 353932,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Isle Green\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        },\n" + "        {\n"
-                    + "          \"id\": 368998,\n" + "          \"name\": \"Thread Color\",\n"
-                    + "          \"value\": \"Plum\",\n" + "          \"isdefault\": 0,\n"
-                    + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n" + "        }\n" + "      ]\n"
-                    + "    },\n" + "    {\n" + "      \"id\": 48071,\n"
-                    + "      \"name\": \"Monogram Single Large Letter\",\n" + "      \"required\": 0,\n"
-                    + "      \"attributes\": [\n" + "        {\n" + "          \"id\": 291208,\n"
-                    + "          \"name\": \"Style/Case\",\n" + "          \"value\": \"Times Single Upper\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 3,\n" + "          \"maxlength\": 1\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291209,\n"
-                    + "          \"name\": \"Style/Case\",\n" + "          \"value\": \"Heirloom Single Upper\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 3,\n" + "          \"maxlength\": 1\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291210,\n"
-                    + "          \"name\": \"Style/Case\",\n" + "          \"value\": \"Athletic Single Upper\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 3,\n" + "          \"maxlength\": 1\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291211,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Black\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291212,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Brown\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291213,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Burgundy\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291214,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Burlap\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291215,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Cobalt\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291216,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Copper\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291217,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Cypress\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291218,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Dark Brown\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291219,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Dark Green\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291220,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Dark Khaki\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291221,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Dark Pink\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291222,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Dark Teal\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291223,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Eggplant\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291224,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Emerald\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291225,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Gold\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291226,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Hunter Green\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291227,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Light Purple\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291228,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Lime\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291229,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Loden\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291230,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Lucerne Blue\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291231,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Mid Blue\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291232,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Mimosa Yellow\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291233,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Natural\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291234,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Navy\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291235,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Nickel\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291236,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Nile Green\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291237,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Olive\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291238,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Orange\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291239,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Pink\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291240,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Platinum\",\n"
-                    + "          \"isdefault\": 1,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291241,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Purple\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291242,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Rancho Rose\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291243,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Red\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291244,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Rose\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291245,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Royal Blue\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291246,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Sage\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291247,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Salmon\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291248,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Sea Green\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291249,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Standard Blue\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291250,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Taupe\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291251,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Teal\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291252,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Terra Cotta\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291253,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Turkey Red\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291254,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Walnut\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291255,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"White\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291256,\n"
-                    + "          \"name\": \"Monogram Single Line 1\",\n" + "          \"value\": \"text\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 1,\n" + "          \"maxlength\": 1\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 353933,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Isle Green\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 368999,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Plum\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        }\n" + "      ]\n" + "    },\n" + "    {\n" + "      \"id\": 48072,\n"
-                    + "      \"name\": \"Monogram 3-Letter\",\n" + "      \"required\": 0,\n"
-                    + "      \"attributes\": [\n" + "        {\n" + "          \"id\": 291257,\n"
-                    + "          \"name\": \"Style/Case\",\n" + "          \"value\": \"Block Stack\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 3,\n" + "          \"maxlength\": 1\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291258,\n"
-                    + "          \"name\": \"Style/Case\",\n" + "          \"value\": \"Flared\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 3,\n" + "          \"maxlength\": 3\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291259,\n"
-                    + "          \"name\": \"Style/Case\",\n" + "          \"value\": \"Classic\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 3,\n" + "          \"maxlength\": 3\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291260,\n"
-                    + "          \"name\": \"Style/Case\",\n" + "          \"value\": \"Insignia\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 3,\n" + "          \"maxlength\": 3\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291261,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Black\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291262,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Brown\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291263,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Burgundy\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291264,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Burlap\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291265,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Cobalt\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291266,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Copper\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291267,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Cypress\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291268,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Dark Brown\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291269,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Dark Green\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291270,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Dark Khaki\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291271,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Dark Pink\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291272,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Dark Teal\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291273,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Eggplant\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291274,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Emerald\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291275,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Gold\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291276,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Hunter Green\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291277,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Light Purple\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291278,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Lime\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291279,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Loden\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291280,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Lucerne Blue\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291281,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Mid Blue\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291282,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Mimosa Yellow\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291283,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Natural\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291284,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Navy\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291285,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Nickel\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291286,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Nile Green\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291287,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Olive\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291288,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Orange\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291289,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Pink\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291290,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Platinum\",\n"
-                    + "          \"isdefault\": 1,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291291,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Purple\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291292,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Rancho Rose\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291293,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Red\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291294,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Rose\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291295,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Royal Blue\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291296,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Sage\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291297,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Salmon\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291298,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Sea Green\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291299,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Standard Blue\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291300,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Taupe\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291301,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Teal\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291302,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Terra Cotta\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291303,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Turkey Red\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291304,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Walnut\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291305,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"White\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 291306,\n"
-                    + "          \"name\": \"Monogram 3-Letter Line 1\",\n" + "          \"value\": \"text\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 1,\n" + "          \"maxlength\": 3\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 353934,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Isle Green\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        },\n" + "        {\n" + "          \"id\": 369000,\n"
-                    + "          \"name\": \"Thread Color\",\n" + "          \"value\": \"Plum\",\n"
-                    + "          \"isdefault\": 0,\n" + "          \"sequence\": 4,\n" + "          \"maxlength\": 0\n"
-                    + "        }\n" + "      ]\n" + "    },\n" + "    {\n" + "      \"id\": 3916,\n"
-                    + "      \"name\": \"Gift Boxing\",\n" + "      \"required\": 0,\n" + "      \"attributes\": [\n"
-                    + "        {\n" + "          \"id\": 317426,\n" + "          \"name\": \"Box Style\",\n"
-                    + "          \"value\": \"Tan/Green Ribbon\",\n" + "          \"isdefault\": 1,\n"
-                    + "          \"sequence\": 1,\n" + "          \"maxlength\": 0\n" + "        }\n" + "      ]\n"
-                    + "    }\n" + "  ]\n" + "}";
+    private static final String TEST_DATA_FILE = "largeentity.json";
 }