Changeset 2168


Ignore:
Timestamp:
Dec 10, 2013, 3:28:22 PM (9 years ago)
Author:
Nicklas Nordborg
Message:

Fixes #549: Installation wizard should share biomaterial lists with WRITE permission

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/servlet/InstallServlet.java

    r2159 r2168  
    128128
    129129        Group patientCurator = ReggieRole.PATIENT_CURATOR.get(dc);
    130         PermissionOptions sharedToPatientCurator = null;
     130        PermissionOptions patientCuratorUse = null;
     131        PermissionOptions patientCuratorWrite = null;
    131132        if (patientCurator != null)
    132133        {
    133           sharedToPatientCurator = new PermissionOptions();
    134           sharedToPatientCurator.set(patientCurator, Permission.USE);
     134          patientCuratorUse = new PermissionOptions();
     135          patientCuratorUse.set(patientCurator, Permission.USE);
     136          patientCuratorWrite = new PermissionOptions();
     137          patientCuratorWrite.set(patientCurator, Permission.WRITE);
    135138          if (activeProject != null)
    136139          {
    137             sharedToPatientCurator.set(activeProject, null);
     140            patientCuratorUse.set(activeProject, null);
     141            patientCuratorWrite.set(activeProject, null);
    138142          }
    139143        }
    140144       
    141         PermissionOptions sharedToActiveProject = null;
     145        PermissionOptions activeProjectUse = null;
     146        PermissionOptions activeProjectWrite = null;
    142147        if (activeProject != null)
    143148        {
    144           sharedToActiveProject = new PermissionOptions();
    145           sharedToActiveProject.set(activeProject, Permission.USE);
    146         }
    147        
    148         PermissionOptions effectiveOptions = sharedToActiveProject == null ?
    149             sharedToPatientCurator : sharedToActiveProject;
    150        
     149          activeProjectUse = new PermissionOptions();
     150          activeProjectUse.set(activeProject, Permission.USE);
     151          activeProjectWrite = new PermissionOptions();
     152          activeProjectWrite.set(activeProject, Permission.WRITE);
     153        }
     154       
     155        PermissionOptions effectivePermissionsUse = activeProjectUse == null ?
     156            patientCuratorUse : activeProjectUse;
     157        PermissionOptions effectivePermissionsWrite = activeProjectWrite == null ?
     158            patientCuratorWrite : activeProjectWrite;
    151159        Map<String, Item> subtypeItems = new HashMap<String, Item>();
    152160       
     
    212220        // Annotation type checks
    213221        // -- the first batch need to be shared to the PatientCurator group
    214         jsonChecks.add(checkAnnotationType(dc, Annotationtype.PERSONAL_NUMBER, 1, null, sharedToPatientCurator, createIfMissing));
    215         jsonChecks.add(checkAnnotationType(dc, Annotationtype.FAMILY_NAME, 1, null, sharedToPatientCurator, createIfMissing));
    216         jsonChecks.add(checkAnnotationType(dc, Annotationtype.ALL_FIRST_NAMES, 1, null, sharedToPatientCurator, createIfMissing));
     222        jsonChecks.add(checkAnnotationType(dc, Annotationtype.PERSONAL_NUMBER, 1, null, patientCuratorUse, createIfMissing));
     223        jsonChecks.add(checkAnnotationType(dc, Annotationtype.FAMILY_NAME, 1, null, patientCuratorUse, createIfMissing));
     224        jsonChecks.add(checkAnnotationType(dc, Annotationtype.ALL_FIRST_NAMES, 1, null, patientCuratorUse, createIfMissing));
    217225       
    218226        // -- the second batch need only be shared to the active project or to the PatientCurator group
    219227
    220         jsonChecks.add(checkAnnotationType(dc, Annotationtype.DATE_OF_BIRTH, 1, null, effectiveOptions, createIfMissing));
    221         jsonChecks.add(checkAnnotationType(dc, Annotationtype.GENDER, 1, new ValueOptions("F", "M"), effectiveOptions, createIfMissing));
    222         jsonChecks.add(checkAnnotationType(dc, Annotationtype.LATERALITY, 1, new ValueOptions("LEFT", "RIGHT"), effectiveOptions, createIfMissing));
    223         jsonChecks.add(checkAnnotationType(dc, Annotationtype.REASON_IF_NO_SPECIMEN, 1, null, effectiveOptions, createIfMissing));
    224         jsonChecks.add(checkAnnotationType(dc, Annotationtype.PAD, 1,  null, sharedToPatientCurator, createIfMissing));
    225        
    226         jsonChecks.add(checkAnnotationType(dc, Annotationtype.BLOOD_SAMPLING_DATETIME, 1,null, effectiveOptions, createIfMissing));
    227         jsonChecks.add(checkAnnotationType(dc, Annotationtype.BLOOD_FREEZER_DATETIME, 1, null, effectiveOptions, createIfMissing));
    228         jsonChecks.add(checkAnnotationType(dc, Annotationtype.BLOOD_SERUM, 1, new ValueOptions("Yes", "No"), effectiveOptions, createIfMissing));
    229         jsonChecks.add(checkAnnotationType(dc, Annotationtype.BLOOD_SAMPLE, 1, new ValueOptions("PreNeo", "PreOp", "FollowUp06", "FollowUp12", "FollowUp36"), effectiveOptions, createIfMissing));
    230         jsonChecks.add(checkAnnotationType(dc, Annotationtype.BLOOD_RCCIDNUMBER, 1, null, effectiveOptions, createIfMissing));
    231 
    232         jsonChecks.add(checkAnnotationType(dc, Annotationtype.SAMPLING_DATETIME, 1, null, effectiveOptions, createIfMissing));
    233         jsonChecks.add(checkAnnotationType(dc, Annotationtype.RNALATER_DATETIME, 1, null, effectiveOptions, createIfMissing));
    234         jsonChecks.add(checkAnnotationType(dc, Annotationtype.CONSENT, 1, new ValueOptions("Yes", "No", "Not asked"), effectiveOptions, createIfMissing));
    235         jsonChecks.add(checkAnnotationType(dc, Annotationtype.CONSENT_DATE, 1, null, effectiveOptions, createIfMissing));
    236         jsonChecks.add(checkAnnotationType(dc, Annotationtype.ARRIVAL_DATE, 1, null, effectiveOptions, createIfMissing));
    237         jsonChecks.add(checkAnnotationType(dc, Annotationtype.NOF_DELIVERED_TUBES, 1, null, effectiveOptions, createIfMissing));
    238         jsonChecks.add(checkAnnotationType(dc, Annotationtype.OPERATOR_DELIVERY_COMMENT, 1, null, effectiveOptions, createIfMissing));
    239         jsonChecks.add(checkAnnotationType(dc, Annotationtype.OTHER_PATH_NOTE, 1, null, effectiveOptions, createIfMissing));
     228        jsonChecks.add(checkAnnotationType(dc, Annotationtype.DATE_OF_BIRTH, 1, null, effectivePermissionsUse, createIfMissing));
     229        jsonChecks.add(checkAnnotationType(dc, Annotationtype.GENDER, 1, new ValueOptions("F", "M"), effectivePermissionsUse, createIfMissing));
     230        jsonChecks.add(checkAnnotationType(dc, Annotationtype.LATERALITY, 1, new ValueOptions("LEFT", "RIGHT"), effectivePermissionsUse, createIfMissing));
     231        jsonChecks.add(checkAnnotationType(dc, Annotationtype.REASON_IF_NO_SPECIMEN, 1, null, effectivePermissionsUse, createIfMissing));
     232        jsonChecks.add(checkAnnotationType(dc, Annotationtype.PAD, 1,  null, patientCuratorUse, createIfMissing));
     233       
     234        jsonChecks.add(checkAnnotationType(dc, Annotationtype.BLOOD_SAMPLING_DATETIME, 1,null, effectivePermissionsUse, createIfMissing));
     235        jsonChecks.add(checkAnnotationType(dc, Annotationtype.BLOOD_FREEZER_DATETIME, 1, null, effectivePermissionsUse, createIfMissing));
     236        jsonChecks.add(checkAnnotationType(dc, Annotationtype.BLOOD_SERUM, 1, new ValueOptions("Yes", "No"), effectivePermissionsUse, createIfMissing));
     237        jsonChecks.add(checkAnnotationType(dc, Annotationtype.BLOOD_SAMPLE, 1, new ValueOptions("PreNeo", "PreOp", "FollowUp06", "FollowUp12", "FollowUp36"), effectivePermissionsUse, createIfMissing));
     238        jsonChecks.add(checkAnnotationType(dc, Annotationtype.BLOOD_RCCIDNUMBER, 1, null, effectivePermissionsUse, createIfMissing));
     239
     240        jsonChecks.add(checkAnnotationType(dc, Annotationtype.SAMPLING_DATETIME, 1, null, effectivePermissionsUse, createIfMissing));
     241        jsonChecks.add(checkAnnotationType(dc, Annotationtype.RNALATER_DATETIME, 1, null, effectivePermissionsUse, createIfMissing));
     242        jsonChecks.add(checkAnnotationType(dc, Annotationtype.CONSENT, 1, new ValueOptions("Yes", "No", "Not asked"), effectivePermissionsUse, createIfMissing));
     243        jsonChecks.add(checkAnnotationType(dc, Annotationtype.CONSENT_DATE, 1, null, effectivePermissionsUse, createIfMissing));
     244        jsonChecks.add(checkAnnotationType(dc, Annotationtype.ARRIVAL_DATE, 1, null, effectivePermissionsUse, createIfMissing));
     245        jsonChecks.add(checkAnnotationType(dc, Annotationtype.NOF_DELIVERED_TUBES, 1, null, effectivePermissionsUse, createIfMissing));
     246        jsonChecks.add(checkAnnotationType(dc, Annotationtype.OPERATOR_DELIVERY_COMMENT, 1, null, effectivePermissionsUse, createIfMissing));
     247        jsonChecks.add(checkAnnotationType(dc, Annotationtype.OTHER_PATH_NOTE, 1, null, effectivePermissionsUse, createIfMissing));
    240248        jsonChecks.add(checkAnnotationType(dc, Annotationtype.SPECIMEN_TYPE, 1,
    241249            new ValueOptions("Primary", "LymfnodeRegional", "MetastasisDistant", "RecurrenceLocal", "RecurrenceRegional"),
    242             effectiveOptions, createIfMissing));
     250            effectivePermissionsUse, createIfMissing));
    243251        jsonChecks.add(checkAnnotationType(dc, Annotationtype.BIOPSY_TYPE, 1,
    244252            new ValueOptions("SpecimenSurgery", "SpecimenCoreBiopsy", "SpecimenFineNeedleAspiration"),
    245             effectiveOptions, createIfMissing));
    246         jsonChecks.add(checkAnnotationType(dc, Annotationtype.NOF_PIECES, 1, null, effectiveOptions, createIfMissing));
    247         jsonChecks.add(checkAnnotationType(dc, Annotationtype.MULTIPLE_PIECES, 1, null, effectiveOptions, createIfMissing));
    248         jsonChecks.add(checkAnnotationType(dc, Annotationtype.OPERATOR_PARTITION_COMMENT, 1, null, effectiveOptions, createIfMissing));       
    249         jsonChecks.add(checkAnnotationType(dc, Annotationtype.PARTITION_DATE, 1, null, effectiveOptions, createIfMissing));
    250 
    251         jsonChecks.add(checkAnnotationType(dc, Annotationtype.GOOD_STAIN, 1, null, effectiveOptions, createIfMissing));
    252         jsonChecks.add(checkAnnotationType(dc, Annotationtype.SCORE_COMPLETE, 1, null, effectiveOptions, createIfMissing));
    253         jsonChecks.add(checkAnnotationType(dc, Annotationtype.SCORE_INVASIVE_CANCER, 1, null, effectiveOptions, createIfMissing));
    254         jsonChecks.add(checkAnnotationType(dc, Annotationtype.SCORE_INSITU_CANCER, 1, null, effectiveOptions, createIfMissing));
    255         jsonChecks.add(checkAnnotationType(dc, Annotationtype.SCORE_LYMPHOCYTES, 1, null, effectiveOptions, createIfMissing));
    256         jsonChecks.add(checkAnnotationType(dc, Annotationtype.SCORE_NORMAL, 1, null, effectiveOptions, createIfMissing));
    257         jsonChecks.add(checkAnnotationType(dc, Annotationtype.SCORE_STROMA, 1, null, effectiveOptions, createIfMissing));
    258         jsonChecks.add(checkAnnotationType(dc, Annotationtype.SCORE_FAT, 1, null, effectiveOptions, createIfMissing));
    259        
    260         jsonChecks.add(checkAnnotationType(dc, Annotationtype.QIACUBE_DATE, 1, null, effectiveOptions, createIfMissing));
    261         jsonChecks.add(checkAnnotationType(dc, Annotationtype.QIACUBE_OPERATOR, 1, null, effectiveOptions, createIfMissing));
    262         jsonChecks.add(checkAnnotationType(dc, Annotationtype.QIACUBE_POSITION, 1, new ValueOptions(1, 12), effectiveOptions, createIfMissing));
    263         jsonChecks.add(checkAnnotationType(dc, Annotationtype.QIACUBE_RUN_NO, 1, new ValueOptions(1, null), effectiveOptions, createIfMissing));
    264        
    265         jsonChecks.add(checkAnnotationType(dc, Annotationtype.QC_RUN_DATE, 1, null, effectiveOptions, createIfMissing));
    266         jsonChecks.add(checkAnnotationType(dc, Annotationtype.QC_OPERATOR, 1, null, effectiveOptions, createIfMissing));
    267         jsonChecks.add(checkAnnotationType(dc, Annotationtype.QC_HISENSE, 1, null, effectiveOptions, createIfMissing));
    268         jsonChecks.add(checkAnnotationType(dc, Annotationtype.BA_RIN, 1, null, effectiveOptions, createIfMissing));
    269         jsonChecks.add(checkAnnotationType(dc, Annotationtype.CA_RQS, 1, null, effectiveOptions, createIfMissing));
    270         jsonChecks.add(checkAnnotationType(dc, Annotationtype.ND_CONC, 1, null, effectiveOptions, createIfMissing));
    271         jsonChecks.add(checkAnnotationType(dc, Annotationtype.ND_260_BY_280, 1, null, effectiveOptions, createIfMissing));
    272         jsonChecks.add(checkAnnotationType(dc, Annotationtype.ND_260_BY_230, 1, null, effectiveOptions, createIfMissing));
     253            effectivePermissionsUse, createIfMissing));
     254        jsonChecks.add(checkAnnotationType(dc, Annotationtype.NOF_PIECES, 1, null, effectivePermissionsUse, createIfMissing));
     255        jsonChecks.add(checkAnnotationType(dc, Annotationtype.MULTIPLE_PIECES, 1, null, effectivePermissionsUse, createIfMissing));
     256        jsonChecks.add(checkAnnotationType(dc, Annotationtype.OPERATOR_PARTITION_COMMENT, 1, null, effectivePermissionsUse, createIfMissing));       
     257        jsonChecks.add(checkAnnotationType(dc, Annotationtype.PARTITION_DATE, 1, null, effectivePermissionsUse, createIfMissing));
     258
     259        jsonChecks.add(checkAnnotationType(dc, Annotationtype.GOOD_STAIN, 1, null, effectivePermissionsUse, createIfMissing));
     260        jsonChecks.add(checkAnnotationType(dc, Annotationtype.SCORE_COMPLETE, 1, null, effectivePermissionsUse, createIfMissing));
     261        jsonChecks.add(checkAnnotationType(dc, Annotationtype.SCORE_INVASIVE_CANCER, 1, null, effectivePermissionsUse, createIfMissing));
     262        jsonChecks.add(checkAnnotationType(dc, Annotationtype.SCORE_INSITU_CANCER, 1, null, effectivePermissionsUse, createIfMissing));
     263        jsonChecks.add(checkAnnotationType(dc, Annotationtype.SCORE_LYMPHOCYTES, 1, null, effectivePermissionsUse, createIfMissing));
     264        jsonChecks.add(checkAnnotationType(dc, Annotationtype.SCORE_NORMAL, 1, null, effectivePermissionsUse, createIfMissing));
     265        jsonChecks.add(checkAnnotationType(dc, Annotationtype.SCORE_STROMA, 1, null, effectivePermissionsUse, createIfMissing));
     266        jsonChecks.add(checkAnnotationType(dc, Annotationtype.SCORE_FAT, 1, null, effectivePermissionsUse, createIfMissing));
     267       
     268        jsonChecks.add(checkAnnotationType(dc, Annotationtype.QIACUBE_DATE, 1, null, effectivePermissionsUse, createIfMissing));
     269        jsonChecks.add(checkAnnotationType(dc, Annotationtype.QIACUBE_OPERATOR, 1, null, effectivePermissionsUse, createIfMissing));
     270        jsonChecks.add(checkAnnotationType(dc, Annotationtype.QIACUBE_POSITION, 1, new ValueOptions(1, 12), effectivePermissionsUse, createIfMissing));
     271        jsonChecks.add(checkAnnotationType(dc, Annotationtype.QIACUBE_RUN_NO, 1, new ValueOptions(1, null), effectivePermissionsUse, createIfMissing));
     272       
     273        jsonChecks.add(checkAnnotationType(dc, Annotationtype.QC_RUN_DATE, 1, null, effectivePermissionsUse, createIfMissing));
     274        jsonChecks.add(checkAnnotationType(dc, Annotationtype.QC_OPERATOR, 1, null, effectivePermissionsUse, createIfMissing));
     275        jsonChecks.add(checkAnnotationType(dc, Annotationtype.QC_HISENSE, 1, null, effectivePermissionsUse, createIfMissing));
     276        jsonChecks.add(checkAnnotationType(dc, Annotationtype.BA_RIN, 1, null, effectivePermissionsUse, createIfMissing));
     277        jsonChecks.add(checkAnnotationType(dc, Annotationtype.CA_RQS, 1, null, effectivePermissionsUse, createIfMissing));
     278        jsonChecks.add(checkAnnotationType(dc, Annotationtype.ND_CONC, 1, null, effectivePermissionsUse, createIfMissing));
     279        jsonChecks.add(checkAnnotationType(dc, Annotationtype.ND_260_BY_280, 1, null, effectivePermissionsUse, createIfMissing));
     280        jsonChecks.add(checkAnnotationType(dc, Annotationtype.ND_260_BY_230, 1, null, effectivePermissionsUse, createIfMissing));
    273281       
    274282        jsonChecks.add(checkAnnotationType(dc, Annotationtype.FLAG, 1,
     
    278286              Rna.FLAG_EXCLUDED_FROM_POOL,
    279287              PooledLibrary.FLAG_CLUSTERING_FAILED),
    280             effectiveOptions, createIfMissing));
     288            effectivePermissionsUse, createIfMissing));
    281289        jsonChecks.add(checkAnnotationType(dc, Annotationtype.AUTO_PROCESSING, 1,
    282290            new ValueOptions("Disable", "ReProcess"),
    283             effectiveOptions, createIfMissing));
     291            effectivePermissionsUse, createIfMissing));
    284292        jsonChecks.add(checkAnnotationType(dc, Annotationtype.PLATE_PROCESS_RESULT, 1,
    285293            new ValueOptions(ReactionPlate.PROCESS_SUCCESSFUL, ReactionPlate.PROCESS_FAILED),
    286             effectiveOptions, createIfMissing));
     294            effectivePermissionsUse, createIfMissing));
    287295       
    288296        jsonChecks.add(checkAnnotationType(dc, Annotationtype.POOL_SCHEMA, 1,
    289297            new ValueOptions("4by24", "4by16", "5by16"),
    290             effectiveOptions, createIfMissing));
    291         jsonChecks.add(checkAnnotationType(dc, Annotationtype.BARCODE_VARIANT, 1, null, effectiveOptions, createIfMissing));
    292         jsonChecks.add(checkAnnotationType(dc, Annotationtype.QUBIT_CONC, 1, null, effectiveOptions, createIfMissing));
    293         jsonChecks.add(checkAnnotationType(dc, Annotationtype.QUBIT_CONC_AFTER_SPEEDVAC, 1, null, effectiveOptions, createIfMissing));
    294         jsonChecks.add(checkAnnotationType(dc, Annotationtype.CA_SIZE, 1, null, effectiveOptions, createIfMissing));
    295         jsonChecks.add(checkAnnotationType(dc, Annotationtype.CA_MOLARITY, 1, null, effectiveOptions, createIfMissing));
    296         jsonChecks.add(checkAnnotationType(dc, Annotationtype.POOL_CONC, 1, null, effectiveOptions, createIfMissing));
    297         jsonChecks.add(checkAnnotationType(dc, Annotationtype.POOL_MOLARITY, 1, null, effectiveOptions, createIfMissing));
    298         jsonChecks.add(checkAnnotationType(dc, Annotationtype.POOL_TARGET_VOLUME_PER_LIB, 1, null, effectiveOptions, createIfMissing));
    299         jsonChecks.add(checkAnnotationType(dc, Annotationtype.POOL_TARGET_MOLARITY, 1, null, effectiveOptions, createIfMissing));
    300         jsonChecks.add(checkAnnotationType(dc, Annotationtype.POOL_IS_MANUAL, 1, null, effectiveOptions, createIfMissing));
     298            effectivePermissionsUse, createIfMissing));
     299        jsonChecks.add(checkAnnotationType(dc, Annotationtype.BARCODE_VARIANT, 1, null, effectivePermissionsUse, createIfMissing));
     300        jsonChecks.add(checkAnnotationType(dc, Annotationtype.QUBIT_CONC, 1, null, effectivePermissionsUse, createIfMissing));
     301        jsonChecks.add(checkAnnotationType(dc, Annotationtype.QUBIT_CONC_AFTER_SPEEDVAC, 1, null, effectivePermissionsUse, createIfMissing));
     302        jsonChecks.add(checkAnnotationType(dc, Annotationtype.CA_SIZE, 1, null, effectivePermissionsUse, createIfMissing));
     303        jsonChecks.add(checkAnnotationType(dc, Annotationtype.CA_MOLARITY, 1, null, effectivePermissionsUse, createIfMissing));
     304        jsonChecks.add(checkAnnotationType(dc, Annotationtype.POOL_CONC, 1, null, effectivePermissionsUse, createIfMissing));
     305        jsonChecks.add(checkAnnotationType(dc, Annotationtype.POOL_MOLARITY, 1, null, effectivePermissionsUse, createIfMissing));
     306        jsonChecks.add(checkAnnotationType(dc, Annotationtype.POOL_TARGET_VOLUME_PER_LIB, 1, null, effectivePermissionsUse, createIfMissing));
     307        jsonChecks.add(checkAnnotationType(dc, Annotationtype.POOL_TARGET_MOLARITY, 1, null, effectivePermissionsUse, createIfMissing));
     308        jsonChecks.add(checkAnnotationType(dc, Annotationtype.POOL_IS_MANUAL, 1, null, effectivePermissionsUse, createIfMissing));
    301309        jsonChecks.add(checkAnnotationType(dc, Annotationtype.POOL_MIXING_STRATEGY, 1,
    302310            new ValueOptions(PooledLibrary.MIXING_STRATEGY_FIXED, PooledLibrary.MIXING_STRATEGY_DYNAMIC),
    303             effectiveOptions, createIfMissing));
    304         jsonChecks.add(checkAnnotationType(dc, Annotationtype.POOL_DATE, 1, null, effectiveOptions, createIfMissing));
    305         jsonChecks.add(checkAnnotationType(dc, Annotationtype.OPERATOR, 1, null, effectiveOptions, createIfMissing));
    306         jsonChecks.add(checkAnnotationType(dc, Annotationtype.DILUTION_DATE, 1, null, effectiveOptions, createIfMissing));
    307         jsonChecks.add(checkAnnotationType(dc, Annotationtype.DILUTION_OPERATOR, 1, null, effectiveOptions, createIfMissing));
    308         jsonChecks.add(checkAnnotationType(dc, Annotationtype.PURIFICATION_DATE, 1, null, effectiveOptions, createIfMissing));
    309         jsonChecks.add(checkAnnotationType(dc, Annotationtype.PURIFICATION_OPERATOR, 1, null, effectiveOptions, createIfMissing));
    310         jsonChecks.add(checkAnnotationType(dc, Annotationtype.FRAGMENTATION_DATE, 1, null, effectiveOptions, createIfMissing));
    311         jsonChecks.add(checkAnnotationType(dc, Annotationtype.FRAGMENTATION_OPERATOR, 1, null, effectiveOptions, createIfMissing));
    312         jsonChecks.add(checkAnnotationType(dc, Annotationtype.CLEANUP_DATE, 1, null, effectiveOptions, createIfMissing));
    313         jsonChecks.add(checkAnnotationType(dc, Annotationtype.CLEANUP_OPERATOR, 1, null, effectiveOptions, createIfMissing));
    314         jsonChecks.add(checkAnnotationType(dc, Annotationtype.SYNTHESIS_DATE, 1, null, effectiveOptions, createIfMissing));
    315         jsonChecks.add(checkAnnotationType(dc, Annotationtype.SYNTHESIS_OPERATOR, 1, null, effectiveOptions, createIfMissing));
    316         jsonChecks.add(checkAnnotationType(dc, Annotationtype.AMPLIFICATION_DATE, 1, null, effectiveOptions, createIfMissing));
    317         jsonChecks.add(checkAnnotationType(dc, Annotationtype.AMPLIFICATION_OPERATOR, 1, null, effectiveOptions, createIfMissing));
    318 
    319         jsonChecks.add(checkAnnotationType(dc, Annotationtype.FLOWCELL_ID, 1, null, effectiveOptions, createIfMissing));
    320         jsonChecks.add(checkAnnotationType(dc, Annotationtype.CLUSTER_START, 1, null, effectiveOptions, createIfMissing));
    321         jsonChecks.add(checkAnnotationType(dc, Annotationtype.CLUSTER_OPERATOR, 1, null, effectiveOptions, createIfMissing));
    322         jsonChecks.add(checkAnnotationType(dc, Annotationtype.READ_STRING, 1, null, effectiveOptions, createIfMissing));
    323         jsonChecks.add(checkAnnotationType(dc, Annotationtype.SEQUENCING_CYCLES, 1, null, effectiveOptions, createIfMissing));
     311            effectivePermissionsUse, createIfMissing));
     312        jsonChecks.add(checkAnnotationType(dc, Annotationtype.POOL_DATE, 1, null, effectivePermissionsUse, createIfMissing));
     313        jsonChecks.add(checkAnnotationType(dc, Annotationtype.OPERATOR, 1, null, effectivePermissionsUse, createIfMissing));
     314        jsonChecks.add(checkAnnotationType(dc, Annotationtype.DILUTION_DATE, 1, null, effectivePermissionsUse, createIfMissing));
     315        jsonChecks.add(checkAnnotationType(dc, Annotationtype.DILUTION_OPERATOR, 1, null, effectivePermissionsUse, createIfMissing));
     316        jsonChecks.add(checkAnnotationType(dc, Annotationtype.PURIFICATION_DATE, 1, null, effectivePermissionsUse, createIfMissing));
     317        jsonChecks.add(checkAnnotationType(dc, Annotationtype.PURIFICATION_OPERATOR, 1, null, effectivePermissionsUse, createIfMissing));
     318        jsonChecks.add(checkAnnotationType(dc, Annotationtype.FRAGMENTATION_DATE, 1, null, effectivePermissionsUse, createIfMissing));
     319        jsonChecks.add(checkAnnotationType(dc, Annotationtype.FRAGMENTATION_OPERATOR, 1, null, effectivePermissionsUse, createIfMissing));
     320        jsonChecks.add(checkAnnotationType(dc, Annotationtype.CLEANUP_DATE, 1, null, effectivePermissionsUse, createIfMissing));
     321        jsonChecks.add(checkAnnotationType(dc, Annotationtype.CLEANUP_OPERATOR, 1, null, effectivePermissionsUse, createIfMissing));
     322        jsonChecks.add(checkAnnotationType(dc, Annotationtype.SYNTHESIS_DATE, 1, null, effectivePermissionsUse, createIfMissing));
     323        jsonChecks.add(checkAnnotationType(dc, Annotationtype.SYNTHESIS_OPERATOR, 1, null, effectivePermissionsUse, createIfMissing));
     324        jsonChecks.add(checkAnnotationType(dc, Annotationtype.AMPLIFICATION_DATE, 1, null, effectivePermissionsUse, createIfMissing));
     325        jsonChecks.add(checkAnnotationType(dc, Annotationtype.AMPLIFICATION_OPERATOR, 1, null, effectivePermissionsUse, createIfMissing));
     326
     327        jsonChecks.add(checkAnnotationType(dc, Annotationtype.FLOWCELL_ID, 1, null, effectivePermissionsUse, createIfMissing));
     328        jsonChecks.add(checkAnnotationType(dc, Annotationtype.CLUSTER_START, 1, null, effectivePermissionsUse, createIfMissing));
     329        jsonChecks.add(checkAnnotationType(dc, Annotationtype.CLUSTER_OPERATOR, 1, null, effectivePermissionsUse, createIfMissing));
     330        jsonChecks.add(checkAnnotationType(dc, Annotationtype.READ_STRING, 1, null, effectivePermissionsUse, createIfMissing));
     331        jsonChecks.add(checkAnnotationType(dc, Annotationtype.SEQUENCING_CYCLES, 1, null, effectivePermissionsUse, createIfMissing));
    324332        jsonChecks.add(checkAnnotationType(dc, Annotationtype.HISEQ_POSITION, 1,
    325333            new ValueOptions("A", "B"),
    326             effectiveOptions, createIfMissing));
    327        
    328         jsonChecks.add(checkAnnotationType(dc, Annotationtype.SEQUENCING_START, 1, null, effectiveOptions, createIfMissing));
    329         jsonChecks.add(checkAnnotationType(dc, Annotationtype.SEQUENCING_OPERATOR, 1, null, effectiveOptions, createIfMissing));
     334            effectivePermissionsUse, createIfMissing));
     335       
     336        jsonChecks.add(checkAnnotationType(dc, Annotationtype.SEQUENCING_START, 1, null, effectivePermissionsUse, createIfMissing));
     337        jsonChecks.add(checkAnnotationType(dc, Annotationtype.SEQUENCING_OPERATOR, 1, null, effectivePermissionsUse, createIfMissing));
    330338       
    331339        // Annotation type categories
     
    419427       
    420428        // Plugin definitions and configurations
    421         jsonChecks.add(checkPlugin(dc, CaliperSampleNameExporter.class, effectiveOptions, createIfMissing));
    422 
    423         jsonChecks.add(checkPlugin(dc, CaliperRunParametersExporter.class, effectiveOptions, createIfMissing));
    424         jsonChecks.add(checkPluginConfiguration(dc, CaliperRunParametersExporter.class, "Standard sensitivity", effectiveOptions, createIfMissing));
    425         jsonChecks.add(checkPluginConfiguration(dc, CaliperRunParametersExporter.class, "High sensitivity", effectiveOptions, createIfMissing));
    426 
    427         jsonChecks.add(checkPlugin(dc, CaliperLibPrepParametersExporter.class, effectiveOptions, createIfMissing));
    428         jsonChecks.add(checkPluginConfiguration(dc, CaliperLibPrepParametersExporter.class, "HT DNA 1K Ver2 (96)", effectiveOptions, createIfMissing));
    429         jsonChecks.add(checkPluginConfiguration(dc, CaliperLibPrepParametersExporter.class, "HT DNA 1K Ver2 (384)", effectiveOptions, createIfMissing));
    430 
    431         jsonChecks.add(checkPlugin(dc, QubitSampleNameExporter.class, effectiveOptions, createIfMissing));
    432        
    433         jsonChecks.add(checkPlugin(dc, FlowCellSampleSheetExporter.class, effectiveOptions, createIfMissing));
    434         jsonChecks.add(checkPluginConfiguration(dc, FlowCellSampleSheetExporter.class, "SCAN-B", effectiveOptions, createIfMissing));
     429        jsonChecks.add(checkPlugin(dc, CaliperSampleNameExporter.class, effectivePermissionsUse, createIfMissing));
     430
     431        jsonChecks.add(checkPlugin(dc, CaliperRunParametersExporter.class, effectivePermissionsUse, createIfMissing));
     432        jsonChecks.add(checkPluginConfiguration(dc, CaliperRunParametersExporter.class, "Standard sensitivity", effectivePermissionsUse, createIfMissing));
     433        jsonChecks.add(checkPluginConfiguration(dc, CaliperRunParametersExporter.class, "High sensitivity", effectivePermissionsUse, createIfMissing));
     434
     435        jsonChecks.add(checkPlugin(dc, CaliperLibPrepParametersExporter.class, effectivePermissionsUse, createIfMissing));
     436        jsonChecks.add(checkPluginConfiguration(dc, CaliperLibPrepParametersExporter.class, "HT DNA 1K Ver2 (96)", effectivePermissionsUse, createIfMissing));
     437        jsonChecks.add(checkPluginConfiguration(dc, CaliperLibPrepParametersExporter.class, "HT DNA 1K Ver2 (384)", effectivePermissionsUse, createIfMissing));
     438
     439        jsonChecks.add(checkPlugin(dc, QubitSampleNameExporter.class, effectivePermissionsUse, createIfMissing));
     440       
     441        jsonChecks.add(checkPlugin(dc, FlowCellSampleSheetExporter.class, effectivePermissionsUse, createIfMissing));
     442        jsonChecks.add(checkPluginConfiguration(dc, FlowCellSampleSheetExporter.class, "SCAN-B", effectivePermissionsUse, createIfMissing));
    435443
    436444        // Biomaterial lists
    437         jsonChecks.add(checkBioMaterialList(dc, BiomaterialList.FLAGGED_RNA, effectiveOptions, createIfMissing));
    438         jsonChecks.add(checkBioMaterialList(dc, BiomaterialList.FLAGGED_POOL, effectiveOptions, createIfMissing));
     445        jsonChecks.add(checkBioMaterialList(dc, BiomaterialList.FLAGGED_RNA, effectivePermissionsWrite, createIfMissing));
     446        jsonChecks.add(checkBioMaterialList(dc, BiomaterialList.FLAGGED_POOL, effectivePermissionsWrite, createIfMissing));
    439447       
    440448        // MIME types
     
    442450       
    443451        // Special items
    444         jsonChecks.add(checkExtract(dc, Rna.STRATAGENE, Subtype.RNA, null, effectiveOptions, createIfMissing));
     452        jsonChecks.add(checkExtract(dc, Rna.STRATAGENE, Subtype.RNA, null, effectivePermissionsUse, createIfMissing));
    445453        jsonChecks.add(checkExtract(dc, Rna.EXTERNAL, Subtype.RNA,
    446           "This RNA is used to indicate that a bioplate location is taken by RNA not registered in BASE.", effectiveOptions, createIfMissing));
     454          "This RNA is used to indicate that a bioplate location is taken by RNA not registered in BASE.", effectivePermissionsUse, createIfMissing));
    447455
    448456        // Tags
     
    453461          jsonChecks.add(checkTag(dc, "AD"+(i < 10 ? "00" : "0")+i, Subtype.BARCODE,
    454462            "TruSeq Adapter Index " + i,
    455             effectiveOptions, createIfMissing));
     463            effectivePermissionsUse, createIfMissing));
    456464        }
    457465       
Note: See TracChangeset for help on using the changeset viewer.