Project

General

Profile

« Previous | Next » 

Revision 50968

fixing issues with ordering and types filter

View differences:

modules/uoa-claims/trunk/src/main/java/eu/dnetlib/data/claimsDemo/TestClass.java
145 145
            List<Claim> claims = null;
146 146
            List<String> types= new ArrayList<String>();
147 147
//            types.add(ClaimUtils.CONTEXT);
148
            types.add(ClaimUtils.PROJECT);
149
          types.add(ClaimUtils.DATASET);
148
//            types.add(ClaimUtils.PROJECT);
149
//          types.add(ClaimUtils.DATASET);
150 150
            types.add(ClaimUtils.PUBLICATION);
151 151

  
152 152

  
......
173 173
//          Claim claim = fetchClaimHandler.fetchClaimById("5821");
174 174
//          System.out.println(fetchClaimHandler.claim2JSON(claim) );
175 175
//          System.out.println("ALL:"+fetchClaimHandler.countClaimsByUser("argirok@di.uoa.gr","EGI", types));
176
          System.out.println("ALL:"+fetchClaimHandler.countClaimsByContext("egi",null, new ArrayList<String>()));
176
          System.out.println("ALL:"+fetchClaimHandler.countClaimsByContext("egi",null, types));
177 177
//            System.out.println("ALL:"+fetchClaimHandler.countClaimsByProject("corda_______::ab9c77ce02967b24fc9c1a74276e4677",null,types));
178 178

  
179 179
//        System.out.println("ALL:"+fetchClaimHandler.countAllClaims("", types));
modules/uoa-claims/trunk/src/main/java/eu/dnetlib/data/claimsDemo/QueryGenerator.java
599 599
    }
600 600

  
601 601
    private  String addFilterByType( List<String> types, ArrayList<Object> params) {
602
        if(types == null || types.isEmpty()){
602
        logger.debug(types);
603
        if(types == null || types.isEmpty() || (types.size() == 1 && types.get(0).isEmpty())){
603 604
            return null;
604 605
        }else if (types.contains(ClaimUtils.PUBLICATION) && types.contains(ClaimUtils.DATASET) && types.contains(ClaimUtils.SOFTWARE) && types.contains(ClaimUtils.PROJECT) && types.contains(ClaimUtils.CONTEXT) ){
605 606
            //it's all types - no need to filter
......
727 728
        String clause = "source.openaire_id =?";
728 729
        ArrayList<Object> clauseParams = new ArrayList<>();
729 730
        clauseParams.add(projectId);
731
        String filterByType = addFilterByType(types, clauseParams);
732
        clause+= ((filterByType==null)?"":" and ("+filterByType+") ");
730 733
        String query = " select * from ("+" select * from ( " + generateSelectclaimQuery(ClaimUtils.PROJECT, ClaimUtils.PUBLICATION, limit, offset, orderBy, desc, clause, clauseParams, keyword, params) + " ) as claim  "+
731 734
                ") as claim ";
732
                String filterByType = addFilterByType(types, params);
733
                query += ((filterByType==null)?"":" where "+filterByType+" ");
735

  
734 736
                return query;
735 737
    }
736 738
/*
......
752 754
        String clause=  "claim.source_id like ?";
753 755
        ArrayList<Object> clauseParams = new ArrayList<>();
754 756
        clauseParams.add(contextId+'%');
757
        String filterByType = addFilterByType(types, clauseParams);
758
        clause+= ((filterByType==null)?"":" and ("+filterByType+") ");
755 759
        String query = " select * from ("+" ( " +generateSelectclaimQuery(ClaimUtils.CONTEXT,ClaimUtils.PUBLICATION,limit, offset, orderBy,desc,clause,clauseParams, keyword, params)+")"+
756
                ") as claim ";
757
                String filterByType = addFilterByType(types, params);
758
                query += ((filterByType==null)?"":" where "+filterByType+" ");
760
                 ") as claim ";
759 761
        return query;
760 762
    }
761 763
    public  String generateFetchClaimsByFunder(String funderId, Integer limit, Integer offset,String keyword, String orderBy, boolean desc, List<String> types, ArrayList<Object> params) {
762 764
        String whereClause = "source_id =source.openaire_id ";
763 765
        ArrayList<Object> whereParams = new ArrayList<>();
766
        String filterByType = addFilterByType(types, whereParams);
767
        whereClause+= ((filterByType==null)?"":" and ("+filterByType+") ");
764 768
        String query = " select * from ("+" ( " +generateSelectclaimQuery(ClaimUtils.PROJECT,ClaimUtils.PUBLICATION, limit, offset, orderBy,desc,whereClause,whereParams, keyword, params)+" )"+
765 769
                ") as claim ";
766
                String filterByType = addFilterByType(types, params);
767
                query += ((filterByType==null)?"":" where "+filterByType+" ");
768 770

  
771

  
769 772
        return query;
770 773
    }
771 774
    public  String generateFetchClaimsByResult(String resultId,  Integer limit, Integer offset, String keyword, String orderBy, boolean desc, List<String> types, ArrayList<Object> params) {
......
773 776
        ArrayList<Object> whereParams = new ArrayList<>();
774 777
         whereParams.add(resultId);
775 778
         whereParams.add(resultId);
779
        String filterByType = addFilterByType(types, whereParams);
780
        queryWhereClause+= ((filterByType==null)?"":" and ("+filterByType+") ");
776 781
        String query =  " select * from ("+" ( " +generateSelectclaimQuery(ClaimUtils.PUBLICATION,ClaimUtils.PUBLICATION, limit, offset, orderBy,desc,queryWhereClause,whereParams, keyword, params)+" ) \nunion "+
777 782
                " ( " +generateSelectclaimQuery(ClaimUtils.PROJECT,ClaimUtils.PUBLICATION, limit, offset, orderBy,desc,queryWhereClause,whereParams, keyword, params)+" ) \nunion "+
778 783
                " ( " +generateSelectclaimQuery(ClaimUtils.CONTEXT,ClaimUtils.PUBLICATION, limit, offset, orderBy,desc,queryWhereClause,whereParams, keyword, params)+" ) "+
779 784
                ") as claim ";
780
                String filterByType = addFilterByType(types, params);
781
                query += ((filterByType==null)?"":" where "+filterByType+" ");
785

  
782 786
        return query;
783 787

  
784 788
    }
modules/uoa-claims/trunk/src/main/java/eu/dnetlib/data/claimsDemo/SqlStore.java
181 181
	 * @throws SQLException
182 182
	 */
183 183
	public ResultSet executeQuery(String command, ArrayList<Object> values) throws SQLException, SQLStoreException {
184
		log.debug("  Executing   Query ..." + command);
184
		log.debug("  Executing   Query ...\n" + command +"\n"+values);
185 185
		try{
186 186
			this.getConnection();
187 187
			PreparedStatement st = connection.prepareStatement(command);
modules/uoa-claims/trunk/src/main/resources/eu/dnetlib/data/claims/migration/springContext-claimsDemo.xml
16 16
	http://dnetlib.eu/springbeans/template http://dnetlib.eu/springbeans/template.xsd"
17 17
       default-autowire="byName">
18 18
    <!--Un comment in order to run the tests / Comment to deploy-->
19
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
20
        <property name="locations" value="classpath:eu/dnetlib/data/claims/migration/springContext-claimsDemo.properties"/>
21
    </bean>
19
    <!--<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">-->
20
        <!--<property name="locations" value="classpath:eu/dnetlib/data/claims/migration/springContext-claimsDemo.properties"/>-->
21
    <!--</bean>-->
22 22
    <bean id="directIndexHandler" class="eu.dnetlib.data.claims.migration.handler.DirectIndexHandler">
23 23
        <property name="directClaimAPIUrl"  value="http://beta.services.openaire.eu:8280/is/mvc/api/publications"/>
24 24
    </bean>

Also available in: Unified diff