Example usage for org.dom4j.dom DOMElement attributeValue

List of usage examples for org.dom4j.dom DOMElement attributeValue

Introduction

In this page you can find the example usage for org.dom4j.dom DOMElement attributeValue.

Prototype

public String attributeValue(String name) 

Source Link

Usage

From source file:org.rivetlogic.export.components.XmlExtractRequestProcessor.java

License:Open Source License

private void doNotifiers(FileExportData fed, FileReportData fileReportData, boolean ignore)
        throws IOException, AuthenticationFailure, CmaRuntimeException, Exception {

    String extractId = fed.getExtractId();
    DOMElement notifiersElem = fed.getNotifiersElem();
    DOMElement notifiersDefinitionsElem = fed.getNotifierDefinitionsElem();
    if (!ignore && notifiersElem != null) {

        /* initialise CMS creds here */
        initializeCMSCreds(fed.getTicket());

        List<DOMElement> notifiersElems = notifiersElem.elements();
        for (DOMElement notifierElem : notifiersElems) {
            String id = extractId + notifierElem.attributeValue(REF);

            CMSNotifier notifier = notifierFactory.getNotifier(id);

            try {
                if (notifier == null) {
                    notifierFactory.generateNotifiers(notifiersDefinitionsElem, extractId);
                    notifier = notifierFactory.getNotifier(id);
                }/*from w w w. ja v a2s .  c  o  m*/

                if (notifier != null) {
                    notifier.notify(fed.getAlfrescoPath(), fed.getNodeRef(), ticket.getTicket(), cmaUrl);
                } else {
                    throw new NotifierException(id, "Notifier not defined");

                }

            } catch (Exception de) {
                log.error("Error sending notification for, id=" + id + ", Alfresco path="
                        + fed.getAlfrescoPath());
                fileReportData.setErrorObj(de);
                throw de;
            }
        }
    }
}

From source file:org.rivetlogic.export.components.XmlExtractRequestProcessor.java

License:Open Source License

private void doUndeployers(FileExportData fed, String finalPath, FileReportData fileReportData, boolean ignore)
        throws Exception {

    String extractId = fed.getExtractId();
    DOMElement undeployersElem = fed.getUndeployersElem();
    DOMElement undeployerDefinitionsElem = fed.getUndeployerDefinitionsElem();
    if (!ignore && undeployersElem != null) {
        List<DOMElement> undeployerElems = undeployersElem.elements();

        List<String> pathDisk = new ArrayList<String>();
        ;/*from w ww.  j  a  va 2s. c  o  m*/
        for (DOMElement undeployerElem : undeployerElems) {
            String id = extractId + undeployerElem.attributeValue(REF);

            Undeployer undeployer = undeployerFactory.getUndeployer(id);

            try {
                String path = null;
                if (undeployer == null) {
                    undeployerFactory.generateUndeployers(undeployerDefinitionsElem, extractId);
                    undeployer = undeployerFactory.getUndeployer(id);
                }

                if (undeployer != null) {
                    path = undeployer.undeploy(finalPath, fed.getProperties());
                } else {
                    throw new DeployerException(id, "Deployer not defined");

                }
                pathDisk.add(path);

            } catch (Exception de) {
                log.error("Error deploying id=" + id + ", path=" + finalPath);
                fileReportData.setErrorObj(de);
                throw de;
            }
        }
        fileReportData.setPathDisk(pathDisk);

    }
}

From source file:org.rivetlogic.export.components.XmlExtractRequestProcessor.java

License:Open Source License

private void doDeployers(FileExportData fed, File file, String finalPath, FileReportData fileReportData,
        boolean ignore) throws Exception {

    String extractId = fed.getExtractId();
    DOMElement deployersElem = fed.getDeployersElem();
    DOMElement deployerDefinitionsElem = fed.getDeployerDefinitionsElem();
    if (!ignore && deployersElem != null) {

        List<DOMElement> deployerElems = deployersElem.elements();
        File tempFile = file;/*  w ww . ja va2s.  c  om*/

        try {
            List<String> pathDisk = new ArrayList<String>();
            ;
            for (DOMElement deployerElem : deployerElems) {
                String id = extractId + deployerElem.attributeValue(REF);
                log.debug(String.format("doDeployers: id '%s'", id));

                Deployer deployer = deployerFactory.getDeployer(id);
                String path = null;
                try {
                    if (deployer == null) {
                        deployerFactory.generateDeployers(deployerDefinitionsElem, extractId);
                        deployer = deployerFactory.getDeployer(id);
                    }

                    if (deployer != null) {
                        log.debug(String.format(
                                "doDeployers: deployer.deploy file '%s' finalPath '%s' deployer '%s'",
                                file.getAbsolutePath(), finalPath, deployer.getClass().getName()));
                        path = deployer.deploy(file, finalPath);
                    } else {
                        throw new DeployerException(id, "Deployer not defined");

                    }
                    pathDisk.add(path);

                } catch (Exception de) {
                    log.error("Error deploying id=" + id + ", path=" + finalPath);
                    fileReportData.setErrorObj(de);
                    throw de;
                }
            }
            fileReportData.setPathDisk(pathDisk);
        } finally {
            /* clean-up: delete tmp file here  - even if exception is thrown */
            if (!tempFile.delete()) {
                log.error("Failed to delete temporary file: " + tempFile.getAbsolutePath());
            }
        }
    }
}

