Never been to DZone Snippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

[Documentum] Move contents from web cabinet to another path using DFC (See related posts)

   1  
   2  import java.io.OutputStream;
   3  import java.io.RandomAccessFile;
   4  import java.util.Iterator;
   5  import java.util.Map;
   6  import java.util.Set;
   7  
   8  import org.apache.log4j.Logger;
   9  
  10  import com.documentum.com.DfClientX;
  11  import com.documentum.com.IDfClientX;
  12  import com.documentum.fc.client.DfClient;
  13  import com.documentum.fc.client.DfQuery;
  14  import com.documentum.fc.client.IDfClient;
  15  import com.documentum.fc.client.IDfCollection;
  16  import com.documentum.fc.client.IDfSession;
  17  import com.documentum.fc.client.IDfSessionManager;
  18  import com.documentum.fc.client.IDfSysObject;
  19  import com.documentum.fc.client.IDfWorkitem;
  20  import com.documentum.fc.common.DfException;
  21  import com.documentum.fc.common.DfId;
  22  import com.documentum.fc.common.DfLoginInfo;
  23  import com.documentum.fc.common.IDfId;
  24  import com.documentum.fc.common.IDfLoginInfo;
  25  import com.documentum.mthdservlet.IDmMethod;
  26  import com.documentum.operations.*;
  27  
  28  public class MoverContenidosViejos
  29      implements IDmMethod
  30  {
  31  
  32      public MoverContenidosViejos()
  33      {
  34          m_domain = null;
  35          m_jobid = null;
  36          m_mtl = "0";
  37          m_ticket = null;
  38          m_File = null;
  39          _session = null;
  40      }
  41  
  42      private void MoverContenidos()
  43          throws Exception
  44      {
  45          System.out.println("MoverContenidosViejos, inicio");
  46          
  47          try
  48          {
  49          	String seccion=null;
  50          	String apartado=null;
  51          	String subapartado=null;
  52          	String Idcontenido =null;
  53          	String carpetaDestino=null;
  54          	IDfClientX clientx =null;
  55          	IDfId myId = null;
  56          	IDfSysObject contenido =null;
  57          	
  58          	//Carpeta Origen
  59          	
  60          	String carpetaOrigen=null;
  61          	
  62          	//Ejecutamos la query para sacar los contenidos de la carpeta origen
  63          	
  64              DfQuery queryCont = new DfQuery();
  65              queryCont.setDQL(DQLContenidosprueba);
  66              System.out.println("MoverContenidosViejos, query: " + queryCont.getDQL());
  67              IDfCollection idfc = queryCont.execute(_session, 0);
  68              
  69              while (idfc.next())
  70              
  71               {
  72                  m_log.debug("MoverContenidosViejos. Obtengo los contenidos: ");
  73                  
  74                  //Obtenemos los datos del contenido 
  75                  
  76                  Idcontenido = idfc.getString("r_object_id");
  77                  
  78                  //Creamos el contenido como un objeto
  79                  
  80                                 	
  81                  	System.out.println("MoverContenidosViejos, Creamos el objeto contenido y la carpeta destino.");
  82                  	clientx = new DfClientX();
  83                  	myId = clientx.getId(Idcontenido);
  84                  	System.out.println("MoverContenidosViejos, myId: "+ myId);
  85                  	contenido = (IDfSysObject)_session.getObject(myId);
  86                  
  87                  	//Creamos la carpeta destino
  88                  
  89                  	                
  90                  	//Movemos el contenido de una carpeta a otra
  91                  
  92                  	
  93                  	carpetaOrigen="/MoverContenido/Origen";
  94                  	carpetaDestino="/MoverContenido/Destino";
  95                  	System.out.println("MoverContenidosViejos, Carpeta destino: "+ carpetaDestino);
  96                  	System.out.println("MoverContenidosViejos, Carpeta origen: "+ carpetaOrigen);
  97                  	contenido.unlink(carpetaOrigen);
  98                  	contenido.link(carpetaDestino);
  99                  	contenido.save();
 100                  
 101                  
 102              }
 103  
 104              System.out.println("MoverContenidosViejos, cerrar collection");
 105              idfc.close();
 106                                              
 107                  
 108          }
 109          catch(Exception e)
 110          {
 111              System.out.println("MoverContenidosViejos, error" + e.getMessage());
 112              m_log.error("MoverContenidosViejos: " + e.getMessage());
 113          }
 114      }
 115  
 116  
 117      protected IDfSessionManager login()
 118          throws DfException
 119      {
 120          System.out.println("MoverContenidosViejos- login: inicio");
 121          PassDocbase = "demo.demo";
 122          if(docbaseName == null || UserDocbase == null || PassDocbase == null)
 123          {
 124              System.out.println("MoverContenidosViejos- login: falten dades per iniciar la sesio");
 125              m_log.error("MoverContenidosViejos - login: falten dades per iniciar la sesio.");
 126              return null;
 127          }
 128          IDfClient dfClient = DfClient.getLocalClient();
 129          if(dfClient != null)
 130          {
 131              IDfLoginInfo li = new DfLoginInfo();
 132              li.setUser(UserDocbase);
 133              li.setPassword(PassDocbase);
 134              li.setDomain(m_domain);
 135              IDfSessionManager sessionMgr = dfClient.newSessionManager();
 136              sessionMgr.setIdentity(docbaseName, li);
 137              System.out.println("MoverContenidosViejos - login: fin");
 138              return sessionMgr;
 139          } else
 140          {
 141              System.out.println("MoverContenidosViejos- login: error2");
 142              System.out.println("MoverContenidosViejos - login: No se ha podido iniciar el cliente local de documentum");
 143              return null;
 144          }
 145      }
 146  
 147      protected void initWorkflowParams(Map params)
 148      {
 149          m_log.info("MoverContenidosViejos - initWorkflowParams: inicio");
 150          Set keys = params.keySet();
 151          for(Iterator iter = keys.iterator(); iter.hasNext();)
 152          {
 153              String key = (String)iter.next();
 154              m_log.debug("MoverContenidosViejos - initWorkflowParams: " + key);
 155              if(key != null && key.length() != 0)
 156              {
 157                  String value[] = (String[])params.get(key);
 158                  m_log.debug("MoverContenidosViejos - initWorkflowParams: valor[]: " + value);
 159                  if(key.equalsIgnoreCase("user_name"))
 160                      UserDocbase = value.length <= 0 ? "" : value[0];
 161                  else
 162                  if(key.equalsIgnoreCase("docbase_name"))
 163                      docbaseName = value.length <= 0 ? "" : value[0];
 164                  else
 165                  if(key.equalsIgnoreCase("password"))
 166                      PassDocbase = value.length <= 0 ? "" : value[0];
 167                  else
 168                  if(key.equalsIgnoreCase("domain"))
 169                      m_domain = value.length <= 0 ? "" : value[0];
 170                  else
 171                  if(key.equalsIgnoreCase("job_id"))
 172                      m_jobid = value.length <= 0 ? "" : value[0];
 173                  else
 174                  if(key.equalsIgnoreCase("method_trace_level"))
 175                      m_mtl = value.length <= 0 ? "" : value[0];
 176              }
 177          }
 178  
 179          m_log.info("MoverContenidosViejos - initWorkflowParams: fin");
 180      }
 181  
 182      
 183      public void execute(Map params, OutputStream ostream)
 184          throws Exception
 185      {
 186      	System.out.println("MoverContenidosViejos, execute: inicio");
 187          initWorkflowParams(params);
 188          IDfSessionManager sessionManager = login();
 189          IDfSession session = null;
 190          try
 191          {
 192              _session = sessionManager.getSession(docbaseName);
 193              MoverContenidos();
 194              
 195          }
 196          catch(DfException e)
 197          {
 198              ostream.write(e.getMessage().getBytes());
 199              e.printStackTrace();
 200              throw e;
 201          }
 202          finally
 203          {
 204              if(session != null)
 205                  sessionManager.release(session);
 206          }
 207          return;
 208      }
 209  
 210      private IDfSession _session;
 211      private static Logger m_log = Logger.getLogger("MoverContenidosViejos");
 212      private static String PassDocbase = null;
 213      private static String UserDocbase = null;
 214      private static String docbaseName = null;
 215      protected String m_domain;
 216      protected String m_jobid;
 217      protected String m_mtl;
 218      protected String m_ticket;
 219      protected RandomAccessFile m_File;
 220  											/*dpg_alerta,dpg_articulo,dpg_bienvenida,dpg_contacto,dpg_documento,dpg_editorial,dpg_encuesta,dpg_enlace,dpg_evento,dpg_fasciculo,dpg_ficha,dpg_glosario,dpg_grafico,dpg_legislacion,dpg_noticia,dpg_portada,dpg_prima,dpg_reportaje,dpg_ticker,dpg_FAQ
 221       * */
 222      
 223  
 224      private static String DQLContenidosprueba = "select r_object_id, object_name from dm_document where folder('/MoverContenido/Origen')";
 225      
 226      private static final String USER_KEY = "user_name";
 227      private static final String DOCBASE_KEY = "docbase_name";
 228      private static final String PASSWORD_KEY = "password";
 229      private static final String DOMAIN_KEY = "domain";
 230      private static final String JOBID = "job_id";
 231      private static final String MTL = "method_trace_level";
 232      private String lifeCycleState;
 233      private boolean lifeCycleOverride;
 234      private boolean lifeCycleTestOnly;
 235      protected String m_workitemId = null;
 236      private IDfId docIdObj;
 237  
 238  }
 239  

You need to create an account or log in to post comments to this site.


Click here to browse all 5355 code snippets

Related Posts