Project

General

Profile

« Previous | Next » 

Revision 49865

change migration procedure: search first in beta then in production| add software | change directIndexHandler check for response

View differences:

QueryGenerator.java
261 261
        if(type==null){
262 262
            return null;
263 263
        }
264
        if(type.equals(ClaimUtils.DATASET)||type.equals(ClaimUtils.PUBLICATION)){
264
        if(type.equals(ClaimUtils.DATASET)||type.equals(ClaimUtils.PUBLICATION)||type.equals(ClaimUtils.SOFTWARE)){
265 265
            Result result=(Result)openaireEntity;
266 266
            query=generateInsertResultQuery(result.getOpenaireId(),result.getResultType(),result.getTitle(),result.getCollectedFrom(),result.getExternalUrl(),result.getDoi(), result.getOrcidworkid(), result.getAccessRights(),result.getEmbargoEndDate(),result.getBestLicense(),result.getRecordPath(), result.getRecordFormat(), params);
267 267
        }else if(type.equals(ClaimUtils.PROJECT)){
......
318 318
     */
319 319
    private String createSemanticsType(String sourceType,String targetType){
320 320
        String semantics=null;
321
        if((targetType.equals(ClaimUtils.PUBLICATION))&&(sourceType.equals(ClaimUtils.DATASET))){
322
            semantics="resultResult_publicationDataset_isRelatedTo";
321
//        if((targetType.equals(ClaimUtils.PUBLICATION))&&(sourceType.equals(ClaimUtils.DATASET))){
322
//            semantics="resultResult_relationship_isRelatedTo";
323
//        }
324
//        else if(targetType.equals(ClaimUtils.DATASET)&&sourceType.equals(ClaimUtils.PUBLICATION)){
325
//            semantics="resultResult_relationship_isRelatedTo";
326
//        }
327
//        if((targetType.equals(ClaimUtils.PUBLICATION))&&(sourceType.equals(ClaimUtils.SOFTWARE))){
328
//            semantics="resultResult_relationship_isRelatedTo";
329
//        }
330
//        else if(targetType.equals(ClaimUtils.SOFTWARE)&&sourceType.equals(ClaimUtils.PUBLICATION)){
331
//            semantics="resultResult_relationship_isRelatedTo";
332
//        }
333
//        if((targetType.equals(ClaimUtils.DATASET))&&(sourceType.equals(ClaimUtils.SOFTWARE))){
334
//            semantics="resultResult_relationship_isRelatedTo";
335
//        }
336
//        else if(targetType.equals(ClaimUtils.SOFTWARE)&&sourceType.equals(ClaimUtils.DATASET)){
337
//            semantics="resultResult_relationship_isRelatedTo";
338
//        }
339
//        else  if((targetType.equals(ClaimUtils.PUBLICATION))&&(sourceType.equals(ClaimUtils.PUBLICATION))){
340
//            semantics="resultResult_relationship_isRelatedTo";
341
//        }
342
//        else if(targetType.equals(ClaimUtils.DATASET)&&sourceType.equals(ClaimUtils.DATASET)){
343
//            semantics="resultResult_relationship_isRelatedTo";
344
//        }
345
//        else if(targetType.equals(ClaimUtils.SOFTWARE)&&sourceType.equals(ClaimUtils.SOFTWARE)){
346
//            semantics="resultResult_supplement_isSupplementTo";
347
//        }
348
        //add above more specific semantics for pub,data and software
349
        if((targetType.equals(ClaimUtils.PUBLICATION)||targetType.equals(ClaimUtils.DATASET)||targetType.equals(ClaimUtils.SOFTWARE))&&(sourceType.equals(ClaimUtils.PUBLICATION)||sourceType.equals(ClaimUtils.DATASET)||sourceType.equals(ClaimUtils.SOFTWARE))){
350
            semantics="resultResult_relationship_isRelatedTo";
323 351
        }
324
        else if(targetType.equals(ClaimUtils.DATASET)&&sourceType.equals(ClaimUtils.PUBLICATION)){
325
            semantics="resultResult_publicationDataset_isRelatedTo";
326
        }
327
        else  if((targetType.equals(ClaimUtils.PUBLICATION))&&(sourceType.equals(ClaimUtils.PUBLICATION))){
328
            semantics="resultResult_supplement_isSupplementedBy";
329
        }
330
        else if(targetType.equals(ClaimUtils.DATASET)&&sourceType.equals(ClaimUtils.DATASET)){
331
            semantics="resultResult_supplement_isSupplementTo";
332
        }
333
        else if((targetType.equals(ClaimUtils.PUBLICATION)||targetType.equals(ClaimUtils.DATASET))&&(sourceType.equals(ClaimUtils.PROJECT))){
352
        else if((targetType.equals(ClaimUtils.PUBLICATION)||targetType.equals(ClaimUtils.DATASET)||targetType.equals(ClaimUtils.SOFTWARE))&&(sourceType.equals(ClaimUtils.PROJECT))){
334 353
            semantics= "resultProject_outcome_produces";  //"resultProject_outcome_isProducedBy";
335 354
        }
336
        else if((targetType.equals(ClaimUtils.PUBLICATION)||targetType.equals(ClaimUtils.DATASET))&&(sourceType.equals(ClaimUtils.CONTEXT))){
355
        else if((targetType.equals(ClaimUtils.PUBLICATION)||targetType.equals(ClaimUtils.DATASET)||targetType.equals(ClaimUtils.SOFTWARE))&&(sourceType.equals(ClaimUtils.CONTEXT))){
337 356
            semantics= "isRelevantTo";
338 357
        }
339 358

  
......
582 601
    private  String addFilterByType( List<String> types, ArrayList<Object> params) {
583 602
        if(types == null || types.isEmpty()){
584 603
            return null;
585
        }else if (types.contains(ClaimUtils.PUBLICATION) && types.contains(ClaimUtils.DATASET) && types.contains(ClaimUtils.PROJECT) && types.contains(ClaimUtils.CONTEXT) ){
604
        }else if (types.contains(ClaimUtils.PUBLICATION) && types.contains(ClaimUtils.DATASET) && types.contains(ClaimUtils.SOFTWARE) && types.contains(ClaimUtils.PROJECT) && types.contains(ClaimUtils.CONTEXT) ){
586 605
            //it's all types - no need to filter
587 606
            return null;
588 607
        }
......
770 789
        ArrayList<Object> clauseParams = new ArrayList<>();
771 790
        clauseParams.add(claimId);
772 791
        String orderbyLimitClause= null;
773
        if(sourceType.equals(ClaimUtils.PUBLICATION)||sourceType.equals(ClaimUtils.DATASET)){
792
        if(sourceType.equals(ClaimUtils.PUBLICATION)||sourceType.equals(ClaimUtils.DATASET)||sourceType.equals(ClaimUtils.SOFTWARE)){
774 793
            return generateSelectclaimQuery(sourceType,targetType,null,null,null,false, clause,clauseParams,keyword, params);
775 794
        }else if(sourceType.equals(ClaimUtils.PROJECT)){
776 795
            return generateSelectclaimQuery(sourceType,targetType,null,null,null,false, clause,clauseParams,keyword, params);
......
797 816
        String fields= null;
798 817

  
799 818
        if (type != null) {
800
            if (type.equals(ClaimUtils.PUBLICATION) || type.equals(ClaimUtils.DATASET)) {
819
            if (type.equals(ClaimUtils.PUBLICATION) || type.equals(ClaimUtils.DATASET) || type.equals(ClaimUtils.SOFTWARE)) {
801 820
                fields = getResultFields(tableAlias);
802 821

  
803 822
            } else if (type.equals(ClaimUtils.PROJECT)) {
......
840 859
            return "";
841 860
        }
842 861
        keyword=keyword.toLowerCase();
843
        if (type.equals(ClaimUtils.PUBLICATION)||type.equals(ClaimUtils.DATASET)){
862
        if (type.equals(ClaimUtils.PUBLICATION)||type.equals(ClaimUtils.DATASET)||type.equals(ClaimUtils.SOFTWARE)){
844 863
            params.add("%" + keyword + "%");
845 864
            params.add("%" + keyword + "%");
846 865
            return "  (lower("+tableAlias+".title) like ? or lower("+tableAlias+".doi) like ?"+")";
......
873 892

  
874 893
                " ( " +generateSelectclaimQuery(ClaimUtils.PUBLICATION,ClaimUtils.PUBLICATION,null,null,null,false, specificWhereClause,whereParams,keyword, params)+" ) \nunion "+
875 894
                " ( " +generateSelectclaimQuery(ClaimUtils.DATASET,ClaimUtils.DATASET,null,null,null,false, specificWhereClause, whereParams,keyword, params)+" ) \nunion "+
895
                " ( " +generateSelectclaimQuery(ClaimUtils.SOFTWARE,ClaimUtils.SOFTWARE,null,null,null,false, specificWhereClause, whereParams,keyword, params)+" ) \nunion "+
876 896
                " ( " +generateSelectclaimQuery(ClaimUtils.PROJECT,ClaimUtils.PUBLICATION, null,null,null,false, specificWhereClause, whereParams,keyword, params)+" ) \nunion "+
877 897
                " ( " +generateSelectclaimQuery(ClaimUtils.CONTEXT,ClaimUtils.PUBLICATION,null,null,null,false, specificWhereClause, whereParams, keyword, params)+" )" +
878 898

  
......
888 908
        if(type == null){
889 909
            return null;
890 910
        }
891
        if(type.equals(ClaimUtils.PUBLICATION)||type.equals(ClaimUtils.DATASET)){
911
        if(type.equals(ClaimUtils.PUBLICATION)||type.equals(ClaimUtils.DATASET) ||type.equals(ClaimUtils.SOFTWARE)){
892 912
            return "result";
893 913
        }else{
894 914
            return type;
......
913 933
            return null;
914 934
        }
915 935
        String query = null;
916
        if(type.equals(ClaimUtils.PUBLICATION)||type.equals(ClaimUtils.DATASET)){
936
        if(type.equals(ClaimUtils.PUBLICATION)||type.equals(ClaimUtils.DATASET) ||type.equals(ClaimUtils.SOFTWARE)){
917 937
            query = generateDeleteResultQuery(resultid,claimId, params);
918 938
        }else if(type.equals(ClaimUtils.PROJECT)){
919 939
            query = generateDeleteProjectQuery(resultid,claimId, params);

Also available in: Unified diff