ORCentral

src/eu/coform/ObjectRepository.java

Go to the documentation of this file.
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 }
 All Classes Namespaces Files Functions Variables Enumerations