[Yanel-commits] rev 24526 - public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources

michi at wyona.com michi at wyona.com
Wed May 16 11:33:21 CEST 2007


Author: michi
Date: 2007-05-16 11:33:19 +0200 (Wed, 16 May 2007)
New Revision: 24526

Removed:
   public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources/AddRealmResource.java
Log:
obsolete

Deleted: public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources/AddRealmResource.java
===================================================================
--- public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources/AddRealmResource.java	2007-05-16 09:29:00 UTC (rev 24525)
+++ public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources/AddRealmResource.java	2007-05-16 09:33:19 UTC (rev 24526)
@@ -1,397 +0,0 @@
-/*
- * Copyright 2006 Wyona
- */
-
-package org.wyona.yanel.impl.resources;
-
-import org.wyona.yanel.core.Path;
-import org.wyona.yanel.core.Resource;
-import org.wyona.yanel.core.ResourceConfiguration;
-import org.wyona.yanel.core.api.attributes.ViewableV2;
-import org.wyona.yanel.core.attributes.viewable.View;
-import org.wyona.yanel.core.attributes.viewable.ViewDescriptor;
-import org.wyona.yanel.core.map.Realm;
-import org.wyona.yanel.core.transformation.I18nTransformer;
-import org.wyona.yanel.core.util.HttpServletRequestHelper;
-import org.wyona.yarep.core.Node;
-import org.wyona.yarep.core.NodeType;
-import org.wyona.yarep.core.Repository;
-import org.wyona.yarep.core.RepositoryException;
-import org.wyona.yanel.core.util.PathUtil;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.FilenameUtils;
-import org.apache.lenya.search.crawler.DumpingCrawler;
-import websphinx.DownloadParameters;
-import org.apache.log4j.Category;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.io.UnsupportedEncodingException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.Set;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.NamedNodeMap;
-
-/**
- * @deprecated Please use AddRealmResource2
- */
-public class AddRealmResource extends Resource implements ViewableV2 {
-
-    private static Category log = Category.getInstance(AddRealmResource.class);
-    private final static String SESSION_ATTR_EVENT_LOG = "org.wyona.yanel.addrealm.eventlog";
-    private final static String SESSION_ATTR_CRAWLER = "org.wyona.yanel.addrealm.crawler";
-    private final static String SESSION_ATTR_REALM_ID = "org.wyona.yanel.addrealm.realm.id";
-    private final static String SESSION_ATTR_REALM_NAME = "org.wyona.yanel.addrealm.realm.name";
-    
-    private String parameterName = null;
-    private String parameter = null;
-    private String parameterErrorName = null;
-    private String parameterError = null;
-
-    private HashMap parameters = new HashMap();
-    
-    /**
-     *
-     */
-    public AddRealmResource() {  
-    }
-
-    /**
-     *
-     */
-    public ViewDescriptor[] getViewDescriptors() {
-        return null;
-    }
-
-    /**
-     * Generate view
-     */
-    public View getView(String viewId) throws Exception {
-        String path = getPath();
-        HttpServletRequest request = getRequest();
-        String language = getLanguage();
-
-        Transformer transformer = null;
-        I18nTransformer i18nTransformer = new I18nTransformer("add-realm", language, getRealm().getDefaultLanguage());
-        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
-        View defaultView = new View();
-
-        try {
-            
-             // Check if data was sumbitted (realm ID, realm Name, URL to be dumped, depth of crawling, max number of pages)
-            boolean submit = false;
-            boolean stop = false;
-            Enumeration enumeration = request.getParameterNames();
-            while(enumeration.hasMoreElements()){
-                String param = enumeration.nextElement().toString(); 
-                if (param.equals("submit")) submit = true;
-                if (param.equals("stop")) stop = true;
-            }
-            
-            File XSLTFile = org.wyona.commons.io.FileUtil.file(getRTD().getConfigFile().getParentFile().getAbsolutePath(), "xslt" + File.separator + "add-realm.xsl");
-            transformer = TransformerFactory.newInstance().newTransformer(new StreamSource(XSLTFile));
-            
-            HttpSession session = getRequest().getSession(true); 
-            
-            if(submit) {
-                
-                Enumeration enumeration2 = request.getParameterNames();
-                while(enumeration2.hasMoreElements()){
-                    parameterName = enumeration2.nextElement().toString();
-                    parameter = HttpServletRequestHelper.getParameter(request, parameterName);
-                    if (parameterName.equals("fslocation") || parameterName.equals("scope")) {
-                        parameters.put(parameterName, parameter);
-                        transformer.setParameter(parameterName, parameters.get(parameterName).toString());
-                    } else if (parameter == null || ("").equals(parameter)) {
-                        parameterErrorName = "error-" + parameterName;
-                        parameterError = "Please enter correct value for '" + parameterName + "'";
-                        transformer.setParameter(parameterName, "ERROR:" + parameterError);
-                    } else {
-                        parameters.put(parameterName, parameter);
-                        transformer.setParameter(parameterName, parameters.get(parameterName).toString());
-                    }
-                }
-                
-                if (parameterError == null || ("").equals(parameterError)) {
-                    // Explicitly check whether fslocation is null and set to null (rather than the empty string).
-                    // File() (and copyRealm()) needs null to be passed.
-                    File fslocationValue = null;
-                    if (parameters.get("fslocation") == null || ("").equals(parameters.get("fslocation").toString())) {
-                        fslocationValue = null;
-                    } else {
-                        fslocationValue = new File(parameters.get("fslocation").toString());
-                    }
-                    getYanel().getRealmConfiguration().copyRealm("from-scratch-realm-template", 
-                            parameters.get("realmid").toString(), 
-                            parameters.get("realmname").toString(),
-                            "/" + parameters.get("realmid").toString() + "/", 
-                            fslocationValue);
-                    transformer.setParameter("submitted", "true");
-                    transformer.setParameter("yanel.back2context", PathUtil.backToContext(realm, getPath()));
-                    
-                    String crawlStartURL = (String)parameters.get("url"); 
-                    if (crawlStartURL != null && crawlStartURL.length() > 0) {
-
-                        int maxPages = 0;
-/*
-                        if (parameters.get("crawlmaxpages") != null) {
-                            maxPages = Integer.parseInt((String)parameters.get("crawlmaxpages"));
-                        } else if () {
-                            maxPages = Integer.parseInt((String)parameters.get("crawlmaxpages"));
-                        } else {
-                            log.error("Max number of pages has not been set!");
-                        }
-*/
-
-                        int maxDepth = Integer.parseInt((String)parameters.get("crawldepth"));
-                        int maxFileSize = 0;
-                        String tmpMaxFileSize = (String)parameters.get("crawlmaxfilesize");
-                        if (tmpMaxFileSize != null || !("").equals(tmpMaxFileSize)) {
-                        	maxFileSize = Integer.parseInt(tmpMaxFileSize);
-                        } else {
-                        	maxFileSize = -1;
-                        }
-                        String crawlScopeURL = (String)parameters.get("scope");
-                        String realmID = parameters.get("realmid").toString();
-                        
-                        importSite(crawlStartURL, crawlScopeURL, maxPages, maxDepth, maxFileSize, realmID);
-                        
-                        EventLog eventLog = (EventLog)session.getAttribute(SESSION_ATTR_EVENT_LOG);
-                        if (eventLog != null) {
-                            transformer.setParameter("downloadevents", eventLog.getDownloadEvents());
-                            transformer.setParameter("errorevents", eventLog.getErrorEvents());
-                            transformer.setParameter("nofdownloads", String.valueOf(eventLog.getNofDownloads()));
-                            transformer.setParameter("isdone", String.valueOf(eventLog.isDone()));
-                        }
-
-                    }
-                }
-                
-                Document document = getInputDocument();
-                
-                transformer.transform(new javax.xml.transform.dom.DOMSource(document), new StreamResult(byteArrayOutputStream));
-            
-            } else if (session.getAttribute(SESSION_ATTR_EVENT_LOG) != null) {
-                
-                // the crawler is running
-                if (stop) {
-                    DumpingCrawler crawler = (DumpingCrawler)session.getAttribute(SESSION_ATTR_CRAWLER);
-                    if (crawler != null) {
-                        crawler.stop();
-                    }
-                }
-
-                // show progress
-                EventLog eventLog = (EventLog)session.getAttribute(SESSION_ATTR_EVENT_LOG);
-                if (eventLog != null) {
-                    transformer.setParameter("downloadevents", eventLog.getDownloadEvents());
-                    transformer.setParameter("errorevents", eventLog.getErrorEvents());
-                    transformer.setParameter("nofdownloads", String.valueOf(eventLog.getNofDownloads()));
-                    transformer.setParameter("submitted", "true");
-                    transformer.setParameter("isdone", String.valueOf(eventLog.isDone()));
-                    
-                    transformer.setParameter("yanel.back2context", PathUtil.backToContext(realm, getPath()));
-                    transformer.setParameter("realmid", session.getAttribute(SESSION_ATTR_REALM_ID));
-                    transformer.setParameter("realmname", session.getAttribute(SESSION_ATTR_REALM_NAME));
-                    
-                    if (eventLog.isDone()) {
-                        session.removeAttribute(SESSION_ATTR_EVENT_LOG);
-                        session.removeAttribute(SESSION_ATTR_CRAWLER);
-                        session.removeAttribute(SESSION_ATTR_REALM_ID);
-                        session.removeAttribute(SESSION_ATTR_REALM_NAME);
-                    }
-                }
-                Document document = getInputDocument();
-                
-                transformer.transform(new javax.xml.transform.dom.DOMSource(document), new StreamResult(byteArrayOutputStream));
-                
-            } else {
-
-                Document document = getInputDocument();
-                
-                transformer.transform(new javax.xml.transform.dom.DOMSource(document), new StreamResult(byteArrayOutputStream));
-                
-            }
-            
-            SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser();
-            saxParser.parse(new ByteArrayInputStream(byteArrayOutputStream.toByteArray()), i18nTransformer);
-            
-        } catch (Exception e) {
-            log.error(e.getMessage(), e);
-            throw e;
-        }
-        
-        defaultView.setMimeType(getMimeType(viewId));
-        defaultView.setInputStream(i18nTransformer.getInputStream());
-        return defaultView;
-    }
-    
-    /**
-     * Crawls and external site and imports it into a realm.
-     * @param crawlStartURL
-     * @param crawlScopeURL comma-separated list of scope urls
-     * @param maxPages
-     * @param maxDepth
-     * @param realmID
-     * @throws Exception
-     */
-    protected void importSite(String crawlStartURL, String crawlScopeURL, int maxPages, int maxDepth, int maxPageSize, String realmID) throws Exception {
-        String[] crawlScopeURLs = null;
-        if (crawlScopeURL == null || crawlScopeURL.length() == 0) {
-            String path = new URL(crawlStartURL).getPath();
-            crawlScopeURLs = new String[1];
-            if (path.length() != 0 && !path.endsWith("/") && path.indexOf("/") > -1) {
-                crawlScopeURLs[0] = crawlStartURL.substring(0, crawlStartURL.lastIndexOf("/"));
-            } else {
-                crawlScopeURLs[0] = crawlStartURL;
-            }
-        } else {
-            crawlScopeURLs = crawlScopeURL.split(",");
-        }
-        
-        String dumpDir = System.getProperty("java.io.tmpdir") + File.separator + "import_" + System.currentTimeMillis();
-        DumpingCrawler crawler = new DumpingCrawler(crawlStartURL, crawlScopeURLs, dumpDir);
-        crawler.setMaxPages(maxPages);
-        crawler.setMaxDepth(maxDepth);
-        
-        DownloadParameters downloadParams = new DownloadParameters();
-        downloadParams = downloadParams.changeMaxPageSize(maxPageSize);
-        crawler.setDownloadParameters(downloadParams);
-        
-        
-        EventLog eventLog = new EventLog();
-        crawler.addLinkListener(eventLog);
-        crawler.addCrawlListener(eventLog);
-        
-        Realm realm = getYanel().getRealmConfiguration().getRealm(realmID);
-       
-        HttpSession session = getRequest().getSession(true); 
-        session.setAttribute(SESSION_ATTR_EVENT_LOG, eventLog);
-        session.setAttribute(SESSION_ATTR_CRAWLER, crawler);
-        session.setAttribute(SESSION_ATTR_REALM_ID, realm.getID());
-        session.setAttribute(SESSION_ATTR_REALM_NAME, realm.getName());
-        
-        // start crawler in new thread to be able to show progress:
-        ImportSiteThread thread = new ImportSiteThread(crawler, realm, dumpDir, crawlStartURL, 
-                crawlScopeURLs, eventLog);
-        thread.start();
-    }
-    
-   
-    /**
-     * 
-     */
-    public boolean exists() throws Exception {
-       log.warn("Not implemented yet!");
-       return true; 
-    }
-
-    /**
-     * 
-     */
-    public long getSize() throws Exception {
-        return getRealm().getRepository().getSize(new Path(getPath()));
-    }
-
-    /**
-     *
-     */
-    public String getMimeType(String viewId) {
-        return "application/xhtml+xml";
-    }
-
-    /**
-     *
-     */
-    public Document getInputDocument() {
-        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-        dbf.setNamespaceAware(true);
-        String NAMESPACE = "http://www.wyona.org/yanel/1.0";
-        Document document = null;
-        try {
-            DocumentBuilder parser = dbf.newDocumentBuilder();
-            document = parser.parse(new java.io.StringBufferInputStream("<yanel:form xmlns:yanel=\""+NAMESPACE+"\" xmlns=\""+NAMESPACE+"\"/>"));
-        } catch (Exception e) {
-            log.error(e.getMessage(), e);
-        }
-        Element rootElement = document.getDocumentElement();
-        Element inputFieldsElement = (Element) rootElement.appendChild(document.createElementNS(NAMESPACE, "inputfields"));
-        
-        // get add-realm custom config parameters from rc file, use attributes to generate form input fields
-        String[] attributesArray = { "name", "value", "samplevalue", "required", "hidden" };
-        ResourceConfiguration rc = getConfiguration();
-        Document customConfigDoc = rc.getCustomConfiguration();
-        Element rootCustomConfigDocElement = customConfigDoc.getDocumentElement();
-        NodeList nodeList = rootCustomConfigDocElement.getChildNodes();
-        for (int i = 0; i < nodeList.getLength(); i++) {
-            org.w3c.dom.Node node = nodeList.item(i);
-            Element fieldElement = (Element) inputFieldsElement.appendChild(document.createElementNS(NAMESPACE, "input"));
-            NamedNodeMap attributes = node.getAttributes();
-            org.w3c.dom.Node attribute = null;
-            String nameAttribute = null;
-            for (int j = 0; j < attributesArray.length; j++) {
-            	attribute = attributes.getNamedItem(attributesArray[j]);
-            	if (attribute != null) {
-            		if (("name").equals(attributesArray[j])) {
-            			nameAttribute = attribute.getNodeValue();
-                	}
-            		fieldElement.setAttributeNS(NAMESPACE, attributesArray[j], attribute.getNodeValue());
-            	}
-            	attribute = null;
-            }
-            fieldElement.appendChild(document.createTextNode(nameAttribute));
-            nameAttribute = null;
-        }
-        return document;
-    }
-
-    /**
-     * Get language
-     */
-    private String getLanguage() {
-        String defaultLanguage = getRealm().getDefaultLanguage();
-        
-        String language = null;
-        try {
-            language = request.getParameter("yanel.meta.language");
-        } catch(Exception e) {
-            log.debug("language param is not found will use default : " + language);
-            language = defaultLanguage;
-        }
-        if(language == null || ("").equals(language)) {
-            log.debug("language param is empty or null : " + language);
-            language = defaultLanguage;
-        }
-        return language;
-        }
-}




More information about the Yanel-commits mailing list