Skip to content
Snippets Groups Projects
Commit 0949ac43 authored by Andreas Romeyke's avatar Andreas Romeyke
Browse files

- init mocked plugin

parents
Branches
Tags
No related merge requests found
Makefile 0 → 100644
#!/bin/bash
# Andreas Romeyke, SLUB Dresden
# erzeugt Submission-Application, die vorbereitete Verzeichnisse per Java SDK
# von ExLibris an Rosetta übergibt.
# Pfad zu Java 6
JAVAPATH=$(wildcard /usr/lib/jvm/java-1.6.0-openjdk-*/bin/)
# Verwendete Rosetta-Version
ROSETTAVERSION=3.2.2
# Pfad zum Rosetta-SDK
ROSETTASDK=/exlibris/dps/d4_1/system.dir/dps-sdk-${ROSETTAVERSION}/lib/
# Pfad zum Rosetta-SDK, Deposit-Module
ROSETTASDKDEPOSIT=${ROSETTASDK}/../dps-sdk-projects/dps-sdk-deposit/lib
ROSETTASDKPLUGINS=${ROSETTASDK}/../../bundled_plugins/
# classpath
JUNITCLASSPATH=/usr/share/java/junit4.jar
#SOURCESCLASSPATH=org/slub/rosetta/dps/repository/plugin/storage/nfs
CLASSPATH=./java:${ROSETTASDKDEPOSIT}/../src/:${ROSETTASDKDEPOSIT}/xmlbeans-2.3.0.jar:${ROSETTASDKDEPOSIT}/dps-sdk-${ROSETTAVERSION}.jar:${ROSETTASDKDEPOSIT}/log4j-1.2.14.jar:${ROSETTASDKPLUGINS}/NFSStoragePlugin.jar
# sources
#SOURCES=java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java\
# java/org/slub/rosetta/dps/repository/plugin/storage/nfs/testSLUBStoragePlugin.java
SOURCES=java/org/slub/rosetta/dps/repository/plugin/SLUBVirusCheckClamAVPlugin.java
OBJS=$(SOURCES:.java=.class)
JAR=SLUBVirusCheckPlugin.jar
all: $(JAR)
help:
@echo "erzeugt Storage-Plugin für Rosetta von Exlibris"
@echo ""
@echo "Das Argument 'clean' löscht temporäre Dateien, 'help' gibt diese Hilfe aus und"
@echo "'compile' erzeugt ein JAR-File und ein Bash-Script welches das Java-Programm"
@echo "aufruft."
jarclean:
@rm -Rf build
test: $(OBJS)
java -cp ${CLASSPATH}:$(JUNITCLASSPATH) org.junit.runner.JUnitCore
clean: jarclean
@rm -Rf doc/
find ./java/org/ -name "*.class" -exec rm -f \{\} \;
@rm -Rf $(JAR)
distclean: clean
find ./ -name "*~" -exec rm -f \{\} \;
@rm -Rf null
$(JAR): $(OBJS)
@mkdir build;
@cp -r PLUGIN-INF/ build/
@cp -r META-INF/ build/
@cd java; find ./ -name "*.class" -print -exec cp --parents -r \{\} $(PWD)/build \; ; cd ..
@cd build; ${JAVAPATH}/jar cfvM ../$@ ./* ; cd ..
%.class: %.java
${JAVAPATH}/javac -classpath ${CLASSPATH}:${JUNITCLASSPATH} -Xlint:all $<
doc: $(SOURCES)
javadoc -d doc/ $^
check_prerequisites:
@echo -n "### Checking java path: $(JAVAPATH) ...."
@if [ -e $(JAVAPATH) ]; then echo "fine :)"; else echo " not found! :("; fi
@echo -n "### Checking Exlibris Rosetta SDK path: $(ROSETTASDK) ...."
@if [ -e $(ROSETTASDK) ]; then echo "fine :)"; else echo " not found! :("; fi
.PHONY: help clean distclean jarclean test
package org.slub.rosetta.dps.repository.plugin;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.Calendar;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Iterator;
import com.exlibris.core.infra.common.exceptions.logging.ExLogger;
// import com.exlibris.dps.repository.plugin.virusCheck;
import com.exlibris.dps.repository.plugin.virusChcek.VirusCheckPlugin;
/**
* SLUBVirusCheckClamAVPlugin
*
* ClamScan, should use clamdscan variant to avoid initialization overhead
*
* clamd-client opens a TCP-connection, see p18 in clamdoc.pdf
* or source at https://github.com/vrtadmin/clamav-devel/blob/master/clamdscan/client.c
* or source at https://github.com/vrtadmin/clamav-devel/blob/master/clamdscan/proto.c
* code could also be copied from https://code.google.com/p/clamavj/source/browse/trunk/src/main/java/com/philvarner/clamavj/ClamScan.java?r=2
*
* @author andreas.romeyke@slub-dresden.de (Andreas Romeyke)
* @see
*/
public class SLUBVirusCheckClamAVPlugin implements VirusCheckPlugin {
// constructor
SLUBVirusCheckClamAVPlugin () {
}
// scans a given file for viruses
public void scan(String fileFullPath) {
}
// outcome of virus check
public String getOutput () {
return null; // dummy
}
public String getAgent () {
return null; // dummy
}
public boolean isVirusFree() {
return true; // dummy
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment