From 9bd94a0a54793a0720b803846ce2291e5064c2ae Mon Sep 17 00:00:00 2001 From: "Endi S. Dewata" Date: Wed, 3 Feb 2016 19:20:31 +0100 Subject: Added resource bundle for token state labels. The labels for token states and the transitions are now stored in token-states.properties. The default file will be stored in the /usr/share/pki/tps/conf, but it can be overriden by copying and customizing the file into /tps/conf. When the UI retrieves the token data the labels for the current state and the valid transitions will be loaded from the file and returned to the UI. The UI will show the transition labels in the dropdown list for changing token status. https://fedorahosted.org/pki/ticket/1289 https://fedorahosted.org/pki/ticket/1291 --- .../dogtagpki/server/tps/rest/TokenService.java | 27 ++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) (limited to 'base/tps/src') diff --git a/base/tps/src/org/dogtagpki/server/tps/rest/TokenService.java b/base/tps/src/org/dogtagpki/server/tps/rest/TokenService.java index 247aa911c..cb660f3b1 100644 --- a/base/tps/src/org/dogtagpki/server/tps/rest/TokenService.java +++ b/base/tps/src/org/dogtagpki/server/tps/rest/TokenService.java @@ -21,11 +21,13 @@ package org.dogtagpki.server.tps.rest; import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URLEncoder; +import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Map; +import java.util.ResourceBundle; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.core.Context; @@ -50,6 +52,7 @@ import com.netscape.certsrv.dbs.EDBException; import com.netscape.certsrv.ldap.LDAPExceptionConverter; import com.netscape.certsrv.tps.token.TokenCollection; import com.netscape.certsrv.tps.token.TokenData; +import com.netscape.certsrv.tps.token.TokenData.TokenStatusData; import com.netscape.certsrv.tps.token.TokenResource; import com.netscape.certsrv.tps.token.TokenStatus; import com.netscape.cms.servlet.base.PKIService; @@ -192,7 +195,9 @@ public class TokenService extends PKIService implements TokenResource { } - public TokenData createTokenData(TokenRecord tokenRecord) { + public TokenData createTokenData(TokenRecord tokenRecord) throws Exception { + + ResourceBundle labels = getResourceBundle("token-states"); TokenData tokenData = new TokenData(); tokenData.setID(tokenRecord.getId()); @@ -200,9 +205,23 @@ public class TokenService extends PKIService implements TokenResource { tokenData.setUserID(tokenRecord.getUserID()); tokenData.setType(tokenRecord.getType()); - TokenStatus currentState = getTokenStatus(tokenRecord); - tokenData.setStatus(currentState); - tokenData.setNextStates(transitions.get(currentState)); + TokenStatus status = getTokenStatus(tokenRecord); + TokenStatusData statusData = new TokenStatusData(); + statusData.name = status; + statusData.label = labels.getString(status.toString()); + tokenData.setStatus(statusData); + + Collection nextStates = transitions.get(status); + if (nextStates != null) { + Collection nextStatesData = new ArrayList(); + for (TokenStatus nextState : nextStates) { + TokenStatusData nextStateData = new TokenStatusData(); + nextStateData.name = nextState; + nextStateData.label = labels.getString(status + "." + nextState); + nextStatesData.add(nextStateData); + } + tokenData.setNextStates(nextStatesData); + } tokenData.setAppletID(tokenRecord.getAppletID()); tokenData.setKeyInfo(tokenRecord.getKeyInfo()); -- cgit