diff options
| author | jesus m. rodriguez <jesusr@redhat.com> | 2009-11-12 15:25:33 -0500 |
|---|---|---|
| committer | jesus m. rodriguez <jesusr@redhat.com> | 2009-11-12 15:25:33 -0500 |
| commit | f4feea49201468152cb19cc1a5013b6d2d7f7f8a (patch) | |
| tree | 98467f17ee49c886f1e8a444e7a7e362dc40d9d1 /proxy/code/src/com | |
| parent | 5f2c420567b94d6fc8949833d6d441c2bd1a291e (diff) | |
| download | candlepin-f4feea49201468152cb19cc1a5013b6d2d7f7f8a.tar.gz candlepin-f4feea49201468152cb19cc1a5013b6d2d7f7f8a.tar.xz candlepin-f4feea49201468152cb19cc1a5013b6d2d7f7f8a.zip | |
allow upload of cert and return list of available ent pools
Diffstat (limited to 'proxy/code/src/com')
4 files changed, 36 insertions, 23 deletions
diff --git a/proxy/code/src/com/redhat/rhn/common/cert/Certificate.java b/proxy/code/src/com/redhat/rhn/common/cert/Certificate.java index ddedfaf..5c94214 100644 --- a/proxy/code/src/com/redhat/rhn/common/cert/Certificate.java +++ b/proxy/code/src/com/redhat/rhn/common/cert/Certificate.java @@ -49,7 +49,7 @@ public class Certificate { private String satelliteVersion; private String generation; private String signature; - private List channelFamilies; + private List<ChannelFamilyDescriptor> channelFamilies; private static final String XML_HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; @@ -57,7 +57,7 @@ public class Certificate { * Construct an empty certificate. */ Certificate() { - channelFamilies = new ArrayList(); + channelFamilies = new ArrayList<ChannelFamilyDescriptor>(); } /** @@ -76,14 +76,15 @@ public class Certificate { * * @return the certificate in the canonical form used for signing */ + @SuppressWarnings("unchecked") public String asChecksumString() { StringBuffer result = new StringBuffer(); // Fields must appear in the output in alphabetical order // The channelFamilies are sorted in their very own way // (see ChannelFamily.compareTo) Collections.sort(channelFamilies); - for (int i = 0; i < channelFamilies.size(); i++) { - ChannelFamilyDescriptor cf = (ChannelFamilyDescriptor) channelFamilies.get(i); + + for (ChannelFamilyDescriptor cf : channelFamilies) { result.append(cf.asChecksumString()).append("\n"); } appendField(result, "expires", getExpires()); @@ -128,7 +129,7 @@ public class Certificate { .getVirtualizationPlatformSlots()); for (int i = 0; i < channelFamilies.size(); i++) { - ChannelFamilyDescriptor cf = (ChannelFamilyDescriptor) channelFamilies.get(i); + ChannelFamilyDescriptor cf = channelFamilies.get(i); buf.append(" ").append(cf.asXmlString()).append("\n"); } @@ -287,7 +288,7 @@ public class Certificate { * Return an unmodifiable list of the channel families * @return an unmodifiable list of the channel families */ - public List getChannelFamilies() { + public List<ChannelFamilyDescriptor> getChannelFamilies() { return Collections.unmodifiableList(channelFamilies); } @@ -300,7 +301,7 @@ public class Certificate { */ public ChannelFamilyDescriptor getChannelFamily(String family) { for (int i = 0; i < channelFamilies.size(); i++) { - ChannelFamilyDescriptor f = (ChannelFamilyDescriptor) channelFamilies.get(i); + ChannelFamilyDescriptor f = channelFamilies.get(i); if (f.getFamily().equals(family)) { return f; } @@ -327,6 +328,18 @@ public class Certificate { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return sdf.parse(expires); } + + /** + * Convenience function, returns java.util.Date equivalent of + * <code>issued</code> + * @return Date obj equivalent of <code>issued</code> + * @throws ParseException format of <code>issued</code> not what we + * expected + */ + public Date getIssuedDate() throws ParseException { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + return sdf.parse(issued); + } /** * Get the generation diff --git a/proxy/code/src/com/redhat/rhn/common/cert/CertificateFactory.java b/proxy/code/src/com/redhat/rhn/common/cert/CertificateFactory.java index 2601215..b5b1229 100644 --- a/proxy/code/src/com/redhat/rhn/common/cert/CertificateFactory.java +++ b/proxy/code/src/com/redhat/rhn/common/cert/CertificateFactory.java @@ -54,7 +54,8 @@ public class CertificateFactory { new SimpleExtractor("generation"), new ChannelFamilyExtractor("channel-families") }; - private static final HashMap FIELD_MAP = new HashMap(); + private static final HashMap<String,FieldExtractor> FIELD_MAP = + new HashMap<String,FieldExtractor>(); static { for (int i = 0; i < FIELD_EXTRACTORS.length; i++) { @@ -103,6 +104,7 @@ public class CertificateFactory { return readDocument(new SAXBuilder().build(url), url.toExternalForm()); } + @SuppressWarnings("unchecked") private static Certificate readDocument(Document doc, String source) throws JDOMException { Certificate result = new Certificate(); @@ -127,7 +129,7 @@ public class CertificateFactory { private static void extractField(Certificate result, Element child) throws JDOMException { String name = child.getAttributeValue("name"); - FieldExtractor e = (FieldExtractor) FIELD_MAP.get(name); + FieldExtractor e = FIELD_MAP.get(name); if (name == null) { throw new JDOMException("The field " + name + " is not one of the possible fields for " + ELEM_FIELD); diff --git a/proxy/code/src/com/redhat/rhn/common/cert/ChannelFamilyDescriptor.java b/proxy/code/src/com/redhat/rhn/common/cert/ChannelFamilyDescriptor.java index eed8e6f..f9024ea 100644 --- a/proxy/code/src/com/redhat/rhn/common/cert/ChannelFamilyDescriptor.java +++ b/proxy/code/src/com/redhat/rhn/common/cert/ChannelFamilyDescriptor.java @@ -22,6 +22,7 @@ import com.redhat.rhn.common.cert.XmlTag; * * Borrowed from project Spacewalk: http://spacewalk.redhat.com */ +@SuppressWarnings("unchecked") public class ChannelFamilyDescriptor implements Comparable { private String family; diff --git a/proxy/code/src/com/redhat/rhn/common/cert/XmlTag.java b/proxy/code/src/com/redhat/rhn/common/cert/XmlTag.java index ee4e0dc..e503462 100644 --- a/proxy/code/src/com/redhat/rhn/common/cert/XmlTag.java +++ b/proxy/code/src/com/redhat/rhn/common/cert/XmlTag.java @@ -16,7 +16,6 @@ package com.redhat.rhn.common.cert; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; @@ -28,10 +27,10 @@ import java.util.Map; public class XmlTag { private String tag; - private Map attribs; - private List body; + private Map<String, String> attribs; + private List<Object> body; private boolean spaceBeforeEndTag; - private List keys; + private List<String> keys; /** * Standard xml header with utf-8 encoding. Example usage:<br /> @@ -73,10 +72,10 @@ public class XmlTag { */ protected XmlTag(String tagIn, boolean spaceBefore) { - attribs = new HashMap(); + attribs = new HashMap<String, String>(); tag = tagIn; - body = new ArrayList(); - keys = new ArrayList(); + body = new ArrayList<Object>(); + keys = new ArrayList<String>(); spaceBeforeEndTag = spaceBefore; } @@ -146,13 +145,11 @@ public class XmlTag { StringBuffer ret = new StringBuffer("<"); ret.append(tag); - Iterator i = keys.iterator(); - while (i.hasNext()) { - String attrib = (String) i.next(); + for (String attrib : keys) { ret.append(" "); ret.append(attrib); ret.append("=\""); - ret.append((String) attribs.get(attrib)); + ret.append(attribs.get(attrib)); ret.append("\""); } ret.append(">"); @@ -166,9 +163,9 @@ public class XmlTag { */ public String renderBody() { StringBuffer buf = new StringBuffer(); - - for (Iterator itr = body.iterator(); itr.hasNext();) { - buf.append(convertToString(itr.next())); + + for (Object obj : body) { + buf.append(convertToString(obj)); } return buf.toString(); |
