Example usage for java.lang Long intValue

List of usage examples for java.lang Long intValue

Introduction

In this page you can find the example usage for java.lang Long intValue.

Prototype

public int intValue() 

Source Link

Document

Returns the value of this Long as an int after a narrowing primitive conversion.

Usage

From source file:com.genscript.gsscm.product.service.ProductService.java

/**
 * Product(Inventory Stock)?./*ww  w  . ja v a  2s. co m*/
 * 
 * @param productId
 * @return
 */
public ProductStockStatDTO getProductStockStat(Integer productId) {
    ProductStockStatDTO dto = new ProductStockStatDTO();
    Product product = this.productDao.getById(productId);
    String catalogNo = product.getCatalogNo();
    // StockStock Total.
    // Long stockTotal = this.stockDao.getProductStockTotal(catalogNo);
    // if (stockTotal != null) {
    // dto.setStockTotal(stockTotal.intValue());
    // }
    // Long commitedTotal = this.purchaseOrderItemDao
    // .getCommitedItemTotal(catalogNo);
    // if (commitedTotal != null) {
    // dto.setCommitedTotal(commitedTotal.intValue());
    // }
    Long backOrderTotal = this.orderItemDao.getBackOrderTotal(catalogNo);
    if (backOrderTotal != null) {
        dto.setBackOrderTotal(backOrderTotal.intValue());
    }
    Long unProcessedTotal = this.orderReturnItemDao.getUnprocessedTotal(catalogNo);
    if (unProcessedTotal != null) {
        dto.setUnProcessedTotal(unProcessedTotal.intValue());
    }
    // ERP??
    PartWhse part = erpSalesOrderService.getPartInfoByCatalogNo(catalogNo);
    if (part != null) {
        if (part.getOnHandQty() != null) {
            dto.setStockTotal(part.getOnHandQty().intValue());
        }
        if (part.getAllocatedQty() != null) {
            dto.setCommitedTotal(part.getAllocatedQty().intValue());
        }
    }

    return dto;
}

From source file:net.bashtech.geobot.ReceiverBot.java

public void parseEvent(String data) {
    try {/*ww  w. j  a v  a  2 s . c om*/
        JSONParser parser = new JSONParser();
        Object obj = parser.parse(data);

        JSONObject jsonObject = (JSONObject) obj;

        String channel = (String) jsonObject.get("channel");
        String editor = (String) jsonObject.get("editor");
        Channel channelInfo = getChannelObject("#" + (String) jsonObject.get("channel"));
        JSONArray actionArray = (JSONArray) jsonObject.get("actions");
        for (int i = 0; i < actionArray.size(); i++) {
            JSONObject actionObject = (JSONObject) actionArray.get(i);
            String action = (String) actionObject.get("action");
            if (channelInfo == null && !action.equals("join")) {
                return;
            }

            switch (action) {
            case "disconnect": {
                pusher.disconnect();
                break;
            }
            case "join": {

                if (!BotManager.getInstance().publicJoin) {

                    return;
                }

                if (JSONUtil.krakenChannelExist(channel)) {

                    BotManager.getInstance().addChannel("#" + channel, 2);

                    BotManager.getInstance().coebotJoinChannel(channel, getNick());

                }
                break;
            }
            case "part": {

                BotManager.getInstance().removeChannel("#" + channel);
                BotManager.getInstance().coebotPartChannel(channel, getNick());
                break;
            }
            case "say": {
                String message = (String) actionObject.get("message");
                send("#" + channel, message);
                break;
            }
            case "add command": {

                String key = ((String) actionObject.get("key")).replaceAll("[^a-zA-Z0-9]", "");
                key = key.toLowerCase();
                String value = (String) actionObject.get("value");

                channelInfo.setCommand(key, value, editor);
                if (value.contains("(_PURGE_)") || value.contains("(_TIMEOUT_)") || value.contains("(_BAN_)")
                        || value.contains("(_COMMERCIAL_)") || value.contains("(_SUBMODE_ON_)")
                        || value.contains("(_SUBMODE_OFF_)")) {
                    channelInfo.setCommandsRestriction(key, 2);
                } else
                    channelInfo.setCommandsRestriction(key, 1);
                break;
            }
            case "rename command": {
                String oldName = ((String) actionObject.get("oldName"));
                String newName = ((String) actionObject.get("newName")).replaceAll("[^a-zA-Z0-9]", "");
                channelInfo.renameCommand(oldName, newName, editor);
                break;
            }
            case "delete command": {
                String key = ((String) actionObject.get("key")).replaceAll("[^a-zA-Z0-9]", "");
                key = key.toLowerCase();
                channelInfo.removeCommand(key);

                channelInfo.removeRepeatCommand(key);
                channelInfo.removeScheduledCommand(key);
                break;
            }
            case "restrict command": {
                int level = 3;
                String levelStr = (String) actionObject.get("restriction");
                if (channelInfo.getCommand((String) actionObject.get("key")) != null) {
                    if (levelStr.equalsIgnoreCase("owner") || levelStr.equalsIgnoreCase("owners"))
                        level = 3;
                    if (levelStr.equalsIgnoreCase("mod") || levelStr.equalsIgnoreCase("mods"))
                        level = 2;
                    if (levelStr.equalsIgnoreCase("regular") || levelStr.equalsIgnoreCase("regulars"))
                        level = 1;
                    if (levelStr.equalsIgnoreCase("everyone"))
                        level = 0;

                    channelInfo.setCommandsRestriction((String) actionObject.get("key"), level);

                }
                break;
            }
            case "add autoreply": {

                String pattern = ((String) actionObject.get("pattern")).replaceAll("_", " ");
                String response = (String) actionObject.get("response");

                channelInfo.addAutoReply(pattern, response);
                break;
            }
            case "delete autoreply": {
                Long index = (Long) actionObject.get("index");
                int intIndex = index.intValue();

                channelInfo.removeAutoReply(intIndex);
                break;
            }
            case "edit autoreply": {
                Long index = (Long) actionObject.get("index");
                int intIndex = index.intValue();
                String newResponse = (String) actionObject.get("response");
                if (channelInfo.editAutoReplyResponse(intIndex, newResponse))
                    break;
            }
            case "add repeat": {
                int delay = ((Long) actionObject.get("delay")).intValue();
                int difference = ((Long) actionObject.get("difference")).intValue();
                String key = (String) actionObject.get("key");

                if (channelInfo.getCommand(key).equalsIgnoreCase("invalid") || delay < 30) {

                } else {
                    channelInfo.setRepeatCommand(key, delay, difference);
                }
                break;
            }
            case "delete repeat": {
                String key = (String) actionObject.get("key");
                channelInfo.removeRepeatCommand(key);

                break;
            }
            case "add scheduled": {
                String key = (String) actionObject.get("key");

                String pattern = (String) actionObject.get("pattern");
                int difference = ((Long) actionObject.get("difference")).intValue();
                if (pattern.equalsIgnoreCase("hourly"))
                    pattern = "0 * * * *";
                else if (pattern.equalsIgnoreCase("semihourly"))
                    pattern = "0,30 * * * *";
                else
                    pattern = pattern.replace("_", " ");

                if (channelInfo.getCommand(key).equalsIgnoreCase("invalid") || pattern.contains(",,")) {
                } else {
                    channelInfo.setScheduledCommand(key, pattern, difference);

                }

                break;
            }
            case "delete scheduled": {
                String key = (String) actionObject.get("key");
                channelInfo.removeScheduledCommand(key);

                break;
            }
            case "set steam": {
                channelInfo.removeScheduledCommand((String) actionObject.get("value"));
                break;
            }
            case "set extralifeid": {
                channelInfo.setExtraLifeID((String) actionObject.get("value"));
                break;
            }
            case "set urban": {
                boolean enabled = false;
                String value = (String) actionObject.get("value");
                if (value.equalsIgnoreCase("on") || value.equalsIgnoreCase("enabled")) {
                    enabled = true;
                }
                channelInfo.setUrban(enabled);

                break;
            }
            case "set gamertag": {
                channelInfo.setGamertag((String) actionObject.get("value"));
                break;
            }
            case "set bullet": {
                channelInfo.setBullet((String) actionObject.get("value"));
                break;
            }
            case "set subsRegsMinusLinks": {
                boolean status = false;
                String value = (String) actionObject.get("value");
                if (value.equalsIgnoreCase("on")) {
                    status = true;
                }
                channelInfo.setSubsRegsMinusLinks(status);
                break;
            }
            case "set cooldown": {
                int value = ((Long) actionObject.get("value")).intValue();
                channelInfo.setCooldown(value);
                break;
            }
            case "set throw": {
                boolean status = false;
                String value = (String) actionObject.get("value");
                if (value.equalsIgnoreCase("on")) {
                    status = true;
                }
                channelInfo.setThrow(status);
                break;
            }
            case "set lastfm": {
                channelInfo.setLastfm((String) actionObject.get("value"));
                break;
            }
            case "set mode": {
                String value = (String) actionObject.get("value");
                if ((value.equalsIgnoreCase("0") || value.equalsIgnoreCase("owner"))) {
                    channelInfo.setMode(0);

                } else if (value.equalsIgnoreCase("1") || value.equalsIgnoreCase("mod")) {
                    channelInfo.setMode(1);

                } else if (value.equalsIgnoreCase("2") || value.equalsIgnoreCase("everyone")) {
                    channelInfo.setMode(2);

                } else if (value.equalsIgnoreCase("3") || value.equalsIgnoreCase("subs")
                        || value.equalsIgnoreCase("regs")) {
                    channelInfo.setMode(3);

                } else if (value.equalsIgnoreCase("-1") || value.equalsIgnoreCase("admin")) {
                    channelInfo.setMode(-1);

                }

                break;
            }
            case "set commerciallength": {
                int cLength = ((Long) actionObject.get("value")).intValue();
                if (cLength == 30 || cLength == 60 || cLength == 90 || cLength == 120 || cLength == 150
                        || cLength == 180)
                    channelInfo.setCommercialLength(cLength);
                break;
            }
            case "set tweet": {
                String format = (String) actionObject.get("value");
                if (!format.contains("(_TWEET_URL_)"))
                    channelInfo.setClickToTweetFormat(format);

                break;
            }
            case "set prefix": {
                channelInfo.setPrefix((String) actionObject.get("value"));
                break;
            }
            case "set subscriberregulars": {
                boolean status = false;
                if (((String) actionObject.get("value")).equalsIgnoreCase("on"))
                    status = true;
                channelInfo.setSubscriberRegulars(status);
                break;
            }
            case "set subscriberalerts": {
                boolean status = false;
                if (((String) actionObject.get("value")).equalsIgnoreCase("on"))
                    status = true;
                channelInfo.setSubAlert(status);
                break;
            }
            case "set submessage": {
                channelInfo.setSubMessage((String) actionObject.get("value"));
                break;
            }
            case "set resubalerts": {
                boolean status = false;
                if (((String) actionObject.get("value")).equalsIgnoreCase("on"))
                    status = true;
                channelInfo.setResubAlert(status);
                break;
            }
            case "set resubmessage": {
                channelInfo.setResubMessage((String) actionObject.get("value"));
                break;
            }

            }
        }
    } catch (Exception e) {

        e.printStackTrace();
    }
}

