package org.tizzit.plugins.server.transformer;
import java.util.Date;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.xml.sax.Attributes;
import org.xml.sax.ContentHandler;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
import de.juwimm.cms.beans.WebServiceSpring;
import de.juwimm.cms.plugins.server.Request;
import de.juwimm.cms.plugins.server.Response;
import de.juwimm.cms.vo.ViewComponentValue;
/**
* <p>
* <b>Namespace: <code>http://plugins.tizzit.org/AuthenticationTransformerPlugin</code></b>
* </p>
*
* @author <a href="mailto:rene.hertzfeldt@juwimm.com">Rene Hertzfeldt</a>
* company Juwi MacMillan Group GmbH, Walsrode, Germany
* @version $Id: AuthenticationTransformerPlugin.java 759 2010-05-05 13:34:28Z rene.hertzfeldt $
*/
public class AuthenticationTransformerPlugin implements ManagedTizzitPlugin {
private static final Log log = LogFactory.getLog(AuthenticationTransformerPlugin.class);
private ContentHandler parent;
private boolean iAmTheLiveserver = true;
private WebServiceSpring webSpringBean = null;
private final Integer viewComponentId = null;
private final Integer unitId = null;
private ContentHandler manager;
private String nameSpace;
private ViewComponentValue viewComponentValue;
// private SessionContext sessContext = null;
public void setup(ContentHandler pluginManager, String nameSpace, WebServiceSpring wss, ViewComponentValue viewComponent, boolean liveServer) {
this.manager = pluginManager;
this.nameSpace = nameSpace;
this.webSpringBean = wss;
this.viewComponentValue = viewComponent;
this.iAmTheLiveserver = liveServer;
}
/* (non-Javadoc)
* @see de.juwimm.cms.plugins.server.ConquestPlugin#configurePlugin(de.juwimm.cms.plugins.server.Request, de.juwimm.cms.plugins.server.Response, org.xml.sax.ContentHandler, java.lang.Integer)
*/
public void configurePlugin(Request req, Response resp, ContentHandler ch, Integer uniquePageId) {
if (log.isDebugEnabled()) log.debug("configurePlugin() -> begin");
this.parent = ch;
//webSpringBean = (WebServiceSpring) PluginSpringHelper.getBean(objectModel, PluginSpringHelper.WEB_SERVICE_SPRING);
if (log.isDebugEnabled()) log.debug("configurePlugin() -> end");
}
/* (non-Javadoc)
* @see de.juwimm.cms.plugins.server.ConquestPlugin#getLastModifiedDate()
*/
public Date getLastModifiedDate() {
return new Date();
}
/* (non-Javadoc)
* @see de.juwimm.cms.plugins.server.ConquestPlugin#isCacheable()
*/
public boolean isCacheable() {
return false;
}
/* (non-Javadoc)
* @see de.juwimm.cms.plugins.server.ConquestPlugin#processContent()
*/
public void processContent() {
if (log.isDebugEnabled()) log.debug("processContent() -> begin");
if (log.isDebugEnabled()) log.debug("processContent() -> end");
}
/* (non-Javadoc)
* @see org.xml.sax.ContentHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
*/
public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
if (log.isDebugEnabled()) log.debug("startElement: " + localName + " in nameSpace: " + uri + " found " + attrs.getLength() + " attributes");
parent.startElement(uri, localName, qName, attrs);
// XercesHelper.findNode(doc, "//source/head");
// if (head != null) {
// if (sessContext == null) {
// if (log.isDebugEnabled()) log.debug("No Logged-in User");
// }
// }
}
/* (non-Javadoc)
* @see org.xml.sax.ContentHandler#characters(char[], int, int)
*/
public void characters(char[] ch, int start, int length) throws SAXException {
if (log.isDebugEnabled()) log.debug("characters: " + length + " long");
parent.characters(ch, start, length);
}
private void fillAuthentication() throws Exception {
// StringBuffer auth = new StringBuffer("<authentication>");
// try {
// Node idN = sessContext.getXML("/authentication/ID");
// Node id = doc.createElement("id");
// id.appendChild(doc.importNode(idN, true));
// authentication.appendChild(id);
// } catch (Exception exe) {
// log.error("An error occured", exe);
// }
//
//
// DocumentFragment df = sessContext.getXML("/authentication/roles");
// if (df != null) {
// NodeList nl = df.getChildNodes();
// for (int i = 0; i < nl.getLength(); i++) {
// Node role = nl.item(i);
// if (XercesHelper.getNodeValue(role).startsWith("unit_")) {
// Element unitInformation = doc.createElement("unitInformation");
// StringTokenizer st = new StringTokenizer(XercesHelper.getNodeValue(role), "_");
// if (st.hasMoreTokens()) {
// // skip "unit"
// st.nextToken();
// if (st.hasMoreTokens()) {
// String unitId = st.nextToken();
// unitInformation.setAttribute("id", unitId);
// }
// if (st.hasMoreTokens()) {
// String unitName = st.nextToken();
// Element unitNameElem = doc.createElement("unitname");
// CDATASection cData = doc.createCDATASection(Base64.decodeToString(unitName));
// unitNameElem.appendChild(cData);
// unitInformation.appendChild(unitNameElem);
// }
// if (st.hasMoreTokens()) {
// // skip "site"
// st.nextToken();
// if (st.hasMoreTokens()) {
// String siteId = st.nextToken();
// unitInformation.setAttribute("siteId", siteId);
// }
// }
// }
// authentication.appendChild(unitInformation);
// } else if (XercesHelper.getNodeValue(role).startsWith("group_")) {
// Element groupInformation = doc.createElement("groupInformation");
// StringTokenizer st = new StringTokenizer(XercesHelper.getNodeValue(role), "_");
// if (st.hasMoreTokens()) {
// // skip "group"
// st.nextToken();
// if (st.hasMoreTokens()) {
// String groupId = st.nextToken();
// groupInformation.setAttribute("id", groupId);
// }
// if (st.hasMoreTokens()) {
// String groupName = st.nextToken();
// Element groupNameElem = doc.createElement("groupname");
// CDATASection cData = doc.createCDATASection(Base64.decodeToString(groupName));
// groupNameElem.appendChild(cData);
// groupInformation.appendChild(groupNameElem);
// }
// if (st.hasMoreTokens()) {
// // skip "site"
// st.nextToken();
// if (st.hasMoreTokens()) {
// String siteId = st.nextToken();
// groupInformation.setAttribute("siteId", siteId);
// }
// }
// }
// authentication.appendChild(groupInformation);
// } else if (XercesHelper.getNodeValue(role).startsWith("site_")) {
// Element siteInformation = doc.createElement("siteInformation");
// StringTokenizer st = new StringTokenizer(XercesHelper.getNodeValue(role), "_");
// if (st.hasMoreTokens()) {
// // skip "site"
// st.nextToken();
// if (st.hasMoreTokens()) {
// String siteId = st.nextToken();
// siteInformation.setAttribute("id", siteId);
// }
// if (st.hasMoreTokens()) {
// String siteName = st.nextToken();
// Element siteNameElem = doc.createElement("sitename");
// CDATASection cData = doc.createCDATASection(Base64.decodeToString(siteName));
// siteNameElem.appendChild(cData);
// siteInformation.appendChild(siteNameElem);
// }
// if (st.hasMoreTokens()) {
// String siteShort = st.nextToken();
// Element siteShortElem = doc.createElement("siteshort");
// CDATASection cData = doc.createCDATASection(Base64.decodeToString(siteShort));
// siteShortElem.appendChild(cData);
// siteInformation.appendChild(siteShortElem);
// }
// }
// authentication.appendChild(siteInformation);
// } else if (XercesHelper.getNodeValue(role).startsWith("role_")) {
// Element roleInformation = doc.createElement("roleInformation");
// StringTokenizer st = new StringTokenizer(XercesHelper.getNodeValue(role), "_");
// if (st.hasMoreTokens()) {
// // skip "role"
// st.nextToken();
// if (st.hasMoreTokens()) {
// String roleId = st.nextToken();
// roleInformation.setAttribute("id", roleId);
// }
// if (st.hasMoreTokens()) {
// // skip "site"
// // trash = st.nextToken();
// if (st.hasMoreTokens()) {
// String siteId = st.nextToken();
// roleInformation.setAttribute("siteId", siteId);
// }
// }
// }
// authentication.appendChild(roleInformation);
// } else {
// role = doc.importNode(role, true);
// authentication.appendChild(role);
// }
// }
// }
}
/* (non-Javadoc)
* @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
*/
public void endElement(String uri, String localName, String qName) throws SAXException {
if (log.isDebugEnabled()) log.debug("endElement: " + localName + " in nameSpace: " + uri);
parent.endElement(uri, localName, qName);
}
/* (non-Javadoc)
* @see org.xml.sax.ContentHandler#endDocument()
*/
public void endDocument() throws SAXException {
// do nothing
}
/* (non-Javadoc)
* @see org.xml.sax.ContentHandler#endPrefixMapping(java.lang.String)
*/
public void endPrefixMapping(String prefix) throws SAXException {
// do nothing
}
/* (non-Javadoc)
* @see org.xml.sax.ContentHandler#ignorableWhitespace(char[], int, int)
*/
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException {
// do nothing
}
/* (non-Javadoc)
* @see org.xml.sax.ContentHandler#processingInstruction(java.lang.String, java.lang.String)
*/
public void processingInstruction(String target, String data) throws SAXException {
// do nothing
}
/* (non-Javadoc)
* @see org.xml.sax.ContentHandler#setDocumentLocator(org.xml.sax.Locator)
*/
public void setDocumentLocator(Locator locator) {
// do nothing
}
/* (non-Javadoc)
* @see org.xml.sax.ContentHandler#skippedEntity(java.lang.String)
*/
public void skippedEntity(String name) throws SAXException {
// do nothing
}
/* (non-Javadoc)
* @see org.xml.sax.ContentHandler#startDocument()
*/
public void startDocument() throws SAXException {
// do nothing
}
/* (non-Javadoc)
* @see org.xml.sax.ContentHandler#startPrefixMapping(java.lang.String, java.lang.String)
*/
public void startPrefixMapping(String prefix, String uri) throws SAXException {
// do nothing
}
}