session = ctx.getJCRSession('website') websiteRoot = session.rootNode println "Starting operations...." start = System.currentTimeMillis() createNodesOfType(50000, 'mgnl:page') println "Done in ${System.currentTimeMillis() - start} ms" def createNodesOfType(howMany, type) { println "creating $howMany nodes of type $type...." for(i=1; i <= howMany; i++) { suffix = convert(i) node = websiteRoot.addNode("foo"+ suffix, type) node.setProperty('foo', "Foo" + suffix) if(i%100 == 0) { session.save() } } //do final saving (some nodes might still be transient) session.save() } def String convert(int number) { // println "Trying to convert " + number char[] numbers = ("" + number).toCharArray() char[] converted = new char[numbers.length] for (int i = 0; i < numbers.length; i++) { tempChar = (char) (numbers[i] + 16) converted[i] = (char) tempChar } return String.valueOf(converted) }