Exemplo n.º 1
0
  public static void main(String[] args) {

    List<ProductItem> items =
        Arrays.asList(
            new ProductItem("id1", "商品1", new BigDecimal("1000"), 1),
            new ProductItem("id2", "商品2", new BigDecimal("3000"), 2),
            new ProductItem("id3", "商品3", new BigDecimal("1500"), 3));

    Collection names = collect(items, invokerTransformer("getName"));

    forAllDo(
        names,
        new Closure() {
          public void execute(Object n) {
            System.out.println(n);
          }
        });

    System.out.println("-----");

    Collection highItems =
        select(
            items,
            new Predicate() {
              public boolean evaluate(Object obj) {
                ProductItem it = (ProductItem) obj;
                return it.getPrice().compareTo(new BigDecimal("1500")) >= 0;
              }
            });

    forAllDo(
        highItems,
        new Closure() {
          public void execute(Object obj) {
            ProductItem it = (ProductItem) obj;
            System.out.println(it.getName());
          }
        });

    System.out.println("-----");

    // 合計金額算出
    BigDecimal total =
        foldLeft(
            items,
            new F2<BigDecimal, ProductItem, BigDecimal>() {
              public BigDecimal f(BigDecimal a, ProductItem b) {
                return a.add(b.getPrice().multiply(new BigDecimal(b.getQty())));
              }
            },
            BigDecimal.ZERO);

    System.out.println(total);
  }
Exemplo n.º 2
0
  /**
   * Genera un pago para el grupo de cargos indicado
   *
   * @param c
   * @param cargos
   * @return
   */
  public PagoM crearPago(final Cliente c, final List<NotaDeCredito> cargos) {
    Assert.notEmpty(cargos, "La collecion de cargos debe tener elementos");
    final PagoM pago = new PagoM();
    pago.setCliente(c);
    pago.setClave(c.getClave());
    pago.setTipoDeDocumento("M");
    CollectionUtils.forAllDo(
        cargos,
        new Closure() {

          public void execute(Object input) {
            NotaDeCredito cargo = (NotaDeCredito) input;
            Pago p = new Pago();
            p.setCliente(pago.getCliente());
            p.setClave(pago.getClave());
            p.setPagoM(pago);
            p.setNota(cargo);
            pago.getPagos().add(p);

            p.setOrigen(cargo.getOrigen());
            p.setTipoDocto(cargo.getTipo());
            p.setNumero(cargo.getNumero());
            p.setSucursal(1);
          }
        });
    return pago;
  }
 public void addCenterIssues(List<BranchCashConfirmationInfoBO> centerIssues) {
   CollectionUtils.forAllDo(
       centerIssues,
       new Closure() {
         public void execute(Object input) {
           addCenterIssue((BranchCashConfirmationInfoBO) input);
         }
       });
 }
 public void saveOverriddenIsa(final Long facilityId, List<FacilityProgramProduct> products) {
   forAllDo(
       products,
       new Closure() {
         @Override
         public void execute(Object o) {
           FacilityProgramProduct product = (FacilityProgramProduct) o;
           product.setFacilityId(facilityId);
           repository.save(product);
         }
       });
 }
 private static List<String> loadTitles() {
   List<BasicDBObject> civilites = CiviliteDB.getInstance().list();
   final List<String> civilitesStr = new ArrayList<String>();
   CollectionUtils.forAllDo(
       civilites,
       new Closure() {
         @Override
         public void execute(Object civilite) {
           civilitesStr.add(((BasicDBObject) civilite).getString(Constantes.LABEL_ATTRIBUTE_NAME));
         }
       });
   return civilitesStr;
 }
 public List<FacilityProgramProduct> getForProgramAndFacility(
     Long programId, final Long facilityId) {
   List<ProgramProduct> programProducts =
       programProductService.getByProgram(new Program(programId));
   final List<FacilityProgramProduct> facilityProgramProducts = new ArrayList<>();
   forAllDo(
       programProducts,
       new Closure() {
         @Override
         public void execute(Object o) {
           facilityProgramProducts.add(getAllocationProduct((ProgramProduct) o, facilityId));
         }
       });
   return facilityProgramProducts;
 }
