1- package org .vcell .restq .handlers . FieldData ;
1+ package org .vcell .restq .handlers ;
22
33import cbit .image .ImageException ;
44import cbit .vcell .field .io .FieldDataSpec ;
1717import org .eclipse .microprofile .openapi .annotations .Operation ;
1818import org .jboss .resteasy .reactive .PartType ;
1919import org .jboss .resteasy .reactive .RestForm ;
20- import org .vcell .restq .db .UserRestDB ;
20+ import org .vcell .restq .services .FieldDataService ;
21+ import org .vcell .restq .services .UserRestService ;
2122import org .vcell .restq .errors .exceptions .*;
2223import org .vcell .restq .errors .exceptions .NotFoundWebException ;
2324import org .vcell .util .DataAccessException ;
2829import org .vcell .util .document .KeyValue ;
2930import org .vcell .util .document .User ;
3031import org .vcell .util .document .VersionableType ;
31- import org .w3c .www .http .HTTP ;
3232
3333import java .io .File ;
3434import java .io .FileNotFoundException ;
@@ -48,14 +48,14 @@ public class FieldDataResource {
4848 @ Inject
4949 SecurityIdentity securityIdentity ;
5050
51- private final FieldDataDB fieldDataDB ;
52- private final UserRestDB userRestDB ;
51+ private final FieldDataService fieldDataService ;
52+ private final UserRestService userRestService ;
5353 private final String allowedFieldDataNamesRegex = "^[a-zA-Z0-9_]*$" ;
5454
5555 @ Inject
56- public FieldDataResource (FieldDataDB fieldDataDB , UserRestDB userRestDB ){
57- this .fieldDataDB = fieldDataDB ;
58- this .userRestDB = userRestDB ;
56+ public FieldDataResource (FieldDataService fieldDataService , UserRestService userRestService ){
57+ this .fieldDataService = fieldDataService ;
58+ this .userRestService = userRestService ;
5959 }
6060
6161
@@ -65,7 +65,7 @@ public FieldDataResource(FieldDataDB fieldDataDB, UserRestDB userRestDB){
6565 @ Operation (operationId = "getAllIDs" , summary = "Get all of the ids used to identify, and retrieve field data." )
6666 public ArrayList <FieldDataReference > getAllFieldDataIDs () throws DataAccessWebException , PermissionWebException , NotAuthenticatedWebException {
6767 try {
68- return fieldDataDB .getAllFieldDataIDs (userRestDB .getUserFromIdentity (securityIdentity , UserRestDB .UserRequirement .REQUIRE_USER ));
68+ return fieldDataService .getAllFieldDataIDs (userRestService .getUserFromIdentity (securityIdentity , UserRestService .UserRequirement .REQUIRE_USER ));
6969 } catch (DataAccessException e ) {
7070 throw new DataAccessWebException ("Can't get field data ID's: " + e .getMessage (), e );
7171 }
@@ -77,9 +77,9 @@ public ArrayList<FieldDataReference> getAllFieldDataIDs() throws DataAccessWebEx
7777 @ Operation (operationId = "getShapeFromID" , summary = "Get the shape of the field data. That is it's size, origin, extent, times, and data identifiers." )
7878 public FieldDataShape getFieldDataShapeFromID (@ PathParam ("fieldDataID" ) String fieldDataID ) throws DataAccessWebException , NotFoundWebException , PermissionWebException , NotAuthenticatedWebException {
7979 try {
80- User user = userRestDB .getUserFromIdentity (securityIdentity , UserRestDB .UserRequirement .REQUIRE_USER );
80+ User user = userRestService .getUserFromIdentity (securityIdentity , UserRestService .UserRequirement .REQUIRE_USER );
8181 KeyValue keyValue = new KeyValue (fieldDataID );
82- cbit .vcell .field .io .FieldDataShape results = fieldDataDB .getFieldDataShapeFromID (user , keyValue , FieldDataSpec .JOBINDEX_DEFAULT );
82+ cbit .vcell .field .io .FieldDataShape results = fieldDataService .getFieldDataShapeFromID (user , keyValue , FieldDataSpec .JOBINDEX_DEFAULT );
8383 return new FieldDataShape (results .extent , results .origin , results .iSize , results .variableInformation ,results .times );
8484 } catch (DataAccessException e ) {
8585 if (e .getCause () instanceof FileNotFoundException ){
@@ -96,8 +96,8 @@ public FieldDataShape getFieldDataShapeFromID(@PathParam("fieldDataID") String f
9696 @ Operation (operationId = "createFromSimulation" , summary = "Create new field data from existing simulation results." )
9797 public void createNewFieldDataFromSimulation (@ RestForm String simKeyReference , @ RestForm int jobIndex , @ RestForm String newFieldDataName ) throws DataAccessWebException , PermissionWebException , NotAuthenticatedWebException {
9898 try {
99- User user = userRestDB .getUserFromIdentity (securityIdentity , UserRestDB .UserRequirement .REQUIRE_USER );
100- fieldDataDB .saveFieldDataFromSimulation (user , new KeyValue (simKeyReference ), jobIndex , newFieldDataName );
99+ User user = userRestService .getUserFromIdentity (securityIdentity , UserRestService .UserRequirement .REQUIRE_USER );
100+ fieldDataService .saveFieldDataFromSimulation (user , new KeyValue (simKeyReference ), jobIndex , newFieldDataName );
101101 } catch (DataAccessException e ) {
102102 throw new DataAccessWebException (e .getMessage (), e );
103103 }
@@ -119,12 +119,12 @@ public FieldDataSavedResults analyzeAndCreateFieldData(@RestForm @PartType(Media
119119 @ RestForm ("annotation" ) @ PartType (MediaType .TEXT_PLAIN ) String annotation ,
120120 @ RestForm ("origin" ) @ PartType (MediaType .APPLICATION_JSON ) Origin origin ) throws UnprocessableContentWebException , DataAccessWebException , PermissionWebException , NotAuthenticatedWebException {
121121 try {
122- User user = userRestDB .getUserFromIdentity (securityIdentity , UserRestDB .UserRequirement .REQUIRE_USER );
122+ User user = userRestService .getUserFromIdentity (securityIdentity , UserRestService .UserRequirement .REQUIRE_USER );
123123 if (!Pattern .matches (allowedFieldDataNamesRegex , fileName ) || fileName .length () > 100 || fileName .isEmpty ()){
124124 throw new UnprocessableContentWebException ("Invalid file name." );
125125 }
126- FieldData fieldData = fieldDataDB .analyzeFieldDataFromFile (file , fileName );
127- ExternalDataIdentifier edi = fieldDataDB .saveNewFieldDataFromFile (fileName ,
126+ FieldData fieldData = fieldDataService .analyzeFieldDataFromFile (file , fileName );
127+ ExternalDataIdentifier edi = fieldDataService .saveNewFieldDataFromFile (fileName ,
128128 channelNames , fieldData .shortSpecData , annotation ,
129129 user , times , origin , extent , iSize );
130130 return new FieldDataSavedResults (edi .getName (), edi .getKey ().toString ());
@@ -146,12 +146,12 @@ public FieldDataSavedResults analyzeAndCreateFieldData(@RestForm @PartType(Media
146146 public FieldDataSavedResults createFromFileWithDefaults (@ RestForm @ PartType (MediaType .APPLICATION_OCTET_STREAM ) File file ,
147147 @ RestForm String fieldDataName ) throws UnprocessableContentWebException , DataAccessWebException , PermissionWebException , NotAuthenticatedWebException {
148148 try {
149- User user = userRestDB .getUserFromIdentity (securityIdentity , UserRestDB .UserRequirement .REQUIRE_USER );
149+ User user = userRestService .getUserFromIdentity (securityIdentity , UserRestService .UserRequirement .REQUIRE_USER );
150150 if (!Pattern .matches (allowedFieldDataNamesRegex , fieldDataName ) || fieldDataName .length () > 100 || fieldDataName .isEmpty ()){
151151 throw new UnprocessableContentWebException ("Invalid file name." );
152152 }
153- FieldData fieldData = fieldDataDB .analyzeFieldDataFromFile (file , fieldDataName );
154- ExternalDataIdentifier edi = fieldDataDB .saveNewFieldDataFromFile (fieldDataName , fieldData .varNames , fieldData .shortSpecData ,
153+ FieldData fieldData = fieldDataService .analyzeFieldDataFromFile (file , fieldDataName );
154+ ExternalDataIdentifier edi = fieldDataService .saveNewFieldDataFromFile (fieldDataName , fieldData .varNames , fieldData .shortSpecData ,
155155 fieldData .annotation , user , fieldData .times , fieldData .origin , fieldData .extent , fieldData .isize );
156156 return new FieldDataSavedResults (edi .getName (), edi .getKey ().toString ());
157157 } catch (DataFormatException e ){
@@ -172,11 +172,11 @@ public FieldDataSavedResults createFromFileWithDefaults(@RestForm @PartType(Medi
172172 "Filenames must be lowercase alphanumeric, and can contain underscores." )
173173 public FieldData analyzeFile (@ RestForm File file , @ RestForm String fileName ) throws UnprocessableContentWebException , DataAccessWebException , PermissionWebException , NotAuthenticatedWebException {
174174 try {
175- userRestDB .getUserFromIdentity (securityIdentity , UserRestDB .UserRequirement .REQUIRE_USER );
175+ userRestService .getUserFromIdentity (securityIdentity , UserRestService .UserRequirement .REQUIRE_USER );
176176 if (!Pattern .matches (allowedFieldDataNamesRegex , fileName ) || fileName .length () > 100 || fileName .isEmpty ()){
177177 throw new UnprocessableContentWebException ("Invalid file name." );
178178 }
179- return fieldDataDB .analyzeFieldDataFromFile (file , fileName );
179+ return fieldDataService .analyzeFieldDataFromFile (file , fileName );
180180 } catch (DataFormatException e ){
181181 throw new UnprocessableContentWebException (e .getMessage (), e );
182182 } catch (DataAccessException e ){
@@ -196,8 +196,8 @@ public FieldData analyzeFile(@RestForm File file, @RestForm String fileName) thr
196196 public FieldDataSavedResults createNewFieldDataFromSpecification (FieldData saveFieldData ) throws UnprocessableContentWebException , DataAccessWebException , PermissionWebException , NotAuthenticatedWebException {
197197 FieldDataSavedResults fieldDataSavedResults ;
198198 try {
199- User user = userRestDB .getUserFromIdentity (securityIdentity , UserRestDB .UserRequirement .REQUIRE_USER );
200- ExternalDataIdentifier edi = fieldDataDB .saveNewFieldDataFromFile (saveFieldData .name ,
199+ User user = userRestService .getUserFromIdentity (securityIdentity , UserRestService .UserRequirement .REQUIRE_USER );
200+ ExternalDataIdentifier edi = fieldDataService .saveNewFieldDataFromFile (saveFieldData .name ,
201201 saveFieldData .varNames , saveFieldData .shortSpecData , saveFieldData .doubleSpecData , saveFieldData .annotation ,
202202 user , saveFieldData .times , saveFieldData .origin , saveFieldData .extent , saveFieldData .isize );
203203 fieldDataSavedResults = new FieldDataSavedResults (edi .getName (), edi .getKey ().toString ());
@@ -219,8 +219,8 @@ public FieldDataSavedResults createNewFieldDataFromSpecification(FieldData saveF
219219 @ Operation (operationId = "copyModelsFieldData" , summary = "Copy all existing field data from a BioModel/MathModel that you have access to, but don't own." )
220220 public Hashtable <String , ExternalDataIdentifier > copyFieldData (SourceModel sourceModel ) throws UnprocessableContentWebException , DataAccessWebException , PermissionWebException , NotAuthenticatedWebException {
221221 try {
222- User user = userRestDB .getUserFromIdentity (securityIdentity , UserRestDB .UserRequirement .REQUIRE_USER );
223- return fieldDataDB .copyModelsFieldData (user , new KeyValue (sourceModel .modelID ()), sourceModel .modelType .getName ());
222+ User user = userRestService .getUserFromIdentity (securityIdentity , UserRestService .UserRequirement .REQUIRE_USER );
223+ return fieldDataService .copyModelsFieldData (user , new KeyValue (sourceModel .modelID ()), sourceModel .modelType .getName ());
224224 } catch (MathException | XmlParseException | ExpressionException e ){
225225 throw new UnprocessableContentWebException (e .getMessage (), e );
226226 } catch (DataAccessException e ){
@@ -234,9 +234,9 @@ public Hashtable<String, ExternalDataIdentifier> copyFieldData(SourceModel sourc
234234 @ Operation (operationId = "delete" , summary = "Delete the selected field data." )
235235 public void deleteFieldData (@ PathParam ("fieldDataID" ) String fieldDataID ) throws DataAccessWebException , PermissionWebException , NotAuthenticatedWebException {
236236 try {
237- ExternalDataIdentifier edi = new ExternalDataIdentifier (new KeyValue (fieldDataID ), userRestDB .getUserFromIdentity (securityIdentity , UserRestDB .UserRequirement .REQUIRE_USER ),
237+ ExternalDataIdentifier edi = new ExternalDataIdentifier (new KeyValue (fieldDataID ), userRestService .getUserFromIdentity (securityIdentity , UserRestService .UserRequirement .REQUIRE_USER ),
238238 null );
239- fieldDataDB .deleteFieldData (edi );
239+ fieldDataService .deleteFieldData (edi );
240240 } catch (DataAccessException e ) {
241241 throw new DataAccessWebException (e .getMessage (), e );
242242 }
0 commit comments