From f4feea49201468152cb19cc1a5013b6d2d7f7f8a Mon Sep 17 00:00:00 2001 From: "jesus m. rodriguez" Date: Thu, 12 Nov 2009 15:25:33 -0500 Subject: allow upload of cert and return list of available ent pools --- .../com/redhat/rhn/common/cert/Certificate.java | 27 ++++++++++++++++------ .../redhat/rhn/common/cert/CertificateFactory.java | 6 +++-- .../rhn/common/cert/ChannelFamilyDescriptor.java | 1 + .../src/com/redhat/rhn/common/cert/XmlTag.java | 25 +++++++++----------- 4 files changed, 36 insertions(+), 23 deletions(-) (limited to 'proxy/code/src/com') 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 channelFamilies; private static final String XML_HEADER = ""; @@ -57,7 +57,7 @@ public class Certificate { * Construct an empty certificate. */ Certificate() { - channelFamilies = new ArrayList(); + channelFamilies = new ArrayList(); } /** @@ -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 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 + * issued + * @return Date obj equivalent of issued + * @throws ParseException format of issued 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 FIELD_MAP = + new HashMap(); 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 attribs; + private List body; private boolean spaceBeforeEndTag; - private List keys; + private List keys; /** * Standard xml header with utf-8 encoding. Example usage:
@@ -73,10 +72,10 @@ public class XmlTag { */ protected XmlTag(String tagIn, boolean spaceBefore) { - attribs = new HashMap(); + attribs = new HashMap(); tag = tagIn; - body = new ArrayList(); - keys = new ArrayList(); + body = new ArrayList(); + keys = new ArrayList(); 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(); -- cgit