Get Listado de Tipos de Contenidos creados

cancel
Showing results for 
Search instead for 
Did you mean: 
mjuarez
Member II

Get Listado de Tipos de Contenidos creados

Que tal muchachos/as del Alfresco? Hoy les escribo para ver si me dan una mano con esto… Estoy tratando de listar todos los tipos de documentos existentes, el tipo "Content" y los que voy creando yo a mi merced.

Además de esto me gustaría poder extraer el titulo de un atributo de mis tipos documentales.. A ver si explico esto un poco mejor…

Yo tengo este tipo documental ("factura"):

<aspects>
      <aspect name = "fact:aspectFactura">
         <title>Titulo</title>
         <properties>
            <property name="fact:Concepto">
               <title>Concepto</title>
               <type>d:text</type>
            </property>
        
            <property name="fact:Importe">
               <title>Importe</title>
               <type>d:float</type>
            </property>

            <property name="fact:Proveedor">
               <title>Proveedor</title>
               <type>d:text</type>
            </property>
            
            <property name="fact:NumFac">
               <title>Numero de factura</title>
               <type>d:int</type>
            </property>

            <property name="fact:FecFac">
               <title>Fecha de la factura </title>
               <type>d:date</type>
            </property>
         </properties>   
      </aspect>
   </aspects>

Logro extraer los valores de los atributos propios de este tipo documental, que vendrían a ser: Concepto, Importe, Proveedor, Fecha de la Factura y Número de la Factura, pero también necesito acceder al título y al tipo de cada uno de ellos (para guardarlos en un Map), y solo logro extraer el sufijo de cada uno de ellos, por ejemplo, en el caso de Fecha de la factura, traigo "FecFac".

Alguien tiene alguna idea de como poder extraer todas las propiedades de cada tipo documental??? Desde ya muchas gracias!!
3 Replies
mjuarez
Member II

Re: Get Listado de Tipos de Contenidos creados

Logré hacer esto(mas abajo está el código…), pero lo que no logro traer es el prefijo de cada tipo documental… Por ejemplo para mi tipo documental necesito traer el "fact", o para el tipo content el "cm" que tiene como prefijo. Me explico?


private DictionaryServiceSoapBindingStub DSSBS = WebServiceFactory
         .getDictionaryService();

public Map<String, String> getAllContentTypes() throws DictionaryFault,
         RemoteException {
      Map<String, String> contentTypesList = new HashMap<String, String>();
      ClassDefinition[] cds = DSSBS.getClasses(null, null);
      String contentClass = "{http://www.alfresco.org/model/content/1.0}content";
      for (int i = 0; i < cds.length; i++) {
         if (cds[i].getSuperClass() != null) {
            if (cds[i].getName().equals(contentClass)) {
               contentTypesList.put(cds[i].getName(), cds[i].getTitle());
            }
            if (cds[i].getSuperClass().equalsIgnoreCase(contentClass)) {
               if (!cds[i].getName().startsWith(
                     "{http://www.alfresco.org/model/")) {
                  contentTypesList.put(cds[i].getName(), cds[i]
                        .getTitle());
               }
            }
         }
      }
      return contentTypesList;
   }
Highlighted
pjcaracuel_2349
Active Member

Re: Get Listado de Tipos de Contenidos creados

Hola Marcos,

Como recomendacion de buena practica de programación, dicho prefijo, deberia ir incluido en una clase de constantes para poder acceder directamente a el.
TE pego el contenido de una parte del intefrface ContenModel que usa alfresco para gestionar sus "constantes del modelo content"


//
    // User Model Definitions
    //
   
   static final String USER_MODEL_URI = "http://www.alfresco.org/model/user/1.0";
    static final String USER_MODEL_PREFIX = "usr";
   
    static final QName TYPE_USER = QName.createQName(USER_MODEL_URI, "user");
    static final QName PROP_USER_USERNAME = QName.createQName(USER_MODEL_URI, "username");
    static final QName PROP_PASSWORD = QName.createQName(USER_MODEL_URI, "password");
    static final QName PROP_ENABLED = QName.createQName(USER_MODEL_URI, "enabled");
    static final QName PROP_ACCOUNT_EXPIRES = QName.createQName(USER_MODEL_URI, "accountExpires");
    static final QName PROP_ACCOUNT_EXPIRY_DATE = QName.createQName(USER_MODEL_URI, "accountExpiryDate");
    static final QName PROP_CREDENTIALS_EXPIRE = QName.createQName(USER_MODEL_URI, "credentialsExpire");
    static final QName PROP_CREDENTIALS_EXPIRY_DATE = QName.createQName(USER_MODEL_URI, "credentialsExpiryDate");
    static final QName PROP_ACCOUNT_LOCKED = QName.createQName(USER_MODEL_URI, "accountLocked");
    static final QName PROP_SALT = QName.createQName(USER_MODEL_URI, "salt");   

Saludos
mjuarez
Member II

Re: Get Listado de Tipos de Contenidos creados

Gracias Pedro por tu consejo, pero la cosa es que no consigo obtener el prefijo de un tipo documental definido por mi… La idea es que con el namespaceURI, yo consiga este "prefijo", pero todavía no lo pude lograr… Si tenés alguna idea, posteela jejeje!! Saludos!