X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=cms%2Forg.argeo.slc.support%2Fsrc%2Forg%2Fargeo%2Fslc%2Flib%2Flinux%2Frpmfactory%2FRpmSpecFile.java;fp=cms%2Forg.argeo.slc.support%2Fsrc%2Forg%2Fargeo%2Fslc%2Flib%2Flinux%2Frpmfactory%2FRpmSpecFile.java;h=0000000000000000000000000000000000000000;hb=6fc94d69efe089414ac9e63bde3efab1cbf7b7ca;hp=899603a7b93707f3861abde1a3ee5e6e39cf5c51;hpb=b36c62642bd0db11b3133b369cc026fd4b7a1ec6;p=gpl%2Fargeo-slc.git diff --git a/cms/org.argeo.slc.support/src/org/argeo/slc/lib/linux/rpmfactory/RpmSpecFile.java b/cms/org.argeo.slc.support/src/org/argeo/slc/lib/linux/rpmfactory/RpmSpecFile.java deleted file mode 100644 index 899603a7b..000000000 --- a/cms/org.argeo.slc.support/src/org/argeo/slc/lib/linux/rpmfactory/RpmSpecFile.java +++ /dev/null @@ -1,113 +0,0 @@ -package org.argeo.slc.lib.linux.rpmfactory; - -import java.io.IOException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.springframework.core.io.Resource; - -public class RpmSpecFile { - private Resource specFile; - - private String name; - private String version; - private String release; - private Map sources = new HashMap(); - private Map patches = new HashMap(); - - public RpmSpecFile(Resource specFile) { - this.specFile = specFile; - parseSpecFile(); - } - - public void init() { - parseSpecFile(); - } - - @SuppressWarnings("unchecked") - protected void parseSpecFile() { - try { - List lines = (List) IOUtils.readLines(specFile - .getInputStream()); - - lines: for (String line : lines) { - int indexSemiColon = line.indexOf(':'); - if (indexSemiColon <= 0) - continue lines; - String directive = line.substring(0, indexSemiColon).trim(); - String value = line.substring(indexSemiColon + 1).trim(); - if ("name".equals(directive.toLowerCase())) - name = value; - else if ("version".equals(directive.toLowerCase())) - version = value; - else if ("release".equals(directive.toLowerCase())) - release = value; - else if (directive.toLowerCase().startsWith("source")) - sources.put(directive, interpret(value)); - else if (directive.toLowerCase().startsWith("patch")) - patches.put(directive, interpret(value)); - } - - } catch (IOException e) { - throw new RuntimeException("Cannot parse spec file " + specFile, e); - } - } - - protected String interpret(String value) { - StringBuffer buf = new StringBuffer(value.length()); - StringBuffer currKey = null; - boolean mayBeKey = false; - chars: for (char c : value.toCharArray()) { - if (c == '%') - mayBeKey = true; - else if (c == '{') { - if (mayBeKey) - currKey = new StringBuffer(); - } else if (c == '}') { - if (currKey == null) - continue chars; - String key = currKey.toString(); - if ("name".equals(key.toLowerCase())) - buf.append(name); - else if ("version".equals(key.toLowerCase())) - buf.append(version); - else - buf.append("%{").append(key).append('}'); - currKey = null; - } else { - if (currKey != null) - currKey.append(c); - else - buf.append(c); - } - } - return buf.toString(); - } - - public Resource getSpecFile() { - return specFile; - } - - public String getName() { - return name; - } - - public String getVersion() { - return version; - } - - public String getRelease() { - return release; - } - - public Map getSources() { - return sources; - } - - public Map getPatches() { - return patches; - } - -}