
package lj_cust;

import wt.auth.*;
import wt.fc.*;
import wt.query.*;
import wt.part.*;
import wt.epm.*;
import wt.doc.*;
import wt.method.RemoteMethodServer;
import wt.httpgw.GatewayAuthenticator;

public class LJ_Objects {
	public LJ_Objects() { }

	public static void main(String[] args) throws Exception{
		RemoteMethodServer rms = RemoteMethodServer.getDefault();
		GatewayAuthenticator auth = new GatewayAuthenticator();
		auth.setRemoteUser("wcadmin");
		rms.setAuthenticator(auth);

		System.out.println("Connected to PDMLink!");
		QueryResult resultWTP=PersistenceHelper.manager.find(new QuerySpec(WTPart.class));
		System.out.println("Number of WTPart Objects: "+resultWTP.size());

		//QueryResult resultEPM=PersistenceHelper.manager.find(new QuerySpec(EPMDocument.class));
		//System.out.println("Number of EPMDocument Objects: "+resultEPM.size());

		//QueryResult resultWTD=PersistenceHelper.manager.find(new QuerySpec(WTDocument.class));
		//System.out.println("Number of WTDocument Objects: "+resultWTD.size());

		// create a query specification which allows searching for all objects of type WTDocument
		QuerySpec mySpec = new QuerySpec( WTPart.class );
		// Create the search conditions
		SearchCondition searchCond1 = new SearchCondition( WTPart.class, "title", SearchCondition.EQUAL, "jett" );
		SearchCondition searchCond2 = new SearchCondition( WTPart.class, "title", SearchCondition.EQUAL, "ljett" );
		SearchCondition searchCond3 = new SearchCondition( WTPart.class, "description", SearchCondition.LIKE, "PRT" );

		// Append the search conditions and apply the necessary boolean operations
		mySpec.appendOpenParen();
		mySpec.appendSearchCondition(searchCond1);
		mySpec.appendOr();
		mySpec.appendSearchCondition(searchCond2);
		mySpec.appendCloseParen();
		mySpec.appendAnd();
		mySpec.appendNot();
		mySpec.appendSearchCondition(searchCond3);

		// Do the query
		QueryResult myResult = PersistenceHelper.manager.find( mySpec );
		System.out.println("Objects: "+myResult.size);
	}
}