From source file:es.pode.catalogadorWeb.presentacion.categoriasAvanzado.tecnica.TecnicaControllerImpl.java

/**
 * @see es.pode.catalogadorWeb.presentacion.categoriasAvanzado.tecnica.TecnicaController#esValidaTecnica(org.apache.struts.action.ActionMapping, es.pode.catalogadorWeb.presentacion.categoriasAvanzado.tecnica.EsValidaTecnicaForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
 *//*from w ww.jav a 2 s  .c  o  m*/
public final boolean esValidaTecnica(ActionMapping mapping,
        es.pode.catalogadorWeb.presentacion.categoriasAvanzado.tecnica.EsValidaTecnicaForm form,
        HttpServletRequest request, HttpServletResponse response) throws Exception {

    String resultado = "";
    boolean ok = true;

    //String idiomaLocale=((Locale)request.getSession().getAttribute(ConstantesAgrega.DEFAULT_LOCALE)).getLanguage();

    ResourceBundle datosResources = I18n.getInstance().getResource("application-resources",
            (Locale) request.getSession().getAttribute(ConstantesAgrega.DEFAULT_LOCALE));

    Collection mensajes = new ArrayList();

    CatalogadorAvSession os = this.getCatalogadorAvSession(request);

    AvTechnicalVO tec = new AvTechnicalVO();

    Object valor = request.getSession().getAttribute("form");

    //Obtenemos la longitudes de los VOs, que pasamos a cambioFormulario para que se obtengan del request los cambios que hemos hecho
    //Pues en el form que nos viene como parametro no los guarda.

    int longitudFormatos = 0;
    int longitudTamanio = 1;
    int longitudLocalizaciones = 0;
    int longitudRequerimientos = 0;
    int[] longitudAgregadores = new int[0];
    int longitudInstalaciones = 0;
    int longitudMasRequerimientos = 0;
    int longitudDescDuracion = 0;

    if (valor instanceof TecnicaFormImpl) {
        TecnicaFormImpl valorTec = ((TecnicaFormImpl) valor);
        Object[] req = valorTec.getRequerimientoAsArray();
        longitudAgregadores = new int[req.length];
        for (int i = 0; i < req.length; i++) {
            longitudAgregadores[i] = ((RequisitoVO) (req[i])).getAgregadoresOR().length;
        }

        longitudRequerimientos = req.length;
        longitudFormatos = ((TecnicaFormImpl) valor).getFormatosAsArray().length;
        longitudLocalizaciones = ((TecnicaFormImpl) valor).getLocalizacionAsArray().length;
        longitudInstalaciones = (((PautasInstalacionVO[]) ((TecnicaFormImpl) valor)
                .getDescripcionInstalacionAsArray())[0]).getTextos().length;
        longitudMasRequerimientos = (((OtrosRequisitosVO[]) ((TecnicaFormImpl) valor)
                .getDescripcionRequerimientosAsArray())[0]).getTextos().length;

        longitudDescDuracion = ((DescripcionVO[]) ((TecnicaFormImpl) valor).getDescripcionDuracionAsArray())[0]
                .getTextos().length;

    } else if (valor instanceof TecnicaFormAccionSubmitFormImpl) {
        TecnicaFormAccionSubmitFormImpl valorTec = ((TecnicaFormAccionSubmitFormImpl) valor);
        Object[] req = valorTec.getRequerimientoAsArray();
        longitudAgregadores = new int[req.length];
        for (int i = 0; i < req.length; i++) {
            longitudAgregadores[i] = ((RequisitoVO) (req[i])).getAgregadoresOR().length;
        }

        longitudRequerimientos = req.length;
        longitudFormatos = ((TecnicaFormAccionSubmitFormImpl) valor).getFormatosAsArray().length;
        longitudLocalizaciones = ((TecnicaFormAccionSubmitFormImpl) valor).getLocalizacionAsArray().length;
        longitudInstalaciones = (((PautasInstalacionVO[]) ((TecnicaFormAccionSubmitFormImpl) valor)
                .getDescripcionInstalacionAsArray())[0]).getTextos().length;
        longitudMasRequerimientos = (((OtrosRequisitosVO[]) ((TecnicaFormAccionSubmitFormImpl) valor)
                .getDescripcionRequerimientosAsArray())[0]).getTextos().length;
        longitudDescDuracion = ((DescripcionVO[]) ((TecnicaFormAccionSubmitFormImpl) valor)
                .getDescripcionDuracionAsArray())[0].getTextos().length;

    } else if (valor instanceof TecnicaValidaVolverFormImpl) {
        TecnicaValidaVolverFormImpl valorTec = ((TecnicaValidaVolverFormImpl) valor);
        Object[] req = valorTec.getRequerimientoAsArray();
        longitudAgregadores = new int[req.length];
        for (int i = 0; i < req.length; i++) {
            longitudAgregadores[i] = ((RequisitoVO) (req[i])).getAgregadoresOR().length;
        }

        longitudRequerimientos = req.length;
        longitudFormatos = ((TecnicaValidaVolverFormImpl) valor).getFormatosAsArray().length;
        longitudLocalizaciones = ((TecnicaValidaVolverFormImpl) valor).getLocalizacionAsArray().length;
        longitudInstalaciones = (((PautasInstalacionVO[]) ((TecnicaValidaVolverFormImpl) valor)
                .getDescripcionInstalacionAsArray())[0]).getTextos().length;
        longitudMasRequerimientos = (((OtrosRequisitosVO[]) ((TecnicaValidaVolverFormImpl) valor)
                .getDescripcionRequerimientosAsArray())[0]).getTextos().length;
        longitudDescDuracion = ((DescripcionVO[]) ((TecnicaValidaVolverFormImpl) valor)
                .getDescripcionDuracionAsArray())[0].getTextos().length;

    } else if (valor instanceof TecnicaNoValidaVolverFormImpl) {
        TecnicaNoValidaVolverFormImpl valorTec = ((TecnicaNoValidaVolverFormImpl) valor);
        Object[] req = valorTec.getRequerimientoAsArray();
        longitudAgregadores = new int[req.length];
        for (int i = 0; i < req.length; i++) {
            longitudAgregadores[i] = ((RequisitoVO) (req[i])).getAgregadoresOR().length;
        }

        longitudRequerimientos = req.length;
        longitudFormatos = ((TecnicaNoValidaVolverFormImpl) valor).getFormatosAsArray().length;
        longitudLocalizaciones = ((TecnicaNoValidaVolverFormImpl) valor).getLocalizacionAsArray().length;
        longitudInstalaciones = (((PautasInstalacionVO[]) ((TecnicaNoValidaVolverFormImpl) valor)
                .getDescripcionInstalacionAsArray())[0]).getTextos().length;
        longitudMasRequerimientos = (((OtrosRequisitosVO[]) ((TecnicaNoValidaVolverFormImpl) valor)
                .getDescripcionRequerimientosAsArray())[0]).getTextos().length;
        longitudDescDuracion = ((DescripcionVO[]) ((TecnicaNoValidaVolverFormImpl) valor)
                .getDescripcionDuracionAsArray())[0].getTextos().length;
    }

    cambioFormulario(request, longitudFormatos, longitudLocalizaciones, longitudRequerimientos,
            longitudAgregadores, longitudInstalaciones, longitudMasRequerimientos, longitudDescDuracion);

    //       Guardamos los cambios en el form obtenido de request.getSession.getAttribute("form") para que en caso de faltar
    //algun idioma o texto sin rellenar cargue el formulario con lo cambio y no perdamos todo lo modificado hasta ese
    //momento, si no lo hicieramos cargara el formulario anterior.

    tec.setFormatos(formatos);
    TamanioVO tam = new TamanioVO();
    tam.setTexto(tamao);
    tec.setTamanio(tam);
    tec.setLocalizaciones(localizaciones);
    tec.setRequisitos(requisitos);
    tec.setPautasInstalacion(notasDeInstalacion[0]);
    tec.setOtrosRequisitos(masRequisitos[0]);
    tec.setDuracion(duracion);

    os.setLomValidacion(new LomAvanzadoVO());
    os.getLomValidacion().setTechnical(tec);

    this.setCatalogadorAvSession(request, os);

    //      Collection errores=new ArrayList();

    //NOMBRE

    String nombre = "";
    String tipo = "";
    int i = 0;
    while ((ok) && (i < tec.getRequisitos().length)) {
        AgregadorORVO[] cat = tec.getRequisitos()[i].getAgregadoresOR();
        if (cat != null && cat.length > 0) {
            int j = 0;
            while ((ok) && (j < cat.length)) {
                SourceValueVO sNombre = cat[j].getNombre();
                SourceValueVO sTipo = cat[j].getTipo();
                if (sNombre != null) {
                    nombre = sNombre.getValor();
                }
                if (sTipo != null) {
                    tipo = sTipo.getValor();
                }
                String min = cat[j].getVersionMin().getTexto().trim();
                String max = cat[j].getVersionMax().getTexto().trim();

                if (((nombre == null) || (nombre.equals("")))
                        && (((!tipo.equals(""))) || ((!min.equals(""))) || ((!max.equals(""))))) {
                    mensajes.add(datosResources.getString("CAV.4.4.1.2"));
                }
                if (!resultado.equals("")) {
                    ok = false;
                } else {
                    j++;
                }

            }

        }
        if (!resultado.equals("")) {
            ok = false;
        } else
            i++;

    }

    //TIPO
    ok = true;
    i = 0;
    while ((ok) && (i < tec.getRequisitos().length)) {
        AgregadorORVO[] cat = tec.getRequisitos()[i].getAgregadoresOR();
        if (cat != null && cat.length > 0) {
            int j = 0;
            while ((ok) && (j < cat.length)) {
                SourceValueVO sNombre = cat[j].getNombre();
                SourceValueVO sTipo = cat[j].getTipo();
                if (sNombre != null) {
                    nombre = sNombre.getValor();
                }
                if (sTipo != null) {
                    tipo = sTipo.getValor();
                }
                String min = cat[j].getVersionMin().getTexto().trim();
                String max = cat[j].getVersionMax().getTexto().trim();
                if (((tipo == null) || (tipo.equals("")))
                        && (((!nombre.equals(""))) || ((!min.equals(""))) || ((!max.equals(""))))) {
                    mensajes.add(datosResources.getString("CAV.4.4.1.1"));
                }
                if (!resultado.equals("")) {
                    ok = false;
                } else {
                    j++;
                }

            }
        }
        if (!resultado.equals("")) {
            ok = false;
        } else
            i++;

    }

    //DURACION
    boolean todosVacios = true;

    String descripcion;
    if (tec.getDuracion() != null) {
        if ((tec.getDuracion().getDescripcion() != null)
                && (tec.getDuracion().getDescripcion().getTextos() != null)
                && (tec.getDuracion().getDescripcion().getTextos().length > 0)) {
            for (i = 0; i < tec.getDuracion().getDescripcion().getTextos().length && todosVacios; i++) {
                descripcion = tec.getDuracion().getDescripcion().getTextos()[i].getTexto();
                if (descripcion != null && !descripcion.trim().equals("")) {
                    todosVacios = false;
                }
            }
        }
    }

    //DURACION

    boolean duracionVacia = false;

    if ((anyos != null && anyos.trim().equals("")) && (meses != null && meses.trim().equals(""))
            && (dias != null && dias.trim().equals("")) && (horas != null && horas.trim().equals(""))
            && (minutos != null && minutos.trim().equals(""))
            && (segundosP1 != null && segundosP1.trim().equals(""))
            && (segundosP2 != null && segundosP2.trim().equals(""))) {
        //si alguno de los campos dia, mes o anyo esta vacio, fecha esta vacio
        duracionVacia = true;
    }

    if (todosVacios && !duracionVacia)
        mensajes.add(datosResources.getString("CAV.4.7.2"));//La descripci&oacute;n dela duraci&oacute;n es obligatoria si existe una duraci&oacute;n
    if (!todosVacios && duracionVacia)
        mensajes.add(datosResources.getString("CAV.4.7.1"));//La duraci&oacute;n es obligatoria si existe una descripci&oacute;n de duraci&oacute;n

    //TAMAO
    if (tamao != null && !tamao.equals("")) {
        try {
            Long bigTamao = new Long(tamao);
            if (bigTamao.intValue() < 0) {
                mensajes.add(datosResources.getString("CAV.4.1"));//Meterle la validacin del integer no negativo
            }
        } catch (Exception e) {
            mensajes.add(datosResources.getString("CAV.4.1"));//Meterle la validacin del integer no negativo
        }
    }

    if (mensajes.size() > 0) {
        form.setMensajesError(mensajes);
        return false;
    } else {
        return true;
    }
}

