Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.nuiton.wikitty.query.function;
  
  /*
   * #%L
   * Wikitty :: api
   * %%
   * Copyright (C) 2009 - 2013 CodeLutin
   * %%
   * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as 
  * published by the Free Software Foundation, either version 3 of the 
  * License, or (at your option) any later version.
  * 
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Lesser Public License for more details.
  * 
  * You should have received a copy of the GNU General Lesser Public 
  * License along with this program.  If not, see
  * <http://www.gnu.org/licenses/lgpl-3.0.html>.
  * #L%
  */
 
 
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
Permet de recuperer l'annee d'un champs DATE, les Maps retournees contiennent seulement un champs

Author(s):
poussin
Version:
$Revision$ Last update: $Date$ by : $Author$
 
 public class FunctionYear extends WikittyQueryFunction {

    
to use log facility, just put in your code: log.info(\"...\");
 
     static private Log log = LogFactory.getLog(FunctionYear.class);
 
     public FunctionYear(String name) {
         super("year"namenull);
     }
 
     public FunctionYear(String nameWikittyQueryFunction arg) {
         super("year"name, Collections.singletonList(arg));
     }
 
 public FunctionYear(String methodNameString nameList<WikittyQueryFunctionargs) {
         super(methodNamenameargs);
         if (args.size() != 1) {
             throw new IllegalArgumentException("Year accept only one argument");
         }
     }
 
     @Override
     public int getNumArg() {
         return 1;
     }
 
     @Override
     public List<Map<StringObject>> call(
             WikittyQuery queryList<Map<StringObject>> data) {
 
         WikittyQueryFunction f = getArgs().get(0);
         data = f.call(querydata);
 
         ListObjectOrMap result = new ListObjectOrMap();
 
         for (Map<StringObjectm : data) {
             for (Map.Entry<StringObjects : m.entrySet()) {
                 String k = StringUtils.defaultIfBlank(getName(), s.getKey());
                 Object v = s.getValue();
                 if (v instanceof Collection) {
                     result.add(kgetYear((Collection)v));
                 } else {
                     result.add(kgetYear(v));
                 }
             }
         }
 
        return result;
    }
    protected Collection getYear(Collection c) {
        Collection result = new ArrayList(c.size());
        for (Object o : c) {
            result.add(getYear(o));
        }
        return result;
    }
    protected Object getYear(Object o) {
        Object result = o;
        Date d = null;
        try {
            d = WikittyUtil.toDate(o);
        } catch (Exception eee) {
            .debug(String.format("can't convert '%s' object to date, keep object and don't extract year"o), eee);
        }
        if (d != null) {
            result = DateUtil.getDefaultCalendar(d).get(.);
        }
        return result;
    }
New to GrepCode? Check out our FAQ X