Could anyone provide any comments or see any problems that might occur
with the following repository structure?

Node option = session.getRootNode().addNode("/product/options/size");
                option.addMixin("mix:referenceable");
                option.setProperty("name", "size");
                option.setProperty("values", new String[]{"250ml", "500ml", 
"1000ml"});

                Node product = 
session.getRootNode().addNode("/products/washing_up_liquid");
                product.setProperty("name", "Washing up Liquid");
                
                Node productOptions = product.addNode("options");
                productOptions.setProperty("size", option); // REFERENCE

                Node variation250ml = product.addNode("variation/250ml");
                variation250ml.setProperty("cost", new BigDecimal("1.99"));
                variation250ml.setProperty("stock", 1);
                variation250ml.setProperty("weight", 250);

                Node variation250mlOptions = 
variation250ml.addNode("options/size");
                variation250mlOptions.setProperty("value", "250ml");

                Node variation500ml = product.addNode("variation/500ml");
                variation500ml.setProperty("cost", new BigDecimal("2.99"));
                variation500ml.setProperty("stock", 1);
                variation500ml.setProperty("weight", 500);

                Node variation500mlOptions = 
variation500ml.addNode("options/size");
                variation500mlOptions.setProperty("value", "500ml");


Node waist = session.getRootNode().addNode("/product/options/waist");
                waist.addMixin("mix:referenceable");
                waist.setProperty("name", "waist");
                waist.setProperty("values", new String[]{"28", "30", "32"});

                Node leg = 
session.getRootNode().addNode("/product/options/leg");
                leg.addMixin("mix:referenceable");
                leg.setProperty("name", "leg");
                leg.setProperty("values", new String[]{"28", "30", "32"});

                Node product = session.getRootNode().addNode("/products/jeans");
                product.setProperty("name", "Jeans");

                Node productOptions = product.addNode("options");
                productOptions.setProperty("waist", waist); // REFERENCE
            productOptions.setProperty("leg", leg); // REFERENCE

                Node variation28waist28leg = 
product.addNode("variation/28waist28leg");
                variation28waist28leg.setProperty("cost", new 
BigDecimal("49.99"));
                variation28waist28leg.setProperty("stock", 1);
                variation28waist28leg.setProperty("weight", 3000);

                Node option1 = variation28waist28leg.addNode("options/waist");
                option1.setProperty("value", "28");

                Node option2 = variation28waist28leg.addNode("options/leg");
                option2.setProperty("value", "28");

Reply via email to