From source file:au.org.theark.core.dao.StudyDao.java

public long getStudySubjectCount(SubjectVO subjectVO) {
    // Handle for study not in context
    // GEORGE - 30/1/15 Removed handle to allow for global search. Need to test to see if this fails anywhere.
    //      if (subjectVO.getLinkSubjectStudy().getStudy() == null) {
    //         return 0;
    //      }//from   w  ww. j  ava  2s .  c om

    Criteria criteria = buildGeneralSubjectCriteria(subjectVO);
    criteria.setProjection(Projections.rowCount());
    Long totalCount = (Long) criteria.uniqueResult();
    return totalCount.intValue();
}

From source file:au.org.theark.core.dao.StudyDao.java

public Boolean studyHasSubjects(Study study) {
    StatelessSession session = getStatelessSession();
    Criteria criteria = session.createCriteria(LinkSubjectStudy.class);
    criteria.add(Restrictions.eq("study", study));
    criteria.setProjection(Projections.rowCount());
    Long totalCount = (Long) criteria.uniqueResult();
    session.close();/*from ww  w .  j  a  va2s .  c  o  m*/
    return totalCount.intValue() > 0;
}

From source file:au.org.theark.core.dao.StudyDao.java

public Boolean studyHasBiospecimen(Study study) {
    StatelessSession session = getStatelessSession();
    Criteria criteria = session.createCriteria(Biospecimen.class);
    criteria.add(Restrictions.eq("study", study));
    criteria.setProjection(Projections.rowCount());
    Long totalCount = (Long) criteria.uniqueResult();
    session.close();//from  www .  j ava 2  s.c  o m
    return totalCount.intValue() > 0;
}

