package ext; import java.util.*; import java.rmi.RemoteException; import wt.util.*; import wt.fc.*; import wt.vc.*; import wt.query.*; import wt.epm.*; import wt.lifecycle.*; import wt.lifecycle.State; import wt.httpgw.GatewayAuthenticator; import wt.method.RemoteMethodServer; import com.ptc.windchill.enterprise.search.server.*; import wt.epm.util.EPMQueryHelper; import wt.fc.*; import wt.fc.collections.*; import wt.pds.InvalidAssociationException; import wt.pds.OidHolder; import wt.query.*; import wt.util.WTException; import wt.vc.*; import wt.vc.config.*; public class epmList_08 { public static Enumeration FindEpmNumbered(String drwNo) throws WTException, WTPropertyVetoException { ClassAttribute versionAttribute = new ClassAttribute(EPMDocument.class, "versionInfo.identifier.versionId"); QuerySpec qs = new QuerySpec(EPMDocument.class); qs.appendWhere(new SearchCondition(EPMDocument.class,EPMDocument.NUMBER,SearchCondition.LIKE,drwNo)); qs.appendAnd(); qs.appendWhere(new SearchCondition(EPMDocument.class, "iterationInfo.latest", "TRUE")); System.out.println( "Now Querying for Doc Using: " + qs.toString() ); final QueryResult qr = PersistenceHelper.manager.find(qs); while (qr.hasMoreElements()) { EPMDocument epmm = (EPMDocument)qr.nextElement(); String s2 = VersionControlHelper.getVersionIdentifier((Versioned)epmm).getSeries().getValue(); //EPMDocConfigSpec epmConfigSpec = EPMDocConfigSpec.newEPMDocConfigSpec(); //wt.vc.config.ConfigSpec configspec = getConfigSpec(epmm); //ConfigSpec configSpec = new LatestConfigSpec(); //QueryResult qr1 = ConfigHelper.service.filteredIterationsOf( epmm, epmConfigSpec ); //LifeCycleManaged LMObject = (LifeCycleManaged)epmm; //String StStg = (String)LMObject.getLifeCycleState().toString(); //versionInfo.identifier.versionId //if (StStg.compareTo("RELEASED") == 0) { System.out.println( "VIdent: " + s2); System.out.println( epmm.getNumber() + "," + epmm.getVersionIdentifier().getValue() + "."+epmm.getIterationIdentifier().getValue()); //} } return new Enumeration() { public boolean hasMoreElements() { return qr.hasMoreElements(); } public Object nextElement() throws NoSuchElementException { return ((Persistable[])qr.nextElement()); } }; } public static void main(String[] args) { if(args.length < 1) { System.out.println("Usage: windchill epmList "); System.exit(0); } else { try { RemoteMethodServer rms = RemoteMethodServer.getDefault(); GatewayAuthenticator auth = new GatewayAuthenticator(); auth.setRemoteUser("wcadmin"); rms.setAuthenticator(auth); String drwNo = args[0]; try { Enumeration e = FindEpmNumbered(drwNo); while (e.hasMoreElements()) { System.out.println(((EPMDocument)e.nextElement()).getIdentity()); } } catch (WTException wtee) { wtee.printStackTrace(); } catch (WTPropertyVetoException wtpe) { wtpe.printStackTrace(); } finally { System.exit(0); } System.exit(0); } catch(Exception exceptionMain) { exceptionMain.printStackTrace(); } } } private final transient SearchInfo searchInfo = new SearchInfo(); }