diff options
author | Endi S. Dewata <edewata@redhat.com> | 2017-03-24 02:24:38 +0100 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2017-03-27 17:32:09 +0200 |
commit | 87431b72520f7c2426312faaefa0bf83af8cdfcd (patch) | |
tree | d5d7175f863198b39aeccf7b71c3b55c3e9af123 /base/java-tools | |
parent | 81c9795b9a769267a9c878dfbd10ab0d5785d070 (diff) | |
download | pki-87431b72520f7c2426312faaefa0bf83af8cdfcd.tar.gz pki-87431b72520f7c2426312faaefa0bf83af8cdfcd.tar.xz pki-87431b72520f7c2426312faaefa0bf83af8cdfcd.zip |
Refactored CA ProfileCLI.
The CA ProfileCLI and its submodules have been modified to use
lazy initialization to get the PKIClient object.
Diffstat (limited to 'base/java-tools')
9 files changed, 41 insertions, 18 deletions
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileAddCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileAddCLI.java index ced286e5f..d7fed3fe2 100644 --- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileAddCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileAddCLI.java @@ -6,6 +6,7 @@ import java.util.Properties; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; +import com.netscape.certsrv.profile.ProfileClient; import com.netscape.certsrv.profile.ProfileData; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -47,18 +48,20 @@ public class ProfileAddCLI extends CLI { throw new Exception("Missing input file name."); } + ProfileClient profileClient = profileCLI.getProfileClient(); + if (cmd.hasOption("raw")) { Properties properties = ProfileCLI.readRawProfileFromFile(filename); String profileId = properties.getProperty("profileId"); - profileCLI.profileClient.createProfileRaw(properties).store(System.out, null); + profileClient.createProfileRaw(properties).store(System.out, null); MainCLI.printMessage("Added profile " + profileId); } else { ProfileData data = ProfileCLI.readProfileFromFile(filename); - data = profileCLI.profileClient.createProfile(data); + data = profileClient.createProfile(data); MainCLI.printMessage("Added profile " + data.getId()); - ProfileCLI.printProfile(data, profileCLI.getClient().getConfig().getServerURI()); + ProfileCLI.printProfile(data, profileCLI.getConfig().getServerURI()); } } } diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileCLI.java index e4acdb195..23ca89d68 100644 --- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileCLI.java @@ -15,6 +15,7 @@ import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; import com.netscape.certsrv.cert.CertEnrollmentRequest; +import com.netscape.certsrv.client.PKIClient; import com.netscape.certsrv.profile.ProfileAttribute; import com.netscape.certsrv.profile.ProfileClient; import com.netscape.certsrv.profile.ProfileData; @@ -55,9 +56,11 @@ public class ProfileCLI extends CLI { return "pki-ca-profile"; } - public void execute(String[] args) throws Exception { + public ProfileClient getProfileClient() throws Exception { - client = parent.getClient(); + if (profileClient != null) return profileClient; + + PKIClient client = getClient(); // determine the subsystem String subsystem = client.getSubsystem(); @@ -66,7 +69,7 @@ public class ProfileCLI extends CLI { // create new profile client profileClient = new ProfileClient(client, subsystem); - super.execute(args); + return profileClient; } public static void printProfileDataInfo(ProfileDataInfo info) { diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileDisableCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileDisableCLI.java index dc21ac4a8..cb877be13 100644 --- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileDisableCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileDisableCLI.java @@ -4,6 +4,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; +import com.netscape.certsrv.profile.ProfileClient; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -37,7 +38,8 @@ public class ProfileDisableCLI extends CLI { String profileId = args[0]; - profileCLI.profileClient.disableProfile(profileId); + ProfileClient profileClient = profileCLI.getProfileClient(); + profileClient.disableProfile(profileId); MainCLI.printMessage("Disabled profile \"" + profileId + "\""); } diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileEditCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileEditCLI.java index b8bb9f03f..18bb7e566 100644 --- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileEditCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileEditCLI.java @@ -25,6 +25,7 @@ import java.util.Properties; import org.apache.commons.cli.CommandLine; +import com.netscape.certsrv.profile.ProfileClient; import com.netscape.cmstools.cli.CLI; public class ProfileEditCLI extends CLI { @@ -57,8 +58,10 @@ public class ProfileEditCLI extends CLI { String profileId = cmdArgs[0]; + ProfileClient profileClient = profileCLI.getProfileClient(); + // read profile into temporary file - Properties orig = profileCLI.profileClient.retrieveProfileRaw(profileId); + Properties orig = profileClient.retrieveProfileRaw(profileId); String enabled = orig.getProperty("enable"); if (Boolean.valueOf(enabled)) { throw new Exception("Cannot edit profile. Profile must be disabled."); @@ -88,7 +91,7 @@ public class ProfileEditCLI extends CLI { cur.load(Files.newInputStream(tempFile)); if (!cur.equals(orig)) { - profileCLI.profileClient.modifyProfileRaw(profileId, cur); + profileClient.modifyProfileRaw(profileId, cur); } cur.store(System.out, null); } finally { diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileEnableCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileEnableCLI.java index f8c56ba64..34c602108 100644 --- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileEnableCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileEnableCLI.java @@ -4,6 +4,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; +import com.netscape.certsrv.profile.ProfileClient; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -37,7 +38,8 @@ public class ProfileEnableCLI extends CLI { String profileId = cmdArgs[0]; - profileCLI.profileClient.enableProfile(profileId); + ProfileClient profileClient = profileCLI.getProfileClient(); + profileClient.enableProfile(profileId); MainCLI.printMessage("Enabled profile \"" + profileId + "\""); } diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileFindCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileFindCLI.java index 512c7cd30..9eb74687e 100644 --- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileFindCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileFindCLI.java @@ -6,6 +6,7 @@ import java.util.Collection; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; +import com.netscape.certsrv.profile.ProfileClient; import com.netscape.certsrv.profile.ProfileDataInfo; import com.netscape.certsrv.profile.ProfileDataInfos; import com.netscape.cmstools.cli.CLI; @@ -57,7 +58,8 @@ public class ProfileFindCLI extends CLI { s = cmd.getOptionValue("size"); Integer size = s == null ? null : Integer.valueOf(s); - ProfileDataInfos response = profileCLI.profileClient.listProfiles(start, size); + ProfileClient profileClient = profileCLI.getProfileClient(); + ProfileDataInfos response = profileClient.listProfiles(start, size); MainCLI.printMessage(response.getTotal() + " entries matched"); if (response.getTotal() == 0) return; diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java index 835f628c1..c478b50ca 100644 --- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java @@ -6,6 +6,7 @@ import java.util.Properties; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; +import com.netscape.certsrv.profile.ProfileClient; import com.netscape.certsrv.profile.ProfileData; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -47,18 +48,20 @@ public class ProfileModifyCLI extends CLI { throw new Exception("Missing input file name."); } + ProfileClient profileClient = profileCLI.getProfileClient(); + if (cmd.hasOption("raw")) { Properties properties = ProfileCLI.readRawProfileFromFile(filename); String profileId = properties.getProperty("profileId"); - profileCLI.profileClient.modifyProfileRaw(profileId, properties).store(System.out, null); + profileClient.modifyProfileRaw(profileId, properties).store(System.out, null); MainCLI.printMessage("Modified profile " + profileId); } else { ProfileData data = ProfileCLI.readProfileFromFile(filename); - data = profileCLI.profileClient.modifyProfile(data); + data = profileClient.modifyProfile(data); MainCLI.printMessage("Modified profile " + data.getId()); - ProfileCLI.printProfile(data, profileCLI.getClient().getConfig().getServerURI()); + ProfileCLI.printProfile(data, profileCLI.getConfig().getServerURI()); } } } diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileRemoveCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileRemoveCLI.java index f0920cde3..842240052 100644 --- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileRemoveCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileRemoveCLI.java @@ -4,6 +4,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; +import com.netscape.certsrv.profile.ProfileClient; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -37,7 +38,8 @@ public class ProfileRemoveCLI extends CLI { String profileId = args[0]; - profileCLI.profileClient.deleteProfile(profileId); + ProfileClient profileClient = profileCLI.getProfileClient(); + profileClient.deleteProfile(profileId); MainCLI.printMessage("Deleted profile \"" + profileId + "\""); } diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java index 5134530bc..1a90cf3ba 100644 --- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java @@ -7,6 +7,7 @@ import java.util.Properties; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; +import com.netscape.certsrv.profile.ProfileClient; import com.netscape.certsrv.profile.ProfileData; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -62,8 +63,10 @@ public class ProfileShowCLI extends CLI { } } + ProfileClient profileClient = profileCLI.getProfileClient(); + if (cmd.hasOption("raw")) { - Properties profileConfig = profileCLI.profileClient.retrieveProfileRaw(profileId); + Properties profileConfig = profileClient.retrieveProfileRaw(profileId); if (filename != null) { profileConfig.store(new FileOutputStream(filename), null); @@ -73,12 +76,12 @@ public class ProfileShowCLI extends CLI { } } else { MainCLI.printMessage("Profile \"" + profileId + "\""); - ProfileData profileData = profileCLI.profileClient.retrieveProfile(profileId); + ProfileData profileData = profileClient.retrieveProfile(profileId); if (filename != null) { ProfileCLI.saveProfileToFile(filename, profileData); } else { - ProfileCLI.printProfile(profileData, profileCLI.getClient().getConfig().getServerURI()); + ProfileCLI.printProfile(profileData, profileCLI.getConfig().getServerURI()); } } } |