From source file:au.org.theark.core.dao.StudyDao.java

public Boolean studyHasBioCollection(Study study) {
    StatelessSession session = getStatelessSession();
    Criteria criteria = session.createCriteria(BioCollection.class);
    criteria.add(Restrictions.eq("study", study));
    criteria.setProjection(Projections.rowCount());
    Long totalCount = (Long) criteria.uniqueResult();
    session.close();//from  ww w  .ja  v a2  s  .  c  om
    return totalCount.intValue() > 0;
}

From source file:au.org.theark.core.dao.StudyDao.java

public long getCountOfStudies() {
    int total = 0;
    Long longTotal = ((Long) getSession().createQuery("select count(*) from Study").iterate().next());
    total = longTotal.intValue();
    return total;
}

From source file:es.pode.catalogadorWeb.presentacion.categoriasAvanzado.tecnica.TecnicaControllerImpl.java

/**
 * @see es.pode.catalogadorWeb.presentacion.categoriasAvanzado.tecnica.TecnicaController#guardarTecnica(org.apache.struts.action.ActionMapping, es.pode.catalogadorWeb.presentacion.categoriasAvanzado.tecnica.GuardarTecnicaForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
 *///from w  ww .  j a  v a 2 s  . co m
public final void guardarTecnica(ActionMapping mapping,
        es.pode.catalogadorWeb.presentacion.categoriasAvanzado.tecnica.GuardarTecnicaForm form,
        HttpServletRequest request, HttpServletResponse response) throws Exception {
    boolean errorFaltaIdioma = false;
    boolean errorFaltaTexto = false;
    boolean errorNoNumero = false;
    boolean errorSegundos = false;
    boolean tamNum = true;

    CatalogadorAvSession catalogadorAvSession = this.getCatalogadorAvSession(request);
    LomAvanzadoVO auxAvanzado = null;
    TamanioVO tamAux = null;
    PautasInstalacionVO pautas = null;
    OtrosRequisitosVO otros = null;
    DuracionVO duracionVO = null;

    try {
        auxAvanzado = new LomAvanzadoVO();
        AvTechnicalVO tecnica = new AvTechnicalVO();
        auxAvanzado.setTechnical(tecnica);

        String source = AgregaPropertiesImpl.getInstance().getProperty("esquemaDeMetadatos");
        String idiomaLdap = ((Locale) request.getSession().getAttribute(ConstantesAgrega.DEFAULT_LOCALE))
                .getLanguage();
        String usuario = LdapUserDetailsUtils.getUsuario();
        //String usuario="empaquetador";
        String identificador = request.getParameter("identificador");
        if (identificador == null) {
            identificador = catalogadorAvSession.getIdentificador();
        }
        String returnURL = request.getParameter("returnURL");
        if (returnURL == null)
            returnURL = catalogadorAvSession.getReturnURL();

        catalogadorAvSession.setIdioma(idiomaLdap);
        catalogadorAvSession.setIdentificador(identificador);
        catalogadorAvSession.setUsuario(usuario);
        //          metemos en la sesion el parametro de vuelta al empaquetador
        catalogadorAvSession.setReturnURL(returnURL);

        Object valor = request.getSession().getAttribute("form");

        //Obtenemos la longitudes de los VOs, que pasamos a cambioFormulario para que se obtengan del request los cambios que hemos hecho
        //Pues en el form que nos viene como parametro no los guarda.

        int longitudFormatos = 0;
        int longitudTamanio = 1;
        int longitudLocalizaciones = 0;
        int longitudRequerimientos = 0;
        int[] longitudAgregadores = new int[0];
        int longitudInstalaciones = 0;
        int longitudMasRequerimientos = 0;
        int longitudDescDuracion = 0;

        if (valor instanceof TecnicaFormImpl) {
            TecnicaFormImpl valorTec = ((TecnicaFormImpl) valor);
            Object[] req = valorTec.getRequerimientoAsArray();
            longitudAgregadores = new int[req.length];
            for (int i = 0; i < req.length; i++) {
                longitudAgregadores[i] = ((RequisitoVO) (req[i])).getAgregadoresOR().length;
            }

            longitudRequerimientos = req.length;
            longitudFormatos = ((TecnicaFormImpl) valor).getFormatosAsArray().length;
            longitudLocalizaciones = ((TecnicaFormImpl) valor).getLocalizacionAsArray().length;
            longitudInstalaciones = (((PautasInstalacionVO[]) ((TecnicaFormImpl) valor)
                    .getDescripcionInstalacionAsArray())[0]).getTextos().length;
            longitudMasRequerimientos = (((OtrosRequisitosVO[]) ((TecnicaFormImpl) valor)
                    .getDescripcionRequerimientosAsArray())[0]).getTextos().length;

            longitudDescDuracion = ((DescripcionVO[]) ((TecnicaFormImpl) valor)
                    .getDescripcionDuracionAsArray())[0].getTextos().length;

        } else if (valor instanceof TecnicaFormAccionSubmitFormImpl) {
            TecnicaFormAccionSubmitFormImpl valorTec = ((TecnicaFormAccionSubmitFormImpl) valor);
            Object[] req = valorTec.getRequerimientoAsArray();
            longitudAgregadores = new int[req.length];
            for (int i = 0; i < req.length; i++) {
                longitudAgregadores[i] = ((RequisitoVO) (req[i])).getAgregadoresOR().length;
            }

            longitudRequerimientos = req.length;
            longitudFormatos = ((TecnicaFormAccionSubmitFormImpl) valor).getFormatosAsArray().length;
            longitudLocalizaciones = ((TecnicaFormAccionSubmitFormImpl) valor).getLocalizacionAsArray().length;
            longitudInstalaciones = (((PautasInstalacionVO[]) ((TecnicaFormAccionSubmitFormImpl) valor)
                    .getDescripcionInstalacionAsArray())[0]).getTextos().length;
            longitudMasRequerimientos = (((OtrosRequisitosVO[]) ((TecnicaFormAccionSubmitFormImpl) valor)
                    .getDescripcionRequerimientosAsArray())[0]).getTextos().length;
            longitudDescDuracion = ((DescripcionVO[]) ((TecnicaFormAccionSubmitFormImpl) valor)
                    .getDescripcionDuracionAsArray())[0].getTextos().length;

        } else if (valor instanceof TecnicaValidaVolverFormImpl) {
            TecnicaValidaVolverFormImpl valorTec = ((TecnicaValidaVolverFormImpl) valor);
            Object[] req = valorTec.getRequerimientoAsArray();
            longitudAgregadores = new int[req.length];
            for (int i = 0; i < req.length; i++) {
                longitudAgregadores[i] = ((RequisitoVO) (req[i])).getAgregadoresOR().length;
            }

            longitudRequerimientos = req.length;
            longitudFormatos = ((TecnicaValidaVolverFormImpl) valor).getFormatosAsArray().length;
            longitudLocalizaciones = ((TecnicaValidaVolverFormImpl) valor).getLocalizacionAsArray().length;
            longitudInstalaciones = (((PautasInstalacionVO[]) ((TecnicaValidaVolverFormImpl) valor)
                    .getDescripcionInstalacionAsArray())[0]).getTextos().length;
            longitudMasRequerimientos = (((OtrosRequisitosVO[]) ((TecnicaValidaVolverFormImpl) valor)
                    .getDescripcionRequerimientosAsArray())[0]).getTextos().length;
            longitudDescDuracion = ((DescripcionVO[]) ((TecnicaValidaVolverFormImpl) valor)
                    .getDescripcionDuracionAsArray())[0].getTextos().length;

        } else if (valor instanceof TecnicaNoValidaVolverFormImpl) {
            TecnicaNoValidaVolverFormImpl valorTec = ((TecnicaNoValidaVolverFormImpl) valor);
            Object[] req = valorTec.getRequerimientoAsArray();
            longitudAgregadores = new int[req.length];
            for (int i = 0; i < req.length; i++) {
                longitudAgregadores[i] = ((RequisitoVO) (req[i])).getAgregadoresOR().length;
            }

            longitudRequerimientos = req.length;
            longitudFormatos = ((TecnicaNoValidaVolverFormImpl) valor).getFormatosAsArray().length;
            longitudLocalizaciones = ((TecnicaNoValidaVolverFormImpl) valor).getLocalizacionAsArray().length;
            longitudInstalaciones = (((PautasInstalacionVO[]) ((TecnicaNoValidaVolverFormImpl) valor)
                    .getDescripcionInstalacionAsArray())[0]).getTextos().length;
            longitudMasRequerimientos = (((OtrosRequisitosVO[]) ((TecnicaNoValidaVolverFormImpl) valor)
                    .getDescripcionRequerimientosAsArray())[0]).getTextos().length;
            longitudDescDuracion = ((DescripcionVO[]) ((TecnicaNoValidaVolverFormImpl) valor)
                    .getDescripcionDuracionAsArray())[0].getTextos().length;
        }

        cambioFormulario(request, longitudFormatos, longitudLocalizaciones, longitudRequerimientos,
                longitudAgregadores, longitudInstalaciones, longitudMasRequerimientos, longitudDescDuracion);

        //       Guardamos los cambios en el form obtenido de request.getSession.getAttribute("form") para que en caso de faltar
        //algun idioma o texto sin rellenar cargue el formulario con lo cambio y no perdamos todo lo modificado hasta ese
        //momento, si no lo hicieramos cargara el formulario anterior.

        //FORMATOS

        FormatoVO[] formatosAux = new FormatoVO[formatos.length];
        for (int i = 0; i < formatos.length; i++) {
            FormatoVO auxFormato = new FormatoVO();
            auxFormato.setTexto(formatos[i].getTexto().trim());
            formatosAux[i] = auxFormato;

        }

        //TAMAO
        tamAux = new TamanioVO();
        if (!tamao.equals(""))
            tamAux.setTexto(tamao);
        else
            tamAux = null;
        //tamao=tamao;

        //LOCALIZACIONES

        LocalizacionVO[] localizacionesAux = new LocalizacionVO[localizaciones.length];
        for (int i = 0; i < localizaciones.length; i++) {
            LocalizacionVO auxLocalizacion = new LocalizacionVO();
            auxLocalizacion.setTexto(localizaciones[i].getTexto().trim());
            localizacionesAux[i] = auxLocalizacion;
        }

        //REQUERIMIENTOS

        RequisitoVO[] requisitoAux = new RequisitoVO[requisitos.length];
        for (int i = 0; i < requisitos.length; i++) {
            RequisitoVO auxRequisito = new RequisitoVO();
            RequisitoVO requisito = requisitos[i];
            AgregadorORVO[] agrega = requisito.getAgregadoresOR();
            AgregadorORVO[] agregadoresAux = new AgregadorORVO[agrega.length];
            for (int j = 0; j < agrega.length; j++) {
                AgregadorORVO auxAgregador = new AgregadorORVO();
                SourceValueVO nom = new SourceValueVO();
                nom.setSource(agrega[j].getNombre().getSource());
                nom.setValor(agrega[j].getNombre().getValor());
                auxAgregador.setNombre(nom);
                SourceValueVO tip = new SourceValueVO();
                tip.setSource(agrega[j].getTipo().getSource());
                tip.setValor(agrega[j].getTipo().getValor());
                auxAgregador.setTipo(tip);
                VersionMaxVO max = new VersionMaxVO();
                max.setTexto(agrega[j].getVersionMax().getTexto().trim());
                auxAgregador.setVersionMax(max);
                VersionMinVO min = new VersionMinVO();
                min.setTexto(agrega[j].getVersionMin().getTexto().trim());
                auxAgregador.setVersionMin(min);
                agregadoresAux[j] = auxAgregador;
            }
            auxRequisito.setAgregadoresOR(agregadoresAux);
            requisitoAux[i] = auxRequisito;
        }

        //NOTAS DE INSTALACION
        PautasInstalacionVO[] pautasAux = new PautasInstalacionVO[1];

        LangStringVO[] langPautaAux = new LangStringVO[notasDeInstalacion[0].getTextos().length];
        for (int i = 0; i < notasDeInstalacion[0].getTextos().length; i++) {
            LangStringVO nuevoLang = new LangStringVO();
            nuevoLang.setIdioma(notasDeInstalacion[0].getTextos()[i].getIdioma());
            nuevoLang.setTexto(notasDeInstalacion[0].getTextos()[i].getTexto().trim());
            langPautaAux[i] = nuevoLang;
        }
        PautasInstalacionVO pautaAux = new PautasInstalacionVO();
        pautaAux.setTextos(langPautaAux);
        pautasAux[0] = pautaAux;

        //MAS REQUERIMIENTOS

        OtrosRequisitosVO[] otrosAux = new OtrosRequisitosVO[1];

        LangStringVO[] langOtroAux = new LangStringVO[masRequisitos[0].getTextos().length];
        for (int i = 0; i < masRequisitos[0].getTextos().length; i++) {
            LangStringVO nuevoLang = new LangStringVO();
            nuevoLang.setIdioma(masRequisitos[0].getTextos()[i].getIdioma());
            nuevoLang.setTexto(masRequisitos[0].getTextos()[i].getTexto().trim());
            langOtroAux[i] = nuevoLang;
        }
        OtrosRequisitosVO otroAux = new OtrosRequisitosVO();
        otroAux.setTextos(langOtroAux);
        otrosAux[0] = otroAux;

        //DURACION

        DescripcionVO[] descAux = new DescripcionVO[1];
        LangStringVO[] langDescAux = new LangStringVO[duracionDesc[0].getTextos().length];
        for (int i = 0; i < duracionDesc[0].getTextos().length; i++) {
            LangStringVO nuevoLang = new LangStringVO();
            nuevoLang.setIdioma(duracionDesc[0].getTextos()[i].getIdioma());
            nuevoLang.setTexto(duracionDesc[0].getTextos()[i].getTexto().trim());
            langDescAux[i] = nuevoLang;
        }
        DescripcionVO otroDesc = new DescripcionVO();
        otroDesc.setTextos(langDescAux);
        descAux[0] = otroDesc;

        if (valor instanceof TecnicaFormImpl) {
            ((TecnicaFormImpl) valor).setFormatosAsArray(formatosAux);
            ((TecnicaFormImpl) valor).setTamanio(tamao);
            ((TecnicaFormImpl) valor).setLocalizacionAsArray(localizacionesAux);
            ((TecnicaFormImpl) valor).setRequerimientoAsArray(requisitoAux);
            ((TecnicaFormImpl) valor).setDescripcionInstalacionAsArray(pautasAux);
            ((TecnicaFormImpl) valor).setDescripcionRequerimientosAsArray(otrosAux);
            ((TecnicaFormImpl) valor).setDescripcionDuracionAsArray(descAux);
            ((TecnicaFormImpl) valor).setAnyo(anyos);
            ((TecnicaFormImpl) valor).setMes(meses);
            ((TecnicaFormImpl) valor).setDia(dias);
            ((TecnicaFormImpl) valor).setHora(horas);
            ((TecnicaFormImpl) valor).setMinutos(minutos);
            ((TecnicaFormImpl) valor).setSegundosP1(segundosP1);
            ((TecnicaFormImpl) valor).setSegundosP2(segundosP2);
        } else if (valor instanceof TecnicaFormAccionSubmitFormImpl) {
            ((TecnicaFormAccionSubmitFormImpl) valor).setFormatosAsArray(formatosAux);
            ((TecnicaFormAccionSubmitFormImpl) valor).setTamanio(tamao);
            ((TecnicaFormAccionSubmitFormImpl) valor).setLocalizacionAsArray(localizacionesAux);
            ((TecnicaFormAccionSubmitFormImpl) valor).setRequerimientoAsArray(requisitoAux);
            ((TecnicaFormAccionSubmitFormImpl) valor).setDescripcionInstalacionAsArray(pautasAux);
            ((TecnicaFormAccionSubmitFormImpl) valor).setDescripcionRequerimientosAsArray(otrosAux);
            ((TecnicaFormAccionSubmitFormImpl) valor).setDescripcionDuracionAsArray(descAux);
            ((TecnicaFormAccionSubmitFormImpl) valor).setAnyo(anyos);
            ((TecnicaFormAccionSubmitFormImpl) valor).setMes(meses);
            ((TecnicaFormAccionSubmitFormImpl) valor).setDia(dias);
            ((TecnicaFormAccionSubmitFormImpl) valor).setHora(horas);
            ((TecnicaFormAccionSubmitFormImpl) valor).setMinutos(minutos);
            ((TecnicaFormAccionSubmitFormImpl) valor).setSegundosP1(segundosP1);
            ((TecnicaFormAccionSubmitFormImpl) valor).setSegundosP2(segundosP2);
        } else if (valor instanceof TecnicaValidaVolverFormImpl) {
            ((TecnicaValidaVolverFormImpl) valor).setFormatosAsArray(formatosAux);
            ((TecnicaValidaVolverFormImpl) valor).setTamanio(tamao);
            ((TecnicaValidaVolverFormImpl) valor).setLocalizacionAsArray(localizacionesAux);
            ((TecnicaValidaVolverFormImpl) valor).setRequerimientoAsArray(requisitoAux);
            ((TecnicaValidaVolverFormImpl) valor).setDescripcionInstalacionAsArray(pautasAux);
            ((TecnicaValidaVolverFormImpl) valor).setDescripcionRequerimientosAsArray(otrosAux);
            ((TecnicaValidaVolverFormImpl) valor).setDescripcionDuracionAsArray(descAux);
            ((TecnicaValidaVolverFormImpl) valor).setAnyo(anyos);
            ((TecnicaValidaVolverFormImpl) valor).setMes(meses);
            ((TecnicaValidaVolverFormImpl) valor).setDia(dias);
            ((TecnicaValidaVolverFormImpl) valor).setHora(horas);
            ((TecnicaValidaVolverFormImpl) valor).setMinutos(minutos);
            ((TecnicaValidaVolverFormImpl) valor).setSegundosP1(segundosP1);
            ((TecnicaValidaVolverFormImpl) valor).setSegundosP2(segundosP2);
        } else if (valor instanceof TecnicaNoValidaVolverFormImpl) {
            ((TecnicaNoValidaVolverFormImpl) valor).setFormatosAsArray(formatosAux);
            ((TecnicaNoValidaVolverFormImpl) valor).setTamanio(tamao);
            ((TecnicaNoValidaVolverFormImpl) valor).setLocalizacionAsArray(localizacionesAux);
            ((TecnicaNoValidaVolverFormImpl) valor).setRequerimientoAsArray(requisitoAux);
            ((TecnicaNoValidaVolverFormImpl) valor).setDescripcionInstalacionAsArray(pautasAux);
            ((TecnicaNoValidaVolverFormImpl) valor).setDescripcionRequerimientosAsArray(otrosAux);
            ((TecnicaNoValidaVolverFormImpl) valor).setDescripcionDuracionAsArray(descAux);
            ((TecnicaNoValidaVolverFormImpl) valor).setAnyo(anyos);
            ((TecnicaNoValidaVolverFormImpl) valor).setMes(meses);
            ((TecnicaNoValidaVolverFormImpl) valor).setDia(dias);
            ((TecnicaNoValidaVolverFormImpl) valor).setHora(horas);
            ((TecnicaNoValidaVolverFormImpl) valor).setMinutos(minutos);
            ((TecnicaNoValidaVolverFormImpl) valor).setSegundosP1(segundosP1);
            ((TecnicaNoValidaVolverFormImpl) valor).setSegundosP2(segundosP2);
        }

        //       Obtnemos los terminos de los ids seleccionados en todos los combos, y los guarda en los VO 
        dameTerminoId();
        //      Comprobamos si los campos ha sido rellenados adecuadamente

        //FORMATOS

        if ((formatos != null) && (formatos.length != 0)) {
            ArrayList lista = new ArrayList();
            for (int i = 0; i < formatos.length; i++) {
                FormatoVO forma = (FormatoVO) formatos[i];
                if ((forma != null) && (!forma.getTexto().equals(""))) {
                    FormatoVO formatoAux = new FormatoVO();
                    formatoAux.setTexto(forma.getTexto().trim());
                    lista.add(formatoAux);
                }
            }
            formatos = (FormatoVO[]) lista.toArray(new FormatoVO[lista.size()]);
            if (formatos.length == 0)
                formatos = null;
        } else
            formatos = null;
        auxAvanzado.getTechnical().setFormatos(formatos);

        //TAMAO??
        auxAvanzado.getTechnical().setTamanio(tamAux);

        //LOCALIZACION
        if ((localizaciones != null) && (localizaciones.length != 0)) {
            ArrayList lista = new ArrayList();
            for (int i = 0; i < localizaciones.length; i++) {
                LocalizacionVO loca = (LocalizacionVO) localizaciones[i];
                if ((loca != null) && (!loca.getTexto().equals(""))) {
                    LocalizacionVO localizacionAux = new LocalizacionVO();
                    localizacionAux.setTexto(loca.getTexto().trim());
                    lista.add(localizacionAux);
                }
            }
            localizaciones = (LocalizacionVO[]) lista.toArray(new LocalizacionVO[lista.size()]);
            if (localizaciones.length == 0)
                localizaciones = null;
        } else
            localizaciones = null;
        auxAvanzado.getTechnical().setLocalizaciones(localizaciones);

        //REQUERIMIENTOS

        if ((requisitos != null) && (requisitos.length != 0)) {
            ArrayList lista = new ArrayList();
            AgregadorORVO[] agregadores = requisitos[0].getAgregadoresOR();

            if (requisitos.length == 1 && agregadores.length == 1
                    && agregadores[0].getNombre().getValor().equals("")
                    && agregadores[0].getTipo().getValor().equals("")
                    && agregadores[0].getVersionMax().getTexto().equals("")
                    && agregadores[0].getVersionMin().getTexto().equals("")) {
                requisitos = null;
            } else {
                for (int i = 0; i < requisitos.length; i++) {
                    if (requisitos != null) {
                        ArrayList listAgr = new ArrayList();
                        RequisitoVO lRequi = (RequisitoVO) requisitos[i];
                        RequisitoVO lRequisitos = new RequisitoVO();
                        for (int j = 0; j < lRequi.getAgregadoresOR().length; j++) {
                            AgregadorORVO agrega = lRequi.getAgregadoresOR()[j];
                            AgregadorORVO lAgrega = new AgregadorORVO();
                            String name = agrega.getNombre().getValor();
                            String type = agrega.getTipo().getValor();
                            String min = agrega.getVersionMin().getTexto();
                            String max = agrega.getVersionMax().getTexto();
                            if (((name != null) && (!name.equals(""))) || ((type != null) && (!type.equals("")))
                                    || ((min != null) && (!min.trim().equals("")))
                                    || ((max != null) && (!max.trim().equals("")))) {
                                SourceValueVO nombre = new SourceValueVO();
                                nombre.setSource(source);
                                nombre.setValor(name);
                                lAgrega.setNombre(nombre);
                                SourceValueVO tipo = new SourceValueVO();
                                tipo.setSource(source);
                                tipo.setValor(type);
                                lAgrega.setTipo(tipo);
                                VersionMaxVO maxi = new VersionMaxVO();
                                maxi.setTexto(max.trim());
                                lAgrega.setVersionMax(maxi);
                                VersionMinVO mini = new VersionMinVO();
                                mini.setTexto(min.trim());
                                lAgrega.setVersionMin(mini);
                                listAgr.add(lAgrega);
                            }
                        }
                        if (listAgr.size() != 0) {
                            AgregadorORVO[] agregas = (AgregadorORVO[]) listAgr
                                    .toArray(new AgregadorORVO[listAgr.size()]);
                            lRequisitos.setAgregadoresOR(agregas);
                            lista.add(lRequisitos);

                        }
                    }
                }
                if (lista.size() == 0)
                    requisitos = null;
                else
                    requisitos = (RequisitoVO[]) lista.toArray(new RequisitoVO[lista.size()]);
            }
        } else
            requisitos = null;
        auxAvanzado.getTechnical().setRequisitos(requisitos);

        //NOTAS DE INSTALACION

        pautas = new PautasInstalacionVO();
        if (notasDeInstalacion != null && notasDeInstalacion.length != 0) {
            PautasInstalacionVO pauta = (PautasInstalacionVO) notasDeInstalacion[0];
            LangStringVO[] textos = pauta.getTextos();
            ArrayList lista = new ArrayList();
            for (int j = 0; j < textos.length; j++) {
                LangStringVO lPat = (LangStringVO) textos[j];

                if (lPat != null) {
                    LangStringVO lLang = new LangStringVO();
                    String idioma = lPat.getIdioma();
                    String texto = lPat.getTexto().trim();
                    if (((idioma != null) && (!idioma.equals("")))
                            && ((texto != null) && (!texto.trim().equals("")))) {
                        lLang.setIdioma(idioma);
                        lLang.setTexto(texto);
                        lista.add(lLang);
                    } else {
                        if (idioma.equals("") && !texto.equals(""))
                            errorFaltaIdioma = true;
                        if (!idioma.equals("") && texto.equals(""))
                            errorFaltaTexto = true;
                    }
                }
            }
            LangStringVO[] lLangS = (LangStringVO[]) lista.toArray(new LangStringVO[lista.size()]);
            if (lLangS.length == 0)
                pautas = null;
            else
                pautas.setTextos(lLangS);
        } else
            pautas = null;

        auxAvanzado.getTechnical().setPautasInstalacion(pautas);

        //MAS REQUERIMIENTOS

        otros = new OtrosRequisitosVO();
        if (masRequisitos != null && masRequisitos.length != 0) {
            OtrosRequisitosVO otro = (OtrosRequisitosVO) masRequisitos[0];
            LangStringVO[] textos = otro.getTextos();
            ArrayList lista = new ArrayList();
            for (int j = 0; j < textos.length; j++) {
                LangStringVO lOtro = (LangStringVO) textos[j];

                if (lOtro != null) {
                    LangStringVO lLang = new LangStringVO();
                    String idioma = lOtro.getIdioma();
                    String texto = lOtro.getTexto();
                    if (((idioma != null) && (!idioma.equals("")))
                            && ((texto != null) && (!texto.trim().equals("")))) {
                        lLang.setIdioma(idioma);
                        lLang.setTexto(texto.trim());
                        lista.add(lLang);
                    } else {
                        if (idioma.equals("") && !texto.equals(""))
                            errorFaltaIdioma = true;
                        if (!idioma.equals("") && texto.equals(""))
                            errorFaltaTexto = true;
                    }
                }
            }
            LangStringVO[] lLangS = (LangStringVO[]) lista.toArray(new LangStringVO[lista.size()]);
            if (lLangS.length == 0)
                otros = null;
            else
                otros.setTextos(lLangS);
        } else
            otros = null;

        auxAvanzado.getTechnical().setOtrosRequisitos(otros);

        //Duracion
        DescripcionVO duras = new DescripcionVO();
        if (duracionDesc != null && duracionDesc.length != 0) {
            DescripcionVO descD = (DescripcionVO) duracionDesc[0];
            LangStringVO[] textos = descD.getTextos();
            ArrayList lista = new ArrayList();
            for (int j = 0; j < textos.length; j++) {
                LangStringVO lOtro = (LangStringVO) textos[j];

                if (lOtro != null) {
                    LangStringVO lLang = new LangStringVO();
                    String idioma = lOtro.getIdioma();
                    String texto = lOtro.getTexto();
                    if (((idioma != null) && (!idioma.equals("")))
                            && ((texto != null) && (!texto.trim().equals("")))) {
                        lLang.setIdioma(idioma);
                        lLang.setTexto(texto.trim());
                        lista.add(lLang);
                    } else {
                        if (idioma.equals("") && !texto.equals(""))
                            errorFaltaIdioma = true;
                        if (!idioma.equals("") && texto.equals(""))
                            errorFaltaTexto = true;
                    }
                }
            }
            LangStringVO[] lLangS = (LangStringVO[]) lista.toArray(new LangStringVO[lista.size()]);
            if (lLangS.length == 0)
                duras = null;
            else
                duras.setTextos(lLangS);
        } else
            duras = null;
        anyos = anyos.trim();
        meses = meses.trim();
        dias = dias.trim();
        horas = horas.trim();
        minutos = minutos.trim();
        segundosP1 = segundosP1.trim();
        segundosP2 = segundosP2.trim();
        form.setAnyo(anyos);
        form.setMes(meses);
        form.setDia(dias);
        form.setHora(horas);
        form.setMinutos(minutos);
        form.setSegundosP1(segundosP1);
        form.setSegundosP2(segundosP2);

        duracionVO = new DuracionVO();
        duracionVO.setDescripcion(duras);

        String duration = "";
        if (!dias.equals("") || !meses.equals("") || !anyos.equals("")) {
            duration = "P";
            if (!anyos.equals(""))
                if (!anyos.matches("\\d{1,}"))
                    errorNoNumero = true;
                else
                    duration = duration + anyos + "Y";
            if (!meses.equals(""))
                if (!meses.matches("\\d{1,}"))
                    errorNoNumero = true;
                else
                    duration = duration + meses + "M";
            if (!dias.equals("")) {
                if (!dias.matches("\\d{1,}"))
                    errorNoNumero = true;
                else
                    duration = duration + dias + "D";
            }

        }
        if (!horas.equals("") || !minutos.equals("") || !segundosP1.equals("") || !segundosP2.equals("")) {
            if (duration.equals(""))
                duration = "PT";
            else
                duration = duration + "T";
            if (!horas.equals(""))
                if (!horas.matches("\\d{1,}"))
                    errorNoNumero = true;
                else
                    duration = duration + horas + "H";
            if (!minutos.equals(""))
                if (!minutos.matches("\\d{1,}"))
                    errorNoNumero = true;
                else
                    duration = duration + minutos + "M";
            if (!segundosP1.equals(""))
                if (!segundosP1.matches("\\d{1,}"))
                    errorNoNumero = true;
                else if (segundosP2.equals(""))
                    duration = duration + segundosP1 + "S";
                else if (!segundosP2.matches("\\d{1,}"))
                    errorNoNumero = true;
                else
                    duration = duration + segundosP1 + "." + segundosP2 + "S";
            if (segundosP1.equals("") && !segundosP2.equals(""))
                errorSegundos = true;
        }
        if (duration.equals(""))
            duration = null;
        duracionVO.setDuracion(duration);

        if ((duracionVO.getDescripcion() == null) && (duracionVO.getDuracion() == null)) {
            duracionVO = null;
        }

        auxAvanzado.getTechnical().setDuracion(duracionVO);
        //TAMAO
        if (tamao != null && !tamao.equals("")) {
            try {
                Long bigTamao = new Long(tamao);
                if (bigTamao.intValue() < 0) {
                    tamNum = false;
                }
            } catch (Exception e) {
                tamNum = false;
            }
        }

    } catch (org.acegisecurity.AccessDeniedException ad) {
        logger.error("Error de Acceso " + ad);
        throw new java.lang.Exception("tecnica", ad);

    } catch (Exception e) {
        logger.error("Error en catalogadorWeb, categora Tecnica, metodo guardarTecnica " + e);
        throw new java.lang.Exception("tecnica", e);

    }

    if (!errorFaltaIdioma && !errorFaltaTexto && !errorNoNumero && !errorSegundos && tamNum) {
        try {
            //         Cargamos el objeto de sesion
            if (catalogadorAvSession.getMDSesion() == null) {
                catalogadorAvSession.setMDSesion(auxAvanzado);

            } else {
                if (formatos == null && tamAux == null && localizaciones == null && requisitos == null
                        && pautas == null && otros == null && duracionVO == null)
                    catalogadorAvSession.getMDSesion().setTechnical(null);
                else
                    catalogadorAvSession.getMDSesion().setTechnical(auxAvanzado.getTechnical());
            }
        } catch (Exception e) {
            logger.error("Error en catalogadorWeb, categora Tecnica, mtodo guardarTecnica " + e);
            throw new java.lang.Exception("tecnica", e);
        }

    } else {
        if (errorFaltaIdioma && errorFaltaTexto)
            throw new ValidatorException("{tecnica.error.idioma_texto}");
        else if (!errorFaltaIdioma && errorFaltaTexto)
            throw new ValidatorException("{tecnica.error.texto}");
        else if (errorFaltaIdioma && !errorFaltaTexto)
            throw new ValidatorException("{tecnica.error.idioma}");
        else if (errorNoNumero)
            throw new ValidatorException("{tecnica.error.NoNumero}");
        else if (errorSegundos)
            throw new ValidatorException("{tecnica.error.Segundos}");
        else if (!tamNum)
            throw new ValidatorException("{tecnica.error.Tamaino}");
    }

}