Thứ Ba, 21 tháng 4, 2015

Downloading bulk files from filenet repository using content engine API

EngineConnection.java
---------------------------------
import  com.filenet.api.core.*;
import com.filenet.api.util.UserContext;
import javax.security.auth.Subject;

public class EngineConnection {

   
    Connection giveConnection()
    {
    
       
        String url="http://192.168.2.22:9080/wsi/FNCEWS40MTOM";
       
        Connection connection = Factory.Connection.getConnection(url);
       
        Subject subject =UserContext.createSubject(connection, "p8admin", "ecm@dmin1", null);
       
       
        UserContext context=UserContext.get();
       
        context.pushSubject(subject);
       
       
        if(connection!=null)
           
            return connection;
       
        return connection;
       
       
               
    }
   
}


BulkDownloading.java

---------------------------------


import com.filenet.api.collection.ContentElementList;
import com.filenet.api.collection.DocumentSet;
import com.filenet.api.core.*;
import com.filenet.api.util.Id;
import java.util.Iterator;
import java.io.*;
public class BulkDownloading {

    public static void main(String []args)
    {
       
        EngineConnection mine=new EngineConnection();
       
        Connection connection= mine.giveConnection();
       
        if(connection !=null)
        {
            Domain domain=Factory.Domain.fetchInstance(connection, null, null);
           
            ObjectStore object_store=Factory.ObjectStore.fetchInstance(domain, "CMTOS", null);
           
            System.out.println(""+object_store.get_DisplayName());
           
            Folder folder=Factory.Folder.fetchInstance(object_store, "/Practise Folder/Practise Sub Folder", null);
           
            System.out.println(""+folder.get_FolderName());
           
            //get all documents from this folder now
           
            DocumentSet document_set=folder.get_ContainedDocuments();
           
            Document current_document=null;
           
            FileOutputStream output_data=null;
           
            InputStream input_data=null;
           
            Document working_document=null;
           
            ContentElementList content_element_list=null;
           
           Iterator<DocumentSet>doc_iterator= document_set.iterator();
          
           while(doc_iterator.hasNext())
           {
              
               current_document=(Document)doc_iterator.next();
              
               //System.out.println(""+current_document.get_Name()+current_document.get_MimeType());
              
               String mime=current_document.get_MimeType();
               
               if(mime.startsWith("applica"))
               {
                   mime="pdf";
               }
              
               try
               {
                   output_data = new FileOutputStream("d:\\sample\\"+current_document.get_Name()+"."+mime);
                  
                   working_document=Factory.Document.fetchInstance(object_store,current_document.get_Id(), null);
                  
                   content_element_list=working_document.get_ContentElements();
                  
                   //iterate through these
                  
                   Iterator ite=content_element_list.iterator();
                  
                   while(ite.hasNext())
                   {
                      
                       ContentTransfer ct=(ContentTransfer)ite.next();
                      
                       input_data=ct.accessContentStream();
                      
                       int data_length=ct.get_ContentSize().intValue();
                      
                       byte buff[]=new byte[data_length];
                      
                       try
                       {
                          
                           input_data.read(buff);
                          
                           output_data.write(buff);
                          
                       }
                       catch(Exception e)
                       {
                           System.out.println(""+e.getLocalizedMessage());
                       }
                   }
                  
                  
               }
               catch(Exception e)
               {
                   System.out.println(""+e.getLocalizedMessage());
               }
           }
           
            System.out.println("Operation completed");
        }
       
    }
   
}
 


Bulk uploading of documents using filenet content engine API

EngineConnetion.java


import  com.filenet.api.core.*;
import com.filenet.api.util.UserContext;
import javax.security.auth.Subject;

public class EngineConnection {

   
    Connection giveConnection()
    {
    
       
        String url="http://192.168.2.22:9080/wsi/FNCEWS40MTOM";
       
        Connection connection = Factory.Connection.getConnection(url);
       
        Subject subject =UserContext.createSubject(connection, "p8admin", "ecm@dmin1", null);
       
       
        UserContext context=UserContext.get();
       
        context.pushSubject(subject);
       
       
        if(connection!=null)
           
            return connection;
       
        return connection;
       
       
               
    }
   
}


BulkUploading.java

---------------------


