renamings
authorzapata <zapata>
Sat, 24 Dec 2005 11:34:57 +0000 (11:34 +0000)
committerzapata <zapata>
Sat, 24 Dec 2005 11:34:57 +0000 (11:34 +0000)
source/mir/media/image/ImageMagickImageProcessor.java
source/mir/util/ExecFunctions.java [deleted file]
source/mir/util/GeneratorDateTimeFunctions.java
source/mir/util/HTTPClientHelper.java
source/mir/util/InternetFunctions.java
source/mir/util/InternetRoutines.java [new file with mode: 0755]
source/mir/util/ShellRoutines.java [new file with mode: 0644]
source/mircoders/abuse/IPFilterType.java

index ac851ad..c538d18 100755 (executable)
@@ -34,7 +34,7 @@ import mir.log.LoggerWrapper;
 import mir.media.MediaExc;
 import mir.media.MediaFailure;
 import mir.util.StreamCopier;
-import mir.util.ExecFunctions;
+import mir.util.ShellRoutines;
 import mir.config.MirPropertiesConfiguration;
 
 import java.io.*;
@@ -148,7 +148,7 @@ public class ImageMagickImageProcessor implements ImageProcessor {
      */
     public void readInfo() throws IOException {
       checkFile();
-      String infoString = ExecFunctions.execIntoString
+      String infoString = ShellRoutines.execIntoString
           (getImageMagickPath() +
               "identify " + "-format \"%w %h %m %n \" " + 
               file.getAbsolutePath()); // extra space, for multiframe (animations)              
@@ -169,7 +169,7 @@ public class ImageMagickImageProcessor implements ImageProcessor {
           Float.toString(aScalingFactor * 100) + "% " +
           result.file.getAbsolutePath();
       logger.debug("ImageFile.scale:command:" + command);
-      ExecFunctions.simpleExec(command);
+      ShellRoutines.simpleExec(command);
       result.readInfo();
       return result;
     }
@@ -332,7 +332,7 @@ public class ImageMagickImageProcessor implements ImageProcessor {
           scaledImage.file.getAbsolutePath() + frame + " " +
           anImageType + ":" + temp.getAbsolutePath();
       logger.debug("writeScaledData command:" + command);
-      ExecFunctions.simpleExec(command);
+      ShellRoutines.simpleExec(command);
       // copy temp file into stream
       StreamCopier.copy(new FileInputStream(temp), aStream);
       temp.delete();
diff --git a/source/mir/util/ExecFunctions.java b/source/mir/util/ExecFunctions.java
deleted file mode 100755 (executable)
index 34ce35d..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (C) 2001, 2002 The Mir-coders group
- *
- * This file is part of Mir.
- *
- * Mir is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Mir is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Mir; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- * In addition, as a special exception, The Mir-coders gives permission to link
- * the code of this program with  any library licensed under the Apache Software License,
- * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
- * (or with modified versions of the above that use the same license as the above),
- * and distribute linked combinations including the two.  You must obey the
- * GNU General Public License in all respects for all of the code used other than
- * the above mentioned libraries.  If you modify this file, you may extend this
- * exception to your version of the file, but you are not obligated to do so.
- * If you do not wish to do so, delete this exception statement from your version.
- */
-package mir.util;
-
-import java.io.File;
-import java.io.IOException;
-
-/**
- * Execute system commands. Warning: the current implementation is
- * unix specific.
- */
-public class ExecFunctions {
-  /**
-   * Executes a full command (including arguments) in a subshell
-   * and returns the output of the command in a string. Output is
-   * redirected into a temporary fil which is then read into the string
-   */
-  public static String execIntoString(String command) throws IOException {
-    return new String(execIntoByteArray(command));
-  }
-
-  /**
-   * Executes a full command (including arguments) in a subshell
-   * and returns the output of the command in an array of
-   * bytes. Output is redirected into a temporary file which is then
-   * read into an array of bytes
-   */
-  public static byte[] execIntoByteArray(String command) throws IOException {
-    File commandOutput = File.createTempFile("mircmd", "");
-    int exitStatus;
-    try {
-      // WARNING: unix specific
-      exitStatus = Runtime.getRuntime().exec(new String[]{
-        "/bin/sh", "-c",
-        command + " " +
-          ">" + commandOutput.getAbsolutePath()
-      }).waitFor();
-    }
-    catch (InterruptedException e) {
-      throw new IOException(e.toString());
-    }
-    if (exitStatus != 0) {
-      throw new IOException("command exit satus:" + exitStatus);
-    }
-    byte[] result = FileRoutines.readFileIntoByteArray
-        (commandOutput.getAbsolutePath());
-    commandOutput.delete();
-    return result;
-  }
-
-  /**
-   * Executes a full command (including arguments) in a subshell.
-   * Standard input and output go to /dev/null
-   */
-  public static void simpleExec(String command)
-      throws IOException {
-    int exitStatus;
-    try {
-      // WARNING: unix specific
-      exitStatus = Runtime.getRuntime().exec(new String[]{
-        "/bin/sh", "-c",
-        command + " " + ">/dev/null 2>/dev/null"
-      }).waitFor();
-    }
-    catch (InterruptedException e) {
-      throw new IOException(e.toString());
-    }
-    if (exitStatus != 0) {
-      throw new IOException("command exit satus:" + exitStatus);
-    }
-  }
-
-}
index 234db7d..48a2fa5 100755 (executable)
@@ -50,48 +50,32 @@ public class GeneratorDateTimeFunctions {
     }
 
     public Object perform(List aParameters) throws GeneratorExc, GeneratorFailure {
-      try {
-        if (aParameters.size()<2 || aParameters.size()>3)
-          throw new GeneratorExc("dateFormatFunction <date> <format> [<timezone>]: 2 or 3 parameters expected");
-
-        if (!(aParameters.get(0) instanceof Date) ||
-            !(aParameters.get(1) instanceof String) ||
-            ( aParameters.size()>2 &&
-             !(aParameters.get(2) instanceof String)))
-          throw new GeneratorExc("dateFormatFunction <date> <format> [<timezone>]: type mismatch");
+      if (aParameters.size()<2 || aParameters.size()>3) {
+        throw new GeneratorExc("dateFormatFunction <date> <format> [<timezone>]: 2 or 3 parameters expected");
+      }
 
+      if (!(aParameters.get(0) instanceof Date) || !(aParameters.get(1) instanceof String) ||
+          (aParameters.size() > 2 && !(aParameters.get(2) instanceof String))) {
+        throw new GeneratorExc("dateFormatFunction <date> <format> [<timezone>]: type mismatch");
+      }
 
-        Date date = (Date) aParameters.get(0);
-        SimpleDateFormat dateFormat = new SimpleDateFormat( (String) (aParameters.get(1)));
+      Date date = (Date) aParameters.get(0);
+      SimpleDateFormat dateFormat = new SimpleDateFormat( (String) (aParameters.get(1)));
 
-        String timezoneString = "";
-        if (aParameters.size()>2) {
-          timezoneString = (String) aParameters.get(2);
-        }
-        else {
-          timezoneString = defaultTimezone;
-        }
+      String timezoneString = defaultTimezone;
+      if (aParameters.size()>2) {
+        timezoneString = (String) aParameters.get(2);
+      }
 
-        TimeZone timezone = null;
-        try  {
-          timezone = TimeZone.getTimeZone(timezoneString);
-        }
-        catch (Throwable t) {
-        }
+      TimeZone timezone = TimeZone.getTimeZone(timezoneString);
 
-        if (timezone == null)
-          timezone = TimeZone.getDefault();
+      if (timezone == null) {
+        timezone = TimeZone.getDefault();
+      }
 
-        dateFormat.setTimeZone(timezone);
+      dateFormat.setTimeZone(timezone);
 
-        return dateFormat.format(date);
-      }
-      catch (GeneratorExc e) {
-        throw e;
-      }
-      catch (Throwable t) {
-        throw new GeneratorFailure("encodeURIGeneratorFunction: " + t.getMessage(), t);
-      }
+      return dateFormat.format(date);
     }
   }
 
index 84bee4f..68b21e6 100755 (executable)
@@ -48,7 +48,6 @@ public class HTTPClientHelper {
     client.setTimeout(5000);
   }
 
-
   public InputStream getUrl(String anUrl) throws UtilExc {
     try {
       method = new GetMethod(anUrl);
index a510aa3..bc6f5e5 100755 (executable)
-/*
- * Copyright (C) 2001, 2002  The Mir-coders group
- *
- * This file is part of Mir.
- *
- * Mir is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Mir is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Mir; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- * In addition, as a special exception, The Mir-coders gives permission to link
- * the code of this program with the com.oreilly.servlet library, any library
- * licensed under the Apache Software License, The Sun (tm) Java Advanced
- * Imaging library (JAI), The Sun JIMI library (or with modified versions of
- * the above that use the same license as the above), and distribute linked
- * combinations including the two.  You must obey the GNU General Public
- * License in all respects for all of the code used other than the above
- * mentioned libraries.  If you modify this file, you may extend this exception
- * to your version of the file, but you are not obligated to do so.  If you do
- * not wish to do so, delete this exception statement from your version.
- */
-
-package mir.util;
-
-import java.net.InetAddress;
-import java.util.List;
-
-public class InternetFunctions {
-  private InternetFunctions() {
-  }
-
-  public static boolean isIpAddressInNetwork(String anIpAddress, String aNetwork) throws Exception {
-    long ipAddress = parseHostNameOrIPAddress(anIpAddress);
-    long network = 0;
-    long netMask = (1L<<32)-1;
-    List networkParts = StringRoutines.separateString(aNetwork, "/");
-
-    network = parseHostNameOrIPAddress((String) networkParts.get(0));
-    if (networkParts.size()>=2) {
-      netMask=parseNetmask((String) networkParts.get(1));
-    }
-
-    return (ipAddress & netMask ) == (network & netMask);
-  }
-
-  public static long parseHostNameOrIPAddress(String aHostName) throws Exception {
-    InetAddress addr = InetAddress.getByName(aHostName.trim());
-    return
-        ((((long) addr.getAddress()[0])&255) << 24) +
-        ((((long) addr.getAddress()[1])&255) << 16) +
-        ((((long) addr.getAddress()[2])&255) << 8) +
-        ((((long) addr.getAddress()[3])&255));
-  }
-
-  public static long parseIPAddress(String anIpAddress) throws Exception {
-    int[] parts = {0,0,0,0};
-    int i;
-    List stringParts = StringRoutines.splitString(anIpAddress, ".");
-
-    if (stringParts.size()!=4)
-      throw new Exception("Not a valid IP Address: " + anIpAddress);
-
-    try {
-      for (i=0; i<4; i++) {
-        parts[i] = Integer.parseInt(((String) stringParts.get(i)).trim());
-      }
-    }
-    catch (Throwable t) {
-      throw new Exception("Not a valid IP Address: " + anIpAddress);
-    }
-    for (i=0; i<4; i++) {
-      if (parts[i]<0 || parts[i]>255)
-        throw new Exception("Not a valid IP Address: " + anIpAddress);
-    }
-
-    return parts[0]<<24 | parts[1]<<16 | parts[2]<<8 | parts[3];
-  }
-
-  public static long parseNetmask(String anIpAddress) throws Exception {
-    try {
-      return parseIPAddress(anIpAddress);
-    }
-    catch (Throwable t) {
-    }
-
-    try {
-      int size = Integer.parseInt(anIpAddress);
-
-      if (size<=32)
-        return ((1L<<size)-1)<<(32-size);
-    }
-    catch (Throwable t) {
-    }
-
-    return (1L<<32)-1;
-  }
-
-}
\ No newline at end of file
+/*\r
+ * Copyright (C) 2005 The Mir-coders group\r
+ *\r
+ * This file is part of Mir.\r
+ *\r
+ * Mir is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * Mir is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with Mir; if not, write to the Free Software\r
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
+ *\r
+ * In addition, as a special exception, The Mir-coders gives permission to link\r
+ * the code of this program with  any library licensed under the Apache Software License,\r
+ * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library\r
+ * (or with modified versions of the above that use the same license as the above),\r
+ * and distribute linked combinations including the two.  You must obey the\r
+ * GNU General Public License in all respects for all of the code used other than\r
+ * the above mentioned libraries.  If you modify this file, you may extend this\r
+ * exception to your version of the file, but you are not obligated to do so.\r
+ * If you do not wish to do so, delete this exception statement from your version.\r
+ */\r
+package mir.util;\r
+\r
+/**\r
+ * @deprecated Use mir.util.InternetRoutines instead\r
+ */\r
+public class InternetFunctions extends InternetRoutines {\r
+}\r
diff --git a/source/mir/util/InternetRoutines.java b/source/mir/util/InternetRoutines.java
new file mode 100755 (executable)
index 0000000..7041921
--- /dev/null
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2001, 2002  The Mir-coders group
+ *
+ * This file is part of Mir.
+ *
+ * Mir is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Mir is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Mir; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * In addition, as a special exception, The Mir-coders gives permission to link
+ * the code of this program with the com.oreilly.servlet library, any library
+ * licensed under the Apache Software License, The Sun (tm) Java Advanced
+ * Imaging library (JAI), The Sun JIMI library (or with modified versions of
+ * the above that use the same license as the above), and distribute linked
+ * combinations including the two.  You must obey the GNU General Public
+ * License in all respects for all of the code used other than the above
+ * mentioned libraries.  If you modify this file, you may extend this exception
+ * to your version of the file, but you are not obligated to do so.  If you do
+ * not wish to do so, delete this exception statement from your version.
+ */
+
+package mir.util;
+
+import java.net.InetAddress;
+import java.util.List;
+
+public class InternetRoutines {
+  protected InternetRoutines() {
+  }
+
+  public static boolean isIpAddressInNetwork(String anIpAddress, String aNetwork) throws Exception {
+    long ipAddress = parseHostNameOrIPAddress(anIpAddress);
+    long network = 0;
+    long netMask = (1L<<32)-1;
+    List networkParts = StringRoutines.separateString(aNetwork, "/");
+
+    network = parseHostNameOrIPAddress((String) networkParts.get(0));
+    if (networkParts.size()>=2) {
+      netMask=parseNetmask((String) networkParts.get(1));
+    }
+
+    return (ipAddress & netMask ) == (network & netMask);
+  }
+
+  public static long parseHostNameOrIPAddress(String aHostName) throws Exception {
+    InetAddress addr = InetAddress.getByName(aHostName.trim());
+    return
+        ((((long) addr.getAddress()[0])&255) << 24) +
+        ((((long) addr.getAddress()[1])&255) << 16) +
+        ((((long) addr.getAddress()[2])&255) << 8) +
+        ((((long) addr.getAddress()[3])&255));
+  }
+
+  public static long parseIPAddress(String anIpAddress) throws Exception {
+    int[] parts = {0,0,0,0};
+    int i;
+    List stringParts = StringRoutines.splitString(anIpAddress, ".");
+
+    if (stringParts.size()!=4)
+      throw new Exception("Not a valid IP Address: " + anIpAddress);
+
+    try {
+      for (i=0; i<4; i++) {
+        parts[i] = Integer.parseInt(((String) stringParts.get(i)).trim());
+      }
+    }
+    catch (Throwable t) {
+      throw new Exception("Not a valid IP Address: " + anIpAddress);
+    }
+    for (i=0; i<4; i++) {
+      if (parts[i]<0 || parts[i]>255)
+        throw new Exception("Not a valid IP Address: " + anIpAddress);
+    }
+
+    return parts[0]<<24 | parts[1]<<16 | parts[2]<<8 | parts[3];
+  }
+
+  public static long parseNetmask(String anIpAddress) throws Exception {
+    try {
+      return parseIPAddress(anIpAddress);
+    }
+    catch (Throwable t) {
+    }
+
+    try {
+      int size = Integer.parseInt(anIpAddress);
+
+      if (size<=32)
+        return ((1L<<size)-1)<<(32-size);
+    }
+    catch (Throwable t) {
+    }
+
+    return (1L<<32)-1;
+  }
+
+}
\ No newline at end of file
diff --git a/source/mir/util/ShellRoutines.java b/source/mir/util/ShellRoutines.java
new file mode 100644 (file)
index 0000000..3e8984f
--- /dev/null
@@ -0,0 +1,103 @@
+/*
+ * Copyright (C) 2001, 2002 The Mir-coders group
+ *
+ * This file is part of Mir.
+ *
+ * Mir is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Mir is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Mir; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * In addition, as a special exception, The Mir-coders gives permission to link
+ * the code of this program with  any library licensed under the Apache Software License,
+ * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
+ * (or with modified versions of the above that use the same license as the above),
+ * and distribute linked combinations including the two.  You must obey the
+ * GNU General Public License in all respects for all of the code used other than
+ * the above mentioned libraries.  If you modify this file, you may extend this
+ * exception to your version of the file, but you are not obligated to do so.
+ * If you do not wish to do so, delete this exception statement from your version.
+ */
+package mir.util;
+
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * Execute system commands. Warning: the current implementation is
+ * unix specific.
+ */
+public class ShellRoutines {
+  protected ShellRoutines() {
+  }
+
+  /**
+   * Executes a full command (including arguments) in a subshell
+   * and returns the output of the command in a string. Output is
+   * redirected into a temporary fil which is then read into the string
+   */
+  public static String execIntoString(String command) throws IOException {
+    return new String(execIntoByteArray(command));
+  }
+
+  /**
+   * Executes a full command (including arguments) in a subshell
+   * and returns the output of the command in an array of
+   * bytes. Output is redirected into a temporary file which is then
+   * read into an array of bytes
+   */
+  public static byte[] execIntoByteArray(String command) throws IOException {
+    File commandOutput = File.createTempFile("mircmd", "");
+    int exitStatus;
+    try {
+      // WARNING: unix specific
+      exitStatus = Runtime.getRuntime().exec(new String[]{
+        "/bin/sh", "-c",
+        command + " " +
+          ">" + commandOutput.getAbsolutePath()
+      }).waitFor();
+    }
+    catch (InterruptedException e) {
+      throw new IOException(e.toString());
+    }
+    if (exitStatus != 0) {
+      throw new IOException("command exit satus:" + exitStatus);
+    }
+    byte[] result = FileRoutines.readFileIntoByteArray
+        (commandOutput.getAbsolutePath());
+    commandOutput.delete();
+    return result;
+  }
+
+  /**
+   * Executes a full command (including arguments) in a subshell.
+   * Standard input and output go to /dev/null
+   */
+  public static void simpleExec(String command)
+      throws IOException {
+    int exitStatus;
+    try {
+      // WARNING: unix specific
+      exitStatus = Runtime.getRuntime().exec(new String[]{
+        "/bin/sh", "-c",
+        command + " " + ">/dev/null 2>/dev/null"
+      }).waitFor();
+    }
+    catch (InterruptedException e) {
+      throw new IOException(e.toString());
+    }
+    if (exitStatus != 0) {
+      throw new IOException("command exit satus:" + exitStatus);
+    }
+  }
+
+}
index 9cb0867..e1df954 100755 (executable)
@@ -31,7 +31,7 @@ package mircoders.abuse;
 
 import mir.entity.Entity;
 import mir.session.Request;
-import mir.util.InternetFunctions;
+import mir.util.InternetRoutines;
 
 /**
  * A basic ip filter type. Supports x.x.x.x, x.x.x.x/x and x.x.x.x/x.x.x.x expressions.
@@ -46,7 +46,7 @@ public class IPFilterType extends AbstractFilterType {
    */
   public boolean validate(String anExpression) {
     try {
-      InternetFunctions.isIpAddressInNetwork("1.1.1.1", anExpression);
+      InternetRoutines.isIpAddressInNetwork("1.1.1.1", anExpression);
       return true;
     }
     catch (Throwable t) {
@@ -56,7 +56,7 @@ public class IPFilterType extends AbstractFilterType {
 
   public FilterInstance constructFilterInstance(final String anExpression) throws AbuseExc {
     try {
-      InternetFunctions.isIpAddressInNetwork("1.1.1.1", anExpression);
+      InternetRoutines.isIpAddressInNetwork("1.1.1.1", anExpression);
     }
     catch (Throwable t) {
       throw new AbuseExc("Invalid expression: " + anExpression);
@@ -65,7 +65,7 @@ public class IPFilterType extends AbstractFilterType {
     return new FilterInstance() {
       public boolean test(Entity anEntity, Request aRequest) {
         try {
-          return InternetFunctions.isIpAddressInNetwork(aRequest.getHeader("ip"), anExpression);
+          return InternetRoutines.isIpAddressInNetwork(aRequest.getHeader("ip"), anExpression);
         }
         catch (Exception e) {
           return false;