"${SRCLIB_PREFIX}/Logic.java"
"${SRCLIB_PREFIX}/ISplitter.java"
"${SRCLIB_PREFIX}/Splitter.java"
- "${SRCLIB_PREFIX}/IAddFileToMedium.java")
+ "${SRCLIB_PREFIX}/IAddFileToMedium.java"
+ "${SRCLIB_PREFIX}/IStatus.java")
add_jar(spandisc "${SRCLIB_FILES}")
set(SRC_PREFIX "src/de/hhaalo/discspan")
set(SRC_FILES
"${SRC_PREFIX}/discspan.java"
+ "${SRC_PREFIX}/status.java"
"${SRC_PREFIX}/Iparameter.java"
"${SRC_PREFIX}/parameter.java")
}
ILogic logic = new Logic();
+ logic.setStatus(new status());
logic.span(param.getInput(), param.getOutput(), param.getSplit());
}
}
--- /dev/null
+package de.hhaalo.discspan;
+
+import de.hhaalo.spandisc.IStatus;
+import de.hhaalo.spandisc.IMedium;
+
+public class status implements IStatus
+{
+ public void printStatus(String output, IMedium medium)
+ {
+ long humanread = 0;
+ char[] einheit = { 'B', 'K', 'M', 'G', 'T', 'P' };
+ int i = 0;
+
+ humanread = medium.getFreeSpace();
+ while (humanread >= 1024) {
+ humanread /= 1024;
+ i++;
+ }
+
+ if (i > einheit.length)
+ i = 0;
+
+ System.out.println("free space on "
+ + output
+ + ": "
+ + medium.getFreeSpace()
+ + " bytes ("
+ + humanread
+ + " " + einheit[i]
+ + ")");
+
+ }
+}
public interface ILogic
{
public String getVersion();
+ public void setStatus(IStatus status);
public void span(String input, String output, long split);
}
--- /dev/null
+package de.hhaalo.spandisc;
+
+public interface IStatus
+{
+ public void printStatus(String output, IMedium medium);
+}
public class Logic implements ILogic
{
private final String _version = "v0.1";
+ private IStatus _status = null;
public String getVersion() { return _version; }
+ public void setStatus(IStatus status) { _status = status; }
public void span(String input, String output, long split)
{
ISplitter splitter = new Splitter();
IMediumCollection col = splitter.splitAll(srcdata);
+ String outputname = output;
for (int i = 0; i < col.getMediumArray().length; i++) {
- filehandler.writeFile(String.format("%s%04d", output, col.getMediumArray()[i].getNr()), col.getMediumArray()[i]);
+ outputname = String.format("%s%04d", output, col.getMediumArray()[i].getNr());
+ onStatus(outputname, col.getMediumArray()[i]);
+ filehandler.writeFile(outputname, col.getMediumArray()[i]);
}
}
+
+ private void onStatus(String output, IMedium medium)
+ {
+ if (_status != null)
+ _status.printStatus(output, medium);
+ }
}