【问题标题】:FileNet ContentElement CheckOutFileNet ContentElement 签出
【发布时间】:2017-05-22 19:10:20
【问题描述】:

我有一个代码模块,并且支持 jars 作为内容元素。每当我更改 java 代码并想要更新新的 jar 时,我都会进行签出和签入。但是在这个过程中,我check out的时候,所有的支持jar也需要手动添加。有没有办法只签出我要更新的 jar,留下支持的 jar?

【问题讨论】:

    标签: filenet-p8 filenet filenet-content-engine


    【解决方案1】:

    我写了一个简单的代码来实现这一点。希望这对其他人有帮助

    import java.io.File;
        import java.io.FileInputStream;
        import java.io.FileNotFoundException;
        import java.util.LinkedHashMap;
        import java.util.Map;
    
        import javax.security.auth.Subject;
    
        import com.filenet.api.admin.CodeModule;
        import com.filenet.api.collection.ContentElementList;
        import com.filenet.api.constants.AutoClassify;
        import com.filenet.api.constants.CheckinType;
        import com.filenet.api.constants.RefreshMode;
        import com.filenet.api.constants.ReservationType;
        import com.filenet.api.core.Connection;
        import com.filenet.api.core.ContentTransfer;
        import com.filenet.api.core.Domain;
        import com.filenet.api.core.Factory;
        import com.filenet.api.core.ObjectStore;
        import com.filenet.api.util.UserContext;
    
        public class UpdateCodeModule {
    
            public static void main( String[] arg){
            com.filenet.api.admin.CodeModule module=null;
            try{
                Connection conn = Factory.Connection.getConnection("http://server:port/wsi/FNCEWS40MTOM");
    
                Subject subject = UserContext.createSubject(conn, "user_id", "password", "FileNetP8WSI");
                UserContext uc = UserContext.get();
                uc.pushSubject(subject);
                Domain domain = Factory.Domain.fetchInstance(conn, "domain_name", null);
    
                ObjectStore os = Factory.ObjectStore.fetchInstance(domain, "objectstore name", null);
                 module = Factory.CodeModule.getInstance(os, "/CodeModules/codemodulename");
                module.clearPendingActions();
    
                module.checkout(ReservationType.OBJECT_STORE_DEFAULT, null, "CodeModule", null);
                module.save(RefreshMode.REFRESH);
                ContentElementList element = Factory.ContentElement.createList();
    
    
                CodeModule resveration = (CodeModule)module.get_Reservation();
                File[] jars = new File("path to jars").listFiles();
                LinkedHashMap<String, File> likedMap=new LinkedHashMap<String, File>();;
                for (File file : jars) {
                    if(file.getName().equalsIgnoreCase("codemodule.jar")){
                    likedMap.put(file.getName(), file);
    
                    }
                }
                for (File file : jars) {
                    if(!file.getName().equalsIgnoreCase("codemodule.jar")){
                    likedMap.put(file.getName(), file);
    
                    }
                }
                for (Map.Entry<String, File> file : likedMap.entrySet()) {
                    ContentTransfer ct = Factory.ContentTransfer.createInstance();
                    try {
                    ct.setCaptureSource(new FileInputStream(file.getValue()));
                    ct.set_RetrievalName(file.getKey());
                    } catch (FileNotFoundException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                    }
                    element.add(ct);
                }
                resveration.set_ContentElements(element);
                resveration.checkin(AutoClassify.DO_NOT_AUTO_CLASSIFY, CheckinType.MAJOR_VERSION);
                resveration.save(RefreshMode.REFRESH);
                resveration.promoteVersion();
            }catch(Exception e){
                e.printStackTrace();
            }finally{
                module.cancelCheckout();
                }
    
    
    
            }
    
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多