import com.filenet.api.collection.ContentElementList;
import com.filenet.api.collection.FolderSet;
import com.filenet.api.constants.AutoClassify;
import com.filenet.api.constants.AutoUniqueName;
import com.filenet.api.constants.CheckinType;
import com.filenet.api.constants.DefineSecurityParentage;
import com.filenet.api.constants.RefreshMode;
import com.filenet.api.core.*;
import java.io.File;
import java.io.FileInputStream;
import java.nio.file.Files;

import java.util.*;

public class BulkUploading {

    public static void main(String args[])
    {
       
        //connect to the server
       
        EngineConnection mine=new EngineConnection();
       
        Connection connection = mine.giveConnection();
       
        if(connection!=null)
        {
           
            //give a folder name from there it takes all the data and uploads it into the folder given by you
           
             File file=new File("C:\\Users\\tempuser.TIT-JAVA-040\\Downloads\\DemoJava\\");
           
           
             System.out.println(file.isDirectory());
           
             File files_array[]=file.listFiles();
          
             Folder current_folder=null;
          
             Folder selected_folder=null;
           
           
             Domain domain=Factory.Domain.fetchInstance(connection, null, null);
           
            //System.out.println(""+domain.get_Name());
           
            //select an object store
           
            ObjectStore object_store=Factory.ObjectStore.fetchInstance(domain, "CMTOS", null);
           
            FolderSet folder_set=object_store.get_TopFolders();
           
            Iterator<FolderSet> folder_iterator=folder_set.iterator();
           
            while(folder_iterator.hasNext())
            {
               
                current_folder=(Folder)folder_iterator.next();
               
               
                if(current_folder.get_FolderName().equals("Practise Folder"))
                {
                    selected_folder=current_folder;
                }
            }
           
//            System.out.println(""+selected_folder.get_FolderName());
           
            //get sub folders from selected folders
           
           FolderSet sub_folder_set= selected_folder.get_SubFolders();
          
           //iterate through sub folders
          
           Iterator<FolderSet> sub_folder_iterator=sub_folder_set.iterator();
          
           Folder current_sub_folder=null;
          
           Folder selected_sub_folder=null;
          
           while(sub_folder_iterator.hasNext())
           {
              
               current_sub_folder=(Folder)sub_folder_iterator.next();
              
               if(current_sub_folder.get_FolderName().equals("Practise Sub Folder"))
               {
                  
                   selected_sub_folder=current_sub_folder;
               }
           }
           
             ContentTransfer content_transfer =null;
            
             FileInputStream input_data=null;
             
             Document doc=null;
             
             ContentElementList content_element_list=null;
                        
             ReferentialContainmentRelationship file2=null;
             
            for(File f:files_array)
            {
           
             File file1=new File(f.getAbsolutePath());
           
            try
            {
               
              input_data =new FileInputStream(file1);
               
                //get the instance for documnet to store above input data
               
              doc =Factory.Document.createInstance(object_store, null);
               
                //set trasfering method
               
              content_transfer=Factory.ContentTransfer.createInstance();
               
                //set the data to this content transfer
               
              content_transfer.setCaptureSource(input_data);
               
                //set the mime type
               
              content_transfer.set_ContentType("application/pdf");
               
                //set a name for document
               
              content_transfer.set_RetrievalName("shashi practice");
               
                //create a content element list and add this content transfer data to the list
               
              content_element_list=Factory.ContentElement.createList();
               
              content_element_list.add(content_transfer);
               
                //add the content elements to the current document
              doc.set_ContentElements(content_element_list);
               
              doc.getProperties().putValue("DocumentTitle",f.getName() );
               
              doc.set_MimeType("application/pdf");
               
                //check in document
               
              doc.checkin(AutoClassify.AUTO_CLASSIFY, CheckinType.MINOR_VERSION);
               
              doc.save(RefreshMode.REFRESH);
               
                //set the current document under the sub folder
              file2= selected_sub_folder.file(doc, AutoUniqueName.AUTO_UNIQUE, f.getName(), DefineSecurityParentage.DEFINE_SECURITY_PARENTAGE);
               
              file2.save(RefreshMode.REFRESH);
               
              System.out.println("Current  document  "+doc.get_Name()+" is Saved");
             
           
            }
            catch(Exception e)
            {
                System.out.println(""+e.getLocalizedMessage());
            }
           
           
          }   
        }
       
    }
   
}

stroing documents in subfolders by using filenet content engine API