From source file:org.rivetlogic.export.components.XmlExtractRequestProcessor.java

License:Open Source License

private String doFilenameTransformers(FileExportData fed, String finalPath, String extractId,
        FileReportData fileReportData, DOMElement transformerDefinitionsElem)
        throws InstantiationException, IllegalAccessException, InvocationTargetException,
        ClassNotFoundException, ParseException, NoSuchMethodException, UrlTransformationException {
    DOMElement fileNameTransformersElem = (DOMElement) fed.getTransformersElem()
            .element(FILE_NAME_TRANSFORMERS);
    if (fileNameTransformersElem != null) {
        List<DOMElement> transformerElems = fileNameTransformersElem.elements();
        for (DOMElement transformerElem : transformerElems) {
            String id = extractId + transformerElem.attributeValue(REF);

            UrlTransformer fileNameTransformer = (UrlTransformer) transformerFactory.getTransformer(id);

            if (fileNameTransformer == null) {
                DOMElement fileNameTransformerDefinitionsElem = (DOMElement) transformerDefinitionsElem
                        .element(FILE_NAME_TRANSFORMER_DEFINITIONS);
                transformerFactory.generateFileNameTransformers(fileNameTransformerDefinitionsElem, extractId);
                fileNameTransformer = (UrlTransformer) transformerFactory.getTransformer(id);
            }//w w  w.  j av  a 2  s. co  m

            if (fileNameTransformer != null) {
                try {
                    finalPath = fileNameTransformer.transformUrl(finalPath);
                    fileReportData.setPathTransformed(finalPath);
                } catch (UrlTransformationException ute) {
                    fileReportData.setErrorObj(ute);
                    log.error("url transformer '" + id + "' failed to transform '" + finalPath + "'", ute);
                    throw ute;
                }
            } else {
                fileReportData
                        .setErrorObj(new UrlTransformationException(id, "Filename transformer not defined."));

                throw new UrlTransformationException("Filename transformer " + id + " not found.");
            }
        }
    }
    return finalPath;
}

From source file:org.rivetlogic.export.components.XmlExtractRequestProcessor.java

License:Open Source License

private void doContentTransformers(FileExportData fed, File file, String finalPath, String extractId,
        FileReportData fileReportData, DOMElement transformerDefinitionsElem)
        throws InstantiationException, IllegalAccessException, InvocationTargetException,
        ClassNotFoundException, ParseException, NoSuchMethodException, ContentTransformationException {
    DOMElement contentTransformersElem = (DOMElement) fed.getTransformersElem().element(CONTENT_TRANSFORMERS);
    if (contentTransformersElem != null) {
        List<DOMElement> transformerElems = contentTransformersElem.elements();
        for (DOMElement transformerElem : transformerElems) {
            String id = extractId + transformerElem.attributeValue(REF);

            ContentTransformer ct = (ContentTransformer) transformerFactory.getTransformer(id);

            if (ct == null) {
                DOMElement contentTransformerDefinitionsElem = (DOMElement) transformerDefinitionsElem
                        .element(CONTENT_TRANSFORMER_DEFINITONS);
                transformerFactory.generateContentTransformers(contentTransformerDefinitionsElem, extractId);
                ct = (ContentTransformer) transformerFactory.getTransformer(id);
            }// ww w.j a v  a 2 s .c o  m

            if (ct != null) {
                try {
                    ct.transformContent(file, finalPath, fed.getTransformerDependencies());
                } catch (ContentTransformationException cte) {
                    fileReportData.setErrorObj(cte);
                    log.error("content transformer '" + id + "' failed to transform '" + finalPath + "'", cte);
                    throw cte;
                }
            } else {
                fileReportData.setErrorObj(
                        new ContentTransformationException(id, "Content transformer not defined."));

                throw new ContentTransformationException("Content transformer " + id + " not found.");
            }
        }
    }
}

From source file:org.rivetlogic.export.components.XmlExtractRequestProcessor.java

License:Open Source License

