removed definition parsers, may be picked up again later

pull/59/head
Justin Richer 2012-04-02 12:37:11 -04:00
parent b986b30695
commit fec6a3a876
3 changed files with 0 additions and 268 deletions

View File

@ -1,22 +0,0 @@
package org.mitre.jwt.signer.service.impl;
import org.springframework.beans.factory.xml.NamespaceHandlerSupport;
/**
* Support class for implementing custom jwt-signer namespace
*
* @author nemonik
*
*/
public class JwtSignerNamespaceHandler extends NamespaceHandlerSupport {
/* (non-Javadoc)
* @see org.springframework.beans.factory.xml.NamespaceHandler#init()
*/
@Override
public void init() {
registerBeanDefinitionParser("keystore", new KeystoreDefinitionParser());
registerBeanDefinitionParser("service", new ServiceDefinitionParser());
}
}

View File

@ -1,68 +0,0 @@
package org.mitre.jwt.signer.service.impl;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.core.io.Resource;
import org.springframework.util.StringUtils;
import org.w3c.dom.Element;
/**
* Needed to parse and define just a single BeanDefinition for the KeyStore
*
* @author nemonik
*
*/
public class KeystoreDefinitionParser extends
AbstractSingleBeanDefinitionParser {
/*
* (non-Javadoc)
*
* @see
* org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser
* #doParse(org.w3c.dom.Element,
* org.springframework.beans.factory.xml.ParserContext,
* org.springframework.beans.factory.support.BeanDefinitionBuilder)
*/
@Override
protected void doParse(Element element, ParserContext parserContext,
BeanDefinitionBuilder builder) {
String password = element.getAttribute("password");
if (StringUtils.hasText(password)) {
builder.addConstructorArgValue(password);
}
String location = element.getAttribute("location");
if (!StringUtils.hasText(location)) {
parserContext.getReaderContext().error(
"A location must be supplied on a keystore element.",
element);
} else {
Resource resource = parserContext.getReaderContext().getResourceLoader().getResource(location);
if (!resource.exists()) {
parserContext.getReaderContext().error(
"The location supplied (" + location + ") on the keystore element must exist.",
element);
} else {
builder.addConstructorArgValue(resource);
}
}
}
/*
* (non-Javadoc)
*
* @see
* org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser
* #getBeanClass(org.w3c.dom.Element)
*/
@Override
protected Class<?> getBeanClass(Element element) {
return KeyStore.class;
}
}

View File