Exemplo n.º 7
0
 private void actualizarClientesCredito(final List<Venta> ventas) {
   CollectionUtils.forAllDo(
       ventas,
       new Closure() {
         public void execute(Object input) {
           Venta v = (Venta) input;
           Cliente c = v.getCliente();
           if (c != null && c.getId() == null) {
             // Cliente nuevo
             if (v.getOrigen().equals("CRE")) {
               c.generarCredito();
               c.getCredito().copyFromCliente();
             }
             ServiceLocator.getClienteDao().salvar(c);
           }
         }
       });
 }
Exemplo n.º 8
0
  /**
   * Genera un {@link PagoConNota} para un grupo de cargos
   *
   * @param nota
   * @param ventas
   * @return
   */
  public PagoConNota crearPagoDeCargoConNota(
      final NotaDeCredito disponible, List<NotaDeCredito> cargos) {
    Assert.notEmpty(cargos, "La collecion de cargos debe tener elementos");
    Assert.isTrue(
        disponible.getSaldo() < 0,
        "La nota origen debe tener disponible el disponible es: " + disponible.getSaldo());

    final PagoConNota pago = new PagoConNota();
    pago.setNota(disponible);
    pago.setReferencia(disponible.getId().toString());
    pago.setCliente(disponible.getCliente());
    pago.setFormaDePago(FormaDePago.T);
    pago.setTipoDeDocumento("M");
    pago.setCliente(cargos.get(0).getCliente());

    CollectionUtils.forAllDo(
        cargos,
        new Closure() {
          public void execute(Object input) {
            NotaDeCredito cargo = (NotaDeCredito) input;
            Pago p = new Pago();
            p.setCliente(pago.getCliente());
            p.setClave(pago.getClave());
            p.setPagoM(pago);
            p.setNota(cargo);
            p.setNotaDelPago(disponible);
            pago.getPagos().add(p);
            p.setOrigen(cargo.getOrigen());
            p.setTipoDocto(cargo.getTipo());
            p.setNumero(cargo.getNumero());
            p.setFormaDePago2(pago.getFormaDePago());
            p.setDescFormaDePago(pago.getFormaDePago().getDesc());
            p.setReferencia(disponible.getTipo() + " " + disponible.getNumero());
            p.setSucursal(1);
          }
        });

    return pago;
  }
Exemplo n.º 9
0
 /**
  * Returns the maximum number of columns occupied by a given string java bean property on a
  * collection of objects. Adds two to length to account for the gap between columns.
  *
  * @param objects Collection of like objects.
  * @param propName Name of javabean property containing a string.
  * @return String
  */
 protected int getMaxLength(Collection objects, String propName) {
   MaxStringLengthFinder finder = new MaxStringLengthFinder(propName);
   CollectionUtils.forAllDo(objects, finder);
   return finder.getMaxLength() + 2;
 }
Exemplo n.º 10
0
  static {
    Browsers = new HashMap();
    Browsers.put("microsoft internet explorer", BROWSER_IE);
    Browsers.put(MSIE_ID, BROWSER_IE);
    Browsers.put(NETSCAPE_ID, BROWSER_NETSCAPE);
    Browsers.put("galeon", BROWSER_GALEON);
    Browsers.put("phoenix", BROWSER_PHOENIX);
    Browsers.put("mozilla firebird", BROWSER_FIREBIRD);
    Browsers.put("firebird", BROWSER_FIREBIRD);
    Browsers.put("firefox", BROWSER_FIREFOX);
    Browsers.put("chimera", BROWSER_CHIMERA);
    Browsers.put("camino", BROWSER_CAMINO);
    Browsers.put("epiphany", BROWSER_EPIPHANY);
    Browsers.put("safari", BROWSER_SAFARI);
    Browsers.put("k-meleon", BROWSER_KMELEON);
    Browsers.put("mozilla", BROWSER_MOZILLA);
    Browsers.put(OPERA_ID, BROWSER_OPERA);
    Browsers.put("konqueror", BROWSER_KONQUEROR);
    Browsers.put("icab", BROWSER_ICAB);
    Browsers.put("lynx", BROWSER_LYNX);
    Browsers.put("links", BROWSER_LINKS);
    Browsers.put("ncsa mosaic", BROWSER_MOSAIC);
    Browsers.put("amaya", BROWSER_AMAYA);
    Browsers.put("omniweb", BROWSER_OMNIWEB);
    Browsers.put("hotjava", BROWSER_HOTJAVA);
    Browsers.put("browsex", BROWSER_BROWSEX);
    Browsers.put("amigavoyager", BROWSER_AMIGAVOYAGER);
    Browsers.put("amiga-aweb", BROWSER_AMIGAAWEB);
    Browsers.put("ibrowse", BROWSER_IBROWSE);

    // build regex
    BrowserRegExBuf = new StringBuffer();
    CollectionUtils.forAllDo(
        Browsers.keySet(),
        new Closure() {
          public void execute(Object obj) {
            if (BrowserRegExBuf.length() > 0) BrowserRegExBuf.append('|');
            BrowserRegExBuf.append((String) obj);
            if (((String) obj).equals(NETSCAPE_ID)) {
              BrowserRegExBuf.append("[6]?");
            }
          }
        });
    BrowserRegExBuf.insert(0, '(');
    BrowserRegExBuf.append(")");
    BrowserRegExBuf.append("[\\/\\sa-z\\(]*([0-9]+)([\\.0-9a-z]+)?"); // browser version string

    try {
      BrowserTypePat = Pattern.compile(BrowserRegExBuf.toString(), Pattern.CASE_INSENSITIVE);
      BrowserRegExBuf = null;

      MinorVersionPat = Pattern.compile("([.0-9]+)?([\\.a-z0-9]+)?", Pattern.CASE_INSENSITIVE);

      PunctuationOnlyPat = Pattern.compile("[\\p{Punct}]+");

      NumberRetrievePat = Pattern.compile("\\D*(\\d+)");

      NameOnlyPat = Pattern.compile("(\\D+)\\d*");

      WindowsPat =
          Pattern.compile(
              "((?:dar){0}win(?:dows)*){1}+(?:(?:[\\s]+([0-9a-z]*)[\\s]*([a-z0-9.]*))|([0-9a-z]{1,3}))",
              Pattern.CASE_INSENSITIVE);
      MacPat =
          Pattern.compile(
              "(68[k0]{1,3})|(ppc mac os x)|(intel mac os x)|([p\\S]{1,5}pc)|(darwin)",
              Pattern.CASE_INSENSITIVE);
      Os2Pat = Pattern.compile("os\\/2|ibm-webexplorer", Pattern.CASE_INSENSITIVE);
      SunosPat = Pattern.compile("(sun|i86)[os\\s]*([0-9]*)", Pattern.CASE_INSENSITIVE);
      IrixPat = Pattern.compile("(irix)[\\s]*([0-9]*)", Pattern.CASE_INSENSITIVE);
      HpuxPat = Pattern.compile("(hp-ux)[\\s]*([0-9]*)", Pattern.CASE_INSENSITIVE);
      AixPat = Pattern.compile("aix([0-9]*)", Pattern.CASE_INSENSITIVE);
      DecPat =
          Pattern.compile("dec|osfl|alphaserver|ultrix|alphastation", Pattern.CASE_INSENSITIVE);
      VmsPat = Pattern.compile("vax|openvms", Pattern.CASE_INSENSITIVE);
      ScoPat = Pattern.compile("sco|unix_sv", Pattern.CASE_INSENSITIVE);
      LinuxPat = Pattern.compile("x11|inux", Pattern.CASE_INSENSITIVE);
      BsdPat = Pattern.compile("(free)?(bsd)", Pattern.CASE_INSENSITIVE);
      AmigaPat = Pattern.compile("amiga[os]?", Pattern.CASE_INSENSITIVE);
      AmigaVerPat = Pattern.compile("(AmigaOS [\\.1-9]?)", Pattern.CASE_INSENSITIVE);
    } catch (Exception e) {
      log.error(e);
    }
  }
Exemplo n.º 11
0
 private final void forAllDo(final Cl c) {
   CollectionUtils.forAllDo(this.items, c);
 }