package ext.publishing; import com.ptc.wvs.server.util.PublishUtils; import wt.content.ApplicationData; import wt.content.ContentHelper; import wt.content.ContentHolder; import wt.content.ContentItem; import wt.doc.*; import wt.epm.*; import wt.epm.EPMAuthoringAppType; import wt.epm.EPMDocConfigSpec; import wt.fc.ObjectVector; import wt.fc.ObjectVectorIfc; import wt.fc.Persistable; import wt.fc.PersistenceHelper; import wt.fc.PersistenceServerHelper; import wt.fc.QueryResult; import wt.inf.container.*; import wt.lifecycle.*; import wt.lifecycle.State; import wt.query.QuerySpec; import wt.query.SearchCondition; import wt.representation.Representation; import wt.vc.VersionControlHelper; import wt.vc.config.ConfigHelper; import wt.vc.config.LatestConfigSpec; import wt.vc.config.LifeCycleConfigSpec; import wt.viewmarkup.DerivedImage; public class ScheduleJobsExt { public QueryResult ProtoEpmAll() { //Publish ALL PROTOTYPE versions of an object QueryResult QueRun("%.DRW","ALL","PROTOTYPE"); QueryResult QueRun("%.PRT","ALL","PROTOTYPE"); QueryResult QueRun("%.ASM","ALL","PROTOTYPE"); } public QueryResult RelEpmAll() { //Publish ALL RELEASED versions of an object QueryResult QueRun("%.DRW","ALL","RELEASED"); QueryResult QueRun("%.PRT","ALL","RELEASED"); QueryResult QueRun("%.ASM","ALL","RELEASED"); } public QueryResult ProtoEpmNoRep() { //Publish NoRep PROTOTYPE versions of an object QueryResult QueRun("%.DRW","NoRep","PROTOTYPE"); QueryResult QueRun("%.PRT","NoRep","PROTOTYPE"); QueryResult QueRun("%.ASM","NoRep","PROTOTYPE"); } public QueryResult RelEpmNoRep() { //Publish NoRep RELEASED versions of an object QueryResult QueRun("%.DRW","NoRep","RELEASED"); QueryResult QueRun("%.PRT","NoRep","RELEASED"); QueryResult QueRun("%.ASM","NoRep","RELEASED"); } public QueryResult ProtoDrwAll() { QueryResult QueRun("%.DRW","ALL","PROTOTYPE"); } public QueryResult ProtoPrtAll() { QueryResult QueRun("%.PRT","ALL","PROTOTYPE"); } public QueryResult ProtoAsmAll() { QueryResult QueRun("%.ASM","ALL","PROTOTYPE"); } public QueryResult RelDrwAll() { QueryResult QueRun("%.DRW","ALL","RELEASED"); } public QueryResult RelPrtAll() { QueryResult QueRun("%.PRT","ALL","RELEASED"); } public QueryResult RelAsmAll() { QueryResult QueRun("%.ASM","ALL","RELEASED"); } public QueryResult ProtoDrwNoRep() { QueryResult QueRun("%.DRW","NoRep","PROTOTYPE"); } public QueryResult ProtoPrtNoRep() { QueryResult QueRun("%.PRT","NoRep","PROTOTYPE"); } public QueryResult ProtoAsmNoRep() { QueryResult QueRun("%.ASM","NoRep","PROTOTYPE"); } public QueryResult RelDrwNoRep() { QueryResult QueRun("%.DRW","NoRep","RELEASED"); } public QueryResult RelPrtNoRep() { QueryResult QueRun("%.PRT","NoRep","RELEASED"); } public QueryResult RelAsmNoRep() { QueryResult QueRun("%.ASM","NoRep","RELEASED"); } public QueryResult QueRun( String EpmType, String RepType, String targetState ) { ObjectVector objectvector = new ObjectVector(); try { QuerySpec qs = new QuerySpec(wt.epm.EPMDocumentMaster.class); if( qs.appendSearchCondition(new SearchCondition(wt.epm.EPMDocumentMaster.class, wt.epm.EPMDocumentMaster.NUMBER, SearchCondition.LIKE, "%.DRW")); QueryResult qr = PersistenceHelper.manager.find(qs); do { if(!qr.hasMoreElements()) break; EPMDocumentMaster epmdocumentmaster = (EPMDocumentMaster)qr.nextElement(); EPMDocConfigSpec epmConfigSpec = EPMDocConfigSpec.newEPMDocConfigSpec(); epmConfigSpec.setLifeCycleActive(true); QueryResult qr1 = ConfigHelper.service.filteredIterationsOf( epmdocumentmaster, epmConfigSpec ); if(qr1.hasMoreElements()){ EPMDocument epmdocument =(EPMDocument)qr1.nextElement(); LifeCycleManaged LMObject = (LifeCycleManaged)epmdocument; String StStg = (String)LMObject.getLifeCycleState().toString(); if(StStg.equals(targetState)) { Representation representation = PublishUtils.getRepresentation(epmdocument); System.out.println("STATE "+StStg+" Found: - EPMDoc ID: "+epmdocument+" - EPMDoc Version: "+PublishUtils.getIterationIdentifier(epmdocument)); System.out.println("EPMDoc - Number: " + epmdocument.getNumber() + " - Name: " + epmdocument.getName()+ " - CadName: " + epmdocument.getCADName() + "\n" ); if(RepType.equals("ALL") { objectvector.addElement(epmdocument); } else { if(representation == null) objectvector.addElement(epmdocument); } } } } while(true); } catch(Exception exception) { exception.printStackTrace(); objectvector = new ObjectVector(); } return new QueryResult(objectvector); } public static void main (String[] args) { System.out.println("Args="+args.length); if (args.length !=6) { printUsage(); System.exit (1); } String typeObj = null; String actualState = null; String targetState = null; String lifecyclename = null; Boolean forceLatestIteration = null; String container_path = null; String classNameStr = null; try { typeObj = args[0]; actualState = args[1]; targetState = args[2]; lifecyclename = args[3]; forceLatestIteration = new Boolean(args[4]); container_path = args[5]; if (typeObj.equals("PART")) { classNameStr = "wt.part.WTPart"; } else if (typeObj.equals("CADDOC")) { classNameStr = "wt.epm.EPMDocument"; } else if (typeObj.equals("DOCUMENT")) { classNameStr = "wt.doc.WTDocument"; } } catch (Throwable e) { printUsage(); e.printStackTrace(); } if (typeObj.equals("ALL")) { reassignLF("wt.part.WTPart",actualState,targetState,lifecyclename,forceLatestIteration,container_path); reassignLF("wt.epm.EPMDocument",actualState,targetState,lifecyclename,forceLatestIteration,container_path); reassignLF("wt.doc.WTDocument",actualState,targetState,lifecyclename,forceLatestIteration,container_path); System.exit (1); } else { reassignLF(classNameStr,actualState,targetState,lifecyclename,forceLatestIteration,container_path); System.exit (1); } } }