import com.filenet.api.collection.ContentElementList;
import com.filenet.api.collection.FolderSet;
import com.filenet.api.constants.AutoClassify;
import com.filenet.api.constants.AutoUniqueName;
import com.filenet.api.constants.CheckinType;
import com.filenet.api.constants.DefineSecurityParentage;
import com.filenet.api.constants.RefreshMode;
import com.filenet.api.core.*;
import java.io.File;
import java.io.FileInputStream;
import java.util.Iterator;

public class StoringDataInSubFolders {

    public static void main(String args[])
    {
     
        EngineConnection mine=new EngineConnection();
       
        Connection connection = mine.giveConnection();
       
        if(connection!=null)
        {
           
            Domain domain=Factory.Domain.fetchInstance(connection, null, null);
           
            System.out.println(""+domain.get_Name());
           
            //select an object store
           
            ObjectStore object_store=Factory.ObjectStore.fetchInstance(domain, "CMTOS", null);
           
            System.out.println(""+object_store.get_DisplayName());
           
            //select a folder
           
            Folder current_folder=null;
          
          
            Folder selected_folder=null;
           
            FolderSet folder_set=object_store.get_TopFolders();
           
            Iterator<FolderSet> folder_iterator=folder_set.iterator();
           
            while(folder_iterator.hasNext())
            {
               
                current_folder=(Folder)folder_iterator.next();
               
                if(current_folder.get_FolderName().equals("Practise Folder"))
                {
                    selected_folder=current_folder;
                }
            }
           
            System.out.println(""+selected_folder.get_FolderName());
           
            //get sub folders from selected folders
           
           FolderSet sub_folder_set= selected_folder.get_SubFolders();
          
           //iterate through sub folders
          
           Iterator<FolderSet> sub_folder_iterator=sub_folder_set.iterator();
          
           Folder current_sub_folder=null;
          
           Folder selected_sub_folder=null;
          
           while(sub_folder_iterator.hasNext())
           {
              
               current_sub_folder=(Folder)sub_folder_iterator.next();
              
               if(current_sub_folder.get_FolderName().equals("Practise Sub Folder"))
               {
                  
                   selected_sub_folder=current_sub_folder;
               }
           }
          
            System.out.println(""+selected_sub_folder.get_FolderName());
           
            //now store data of document in  this sub folder only
           
            //get the data from local system
           
            File file=new File("C:\\Users\\tempuser.TIT-JAVA-040\\Downloads\\content navigator.pdf");
           
            try
            {
               
                FileInputStream input_data=new FileInputStream(file);
               
                //get the instance for documnet to store above input data
               
                Document doc=Factory.Document.createInstance(object_store, null);
               
                //set trasfering method
               
                ContentTransfer content_transfer=Factory.ContentTransfer.createInstance();
               
                //set the data to this content transfer
               
                content_transfer.setCaptureSource(input_data);
               
                //set the mime type
               
                content_transfer.set_ContentType("application/pdf");
               
                //set a name for document
               
                content_transfer.set_RetrievalName("shashi practice");
               
                //create a content element list and add this content transfer data to the list
               
                ContentElementList content_element_list=Factory.ContentElement.createList();
               
                content_element_list.add(content_transfer);
               
                //add the content elements to the current document
                doc.set_ContentElements(content_element_list);
               
                doc.getProperties().putValue("DocumentTitle","shashi practice" );
               
                doc.set_MimeType("application/pdf");
               
                //check in document
               
                doc.checkin(AutoClassify.AUTO_CLASSIFY, CheckinType.MINOR_VERSION);
               
                doc.save(RefreshMode.REFRESH);
               
                //set the current document under the sub folder
                ReferentialContainmentRelationship file1 = selected_sub_folder.file(doc, AutoUniqueName.AUTO_UNIQUE, "shashi practice", DefineSecurityParentage.DEFINE_SECURITY_PARENTAGE);
               
                file1.save(RefreshMode.REFRESH);
               
                System.out.println("Your document saved ");
           
            }
            catch(Exception e)
            {
                System.out.println(""+e.getLocalizedMessage());
            }
           
        }
       
    }
   
}


----------------------------------
EngineConnection.java

import  com.filenet.api.core.*;
import com.filenet.api.util.UserContext;
import javax.security.auth.Subject;

