Skip to content

Commit f0cb6fa

Browse files
committed
handle SBOL exception
1 parent 481958a commit f0cb6fa

File tree

4 files changed

+21
-15
lines changed

4 files changed

+21
-15
lines changed

src/main/java/knox/spring/data/neo4j/controller/KnoxController.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,8 @@
55
import java.util.*;
66

77
import knox.spring.data.neo4j.domain.DesignSpace;
8+
import knox.spring.data.neo4j.exception.*;
89
import knox.spring.data.neo4j.sample.DesignSampler.EnumerateType;
9-
import knox.spring.data.neo4j.exception.DesignSpaceBranchesConflictException;
10-
import knox.spring.data.neo4j.exception.DesignSpaceConflictException;
11-
import knox.spring.data.neo4j.exception.DesignSpaceNotFoundException;
12-
import knox.spring.data.neo4j.exception.ParameterEmptyException;
1310
import knox.spring.data.neo4j.sbol.SBOLConversion;
1411
import knox.spring.data.neo4j.services.DesignSpaceService;
1512

@@ -654,7 +651,7 @@ public ResponseEntity<String> importSBOL(@RequestParam("inputSBOLFiles[]") List<
654651

655652
try {
656653
designSpaceService.importSBOL(sbolDocs, outputSpaceID);
657-
} catch (IOException | SBOLValidationException | SBOLConversionException e) {
654+
} catch (IOException | SBOLValidationException | SBOLConversionException | SBOLException e) {
658655
// TODO Auto-generated catch block
659656
e.printStackTrace();
660657
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package knox.spring.data.neo4j.exception;
2+
3+
public class SBOLException extends RuntimeException{
4+
private static final long serialVersionUID = 462532991641214656L;
5+
6+
private String message;
7+
8+
public SBOLException(String message) {
9+
this.message = message;
10+
}
11+
}

src/main/java/knox/spring/data/neo4j/sbol/SBOLConversion.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import knox.spring.data.neo4j.operations.JoinOperator;
1616
import knox.spring.data.neo4j.operations.OROperator;
1717
import knox.spring.data.neo4j.operations.RepeatOperator;
18+
import knox.spring.data.neo4j.exception.SBOLException;
1819

1920
public class SBOLConversion {
2021

@@ -35,7 +36,7 @@ public void setSbolDoc(List<SBOLDocument> sbolDocs) {
3536
* calls the appropriate SBOL parser by checking for CombinatorialDerivations
3637
* @return
3738
*/
38-
public List<DesignSpace> convertSBOLsToSpaces(){
39+
public List<DesignSpace> convertSBOLsToSpaces() throws SBOLException{
3940

4041
List<DesignSpace> allOutputSpaces = new ArrayList<>();
4142

@@ -56,7 +57,7 @@ public List<DesignSpace> convertSBOLsToSpaces(){
5657
* @param sbolDoc
5758
* @return list of design spaces
5859
*/
59-
private List<DesignSpace> convertCombinatorialSBOL(SBOLDocument sbolDoc) {
60+
private List<DesignSpace> convertCombinatorialSBOL(SBOLDocument sbolDoc) throws SBOLException{
6061

6162
List<DesignSpace> outputSpaces = new ArrayList<>();
6263
Set<CombinatorialDerivation> rootCVs = getRootCombinatorialDerivation(sbolDoc);
@@ -77,7 +78,7 @@ private List<DesignSpace> convertCombinatorialSBOL(SBOLDocument sbolDoc) {
7778
return outputSpaces;
7879
}
7980

80-
private List<NodeSpace> recurseVariableComponents(CombinatorialDerivation combinatorialDerivation){
81+
private List<NodeSpace> recurseVariableComponents(CombinatorialDerivation combinatorialDerivation) throws SBOLException{
8182
ComponentDefinition template = combinatorialDerivation.getTemplate();
8283
List<NodeSpace> inputSpace = new LinkedList<>();
8384

@@ -161,7 +162,7 @@ private VariableComponent[] sortVariableComponents(CombinatorialDerivation combi
161162
return orderedVCs;
162163
}
163164

164-
private NodeSpace createNodeSpaceFromVariableComponent(VariableComponent variableComponent, ComponentDefinition template){
165+
private NodeSpace createNodeSpaceFromVariableComponent(VariableComponent variableComponent, ComponentDefinition template) throws SBOLException{
165166
ArrayList<String> atomIDs = new ArrayList<>();
166167
ArrayList<String> atomRoles = new ArrayList<>();
167168

@@ -209,7 +210,7 @@ private Edge.Orientation getOrientation(Component component, ComponentDefinition
209210
if(Objects.nonNull(annotation)){
210211
// throw error if there is more than one location
211212
if(annotation.getLocations().size() > 1){
212-
throw new RuntimeException("Cannot parse SBOL with more than one Location in SequenceAnnotation");
213+
throw new SBOLException("Cannot parse SBOL with more than one Location in SequenceAnnotation");
213214
}
214215

215216
OrientationType orientation = annotation.getLocations().iterator().next().getOrientation();

src/main/java/knox/spring/data/neo4j/services/DesignSpaceService.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@
77
import knox.spring.data.neo4j.domain.Node;
88
import knox.spring.data.neo4j.domain.NodeSpace;
99
import knox.spring.data.neo4j.domain.Snapshot;
10-
import knox.spring.data.neo4j.exception.DesignSpaceBranchesConflictException;
11-
import knox.spring.data.neo4j.exception.DesignSpaceConflictException;
12-
import knox.spring.data.neo4j.exception.DesignSpaceNotFoundException;
13-
import knox.spring.data.neo4j.exception.ParameterEmptyException;
10+
import knox.spring.data.neo4j.exception.*;
1411
import knox.spring.data.neo4j.operations.ANDOperator;
1512
import knox.spring.data.neo4j.operations.Concatenation;
1613
import knox.spring.data.neo4j.operations.JoinOperator;
@@ -601,7 +598,7 @@ public HashMap<String, String> processCSVComponents(BufferedReader csvReader) th
601598
}
602599

603600
public void importSBOL(List<SBOLDocument> sbolDocs, String outputSpaceID)
604-
throws SBOLValidationException, IOException, SBOLConversionException {
601+
throws SBOLValidationException, IOException, SBOLConversionException, SBOLException {
605602
SBOLConversion sbolConv = new SBOLConversion();
606603

607604
sbolConv.setSbolDoc(sbolDocs);

0 commit comments

Comments
 (0)