ORCentral
|
00001 package eu.coform; 00002 00003 import javax.jws.WebService; 00004 import javax.jws.soap.SOAPBinding; 00005 import javax.xml.soap.SOAPException; 00006 00007 import eu.coform.ORException; 00008 import eu.coform.command.datasetingestion.CreateMimetypeCommand; 00009 import eu.coform.command.datasetingestion.IngestDatasetCommand; 00010 import eu.coform.command.location.QueryAllLocationCommand; 00011 import eu.coform.command.location.QueryLocationCommand; 00012 import eu.coform.command.loginsession.IsValidSessionCommand; 00013 import eu.coform.command.loginsession.LoginCommand; 00014 import eu.coform.implementation.*; 00015 00019 @WebService 00020 @SOAPBinding(style = SOAPBinding.Style.RPC) 00021 public class ObjectRepository { 00022 private ORImplementation o; 00023 00024 // --------------------------------------------------------- 00025 // 1. Infrastructure 00026 00027 public ObjectRepository () { 00028 this.o = ORImplementation.the(); 00029 } 00030 00031 public boolean uuidIsNew (UniqueID uuid) 00032 throws SOAPException 00033 { return o.f_boolean ( 101, uuid); } 00034 00035 // CLIENT-SIDE FUNCTIONS 00036 // public void setQueryStartCount (int queryStart, 00037 // int queryCount) 00038 // public int lastQueryTotalCount (); 00039 // public int lastErrorCode (); 00040 // public String lastErrorMessage (); 00041 00042 // --------------------------------------------------------- 00043 // 2. Locations 00044 00045 public boolean createLocation (Session session, 00046 Location location, 00047 String homepageURL, 00048 String description) 00049 throws SOAPException 00050 { return o.f_boolean ( 201, session, location, homepageURL, description); } 00051 00059 public Location queryLocationByName (String name) 00060 throws ORException 00061 { 00062 QueryLocationCommand c = new QueryLocationCommand(); 00063 c.setLocationName(name); 00064 Location location = c.execute(); 00065 return location; 00066 } 00067 00068 public Location queryLocationByUniqueID (UniqueID location) 00069 throws SOAPException 00070 { return o.f_Location ( 203, location); } 00071 00077 public Location[] queryAllLocations () 00078 throws ORException 00079 { 00080 QueryAllLocationCommand com = new QueryAllLocationCommand(); 00081 Location[] result = null; 00082 try { 00083 result = com.execute(); 00084 } catch (ORException e) { 00085 throw e; 00086 } 00087 return result; 00088 } 00089 00090 // --------------------------------------------------------- 00091 // 3. Login Session management 00092 00103 public Session login (Location location, String username, String password, 00104 int minutesTimeout) throws ORException { 00105 System.out.println(location.getLocationId().getId()); 00106 LoginCommand c = new LoginCommand(); 00107 c.setLocation(location); 00108 c.setUsername(username); 00109 c.setPassword(password); 00110 c.setMinutesTimout(minutesTimeout); 00111 Session s = null; 00112 try { 00113 s = c.execute(); 00114 } catch (ORException e) { 00115 throw e; 00116 } 00117 return s; 00118 } 00119 00120 public Session switchUser (Session session, 00121 Location location, 00122 User user) 00123 throws SOAPException 00124 { return o.f_Session ( 302, session, location, user); } 00125 00126 public int minutesRemaining (Session session) 00127 throws SOAPException 00128 { return o.f_int ( 303, session); } 00129 00130 public boolean touchSession (Session session) 00131 throws SOAPException 00132 { return o.f_boolean ( 304, session); } 00133 00134 // CLIENTSIDE FUNCTION 00135 // public boolean addStoredSession (Session session) 00136 // throws SOAPException 00137 // { return o.f_boolean ( 305, session); } 00138 00139 public boolean changePassword (Session session, 00140 String oldPassword, 00141 String newPassword) 00142 throws SOAPException 00143 { return o.f_boolean ( 306, session, oldPassword, newPassword); } 00144 00145 public void logout (Session session) 00146 throws SOAPException 00147 { o.f_void ( 307, session); } 00148 00149 // --------------------------------------------------------- 00150 // 4. Dataset Ingestion 00151 00152 // CLIENTSIDE FUNCTIONS 00153 // public Dataset setIngestDataset (String localPathToFileBinary, 00154 // String metadataRDF, 00155 // String localPathToFileAreatable, 00156 // String localPathToFileThumbnail, 00157 // boolean isBackgroundMetadata) 00158 // 00159 // public Filestruct setFilestructToLocal(String localFilenamePath) 00160 00169 public void ingestDataset (Session session, 00170 Group parentGroup, 00171 Dataset dataset, 00172 String metadataRDF) 00173 throws ORException 00174 { 00175 IngestDatasetCommand com = new IngestDatasetCommand(session, dataset, 00176 metadataRDF); 00177 com.execute(); 00178 } 00179 00180 public void uploadFile (Session session, 00181 Filestruct file, 00182 String localFilenamePath) 00183 throws SOAPException 00184 { o.f_void ( 403, session, file, localFilenamePath); } 00185 00186 // --------------------------------------------------------- 00187 // 5. Dataset Queries 00188 00189 public Dataset queryDataset (Session session, 00190 UniqueID datasetID) 00191 throws SOAPException 00192 { return o.f_Dataset ( 501, session, datasetID); } 00193 00194 public Filestruct queryFile (Session session, 00195 UniqueID fileID) 00196 throws SOAPException 00197 { return o.f_Filestruct ( 502, session, fileID); } 00198 00199 public Dataset[] queryDatasets (Session session, 00200 String sqlQuery, 00201 int start, 00202 int count) 00203 throws SOAPException 00204 { return o.f_DatasetA ( 503, session, sqlQuery, start, count); } 00205 00206 public Filestruct[] queryFiles (Session session, 00207 String sqlQuery, 00208 int start, 00209 int count) 00210 throws SOAPException 00211 { return o.f_FilestructA( 504, session, sqlQuery, start, count); } 00212 00213 public Group[] queryGroups (Session session, 00214 String sqlQuery, 00215 int start, 00216 int count) 00217 throws SOAPException 00218 { return o.f_GroupA ( 505, session, sqlQuery, start, count); } 00219 00220 // --------------------------------------------------------- 00221 // 6. Dataset Retrieval 00222 00223 public void retrieveFile (Session session, 00224 Filestruct file, 00225 String localDirectory) 00226 throws SOAPException 00227 { o.f_void ( 601, session, file, localDirectory); } 00228 00229 public void retrieveDataset (Session session, 00230 Dataset dataset, 00231 String localDirectory, 00232 boolean uniqueFilename) 00233 throws SOAPException 00234 { o.f_void ( 602, session, dataset, localDirectory, uniqueFilename); } 00235 00236 public void retrieveGroup (Session session, 00237 Group group, 00238 String localDirectory, 00239 boolean uniqueFilename) 00240 throws SOAPException 00241 { o.f_void ( 603, session, group, localDirectory, uniqueFilename); } 00242 00243 // --------------------------------------------------------- 00244 // 7. Versioning 00245 00246 public void updateVersion (Session session, 00247 Filestruct oldFile, 00248 Filestruct newFile, 00249 String localFilenamePath, 00250 int fileType) 00251 throws SOAPException 00252 { o.f_void ( 701, session, oldFile, newFile, localFilenamePath, fileType); } 00253 00254 public int queryVersions (Session session, 00255 Dataset dataset, 00256 int fileType) 00257 throws SOAPException 00258 { return o.f_int ( 702, session, dataset, fileType); } 00259 00260 public Filestruct queryVersion (Session session, 00261 Dataset dataset, 00262 int version, 00263 int fileType) 00264 throws SOAPException 00265 { return o.f_Filestruct ( 703, session, dataset, version, fileType); } 00266 00267 public void setConsistAssert (Session session, 00268 String consistAssert, 00269 UniqueID fileMetadataID) 00270 throws SOAPException 00271 { o.f_void ( 704, session, consistAssert, fileMetadataID); } 00272 00273 public String queryConsistAssert (Session session, 00274 UniqueID fileMetadataID) 00275 throws SOAPException 00276 { return o.f_String ( 705, session, fileMetadataID); } 00277 00278 // --------------------------------------------------------- 00279 // 8. Group management 00280 00281 public Group rootGroup (Session session) 00282 throws SOAPException 00283 { return o.f_Group ( 801, session); } 00284 00285 public void createGroup (Session session, 00286 Group newGroup, 00287 Group parentGroup, 00288 String metadataRDF) 00289 throws SOAPException 00290 { o.f_void ( 802, session, newGroup, parentGroup, metadataRDF); } 00291 00292 public void addToGroup (Session session, 00293 Group parentGroup, 00294 Dataset dataset) 00295 throws SOAPException 00296 { o.f_void ( 803, session, parentGroup, dataset); } 00297 00298 public void addToGroup (Session session, 00299 Group parentGroup, 00300 Group group) 00301 throws SOAPException 00302 { o.f_void ( 804, session, parentGroup, group); } 00303 00304 public void removeFromGroup (Session session, 00305 Group parentGroup, 00306 Dataset dataset) 00307 throws SOAPException 00308 { o.f_void ( 805, session, parentGroup, dataset); } 00309 00310 public void removeFromGroup (Session session, 00311 Group parentGroup, 00312 Group group) 00313 throws SOAPException 00314 { o.f_void ( 806, session, parentGroup, group); } 00315 00316 public Group[] queryParentGroups (Session session, 00317 Group group, 00318 int start, 00319 int count) 00320 throws SOAPException 00321 { return o.f_GroupA ( 807, session, group, start, count); } 00322 00323 public Group[] queryParentGroups (Session session, 00324 Dataset dataset, 00325 int start, 00326 int count) 00327 throws SOAPException 00328 { return o.f_GroupA ( 808, session, dataset, start, count); } 00329 00330 public Group[] queryChildGroups (Session session, 00331 Group group, 00332 int start, 00333 int count) 00334 throws SOAPException 00335 { return o.f_GroupA ( 809, session, group, start, count); } 00336 00337 public Dataset[] queryChildDatasets (Session session, 00338 Group group, 00339 int start, 00340 int count) 00341 throws SOAPException 00342 { return o.f_DatasetA ( 810, session, group, start, count); } 00343 00344 // --------------------------------------------------------- 00345 // 9. Replica management 00346 00347 public void createReplica (Session session, 00348 Dataset dataset, 00349 Location location) 00350 throws SOAPException 00351 { o.f_void ( 901, session, dataset, location); } 00352 00353 public int createReplicaStatus (Session session, 00354 Dataset dataset, 00355 Location location) 00356 throws SOAPException 00357 { return o.f_int ( 902, session, dataset, location); } 00358 00359 public void deleteReplica (Session session, 00360 Dataset dataset, 00361 Location location) 00362 throws SOAPException 00363 { o.f_void ( 903, session, dataset, location); } 00364 00365 public void deleteAllReplicas (Session session, 00366 Dataset dataset) 00367 throws SOAPException 00368 { o.f_void ( 904, session, dataset); } 00369 00370 public Location[] queryReplica (Session session, 00371 Dataset dataset, 00372 int start, 00373 int count) 00374 throws SOAPException 00375 { return o.f_LocationA ( 905, session, dataset, start, count); } 00376 00377 // --------------------------------------------------------- 00378 // 10. User management 00379 00380 public Usergroup rootUsergroup (Session session) 00381 throws SOAPException 00382 { return o.f_Usergroup (1001, session); } 00383 00384 public void createUsergroup (Session session, 00385 Usergroup usergroup, 00386 Usergroup parentgroup) 00387 throws SOAPException 00388 { o.f_void (1002, session, usergroup, parentgroup); } 00389 00390 public void createUser (Session session, 00391 Usergroup parentgroup, 00392 User user, 00393 String password, 00394 String email) 00395 throws SOAPException 00396 { o.f_void (1003, session, parentgroup, user, password, email); } 00397 00398 public void addToUsergroup (Session session, 00399 User member, 00400 Usergroup usergroup) 00401 throws SOAPException 00402 { o.f_void (1004, session, member, usergroup); } 00403 00404 public User queryUser (Session session, 00405 String username) 00406 throws SOAPException 00407 { return o.f_User (1005, session, username); } 00408 00409 public void removeFromUsergroup (Session session, 00410 User member, 00411 Usergroup usergroup) 00412 throws SOAPException 00413 { o.f_void (1006, session, member, usergroup); } 00414 00415 public Usergroup[] queryUsergroups (Session session, 00416 User user, 00417 int start, 00418 int count) 00419 throws SOAPException 00420 { return o.f_UsergroupA (1007, session, user, start, count); } 00421 00422 public Usergroup[] queryAllUsergroups (Session session, 00423 int start, 00424 int count) 00425 throws SOAPException 00426 { return o.f_UsergroupA (1008, session, start, count); } 00427 00428 public Usergroup queryParentUsergroup(Session session, 00429 Usergroup usergroup) 00430 throws SOAPException 00431 { return o.f_Usergroup (1009, session, usergroup); } 00432 00433 public Usergroup[] queryChildUsergroups(Session session, 00434 Usergroup group, 00435 int start, 00436 int count) 00437 throws SOAPException 00438 { return o.f_UsergroupA (1010, session, group, start, count); } 00439 00440 public User[] queryUsergroupUsers (Session session, 00441 Usergroup usergroup, 00442 int start, 00443 int count) 00444 throws SOAPException 00445 { return o.f_UserA (1011, session, usergroup, start, count); } 00446 00447 // --------------------------------------------------------- 00448 // 11. Permissions 00449 00450 public void grantPermission (Session session, 00451 UniqueID subject, 00452 UniqueID object, 00453 String permission) 00454 throws SOAPException 00455 { o.f_void (1101, session, subject, object, permission); } 00456 00457 public void revokePermission (Session session, 00458 UniqueID subject, 00459 UniqueID object, 00460 String permission) 00461 throws SOAPException 00462 { o.f_void (1102, session, subject, object, permission); } 00463 00464 public String queryPermission (Session session, 00465 UniqueID subject, 00466 UniqueID object) 00467 throws SOAPException 00468 { return o.f_String (1103, session, subject, object); } 00469 00470 public boolean checkRetrieval (Session session, 00471 Dataset dataset) 00472 throws SOAPException 00473 { return o.f_boolean (1104, session, dataset); } 00474 00475 // --------------------------------------------------------- 00476 // 12. Filestatus and Mimetype 00485 public int createFilestatus (Session session, 00486 Filestatus filestatus) 00487 throws ORException 00488 { 00489 IsValidSessionCommand c = new IsValidSessionCommand(); 00490 c.setSession(session); 00491 if (!c.execute()) 00492 throw new ORException(Error.FilestatusCreationFailed); 00493 00494 // Creat 00495 return 0; 00496 } 00497 00498 public Filestatus queryFilestatus (Session session, 00499 int filestatusID) 00500 throws SOAPException 00501 { return o.f_Filestatus (1202, session, filestatusID); } 00502 00503 public Filestatus[] queryAllFilestatus (Session session) 00504 throws SOAPException 00505 { return o.f_FilestatusA(1203, session); } 00514 public int createMimetype (Session session, 00515 Mimetype mimetype) 00516 throws SOAPException, ORException 00517 { 00518 IsValidSessionCommand c = new IsValidSessionCommand(); 00519 c.setSession(session); 00520 if (!c.execute()) 00521 throw new ORException(Error.MimetypeCreationFailed); 00522 00523 CreateMimetypeCommand m = new CreateMimetypeCommand(); 00524 m.setMime(mimetype); 00525 return m.execute(); 00526 } 00527 00528 public Mimetype queryMimetype (Session session, 00529 int mimetypeID) 00530 throws SOAPException 00531 { return o.f_Mimetype (1205, session, mimetypeID); } 00532 00533 public Mimetype[] queryAllMimetype (Session session) 00534 throws SOAPException 00535 { return o.f_MimetypeA (1206, session); } 00536 00537 // --------------------------------------------------------- 00538 // 13. Software 00539 00540 public void createSoftware (Session session, 00541 Software software) 00542 throws SOAPException 00543 { o.f_void (1301, session, software); } 00544 00545 public Software[] queryAllSoftware (Session session, 00546 int start, 00547 int count) 00548 throws SOAPException 00549 { return o.f_SoftwareA (1302, session, start, count); } 00550 00551 public void createImportExport (Session session, 00552 Software software, 00553 Mimetype mimetype, 00554 boolean createImport) 00555 throws SOAPException 00556 { o.f_void (1303, session, software, mimetype, createImport); } 00557 00558 public Software[] queryImportExport (Session session, 00559 Mimetype mimetype, 00560 boolean queryImport) 00561 throws SOAPException 00562 { return o.f_SoftwareA (1304, session, mimetype, queryImport); } 00563 }