cancel
Showing results for 
Search instead for 
Did you mean: 

pasar de lista a string

ijr87
Champ in-the-making
Champ in-the-making
buenas, estoy creando un tipo de documento con sus propiedades y tengo un problema, una de las propiedades es de tipo lista y cuando hago el "createNamedValue" me peta porque dice que hay que pasarle dos strings… si le pongo un "toString()" a saco tampoco funciona, alguien sabe alguna solucion?? Gracias!!

tambien me pasa lo mismo con un tipo que es boolean..

Os dejo la parte de codigo que creo importante:

<constraints>
      <constraint name="ev:CodiInteressats" type="LIST">
         <parameter name="allowedValues">
            <list>
               <value>1</value>
               <value>2</value>
            </list>
         </parameter>
      </constraint>


<property name="ev:codiInteressatsDoc">
               <type>d:text</type>
               <mandatory>false</mandatory>
               <multiple>true</multiple>
               <constraints>
                  <constraint ref="ev:CodiInteressats" />
               </constraints>
            </property>


NamedValue codiIntValue = Utils.createNamedValue(
            Constants.createQNameString(
                  docModel.NAMESPACE_CONTENT_MODEL,
                  docModel.CODIINTERESSATS), document
                  .getCodiInteressat());
7 REPLIES 7

cristinamr
World-Class Innovator
World-Class Innovator
¿Has probado a ponerlo así?


         <list>
               <value>"1"</value>
               <value>"2"</value>
         </list>

O con comilla simple.. Vamos la idea es que pruebes con las comillas que tienes disponibles en el teclado Smiley Wink

Por cierto, ojea este tuto por si te sirve Smiley Wink Smiley Wink
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc

ijr87
Champ in-the-making
Champ in-the-making
gracias, pero el problema creo es que necesito un metodo para transformar un tipo lista en string… he mirado los ejemplos pero no he visto nada parecido.

cristinamr
World-Class Innovator
World-Class Innovator
¿Es java? ¿Podrías poner el código de la parte en la que "rescatas" los resultados? Así lo ojeo y te comento.
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc

ijr87
Champ in-the-making
Champ in-the-making
si que es java.

public class CodiInteresats
{
    private List<String> codiInteresatList = new ArrayList<String>();

    /**
     * Get the list of 'CodiInteresats' element items.
     *
     * @return list
     */
    public List<String> getCodiInteresats() {
        return codiInteresatList;
    }

    /**
     * Set the list of 'CodiInteresats' element items.
     *
     * @param list
     */
    public void setCodiInteresats(List<String> list) {
        codiInteresatList = list;
    }
}
la parte de codigo de esta funcion es la que he puesto al principio del post y esto, el problema es que la funcion "Utils.createNamedValue(Constants.createQNameString(string, string)" te pide dos strings y yo el segundo parametro lo tengo del tipo list, he intentado usar el "codiInteressats.toString()" pero no cuela…

cristinamr
World-Class Innovator
World-Class Innovator
Claro que no puedes porque te pide una String y le estas pasando un List. Te explico con un ejemplo a ver si lo ves mejor:

Imagina que tienes una lista:
list lista = new list();

Y que le agregamos valores:
for (int i=0; i<10;i++){
   lista.add(i);
}

Ahí tendríamos una lista de 10 posiciones con valores de tipo entero, desde 0 a 9.

Si por ejemplo, tu quieres rescatar el valor que hay en la 5ª posición, para extraer el valor sería:
String valor = lista.get(5).toString();
O también:
String valor = ""+lista.get(5);

Y valor contendría la string "4".

Según la API de java:

Object   get(int index)
          Returns the element at the specified position in this list.

El método get te devuelve un objeto, así que tendrás que hacerle un cash para convertirlo a String, sino petará.

—-

Es decir, que por lo que veo y me explicas el problema está en que tu le estas pasando la lista completa (con todos los valores que tenga cargado en ella), si lo que necesitas en pasarle el contenido de la primera posición (que sería una string) sería con lista.get(0); Eso te devuelve el valor que contenga.

¿Comprendes más o menos?
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc

ijr87
Champ in-the-making
Champ in-the-making
si que lo entiendo mas o menos, yo tendria que pasarle todos los objetos de la lista, le dare unas vueltas mas..
Gracias!!

cristinamr
World-Class Innovator
World-Class Innovator
si que lo entiendo mas o menos, yo tendria que pasarle todos los objetos de la lista, le dare unas vueltas mas..
Gracias!!

Justo Smiley Wink

Me alegro que te haya servido de ayuda ^^

Un saludo! 😃
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc