summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2014-08-15 15:16:31 -0400
committerEndi S. Dewata <edewata@redhat.com>2014-08-15 19:17:47 -0400
commite749dad93d9d203a86ef7c2b35b106c2c3f68c21 (patch)
tree397fee6270aacf367e22cb91e87843296bc245ba
parent729c60539b43efa17cc54553b9589aece509cffa (diff)
downloadpki-e749dad93d9d203a86ef7c2b35b106c2c3f68c21.tar.gz
pki-e749dad93d9d203a86ef7c2b35b106c2c3f68c21.tar.xz
pki-e749dad93d9d203a86ef7c2b35b106c2c3f68c21.zip
Fixed missing TPS token attributes.
The missing token policy attribute has been added to token database. The REST services, CLI, and UI have been fixed accordingly. Other missing attributes in tokenRecord object class are unused. Ticket #1085
-rw-r--r--base/common/src/com/netscape/certsrv/tps/token/TokenData.java17
-rw-r--r--base/java-tools/src/com/netscape/cmstools/tps/token/TokenCLI.java1
-rw-r--r--base/tps-tomcat/shared/webapps/tps/js/token.js6
-rw-r--r--base/tps-tomcat/shared/webapps/tps/ui/index.html4
-rw-r--r--base/tps-tomcat/shared/webapps/tps/ui/token.html2
-rw-r--r--base/tps-tomcat/shared/webapps/tps/ui/tokens.html62
-rw-r--r--base/tps-tomcat/src/org/dogtagpki/server/tps/dbs/TokenRecord.java42
-rw-r--r--base/tps-tomcat/src/org/dogtagpki/server/tps/rest/TokenService.java9
8 files changed, 111 insertions, 32 deletions
diff --git a/base/common/src/com/netscape/certsrv/tps/token/TokenData.java b/base/common/src/com/netscape/certsrv/tps/token/TokenData.java
index 27ee1fa20..235e86fea 100644
--- a/base/common/src/com/netscape/certsrv/tps/token/TokenData.java
+++ b/base/common/src/com/netscape/certsrv/tps/token/TokenData.java
@@ -57,6 +57,7 @@ public class TokenData {
TokenStatus status;
String appletID;
String keyInfo;
+ String policy;
Date createTimestamp;
Date modifyTimestamp;
@@ -125,6 +126,15 @@ public class TokenData {
this.keyInfo = keyInfo;
}
+ @XmlElement(name="Policy")
+ public String getPolicy() {
+ return policy;
+ }
+
+ public void setPolicy(String policy) {
+ this.policy = policy;
+ }
+
@XmlElement(name="CreateTimestamp")
public Date getCreateTimestamp() {
return createTimestamp;
@@ -162,6 +172,7 @@ public class TokenData {
result = prime * result + ((keyInfo == null) ? 0 : keyInfo.hashCode());
result = prime * result + ((link == null) ? 0 : link.hashCode());
result = prime * result + ((modifyTimestamp == null) ? 0 : modifyTimestamp.hashCode());
+ result = prime * result + ((policy == null) ? 0 : policy.hashCode());
result = prime * result + ((status == null) ? 0 : status.hashCode());
result = prime * result + ((tokenID == null) ? 0 : tokenID.hashCode());
result = prime * result + ((type == null) ? 0 : type.hashCode());
@@ -208,6 +219,11 @@ public class TokenData {
return false;
} else if (!modifyTimestamp.equals(other.modifyTimestamp))
return false;
+ if (policy == null) {
+ if (other.policy != null)
+ return false;
+ } else if (!policy.equals(other.policy))
+ return false;
if (status != other.status)
return false;
if (tokenID == null) {
@@ -256,6 +272,7 @@ public class TokenData {
before.setStatus(TokenStatus.ACTIVE);
before.setAppletID("APPLET1234");
before.setKeyInfo("key info");
+ before.setPolicy("FORCE_FORMAT=YES");
before.setCreateTimestamp(new Date());
before.setModifyTimestamp(new Date());
diff --git a/base/java-tools/src/com/netscape/cmstools/tps/token/TokenCLI.java b/base/java-tools/src/com/netscape/cmstools/tps/token/TokenCLI.java
index df3ab2890..40d1f9447 100644
--- a/base/java-tools/src/com/netscape/cmstools/tps/token/TokenCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/tps/token/TokenCLI.java
@@ -56,6 +56,7 @@ public class TokenCLI extends CLI {
if (token.getStatus() != null) System.out.println(" Status: " + token.getStatus());
if (token.getAppletID() != null) System.out.println(" Applet ID: " + token.getAppletID());
if (token.getKeyInfo() != null) System.out.println(" Key Info: " + token.getKeyInfo());
+ if (token.getPolicy() != null) System.out.println(" Policy: " + token.getPolicy());
if (token.getCreateTimestamp() != null) System.out.println(" Date Created: " + token.getCreateTimestamp());
if (token.getModifyTimestamp() != null) System.out.println(" Date Modified: " + token.getModifyTimestamp());
diff --git a/base/tps-tomcat/shared/webapps/tps/js/token.js b/base/tps-tomcat/shared/webapps/tps/js/token.js
index 085003a1e..2ea17714e 100644
--- a/base/tps-tomcat/shared/webapps/tps/js/token.js
+++ b/base/tps-tomcat/shared/webapps/tps/js/token.js
@@ -40,6 +40,7 @@ var TokenModel = Model.extend({
statusLabel: TokenStatus[response.Status],
appletID: response.AppletID,
keyInfo: response.KeyInfo,
+ policy: response.Policy,
createTimestamp: response.CreateTimestamp,
modifyTimestamp: response.ModifyTimestamp
};
@@ -53,6 +54,7 @@ var TokenModel = Model.extend({
Status: attributes.status,
AppletID: attributes.appletID,
KeyInfo: attributes.keyInfo,
+ Policy: attributes.policy,
CreateTimestamp: attributes.createTimestamp,
ModifyTimestamp: attributes.modifyTimestamp
};
@@ -91,6 +93,7 @@ var TokenCollection = Collection.extend({
statusLabel: TokenStatus[entry.Status],
appletID: entry.AppletID,
keyInfo: entry.KeyInfo,
+ policy: entry.Policy,
createTimestamp: entry.CreateTimestamp,
modifyTimestamp: entry.ModifyTimestamp
});
@@ -191,7 +194,8 @@ var TokenTableItem = TableItem.extend({
el: $("#token-status-dialog"),
title: "Change Token Status",
readonly: ["tokenID", "userID", "type",
- "appletID", "keyInfo", "createTimestamp", "modifyTimestamp"],
+ "appletID", "keyInfo", "policy",
+ "createTimestamp", "modifyTimestamp"],
actions: ["cancel", "save"]
});
diff --git a/base/tps-tomcat/shared/webapps/tps/ui/index.html b/base/tps-tomcat/shared/webapps/tps/ui/index.html
index d1fa78b67..eddceefd7 100644
--- a/base/tps-tomcat/shared/webapps/tps/ui/index.html
+++ b/base/tps-tomcat/shared/webapps/tps/ui/index.html
@@ -272,7 +272,7 @@ $(function() {
el: content,
url: "token.html",
model: new TokenModel({ id: id }),
- editable: ["userID", "type", "appletID", "keyInfo"]
+ editable: ["userID", "type", "appletID", "keyInfo", "policy"]
}).open();
});
@@ -283,7 +283,7 @@ $(function() {
model: new TokenModel(),
mode: "add",
title: "New Token",
- editable: ["tokenID", "userID", "type", "appletID", "keyInfo"],
+ editable: ["tokenID", "userID", "type", "appletID", "keyInfo", "policy"],
parentHash: "#tokens"
}).open();
});
diff --git a/base/tps-tomcat/shared/webapps/tps/ui/token.html b/base/tps-tomcat/shared/webapps/tps/ui/token.html
index 6d34af5d2..78384acfe 100644
--- a/base/tps-tomcat/shared/webapps/tps/ui/token.html
+++ b/base/tps-tomcat/shared/webapps/tps/ui/token.html
@@ -54,6 +54,8 @@
<input name="appletID" readonly="readonly"><br>
<label>Key Info</label>
<input name="keyInfo" readonly="readonly"><br>
+ <label>Policy</label>
+ <input name="policy" readonly="readonly"><br>
<label>Created</label>
<input name="createTimestamp" readonly="readonly"><br>
<label>Modified</label>
diff --git a/base/tps-tomcat/shared/webapps/tps/ui/tokens.html b/base/tps-tomcat/shared/webapps/tps/ui/tokens.html
index 98ae769aa..aca579a68 100644
--- a/base/tps-tomcat/shared/webapps/tps/ui/tokens.html
+++ b/base/tps-tomcat/shared/webapps/tps/ui/tokens.html
@@ -27,7 +27,7 @@
<table name="tokens">
<thead>
<tr>
- <th class="pki-table-actions" colspan="9">
+ <th class="pki-table-actions" colspan="10">
<span name="search">
<input name="search" type="text" placeholder="Search...">
</span>
@@ -45,6 +45,7 @@
<th>Status</th>
<th>Applet ID</th>
<th>Key Info</th>
+ <th>Policy</th>
<th>Created</th>
<th>Modified</th>
</tr>
@@ -58,13 +59,14 @@
<td name="status"><a href="#tokens/${id}/status">${statusLabel}</a></td>
<td name="appletID">${appletID}</td>
<td name="keyInfo">${keyInfo}</td>
+ <td name="policy">${policy}</td>
<td name="created">${createTimestamp}</td>
<td name="modified">${modifyTimestamp}</td>
</tr>
</tbody>
<tfoot>
<tr>
- <th class="pki-table-actions" colspan="9">
+ <th class="pki-table-actions" colspan="10">
<div class="pki-table-info">
Total: <span name="totalEntries">0</span> entries
</div>
@@ -96,35 +98,37 @@
<h4 class="modal-title">Change Token Status</h4>
</div>
<div class="modal-body">
- <fieldset>
- <label>Token ID</label>
- <input name="tokenID" readonly="readonly"><br>
- <label>User ID</label>
- <input name="userID" readonly="readonly"><br>
- <label>Type</label>
- <input name="type" readonly="readonly"><br>
- <label>Status</label>
- <select name="status">
- <option value="UNINITIALIZED">Uninitialized</option>
- <option value="ACTIVE">Active</option>
- <option value="TEMP_LOST">Temporarily lost</option>
- <option value="PERM_LOST">Permanently lost</option>
- <option value="DAMAGED">Physically damaged</option>
- <option value="TERMINATED">Terminated</option>
- </select><br>
- <label>Applet ID</label>
- <input name="appletID" readonly="readonly"><br>
- <label>Key Info</label>
- <input name="keyInfo" readonly="readonly"><br>
- <label>Created</label>
- <input name="createTimestamp" readonly="readonly"><br>
- <label>Modified</label>
- <input name="modifyTimestamp" readonly="readonly"><br>
- </fieldset>
+ <fieldset>
+ <label>Token ID</label>
+ <input name="tokenID" readonly="readonly"><br>
+ <label>User ID</label>
+ <input name="userID" readonly="readonly"><br>
+ <label>Type</label>
+ <input name="type" readonly="readonly"><br>
+ <label>Status</label>
+ <select name="status">
+ <option value="UNINITIALIZED">Uninitialized</option>
+ <option value="ACTIVE">Active</option>
+ <option value="TEMP_LOST">Temporarily lost</option>
+ <option value="PERM_LOST">Permanently lost</option>
+ <option value="DAMAGED">Physically damaged</option>
+ <option value="TERMINATED">Terminated</option>
+ </select><br>
+ <label>Applet ID</label>
+ <input name="appletID" readonly="readonly"><br>
+ <label>Key Info</label>
+ <input name="keyInfo" readonly="readonly"><br>
+ <label>Policy</label>
+ <input name="policy" readonly="readonly"><br>
+ <label>Created</label>
+ <input name="createTimestamp" readonly="readonly"><br>
+ <label>Modified</label>
+ <input name="modifyTimestamp" readonly="readonly"><br>
+ </fieldset>
</div>
<div class="modal-footer">
- <button name="save" class="btn btn-primary">Save</button>
- <button name="cancel" class="btn btn-default" data-dismiss="modal">Cancel</button>
+ <button name="save" class="btn btn-primary">Save</button>
+ <button name="cancel" class="btn btn-default" data-dismiss="modal">Cancel</button>
</div>
</div>
</div>
diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/dbs/TokenRecord.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/dbs/TokenRecord.java
index 11fecce58..a1aef5720 100644
--- a/base/tps-tomcat/src/org/dogtagpki/server/tps/dbs/TokenRecord.java
+++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/dbs/TokenRecord.java
@@ -33,6 +33,32 @@ public class TokenRecord extends DBRecord {
private static final long serialVersionUID = 1L;
+ /**
+ * objectClasses: ( tokenRecord-oid
+ * NAME 'tokenRecord'
+ * DESC 'CMS defined class'
+ * SUP top
+ * STRUCTURAL
+ * MUST cn
+ * MAY (
+ * dateOfCreate $
+ * dateOfModify $
+ * modified $ (unused)
+ * tokenReason $
+ * tokenUserID $
+ * tokenStatus $
+ * tokenAppletID $
+ * keyInfo $
+ * tokenPolicy $
+ * extensions $ (unused)
+ * numberOfResets $ (unused)
+ * numberOfEnrollments $ (unused)
+ * numberOfRenewals $ (unused)
+ * numberOfRecoveries $ (unused)
+ * userCertificate $ (unused)
+ * tokenType )
+ * X-ORIGIN 'user defined' )
+ */
String id;
String userID;
String type;
@@ -40,6 +66,7 @@ public class TokenRecord extends DBRecord {
String reason;
String appletID;
String keyInfo;
+ String policy;
Date createTimestamp;
Date modifyTimestamp;
@@ -106,6 +133,15 @@ public class TokenRecord extends DBRecord {
this.keyInfo = keyInfo;
}
+ @DBAttribute("tokenPolicy")
+ public String getPolicy() {
+ return policy;
+ }
+
+ public void setPolicy(String policy) {
+ this.policy = policy;
+ }
+
@DBAttribute("dateOfCreate")
public Date getCreateTimestamp() {
return createTimestamp;
@@ -133,6 +169,7 @@ public class TokenRecord extends DBRecord {
result = prime * result + ((id == null) ? 0 : id.hashCode());
result = prime * result + ((keyInfo == null) ? 0 : keyInfo.hashCode());
result = prime * result + ((modifyTimestamp == null) ? 0 : modifyTimestamp.hashCode());
+ result = prime * result + ((policy == null) ? 0 : policy.hashCode());
result = prime * result + ((reason == null) ? 0 : reason.hashCode());
result = prime * result + ((status == null) ? 0 : status.hashCode());
result = prime * result + ((type == null) ? 0 : type.hashCode());
@@ -174,6 +211,11 @@ public class TokenRecord extends DBRecord {
return false;
} else if (!modifyTimestamp.equals(other.modifyTimestamp))
return false;
+ if (policy == null) {
+ if (other.policy != null)
+ return false;
+ } else if (!policy.equals(other.policy))
+ return false;
if (reason == null) {
if (other.reason != null)
return false;
diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/TokenService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/TokenService.java
index 09adf5491..84046a964 100644
--- a/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/TokenService.java
+++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/TokenService.java
@@ -164,6 +164,7 @@ public class TokenService extends PKIService implements TokenResource {
tokenData.setStatus(getTokenStatus(tokenRecord));
tokenData.setAppletID(tokenRecord.getAppletID());
tokenData.setKeyInfo(tokenRecord.getKeyInfo());
+ tokenData.setPolicy(tokenRecord.getPolicy());
tokenData.setCreateTimestamp(tokenRecord.getCreateTimestamp());
tokenData.setModifyTimestamp(tokenRecord.getModifyTimestamp());
@@ -190,6 +191,7 @@ public class TokenService extends PKIService implements TokenResource {
setTokenStatus(tokenRecord, tokenData.getStatus());
tokenRecord.setAppletID(tokenData.getAppletID());
tokenRecord.setKeyInfo(tokenData.getKeyInfo());
+ tokenRecord.setPolicy(tokenData.getPolicy());
tokenRecord.setCreateTimestamp(tokenData.getCreateTimestamp());
tokenRecord.setModifyTimestamp(tokenData.getModifyTimestamp());
@@ -330,6 +332,7 @@ public class TokenService extends PKIService implements TokenResource {
tokenRecord.setType(tokenData.getType());
tokenRecord.setAppletID(tokenData.getAppletID());
tokenRecord.setKeyInfo(tokenData.getKeyInfo());
+ tokenRecord.setPolicy(tokenData.getPolicy());
database.updateRecord(tokenID, tokenRecord);
subsystem.tdb.tdbActivity(subsystem, ActivityDatabase.OP_DO_TOKEN,
tokenRecord, ipAddress, msg, "success",
@@ -393,6 +396,12 @@ public class TokenService extends PKIService implements TokenResource {
tokenRecord.setKeyInfo(keyInfo);
}
+ // update policy if specified
+ String policy = tokenData.getPolicy();
+ if (policy != null) {
+ tokenRecord.setPolicy(policy);
+ }
+
database.updateRecord(tokenID, tokenRecord);
subsystem.tdb.tdbActivity(subsystem, ActivityDatabase.OP_DO_TOKEN,
tokenRecord, ipAddress, msg, "success",