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

- init

parents
No related branches found
No related tags found
No related merge requests found
<component name="libraryTable">
<library name="lib">
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/dps-sdk-5.2.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/dps-sdk-5.2.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/fileoriginalpath_plugin4rosetta.iml" filepath="$PROJECT_DIR$/fileoriginalpath_plugin4rosetta.iml" />
</modules>
</component>
</project>
\ No newline at end of file
project.name=DnxMoveFileOriginalPath
lib.dir=lib
src.dir=src
build.dir=build
target.dir=target
version=5.2.0
<?xml version="1.0"?>
<project name="DnxMoveHandle" basedir="." default="build-all">
<property file="build.properties" />
<path id="classpath">
<fileset dir="${lib.dir}" includes="dps-sdk-${version}.jar" />
</path>
<target name="build-all" depends="init, copy_jars, compile, jar" />
<target name="clean">
<echo>Cleaning the ${build.dir}</echo>
<delete dir="${build.dir}" />
<delete dir="${target.dir}" />
</target>
<target name="init" depends="clean">
<echo>Creating the build directory</echo>
<mkdir dir="${build.dir}/classes" />
<mkdir dir="${build.dir}/lib" />
<mkdir dir="${target.dir}" />
</target>
<target name="copy_jars">
<echo>Copy lib jars</echo>
<copy todir="${build.dir}/lib" overwrite="true">
<fileset dir="${lib.dir}" includes="dps-sdk-${build.dir}.jar" />
</copy>
</target>
<target name="compile" depends="init">
<echo>Compile the source files</echo>
<javac srcdir="${src.dir}" destdir="${build.dir}/classes" debug="true" includeantruntime="false">
<classpath refid="classpath" />
</javac>
</target>
<target name="jar" depends="compile">
<jar destfile="${target.dir}/DnxMoveHandle.jar" basedir="${build.dir}/classes">
<fileset dir="${src.dir}" includes="**" excludes=" com/**" />
<manifest>
<attribute name="Main-Class" value="org.slub.rosetta.plugins.repositoryTask.DnxMoveFileOriginalPath" />
</manifest>
</jar>
</target>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="lib" level="project" />
</component>
</module>
\ No newline at end of file
File added
File added
package org.slub.rosetta.plugins.repositoryTask;
import com.exlibris.core.infra.common.exceptions.logging.ExLogger;
import com.exlibris.core.sdk.repository.TaskResults;
import com.exlibris.digitool.common.dnx.DnxDocumentHelper;
import com.exlibris.digitool.exceptions.DigitoolException;
import com.exlibris.digitool.repository.api.IEEditor;
import com.exlibris.digitool.repository.api.RepositoryTaskPlugin;
import java.util.List;
import java.util.Map;
public class DnxMoveFileOriginalPath implements RepositoryTaskPlugin {
ExLogger log = ExLogger.getExLogger(DnxMoveFileOriginalPath.class);
public DnxMoveFileOriginalPath() {
super();
}
public TaskResults execute(IEEditor ieEditor, Map<String, String> initParams, TaskResults taskResults) {
log.info("Executing DnxMoveFileOriginalPath for " + ieEditor.getIEPid());
init(initParams);
// get all rep pids
List<String> repPids = null;
try {
repPids = ieEditor.getReps();
} catch (DigitoolException e) {
e.printStackTrace();
taskResults.addResult(ieEditor.getIEPid(), null, false, "no RepPids found!");
return taskResults;
}
for (String repPid: repPids) {
List<String> filePids = null;
try {
filePids = ieEditor.getFilesForRep( repPid );
} catch (DigitoolException e) {
e.printStackTrace();
taskResults.addResult(ieEditor.getIEPid(), null, false, "no FilePids found for RepPid=" + repPid + " !");
return taskResults;
}
for (String filePid: filePids) {
try {
replaceFileOriginalPath(ieEditor, repPid, filePid);
} catch (DigitoolException e) {
e.printStackTrace();
taskResults.addResult(ieEditor.getIEPid(), null, false, "unknown Digitool exception: " + e);
return taskResults;
}
}
}
return taskResults;
}
/* replace file original path if it starts with "file://data/" or "/data/" */
private void replaceFileOriginalPath(IEEditor ieEditor, String repPid, String filePid) throws DigitoolException {
DnxDocumentHelper ieDnxH = ieEditor.getDnxHelper(filePid);
DnxDocumentHelper.GeneralFileCharacteristics ieGfs = ieDnxH.getGeneralFileCharacteristics();
String currentFileOriginalPath = ieGfs.getFileOriginalPath();
String updatedFileOriginalPath = currentFileOriginalPath;
boolean updated = false;
if (currentFileOriginalPath.startsWith("file://data/")) {
updatedFileOriginalPath.replaceAll("^file://data/", "file://");
updated = true;
}
else if (currentFileOriginalPath.startsWith("data/")) {
updatedFileOriginalPath.replaceAll("^data/", "file://");
updated = true;
}
else if (currentFileOriginalPath.startsWith("/data/")) {
updatedFileOriginalPath.replaceAll("^/data/", "file://");
updated = true;
}
/* if something is updated */
if (updated == true) {
// update it
log.info("update needed for IE " + ieEditor.getIEPid() + " RepPid " + repPid + " FilePid " + filePid +
" (old file_original_path='" + currentFileOriginalPath + "') to new file_original_path='" +
updatedFileOriginalPath + "'"
);
ieGfs.setFileOriginalPath(updatedFileOriginalPath);
ieDnxH.setGeneralFileCharacteristics(ieGfs);
} else {
// Nothing to do
log.info("No update needed for IE " + ieEditor.getIEPid() + " RepPid " + repPid + " FilePid " +
filePid + " (file_original_path='" + currentFileOriginalPath + "')");
}
}
private void init(Map<String, String> initParams) {
}
public boolean isReadOnly() {
return false;
}
public static void main(String[] args) {
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment