package com.nitesh.p4demo; /* * Author : Nitesh Suthar * Application : P4Java Utility Tool. * Profile : https://swarm.workshop.perforce.com/users/sutharNitesh/ */ import java.net.URISyntaxException; import com.perforce.p4java.exception.AccessException; import com.perforce.p4java.exception.ConfigException; import com.perforce.p4java.exception.ConnectionException; import com.perforce.p4java.exception.NoSuchObjectException; import com.perforce.p4java.exception.P4JavaException; import com.perforce.p4java.exception.RequestException; import com.perforce.p4java.exception.ResourceException; import com.perforce.p4java.server.IServer; import com.perforce.p4java.server.IServerInfo; import com.perforce.p4java.server.ServerFactory; public class PerforceConnection { IServer server; private String serverUri = "p4java://"; public PerforceConnection(String uri) { setServerUri(uri); } public void setServerUri(String uri) { serverUri += uri; } public boolean isOpen() { return server.isConnected(); } public boolean open(String userLoginName, String password) { try { server = ServerFactory.getServer(serverUri, null); server.connect(); server.setUserName(userLoginName); server.login(password); } catch (AccessException | RequestException | ConnectionException | NoSuchObjectException | ConfigException | ResourceException | URISyntaxException e) { e.printStackTrace(); return false; } try { System.out.println(server.getLoginStatus()); return true; } catch (P4JavaException e) { e.printStackTrace(); return false; } } public void close() { if (server != null && server.isConnected()) { try { server.logout(); server.disconnect(); } catch (RequestException | ConfigException | ConnectionException | AccessException e) { e.printStackTrace(); } } } public int getUserSubmittedChangeListCount(String userLoginName) { try { return server.getChangelists(-1, null, null, userLoginName, true, true, true, false).size(); } catch (ConnectionException | RequestException | AccessException e) { e.printStackTrace(); return -1; } } @Override public String toString() { StringBuilder str = new StringBuilder(); str.append("\nPerforce Connection Info: {"); if (server != null && server.isConnected()) { str.append("\n\tUser Name: " + server.getUserName()); str.append("\n\tServer Info: {"); try { IServerInfo info = server.getServerInfo(); str.append("\n\t\tClient Name: " + info.getClientName()); str.append("\n\t\tCurrent Directory: " + info.getClientCurrentDirectory()); str.append("\n\t\tClient Root: " + info.getClientRoot()); str.append("\n\t\tClient Host: " + info.getClientHost()); str.append("\n\t\tClient Address: " + info.getClientAddress()); str.append("\n\t\tServer Address: " + info.getServerAddress()); str.append("\n\t\tServer Version: " + info.getServerVersion()); str.append("\n\t\tServer url: " + serverUri); } catch (ConnectionException | RequestException | AccessException e) { e.printStackTrace(); } str.append("\n\t}"); } str.append("\n}"); return str.toString(); } }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 13640 | sutharNitesh |
Updated GUI 1> Added Login Screen 2> Added OnScreen logging 3> Added Button to get Total no. of Submitted CLs 4> Added Exported Jar in ~/P4DemoTool/bin/P4DemoTool.jar Execution Command >java -jar <local path to locate jar>/P4DemoTool.jar |