@ -1,178 +0,0 @@
package org.mitre.jwt.signer.service.impl;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.mitre.jwt.signer.impl.EcdsaSigner;
import org.mitre.jwt.signer.impl.HmacSigner;
import org.mitre.jwt.signer.impl.RsaSigner;
import org.springframework.beans.BeanMetadataElement;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.support.ManagedList;
import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.util.StringUtils;
import org.springframework.util.xml.DomUtils;
import org.w3c.dom.Element;
/**
* Needed to parse and define just a single BeanDefinition for the
* JwtSigningAndValidationServiceDefault
*
* @author nemonik
*
*/
public class ServiceDefinitionParser extends AbstractSingleBeanDefinitionParser {
private static Log logger = LogFactory.getLog(ServiceDefinitionParser.class);
/*
* (non-Javadoc)
*
* @see
* org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser
* #doParse(org.w3c.dom.Element,
* org.springframework.beans.factory.xml.ParserContext,
* org.springframework.beans.factory.support.BeanDefinitionBuilder)
*/
@Override
protected void doParse(Element element, ParserContext parserContext,
BeanDefinitionBuilder builder) {
ManagedList<BeanMetadataElement> signers = new ManagedList<BeanMetadataElement>();
List<Element> signerElements = DomUtils.getChildElementsByTagName(
element, new String[] { "rsa", "ecdsa", "hmac" });
for (Element signerElement : signerElements) {
if (signerElement.getTagName().contains("rsa")) {
logger.debug("parsing rsa element");
BeanDefinitionBuilder signer = BeanDefinitionBuilder
.rootBeanDefinition(RsaSigner.class);
String bits = signerElement.getAttribute("bits");
if (StringUtils.hasText(bits)) {
signer.addConstructorArgValue(RsaSigner.Algorithm.PREPEND.concat(bits));
} else {
signer.addConstructorArgValue(RsaSigner.Algorithm.DEFAULT);
}
String keystoreRef = signerElement.getAttribute("keystore-ref");
if (!StringUtils.hasText(keystoreRef)) {
parserContext
.getReaderContext()
.error("A keystore-ref must be supplied with the definition of a rsa.",
signerElement);
} else {
signer.addConstructorArgReference(keystoreRef);
}
String alias = signerElement.getAttribute("key-alias");
if (!StringUtils.hasText(alias)) {
parserContext
.getReaderContext()
.error("An key-alias must be supplied with the definition of a rsa.",
signerElement);
} else {
signer.addConstructorArgValue(alias);
}
String password = signerElement.getAttribute("password");
if (StringUtils.hasText(password)) {
signer.addConstructorArgValue(password);
} else {
signer.addConstructorArgValue(RsaSigner.DEFAULT_PASSWORD);
}
signers.add(signer.getBeanDefinition());
} else if (signerElement.getTagName().contains("ecdsa")) {
logger.debug("parsing ecdsa element");
BeanDefinitionBuilder signer = BeanDefinitionBuilder
.rootBeanDefinition(EcdsaSigner.class);
String bits = signerElement.getAttribute("bits");
if (StringUtils.hasText(bits)) {
signer.addConstructorArgValue(EcdsaSigner.Algorithm.PREPEND.concat(bits));
} else {
signer.addConstructorArgValue(EcdsaSigner.Algorithm.DEFAULT);
}
String keystoreRef = signerElement.getAttribute("keystore-ref");
if (!StringUtils.hasText(keystoreRef)) {
parserContext
.getReaderContext()
.error("A keystore-ref must be supplied with the definition of a ecdsa.",
signerElement);
} else {
signer.addConstructorArgReference(keystoreRef);
}
String alias = signerElement.getAttribute("key-alias");
if (!StringUtils.hasText(alias)) {
parserContext
.getReaderContext()
.error("An key-alias must be supplied with the definition of a ecdsa.",
signerElement);
} else {
signer.addConstructorArgValue(alias);
}
String password = signerElement.getAttribute("password");
if (StringUtils.hasText(password)) {
signer.addConstructorArgValue(password);
} else {
signer.addConstructorArgValue(EcdsaSigner.DEFAULT_PASSWORD);
}
signers.add(signer.getBeanDefinition());
} else if (signerElement.getTagName().contains("hmac")) {
logger.debug("parsing hmac element");
BeanDefinitionBuilder signer = BeanDefinitionBuilder
.rootBeanDefinition(HmacSigner.class);
String bits = signerElement.getAttribute("bits");
if (StringUtils.hasText(bits)) {
signer.addConstructorArgValue("HS".concat(bits));
} else {
signer.addConstructorArgValue(HmacSigner.Algorithm.DEFAULT);
}
String passphrase = signerElement.getAttribute("passphrase");
if (!StringUtils.hasText(passphrase)) {
parserContext
.getReaderContext()
.error("A passphrase must be supplied with the definition of a hmac.",
signerElement);
} else {
signer.addConstructorArgValue(passphrase);
}
signers.add(signer.getBeanDefinition());
}
}
builder.addPropertyValue("signers", signers);
}
/*
* (non-Javadoc)
*
* @see
* org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser
* #getBeanClass(org.w3c.dom.Element)
*/
@Override
protected Class<?> getBeanClass(Element element) {
return JwtSigningAndValidationServiceDefault.class;
}
}