private boolean doFilters(FileExportData fed, FileReportData fileReportData)
        throws InstantiationException, IllegalAccessException, InvocationTargetException,
        ClassNotFoundException, ParseException, NoSuchMethodException, FilterException {

    boolean ignore = false;

    String extractId = fed.getExtractId();

    DOMElement filterDefinitionsElem = fed.getFilterDefinitionsElem();
    if (filterDefinitionsElem != null && fed.getFiltersElem() != null) {
        DOMElement filtersElem = fed.getFiltersElem();
        if (filtersElem != null) {
            List<DOMElement> filterElems = filtersElem.elements();
            for (DOMElement filterElem : filterElems) {
                String id = extractId + filterElem.attributeValue(REF);

                Filter filter = (Filter) filterFactory.getFilter(id);

                if (filter == null) {
                    filterFactory.generateFilters(filterDefinitionsElem, extractId);
                    filter = (Filter) filterFactory.getFilter(id);
                }//from  w w  w .  j  a va 2  s.  c o m

                if (filter != null) {
                    try {
                        if (!filter.includeFile(fed.getNodeRef(), fed.getProperties())) {
                            fileReportData.setIncluded(false);
                            ignore = true;
                        }
                    } catch (FilterException fe) {
                        fileReportData.setErrorObj(fe);
                        log.error("content transformer '" + id + "' failed to transform '"
                                + fed.getAlfrescoPath() + "'", fe);
                        throw fe;
                    }
                } else {
                    fileReportData.setErrorObj(new FilterException(id, "Filter not defined."));

                    throw new FilterException(id, "Filter '" + id + "' not defined");
                }
            }
        }
    }
    return ignore;
}

From source file:org.rivetlogic.utils.reflection.DependencyResolverFactory.java

License:Open Source License

public DependencyResolver generateDependencyResolver(DOMElement depResolverDefinitionElem, String idPrefix)
        throws InstantiationException, IllegalAccessException, IllegalArgumentException,
        InvocationTargetException, ClassNotFoundException, ParseException, SecurityException,
        NoSuchMethodException {/*  w ww  . j  a  va 2s. c om*/

    String id = idPrefix + depResolverDefinitionElem.attributeValue(ID);

    DependencyResolver dependencyResolver = getDependencyResolver(id);

    if (dependencyResolver == null) {
        dependencyResolver = (DependencyResolver) objectFactory.getObject(depResolverDefinitionElem);
        dependencyResolver.setId(id);

        synchronized (this) {
            DependencyResolver tr = getDependencyResolver(id);
            if (tr == null) {
                depResolverLRUCache.put(id, dependencyResolver);
            }
        }
    }

    return (DependencyResolver) dependencyResolver;
}

From source file:org.rivetlogic.utils.reflection.DeployerFactory.java

License:Open Source License

public Deployer generateDeployer(DOMElement deployerDefinitionElem, String idPrefix)
        throws InstantiationException, IllegalAccessException, IllegalArgumentException,
        InvocationTargetException, ClassNotFoundException, ParseException, SecurityException,
        NoSuchMethodException {//  w  w  w.j  a  v a  2  s  .c om

    String id = idPrefix + deployerDefinitionElem.attributeValue(ID);

    Deployer deployer = getDeployer(id);

    if (deployer == null) {
        deployer = (Deployer) objectFactory.getObject(deployerDefinitionElem);
        deployer.setId(id);

        synchronized (this) {
            Deployer tr = getDeployer(id);
            if (tr == null) {
                deployerLRUCache.put(id, deployer);
            }
        }
    }

    return (Deployer) deployer;
}

From source file:org.rivetlogic.utils.reflection.FilterFactory.java

License:Open Source License

public Filter generateFilter(DOMElement filterDefinitionElem, String idPrefix) throws InstantiationException,
        IllegalAccessException, IllegalArgumentException, InvocationTargetException, ClassNotFoundException,
        ParseException, SecurityException, NoSuchMethodException {

    String id = idPrefix + filterDefinitionElem.attributeValue(ID);

    Filter filter = getFilter(id);

    if (filter == null) {

        filter = (Filter) objectFactory.getObject(filterDefinitionElem);
        filter.setId(id);/* ww  w.j av  a 2  s.c  o  m*/

        synchronized (this) {
            Filter fil = getFilter(id);
            if (fil == null) {
                filterLRUCache.put(id, filter);
            }
        }
    }

    return (Filter) filter;
}

From source file:org.rivetlogic.utils.reflection.NotifierFactory.java

License:Open Source License

public CMSNotifier generateDeployer(DOMElement notifierDefinitionElem, String idPrefix)
        throws InstantiationException, IllegalAccessException, IllegalArgumentException,
        InvocationTargetException, ClassNotFoundException, ParseException, SecurityException,
        NoSuchMethodException {/*from w  w  w. j a  v  a 2 s.  co m*/

    String id = idPrefix + notifierDefinitionElem.attributeValue(ID);

    CMSNotifier notifier = getNotifier(id);

    if (notifier == null) {
        notifier = (CMSNotifier) objectFactory.getObject(notifierDefinitionElem);
        notifier.setId(id);

        synchronized (this) {
            CMSNotifier tr = getNotifier(id);
            if (tr == null) {
                deployerLRUCache.put(id, notifier);
            }
        }
    }

    return (CMSNotifier) notifier;
}