...
Alias(es) | Full Name | Container | Locationable | Status | count | Last Modified | Valid Parents | Deprecated Entity Fields |
---|---|---|---|---|---|---|---|---|
dataset, study | org.sagebionetworks.repo.model.Study | true | true | Deprecated | 11479 | 2015-01-13 04:05:16 | folder, project | numSamples, species, disease, tissueType, platform |
layer, data | org.sagebionetworks.repo.model.Data | false | true | Deprecated | 835532 | 2015-01-28 23:10:06 | folder, project, study | numSamples, species, disease, tissueType, platform, type |
project | org.sagebionetworks.repo.model.Project | true | false | Supported | 8964 | 2015-01-28 23:25:29 | root only | |
preview | org.sagebionetworks.repo.model.Preview | false | false | Deprecated | 93 | 2012-01-19 05:52:23 | folder, data | |
folder | org.sagebionetworks.repo.model.Folder | true | false | Supported | 42101 | 2015-01-28 23:10:11 | project, folder, study, analysis | |
analysis | org.sagebionetworks.repo.model.Analysis | true | false | Deprecated | 29 | 2013-05-09 12:44:15 | project, folder | properties |
step | org.sagebionetworks.repo.model.Step | false | false | Deprecated | 34 | 2012-09-16 15:31:39 | folder, analysis | code, input, output, environmentDescriptors, startDate, endDate, commandLine |
code | org.sagebionetworks.repo.model.Code | false | true | Deprecated | 769 | 2015-01-28 23:09:42 | project, folder | startDate, endDate |
link | org.sagebionetworks.repo.model.Link | false | false | Supported | 253 | 2015-01-14 15:44:07 | project, folder, study, data, step, analysis | |
phenotypedata | org.sagebionetworks.repo.model.PhenotypeData | false | true | Deprecated | 569 | 2013-08-09 21:12:03 | project, folder, study | numSamples, species, disease |
genotypedata | org.sagebionetworks.repo.model.GenotypeData | false | true | Deprecated | 1642 | 2014-05-08 06:21:11 | project, folder, study | numSamples, species, disease, platform |
expressiondata | org.sagebionetworks.repo.model.ExpressionData | false | true | Deprecated | 18724 | 2013-10-10 16:32:21 | project, folder, study | numSamples, species, disease, tissueType, platform |
robject | org.sagebionetworks.repo.model.RObject | false | true | Deprecated | 52 | 2013-03-02 22:28:36 | project, folder, study | properties |
summary | org.sagebionetworks.repo.model.Summary | false | false | Supported | 102 | 2014-11-06 21:56:38 | project, folder, study | |
genomicdata | org.sagebionetworks.repo.model.GenomicData | false | true | Deprecated | 2 | 2013-01-25 22:50:59 | project, folder, study | numSamples, species, technology, dataType,molecularFeatureType, status, tissue, platform |
page | org.sagebionetworks.repo.model.Page | true | false | Deprecated | 0 | folder, page | ||
file | org.sagebionetworks.repo.model.FileEntity | false | false | Supported | 198820 | 2015-01-28 23:10:26 | project, folder, study | |
table | org.sagebionetworks.repo.model.table.TableEntity | false | false | Supported | 2260 | 2015-01-28 23:17:52 | project, folder, study | |
community | org.sagebionetworks.bridge.model.Community | true | false | Deprecated | 1 | 2014-02-06 20:47:44 | root only | teamId, welcomePageWikiId, indexPageWikiId |
Table 1.
Locationable
Locationable entities can have one or more LocationData objects in their list of locations. LocationData is the precursor to our currently supported FileHandle. Each LocationData object points to either object in S3 (like a S3FileHandle) or an external URL (ExternalFileHandle). Most of the client support burden is around supporting Locationable Entites. Table 1 shows which entity types are Locationable. Even though a Locationable can have one or more LocationData it is assumed that each LocationData represents the same file just store in alternate locations and that all "copies" have the same md5 (see Figure 1).
...
In order to fully depreciated the unsupported types, we need to convert each old type objects into one an object of the supported types (without changing the entity ID). The plan is to add a new services that will convert an old entity to a new type. Many conversions will be simple. For example, it will be simple to convert a a data object with a single file. Conversion will not be simple for all cases where there is not a one-to-one relationship between the old and new.
Response Body | Method | URL | Request Body | Authorization |
---|---|---|---|---|
Entity | PUT | /entity/{entityId}/convertType | Entity | Caller Must have the UPDATE permission on the Entity. |
Response codes:
Return code | Name | Condition |
---|---|---|
201 | Created | The entity type convertion was successful |
412 | Precondition Failed | Returned if the passed entity.etag does not match the etag of the entity (ConflictingUpdateException) |
400 | Bad Request | The entity cannot be converted for any reason. The message should explain why the type change failed. |
The following table lists how each old type will be converted into a new type.
Note: Any deprecated entity fields with values (see Table 1 'Deprecated Entity Fields') will be preserved as annotations on the new entity. Any non-primitive deprecated field will be saved as a string annotation.
Original Entity | Converted To | Details |
---|---|---|
Non-container Locationable with a single LocationData of type awss3 | FileEntity | An S3FileHandle will be created for the location. The type will be changed to a FileEntity pointing to the new FileHandle |
Non-container Locationable with a single LocationData of type external | FileEntity | An ExternalFileHandle will be created for the location. The type will be change to a FileEntity pointing to the new FilewHandle. |
Non-container Locationable with a single LocationData of type awsebs, sage, github | Unsupported (400) | There is no way to represent these types with FileHandles. The caller will need to convert the type to either awss3 or external and then try again. |
Non-container Locationable with more than one LocationData of any type | Unsupported (400) | There is now way to represent multiple location with a single file. the caller will need to pick a single location to keep and remove the rest and then try again. |
Non-container Locationable that has one or more Link children | Unsupported (400) | File cannot have children. The caller must move or delete the Links and try again. |
Container non-locationable | Folder | The container will simply be converted to folder. |
Container locationable with n number of LocationData of type awss3 or external | Folder + n child FileEntity | The original entity will be converted to a folder, and a child FileEntity will be added for each valid LocationData. |
Container locationable with n number of LocationData of type awsebs, sage, github | Unsupported (400) | There is no way to represent these types with FileHandles. The caller will need to convert the type to either awss3 or external and then try again. |