summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/support/arara/src/main/java/com/github/arara/model/AraraConfiguration.java
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/support/arara/src/main/java/com/github/arara/model/AraraConfiguration.java')
-rw-r--r--Master/texmf-dist/source/support/arara/src/main/java/com/github/arara/model/AraraConfiguration.java221
1 files changed, 0 insertions, 221 deletions
diff --git a/Master/texmf-dist/source/support/arara/src/main/java/com/github/arara/model/AraraConfiguration.java b/Master/texmf-dist/source/support/arara/src/main/java/com/github/arara/model/AraraConfiguration.java
deleted file mode 100644
index f65c36e447b..00000000000
--- a/Master/texmf-dist/source/support/arara/src/main/java/com/github/arara/model/AraraConfiguration.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/**
- * \cond LICENSE
- * Arara -- the cool TeX automation tool
- * Copyright (c) 2012, Paulo Roberto Massa Cereda
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * 3. Neither the name of the project's author nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
- * WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- * \endcond
- *
- * AraraConfiguration: This class holds the model for the arara configuration
- * file.
- */
-// package definition
-package com.github.arara.model;
-
-// needed imports
-import com.github.arara.exception.AraraException;
-import com.github.arara.utils.AraraUtils;
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import org.apache.commons.lang3.SystemUtils;
-import org.mvel2.templates.TemplateRuntime;
-
-/**
- * Holds the model for the arara configuration file.
- *
- * @author Paulo Roberto Massa Cereda
- * @version 3.0a
- * @since 3.0
- */
-public class AraraConfiguration {
-
- // the application language
- private String language;
- // the list of search paths
- private List<String> paths;
- // the list of filetypes
- private List<AraraFilePattern> filetypes;
- // the path runtime exception
- private RuntimeException pathRuntimeException;
- // the path IO exception
- private IOException pathIOException;
-
- /**
- * Getter for the search paths.
- *
- * @return The search paths.
- */
- public List<String> getPaths() {
- return paths;
- }
-
- /**
- * Getter for the language.
- *
- * @return The language.
- */
- public String getLanguage() {
- return language;
- }
-
- /**
- * Setter for the language.
- *
- * @param language The language.
- */
- public void setLanguage(String language) {
- this.language = language;
- }
-
- /**
- * Setter for the search paths.
- *
- * @param rules The search paths.
- */
- public void setPaths(List<String> rules) throws AraraException, Exception {
- this.paths = rules;
-
- // refresh paths
- refreshPaths();
- }
-
- /**
- * Getter for the filetypes.
- *
- * @return The filetypes.
- */
- public List<AraraFilePattern> getFiletypes() {
- return filetypes;
- }
-
- /**
- * Setter for the filetypes.
- *
- * @param filetypes The filetypes.
- */
- public void setFiletypes(List<AraraFilePattern> filetypes) {
- this.filetypes = filetypes;
- }
-
- /**
- * Constructor.
- */
- public AraraConfiguration() {
-
- // creates both lists
- paths = new ArrayList<String>();
- filetypes = new ArrayList<AraraFilePattern>();
- pathRuntimeException = null;
- }
-
- /**
- * Refreshes all paths, replacing possible variables in the template
- */
- private void refreshPaths() throws AraraException, Exception {
-
- // create a map
- HashMap map = new HashMap();
-
- // add the variables
- map.put("userhome", SystemUtils.USER_HOME);
-
- // for every path in the list
- for (int i = 0; i < paths.size(); i++) {
-
- try {
-
- // remove the keyword
- String fullPath = AraraUtils.removeKeyword(paths.get(i));
-
- // apply the template
- fullPath = (String) TemplateRuntime.eval(fullPath, map);
-
- try {
-
- // attempt to create a file reference and
- // get the canonical path, if the operation
- // succeeds, it's a valid path
- File validFile = new File(fullPath);
- validFile.getCanonicalPath();
-
- // sanitize the path in order to be displayed correctly
- fullPath = new File(new File(fullPath).toURI()).getPath();
-
- // set the path in the list
- paths.set(i, fullPath);
-
- } catch (IOException ioException) {
-
- // the path is terribly invalid, get the exception,
- // if null
- if (pathIOException == null) {
-
- // set the path IO exception
- pathIOException = ioException;
- }
- }
-
- } catch (RuntimeException runtimeException) {
-
- // an error has occurred, register the exception for
- // later access
-
- // if there isn't an exception yet
- if (pathRuntimeException == null) {
-
- // set the exception
- pathRuntimeException = runtimeException;
- }
-
- }
- }
- }
-
- /**
- * Getter for the path runtime exception.
- *
- * @return The path runtime exception.
- */
- public RuntimeException getPathRuntimeException() {
- return pathRuntimeException;
- }
-
- /**
- * Getter for the path IO exception.
- *
- * @return The path IO exception.
- */
- public IOException getPathIOException() {
- return pathIOException;
- }
-}