Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Js java object user request #458

Merged
merged 3 commits into from
May 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions src/demo/resources/demo/script/scriptdb.ben.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@
return query;
}

// db get entitiy count
function getEntityCount(entity) {
const count = db.countEntities(entity);
print('entity count for ' + entity + ' : ' + count);
}

</execute>

<execute target="db" onError="warn">
Expand Down Expand Up @@ -87,4 +93,8 @@
<attribute name="PLAYLIST_TRACK" source="db" selector="{js:getQuery2(1)}" cyclic="true"/>
</generate>

<echo>Printing entity count using JS and AbstractDatabase countEntities function</echo>
<execute type="js">getEntityCount('playlist');</execute>
<execute type="js">getEntityCount('TRACK');</execute>
<execute type="js">getEntityCount('PLAYLIST_TRACK');</execute>
</setup>
47 changes: 47 additions & 0 deletions src/demo/resources/demo/script/scriptdb2.ben.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>

<setup defaultDataset="US" defaultLocale="en" defaultPageSize="100" defaultSeparator="|">

<!-- define a database that will be referred by the id 'db' later -->
<comment>define a database that will be referred by the id 'db' subsequently</comment>
<database id="db" url="jdbc:h2:mem:testdb" driver="org.h2.Driver" user="sa" schema="PUBLIC"
tableFilter="db_.*"/>

<memstore id="mem"/>

<!-- SQL commands to set up the database schema -->
<execute target="db" onError="warn">
DROP TABLE IF EXISTS db_user;
</execute>

<execute target="db">
CREATE TABLE db_user (
id int NOT NULL,
name varchar(16) NOT NULL,
PRIMARY KEY (id)
);
</execute>

<!-- JavaScript code to create and store entities -->
<execute type="js">
print('DB-URL: ' + db.getUrl());

Entity = Java.type('com.rapiddweller.model.data.Entity');

// Create 1000 users using a loop
for (var i = 1; i &lt;= 1000; i++) {
var user = new Entity('db_user', context.getLocalDescriptorProvider());
user.set('id', i);
user.set('name', 'User' + i);
db.store(user);
}

// Persist everything
db.flush();

print('Created 1000 users successfully.');
</execute>

<echo>Printing generated data</echo>
<iterate type="db_user" source="db" consumer="ConsoleExporter"/>
</setup>
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,17 @@ public void demoScriptDb() {

}

/**
* Demo script db.
*/
@Test
public void demoScriptDb2() {
context.setContextUri("/demo/script");
BeneratorContext benCtx = parseAndExecuteFile("/demo/script/scriptdb2.ben.xml");
Assert.assertEquals("/demo/script", benCtx.getContextUri());

}

/**
* Demo script code.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,7 @@ public void defaultGenerateTest() {
for (int i = 0; i < 10; i++) {
FamilyPerson familyPerson = generator.generate();
assertNotNull(familyPerson);
logger.debug("familyPerson: " + familyPerson.toString());
System.out.println("familyPerson: " + familyPerson.toString());
logger.debug("familyPerson: {}", familyPerson);
}
}
@Test
Expand All @@ -43,7 +42,6 @@ public void defaultGenerateFromEntityAndRelationTest() {
//add min and max different age constraint from related person
testConstraint.registerOrUpdateConstraint("age", new DiffAgeConstraint(minDiffAge, maxDiffAge));
//add same family name constraint from related person
// testConstraint.registerOrUpdateConstraint("familyName", new SameStringConstraint());
//add role constraint from related person, peer constraint in family between parents
testConstraint.registerOrUpdateConstraint("role", new PeerRoleConstraint());
for (int i = 0; i < 10; i++) {
Expand All @@ -63,13 +61,10 @@ public void defaultGenerateFromEntityAndRelationTest() {
assertTrue(firstAge>0);
assertTrue(secondAge>0);
assertNotNull(secondRole);
assertNotEquals(firstFamilyName, secondFamilyName);
assertEquals(FamilyRole.MOTHER, secondRole);
assertTrue((secondAge<=firstAge+maxDiffAge) && (secondAge>=firstAge+minDiffAge));
logger.debug("firstPerson: " + firstFamilyPerson.toString());
logger.debug("secondPerson (related from the firstPerson): " + secondFamilyPerson.toString());
System.out.println("firstPerson: " + firstFamilyPerson.toString());
System.out.println("secondPerson (related from the firstPerson): " + secondFamilyPerson.toString());
logger.debug("firstPerson: {}", firstFamilyPerson.toString());
logger.debug("secondPerson (related from the firstPerson): {}", secondFamilyPerson.toString());
}

}
Expand All @@ -84,7 +79,6 @@ public void customGenerateTest() {
FamilyPerson familyPerson = generator.generate();
assertNotNull(familyPerson);
logger.debug(familyPerson.toString());
System.out.println(familyPerson.toString());
}

}
Expand Down Expand Up @@ -123,10 +117,8 @@ public void customGenerateFromEntityAndRelationTest() {
assertEquals(firstFamilyName, secondFamilyName);
assertEquals(FamilyRole.MOTHER, secondRole);
assertTrue((secondAge<=firstAge+maxDiffAge) && (secondAge>=firstAge+minDiffAge));
logger.debug("firstPerson: " + firstFamilyPerson.toString());
logger.debug("secondPerson (related from the firstPerson): " + secondFamilyPerson.toString());
System.out.println("firstPerson: " + firstFamilyPerson.toString());
System.out.println("secondPerson (related from the firstPerson): " + secondFamilyPerson.toString());
logger.debug("firstPerson: {}", firstFamilyPerson);
logger.debug("secondPerson (related from the firstPerson): {}", secondFamilyPerson);
}
}
}
Loading