public class EngineConnection {

   
    Connection giveConnection()
    {
    
       
        String url="http://192.168.2.22:9080/wsi/FNCEWS40MTOM";
       
        Connection connection = Factory.Connection.getConnection(url);
       
        Subject subject =UserContext.createSubject(connection, "p8admin", "ecm@dmin1", null);
       
       
        UserContext context=UserContext.get();
       
        context.pushSubject(subject);
       
       
        if(connection!=null)
           
            return connection;
       
        return connection;
       
       
               
    }
   
}

Thứ Hai, 20 tháng 4, 2015

Uploading documents into sub folders in filenet by using contentengine API



package com.chenna;

import com.filenet.api.collection.ContentElementList;
import com.filenet.api.collection.FolderSet;
import com.filenet.api.constants.AutoClassify;
import com.filenet.api.constants.AutoUniqueName;
import com.filenet.api.constants.CheckinType;
import com.filenet.api.constants.DefineSecurityParentage;
import com.filenet.api.constants.RefreshMode;
import com.filenet.api.core.*;
import java.io.File;
import java.io.FileInputStream;
import java.util.Iterator;

/**
 *
 * @author chenna
 */
public class StoringInSubFolder {

    public static void main(String args[])
      
    {
        
        //connection
        
        Connectionclas mine=new Connectionclas();
        
        Connection connection =mine.getMyconnection();
        
        if(connection!=null)
        {
            
            Domain domain=Factory.Domain.fetchInstance(connection, null, null);
            
            ObjectStore object_store=Factory.ObjectStore.fetchInstance(domain, "CMTOS", null);
            
            System.out.println(""+object_store.get_DisplayName());
            
            FolderSet folder_set= object_store.get_TopFolders();
            
           Iterator<FolderSet> folder_iteraor= folder_set.iterator();
           
           Folder current_folder=null;
           
           Folder seleced_folder=null;
           
           while(folder_iteraor.hasNext())
           {
               
               current_folder=(Folder)folder_iteraor.next();
               
               if(current_folder.get_FolderName().equals("folder1"))
               {
                   seleced_folder=current_folder;
               }
        
           }
           
            System.out.println(""+seleced_folder.get_FolderName());
        
           FolderSet sub_folders= seleced_folder.get_SubFolders();
           
           Folder current_sub_folder=null;
           
           Folder selected_sub_folder=null;
           
          Iterator<FolderSet>sub_folder_itertor=  sub_folders.iterator();
          
          while(sub_folder_itertor.hasNext())
          {
              
            current_sub_folder=(Folder)sub_folder_itertor.next();
              
            if(current_sub_folder.get_FolderName().equals("folder2"))
            {
                selected_sub_folder=current_sub_folder;
            }
          }
           
            System.out.println(""+selected_sub_folder.get_FolderName());
            
              File file=new File("C:\\Users\\chenna\\Downloads\\Case manager 2014(1).pdf");
            
            FileInputStream input_data=null;
            
            ContentTransfer content_transfer=null;
            
            
            ContentElementList content_element_list=null;
            
            Document document=null;
            
            
            
            try
            {
                
                input_data=new FileInputStream(file);
                
               
                content_transfer =Factory.ContentTransfer.createInstance();
                
                content_transfer.setCaptureSource(input_data);
                
                content_transfer.set_ContentType("application/pdf");
                
                content_transfer.set_RetrievalName("shashiFile");
                
                content_element_list = Factory.ContentElement.createList();
                
                content_element_list.add(content_transfer);
                
                document = Factory.Document.createInstance(object_store, null);
                
               // System.out.println(""+document);
                
                document.set_ContentElements(content_element_list);
                
                document.set_MimeType("application/pdf");
                
                document.getProperties().putValue("DocumentTitle", "shashi File");
                
                document.checkin(AutoClassify.AUTO_CLASSIFY, CheckinType.MINOR_VERSION);
                
                document.save(RefreshMode.REFRESH);
                
                ReferentialContainmentRelationship file1 = selected_sub_folder.file(document, AutoUniqueName.AUTO_UNIQUE, "practise chenna", DefineSecurityParentage.DEFINE_SECURITY_PARENTAGE);
                
                file1.save(RefreshMode.REFRESH);
                
                System.out.println("Document uploaded");
            }
            catch(Exception e)
            {
                System.out.println(""+e.getLocalizedMessage());
            }
        }
    }
    
}