Example usage for org.dom4j.dom DOMElement elements

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

Introduction

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

Prototype

public List<Element> elements() 

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);
                }/*ww w .j ava2  s  . co  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>();
        ;/* ww w  . j ava2 s.  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;//from  w w  w.j  a va 2s . 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  .  jav a2s .  c  om*/

            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);
            }/* w w w . ja  va2 s .  co 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);
                }/* www  . ja  v a 2  s  . c  om*/

                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 List<DependencyResolver> generateDependencyResolvers(DOMElement depResolverDefinitionsElem,
        String idPrefix) throws IllegalArgumentException, InstantiationException, IllegalAccessException,
        InvocationTargetException, ClassNotFoundException, ParseException, SecurityException,
        NoSuchMethodException {/*from  w ww . j  av  a  2s .  c  o  m*/
    List<DependencyResolver> dependencyResolversList = null;

    if (depResolverDefinitionsElem != null) {
        List<DOMElement> depResolverDefinitionElems = depResolverDefinitionsElem.elements();
        if (depResolverDefinitionElems != null && depResolverDefinitionElems.size() > 0) {
            dependencyResolversList = new ArrayList<DependencyResolver>();

            for (DOMElement depResolverDefinitionElem : depResolverDefinitionElems) {
                DependencyResolver cTrans = (DependencyResolver) generateDependencyResolver(
                        depResolverDefinitionElem, idPrefix);

                if (cTrans != null) {
                    dependencyResolversList.add(cTrans);
                }
            }
        }
    }

    return dependencyResolversList;
}

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

License:Open Source License

public List<Deployer> generateDeployers(DOMElement deployerDefinitionsElem, String idPrefix)
        throws IllegalArgumentException, InstantiationException, IllegalAccessException,
        InvocationTargetException, ClassNotFoundException, ParseException, SecurityException,
        NoSuchMethodException {//www.j  a v a 2 s .c o  m
    List<Deployer> contentDeployersList = null;

    if (deployerDefinitionsElem != null) {
        List<DOMElement> contentDeployerDefinitionElems = deployerDefinitionsElem.elements();
        if (contentDeployerDefinitionElems != null && contentDeployerDefinitionElems.size() > 0) {
            contentDeployersList = new ArrayList<Deployer>();

            for (DOMElement contentDeployerDefinitionElem : contentDeployerDefinitionElems) {
                Deployer cTrans = (Deployer) generateDeployer(contentDeployerDefinitionElem, idPrefix);

                if (cTrans != null) {
                    contentDeployersList.add(cTrans);
                }
            }
        }
    }

    return contentDeployersList;
}

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

License:Open Source License

public List<Filter> generateFilters(DOMElement filterDefinitionsElem, String idPrefix)
        throws IllegalArgumentException, InstantiationException, IllegalAccessException,
        InvocationTargetException, ClassNotFoundException, ParseException, SecurityException,
        NoSuchMethodException {//from   ww  w  .j a va  2 s  .co  m
    List<Filter> filtersList = null;

    if (filterDefinitionsElem != null) {
        List<DOMElement> filterDefinitionElems = filterDefinitionsElem.elements();
        if (filterDefinitionElems != null && filterDefinitionElems.size() > 0) {
            filtersList = new ArrayList<Filter>();

            for (DOMElement filterDefinitionElem : filterDefinitionElems) {
                Filter filter = (Filter) generateFilter(filterDefinitionElem, idPrefix);

                if (filter != null) {
                    filtersList.add(filter);
                }
            }
        }
    }

    return filtersList;
}

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

License:Open Source License

public List<CMSNotifier> generateNotifiers(DOMElement notifierDefinitionsElem, String idPrefix)
        throws IllegalArgumentException, InstantiationException, IllegalAccessException,
        InvocationTargetException, ClassNotFoundException, ParseException, SecurityException,
        NoSuchMethodException {//from ww w  . j  a v a  2s .  c  o  m
    List<CMSNotifier> notifiersList = null;

    if (notifierDefinitionsElem != null) {
        List<DOMElement> notifierDefinitionElems = notifierDefinitionsElem.elements();
        if (notifierDefinitionElems != null && notifierDefinitionElems.size() > 0) {
            notifiersList = new ArrayList<CMSNotifier>();

            for (DOMElement contentNotifierDefinitionElem : notifierDefinitionElems) {
                CMSNotifier cTrans = (CMSNotifier) generateDeployer(contentNotifierDefinitionElem, idPrefix);

                if (cTrans != null) {
                    notifiersList.add(cTrans);
                }
            }
        }
    }

    return notifiersList;
}