Skip to content

Commit 60b6233

Browse files
committed
Fixes to POST endpoints for model, element, relationship
1 parent 28dc5c6 commit 60b6233

8 files changed

Lines changed: 29 additions & 14 deletions

File tree

app/controllers/ModelController.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package controllers;
22

33
import com.fasterxml.jackson.databind.JsonNode;
4-
import models.Element;
4+
55
import models.Model;
66
import play.libs.Json;
77
import play.mvc.Controller;
88
import play.mvc.Result;
9-
import services.ElementService;
9+
1010
import services.ModelService;
1111

1212
import javax.inject.Inject;
@@ -45,6 +45,7 @@ public Result all() {
4545

4646
public Result create() {
4747
JsonNode requestBodyJson = request().body().asJson();
48+
System.out.println(requestBodyJson);
4849
Model newModel = Json.fromJson(requestBodyJson, Model.class);
4950
Model createdModel = modelService.create(newModel);
5051
if(createdModel!=null)

app/models/Element.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ public class Element {
1515
public UUID parent_model;
1616
public String type;
1717

18+
public Element() {
19+
super();
20+
}
21+
1822
public Element(String name, UUID parent_model, String type) {
1923
this.identifier = UUID.randomUUID();
2024
this.name = name;

app/models/Model.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,13 @@ public class Model {
1313
public String name;
1414
public String description;
1515

16-
public Model(String name) {
16+
public Model() {
17+
super();
18+
}
19+
public Model(String name, String description) {
1720
this.identifier = UUID.randomUUID();
1821
this.name = name;
19-
this.description = name;
22+
this.description = description;
2023
}
2124

2225
public Model(UUID identifier, String name, String description) {

app/models/Relationship.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ public class Relationship {
1919
public String target_element_role;
2020
public UUID target_element;
2121

22+
public Relationship() {
23+
super();
24+
}
25+
2226
public Relationship(String name, UUID parent_model, String type, String source_element_role, UUID source_element,
2327
String target_element_role, UUID target_element) {
2428
this.identifier = UUID.randomUUID();

app/services/ElementService.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@ public class ElementService {
2222

2323
public Set<Element> getAll() {
2424
Set<Element> elements = new HashSet<>();
25-
ResultSet resultSet = sessionBuilder.getSession().execute("select * from sysml2.elements;");
25+
ResultSet resultSet = sessionBuilder.getSession().execute("select identifier, name, description, parent_model, type from sysml2.elements;");
2626
for(Row r: resultSet)
2727
elements.add(new Element(r.getUUID(0), r.getString(1), r.getString(2), r.getUUID(3), r.getString(4)));
2828

2929
return elements;
3030
}
3131

3232
public Element getById(UUID identifier) {
33-
ResultSet resultSet = sessionBuilder.getSession().execute("select * from sysml2.elements where identifier = " + identifier);
33+
ResultSet resultSet = sessionBuilder.getSession().execute("select identifier, name, description, parent_model, type from sysml2.elements where identifier = " + identifier);
3434
Row result = resultSet.one();
3535
if(result!=null)
3636
return new Element(result.getUUID(0), result.getString(1), result.getString(2), result.getUUID(3),result.getString(4));
@@ -43,11 +43,12 @@ public Element create(Element elem) {
4343
UUID elementIdentifier = elem.identifier;
4444
if(elementIdentifier == null) elementIdentifier = UUIDs.timeBased();
4545

46-
String cqlCommand = String.format("INSERT INTO sysml2.elements(identifier,name,description, parent_model, type) VALUES (%s,%s,%s,%s,%s)",
46+
String cqlCommand = String.format("INSERT INTO sysml2.elements(identifier,name,description, parent_model, type) " +
47+
"VALUES (%s,'%s','%s',%s,'%s')",
4748
elementIdentifier, elem.name, elem.description, elem.parent_model, elem.type);
4849

4950
sessionBuilder.getSession().execute(cqlCommand);
50-
return getById(elem.identifier);
51+
return getById(elementIdentifier);
5152
}
5253
else
5354
return null;

app/services/ModelService.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ public class ModelService {
2323

2424
public Set<Model> getAll() {
2525
Set<Model> models = new HashSet<>();
26-
ResultSet resultSet = sessionBuilder.getSession().execute("select * from sysml2.models;");
26+
ResultSet resultSet = sessionBuilder.getSession().execute("select identifier, name, description from sysml2.models;");
2727
for(Row r: resultSet)
2828
models.add(new Model(r.getUUID(0), r.getString(1), r.getString(2)));
2929

3030
return models;
3131
}
3232

3333
public Model getById(UUID identifier) {
34-
ResultSet resultSet = sessionBuilder.getSession().execute("select * from sysml2.models where identifier = " + identifier);
34+
ResultSet resultSet = sessionBuilder.getSession().execute("select identifier, name, description from sysml2.models where identifier = " + identifier);
3535
Row result = resultSet.one();
3636
if(result!=null)
3737
return new Model(result.getUUID(0), result.getString(1), result.getString(2));
@@ -44,11 +44,11 @@ public Model create(Model model) {
4444
UUID modelIdentifier = model.identifier;
4545
if(modelIdentifier == null) modelIdentifier = UUIDs.timeBased();
4646

47-
String cqlCommand = String.format("INSERT INTO sysml2.models(identifier,name,description VALUES (%s,%s,%s,%s,%s)",
47+
String cqlCommand = String.format("INSERT INTO sysml2.models(identifier,name,description) VALUES (%s,'%s','%s');",
4848
modelIdentifier, model.name, model.description);
4949

5050
sessionBuilder.getSession().execute(cqlCommand);
51-
return getById(model.identifier);
51+
return getById(modelIdentifier);
5252
}
5353
else
5454
return null;

app/services/RelationshipService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ public Relationship create(Relationship relation) {
5353
UUID identifier = relation.identifier;
5454
if(identifier == null) identifier = UUIDs.timeBased();
5555

56-
String cqlCommand = String.format("INSERT INTO sysml2.relationships(identifier,name,description, parent_model, type, source_element_role, source_element, target_element_role, target_element)" +
57-
" VALUES (%s,%s,%s, %s, %s, %s, %s, %s, %s);", identifier, relation.name, relation.description, relation.parent_model, relation.type,
56+
String cqlCommand = String.format("INSERT INTO sysml2.relationships(identifier, name, description, parent_model, type, source_element_role, source_element, target_element_role, target_element)" +
57+
" VALUES (%s,'%s','%s',%s,'%s','%s',%s,'%s',%s);", identifier, relation.name, relation.description, relation.parent_model, relation.type,
5858
relation.source_element_role, relation.source_element, relation.target_element_role, relation.target_element);
5959

6060
sessionBuilder.getSession().execute(cqlCommand);

conf/generate_cas_schema.cql

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ CREATE TABLE IF NOT EXISTS sysml2.relationships (identifier timeuuid, name text,
1212
// Insert some test data
1313
INSERT INTO sysml2.models(identifier,name,description) VALUES (65df24d2-b52e-11e8-96f8-529269fb1459,'Sandbox model', 'This is a sandbox SysML v2 model.');
1414

15+
INSERT INTO sysml2.models(identifier,name,description) VALUES (c76fde60-b562-11e8-8e53-dbf8bfefb057,'MyModel','Description of My Model');
16+
1517
INSERT INTO sysml2.elements(identifier,name,description, parent_model, type) VALUES (65df2770-b52e-11e8-96f8-529269fb1459,'Shapes','Package of shapes',65df24d2-b52e-11e8-96f8-529269fb1459,'Package');
1618
INSERT INTO sysml2.elements(identifier,name,description, parent_model, type) VALUES (65df28c4-b52e-11e8-96f8-529269fb1459,'Triangle','Triangle shape',65df24d2-b52e-11e8-96f8-529269fb1459,'Class');
1719
INSERT INTO sysml2.elements(identifier,name,description, parent_model, type) VALUES (65df2a04-b52e-11e8-96f8-529269fb1459,'Quadrilateral','Quadrilateral shape',65df24d2-b52e-11e8-96f8-529269fb1459,'Class');

0 commit comments

Comments
 (0)