diff --git a/.idea/workspace.xml b/.idea/workspace.xml index cf6c0a17288af99a6bcea5079abad3bf7c083227..e9f379c79c1fc1edf2ebc7b4cbf79714ba0463c1 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -6,15 +6,7 @@ </component> <component name="ChangeListManager"> <list default="true" readonly="true" id="3ad7d15b-0167-4c60-a3f9-2d3c54aea812" name="Default" comment=""> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/ant.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/dps_sdk_4_0_0.xml" /> - <change type="DELETED" beforePath="$PROJECT_DIR$/.idea/libraries/NFSStoragePlugin.xml" afterPath="" /> - <change type="DELETED" beforePath="$PROJECT_DIR$/.idea/libraries/dps_sdk_3_2_2.xml" afterPath="" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Makefile" afterPath="$PROJECT_DIR$/Makefile" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java" afterPath="$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/compiler.xml" afterPath="$PROJECT_DIR$/.idea/compiler.xml" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/copyright/profiles_settings.xml" afterPath="$PROJECT_DIR$/.idea/copyright/profiles_settings.xml" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> </list> <ignored path="StoragePlugin4Rosetta.iws" /> <ignored path=".idea/workspace.xml" /> @@ -76,8 +68,30 @@ <option name="LOG_MESSAGE" value="" /> </breakpoint> </breakpoint_any> - <breakpoint_rules converted="true" /> <ui_properties converted="true" /> + <breakpoint_rules converted="true" /> + </component> + <component name="DockManager"> + <window id="2"> + <content type="file-editors"> + <state> + <leaf> + <file leaf-file-name="NFSStoragePlugin.java" pinned="false" current="false" current-in-tab="true"> + <entry file="file://$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/NFSStoragePlugin.java"> + <provider selected="true" editor-type-id="text-editor"> + <state vertical-scroll-proportion="9.099181E-4" vertical-offset="1829" max-vertical-offset="6840"> + <caret line="122" column="17" selection-start-line="122" selection-start-column="17" selection-end-line="122" selection-end-column="17" /> + <folding> + <element signature="imports" expanded="true" /> + </folding> + </state> + </provider> + </entry> + </file> + </leaf> + </state> + </content> + </window> </component> <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" /> <component name="FavoritesManager"> @@ -88,21 +102,31 @@ <file leaf-file-name="SLUBStoragePlugin.java" pinned="false" current="true" current-in-tab="true"> <entry file="file://$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java"> <provider selected="true" editor-type-id="text-editor"> - <state vertical-scroll-proportion="1.248366" vertical-offset="1332" max-vertical-offset="7965"> - <caret line="127" column="25" selection-start-line="127" selection-start-column="25" selection-end-line="127" selection-end-column="25" /> + <state vertical-scroll-proportion="1.3856503" vertical-offset="7278" max-vertical-offset="8295"> + <caret line="547" column="0" selection-start-line="547" selection-start-column="0" selection-end-line="547" selection-end-column="0" /> <folding> - <element signature="e#0#24439#0" expanded="true" /> + <element signature="e#0#27428#0" expanded="true" /> <element signature="imports" expanded="true" /> - <element signature="e#3017#3018#0" expanded="true" /> - <element signature="e#3075#3076#0" expanded="true" /> - <element signature="e#15518#15534#0" expanded="true" /> - <element signature="e#22145#22153#0" expanded="true" /> - <element signature="e#24094#24102#0" expanded="true" /> + <element signature="e#3064#3065#0" expanded="true" /> + <element signature="e#3122#3123#0" expanded="true" /> + <element signature="e#18256#18272#0" expanded="true" /> + <marker date="1414588087286" expanded="true" signature="3987:5275" placeholder="..." /> + <marker date="1414588087286" expanded="true" signature="5383:5708" placeholder="..." /> </folding> </state> </provider> </entry> </file> + <file leaf-file-name="Checksummer.class" pinned="false" current="false" current-in-tab="false"> + <entry file="jar:///exlibris/dps/d4_1/system.dir/dps-sdk-4.0.0/lib/dps-sdk-4.0.0.jar!/com/exlibris/digitool/infrastructure/utils/Checksummer.class"> + <provider selected="true" editor-type-id="text-editor"> + <state vertical-scroll-proportion="-22.2" vertical-offset="0" max-vertical-offset="1110"> + <caret line="38" column="61" selection-start-line="38" selection-start-column="61" selection-end-line="38" selection-end-column="61" /> + <folding /> + </state> + </provider> + </entry> + </file> </leaf> </component> <component name="FindManager"> @@ -122,10 +146,10 @@ <treeState /> </component> <component name="ProjectFrameBounds"> - <option name="x" value="92" /> - <option name="y" value="93" /> - <option name="width" value="1594" /> - <option name="height" value="1000" /> + <option name="x" value="-4" /> + <option name="y" value="27" /> + <option name="width" value="1928" /> + <option name="height" value="1177" /> </component> <component name="ProjectInspectionProfilesVisibleTreeState"> <entry key="Project Default"> @@ -202,7 +226,7 @@ <option name="STATE" value="0" /> </component> <component name="ProjectView"> - <navigator currentView="ProjectPane" proportions="" version="1"> + <navigator proportions="" version="1"> <flattenPackages /> <showMembers /> <showModules /> @@ -213,20 +237,7 @@ <autoscrollFromSource /> <sortByType /> </navigator> - <panes> - <pane id="Scope" /> - <pane id="ProjectPane"> - <subPane> - <PATH> - <PATH_ELEMENT> - <option name="myItemId" value="StoragePlugin4Rosetta" /> - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> - </PATH_ELEMENT> - </PATH> - </subPane> - </pane> - <pane id="PackagesPane" /> - </panes> + <panes /> </component> <component name="PropertiesComponent"> <property name="GoToClass.includeLibraries" value="false" /> @@ -239,7 +250,7 @@ <property name="options.splitter.main.proportions" value="0.3" /> <property name="options.splitter.details.proportions" value="0.2" /> <property name="options.searchVisible" value="true" /> - <property name="last_opened_file_path" value="/usr/lib/jvm/java-7-openjdk-amd64/src.zip!/" /> + <property name="last_opened_file_path" value="$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/NFSStoragePlugin.java" /> <property name="project.structure.last.edited" value="SDKs" /> <property name="project.structure.proportion" value="0.15" /> <property name="project.structure.side.proportion" value="0.2" /> @@ -252,6 +263,7 @@ <property name="GenerateAntBuildDialog.inclineRuntiemClasspath" value="false" /> <property name="GenerateAntBuildDialog.generateIdeaHomeProperty" value="false" /> <property name="GenerateAntBuildDialog.outputFileNameProperty" value="storageplugin4rosetta" /> + <property name="extract.method.default.visibility" value="private" /> </component> <component name="RunManager"> <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin"> @@ -268,6 +280,19 @@ <option name="PORT" value="5005" /> <method /> </configuration> + <configuration default="true" type="Applet" factoryName="Applet"> + <module name="" /> + <option name="MAIN_CLASS_NAME" /> + <option name="HTML_FILE_NAME" /> + <option name="HTML_USED" value="false" /> + <option name="WIDTH" value="400" /> + <option name="HEIGHT" value="300" /> + <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" /> + <option name="VM_PARAMETERS" /> + <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> + <option name="ALTERNATIVE_JRE_PATH" /> + <method /> + </configuration> <configuration default="true" type="TestNG" factoryName="TestNG"> <module name="" /> <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> @@ -295,19 +320,6 @@ <listeners /> <method /> </configuration> - <configuration default="true" type="Applet" factoryName="Applet"> - <module name="" /> - <option name="MAIN_CLASS_NAME" /> - <option name="HTML_FILE_NAME" /> - <option name="HTML_USED" value="false" /> - <option name="WIDTH" value="400" /> - <option name="HEIGHT" value="300" /> - <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" /> - <option name="VM_PARAMETERS" /> - <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> - <option name="ALTERNATIVE_JRE_PATH" /> - <method /> - </configuration> <configuration default="true" type="Application" factoryName="Application"> <option name="MAIN_CLASS_NAME" /> <option name="VM_PARAMETERS" /> @@ -364,6 +376,10 @@ <option name="myVcsRoot" value="$PROJECT_DIR$/.idea" /> <option name="myCopyRoot" value="$PROJECT_DIR$/.idea" /> </SvnCopyRootSimple> + <SvnCopyRootSimple> + <option name="myVcsRoot" value="$PROJECT_DIR$/java/org" /> + <option name="myCopyRoot" value="$PROJECT_DIR$/java/org" /> + </SvnCopyRootSimple> </list> </option> <option name="myMoreRealMappingRoots"> @@ -404,30 +420,30 @@ </todo-panel> </component> <component name="ToolWindowManager"> - <frame x="92" y="93" width="1594" height="1000" extended-state="0" /> + <frame x="-4" y="27" width="1928" height="1177" extended-state="6" /> <editor active="false" /> <layout> <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="12" side_tool="false" content_ui="tabs" /> - <window_info id="Problems" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> + <window_info id="Problems" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32923368" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" /> - <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> + <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32923368" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="9" side_tool="true" content_ui="tabs" /> <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" /> - <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="13" side_tool="false" content_ui="tabs" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> - <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> + <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.20553781" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32966322" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" /> <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.21826425" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> - <window_info id="Inspection" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.4" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> - <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> + <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33301798" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> + <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32923368" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> + <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="13" side_tool="false" content_ui="tabs" /> <window_info id="Module Dependencies" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.06282383" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="3" side_tool="false" content_ui="combo" /> </layout> @@ -449,25 +465,43 @@ </option> </component> <component name="XDebuggerManager"> - <breakpoint-manager /> + <breakpoint-manager> + <option name="time" value="1" /> + </breakpoint-manager> </component> <component name="antWorkspaceConfiguration"> <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" /> <option name="FILTER_TARGETS" value="false" /> </component> <component name="editorHistoryManager"> + <entry file="file://$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java"> + <provider selected="true" editor-type-id="text-editor"> + <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="7965"> + <caret line="127" column="25" selection-start-line="127" selection-start-column="25" selection-end-line="127" selection-end-column="25" /> + <folding> + <element signature="e#0#27428#0" expanded="true" /> + <element signature="imports" expanded="true" /> + <element signature="e#3064#3065#0" expanded="true" /> + <element signature="e#3122#3123#0" expanded="true" /> + <element signature="e#18256#18272#0" expanded="true" /> + <marker date="1414588087286" expanded="true" signature="3987:5275" placeholder="..." /> + <marker date="1414588087286" expanded="true" signature="5383:5708" placeholder="..." /> + </folding> + </state> + </provider> + </entry> <entry file="file://$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2775"> <caret line="23" column="0" selection-start-line="23" selection-start-column="0" selection-end-line="23" selection-end-column="0" /> <folding> - <element signature="e#0#24439#0" expanded="true" /> + <element signature="e#0#27428#0" expanded="true" /> <element signature="imports" expanded="true" /> - <element signature="e#3017#3018#0" expanded="true" /> - <element signature="e#3075#3076#0" expanded="true" /> - <element signature="e#15518#15534#0" expanded="true" /> - <element signature="e#22145#22153#0" expanded="true" /> - <element signature="e#24094#24102#0" expanded="true" /> + <element signature="e#3064#3065#0" expanded="true" /> + <element signature="e#3122#3123#0" expanded="true" /> + <element signature="e#18256#18272#0" expanded="true" /> + <marker date="1414588087286" expanded="true" signature="3987:5275" placeholder="..." /> + <marker date="1414588087286" expanded="true" signature="5383:5708" placeholder="..." /> </folding> </state> </provider> @@ -478,8 +512,6 @@ <caret line="40" column="3" selection-start-line="40" selection-start-column="3" selection-end-line="40" selection-end-column="3" /> <folding> <element signature="imports" expanded="true" /> - <element signature="e#12505#12506#0" expanded="true" /> - <element signature="e#12561#12562#0" expanded="true" /> </folding> </state> </provider> @@ -489,25 +521,13 @@ <state vertical-scroll-proportion="0.0" vertical-offset="675" max-vertical-offset="2370"> <caret line="45" column="2" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <folding> - <element signature="e#0#24439#0" expanded="true" /> + <element signature="e#0#27428#0" expanded="true" /> <element signature="imports" expanded="true" /> - <element signature="e#3017#3018#0" expanded="true" /> - <element signature="e#3075#3076#0" expanded="true" /> - <element signature="e#15518#15534#0" expanded="true" /> - <element signature="e#22145#22153#0" expanded="true" /> - <element signature="e#24094#24102#0" expanded="true" /> - </folding> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/NFSStoragePlugin.java"> - <provider selected="true" editor-type-id="text-editor"> - <state vertical-scroll-proportion="-6.0238614" vertical-offset="6362" max-vertical-offset="6885"> - <caret line="239" column="38" selection-start-line="239" selection-start-column="38" selection-end-line="239" selection-end-column="38" /> - <folding> - <element signature="imports" expanded="true" /> - <element signature="e#12505#12506#0" expanded="true" /> - <element signature="e#12561#12562#0" expanded="true" /> + <element signature="e#3064#3065#0" expanded="true" /> + <element signature="e#3122#3123#0" expanded="true" /> + <element signature="e#18256#18272#0" expanded="true" /> + <marker date="1414588087286" expanded="true" signature="3987:5275" placeholder="..." /> + <marker date="1414588087286" expanded="true" signature="5383:5708" placeholder="..." /> </folding> </state> </provider> @@ -516,7 +536,6 @@ <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.16198704" vertical-offset="0" max-vertical-offset="720"> <caret line="6" column="22" selection-start-line="6" selection-start-column="22" selection-end-line="6" selection-end-column="22" /> - <folding /> </state> </provider> </entry> @@ -524,7 +543,6 @@ <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.3760504" vertical-offset="466" max-vertical-offset="1290"> <caret line="44" column="56" selection-start-line="44" selection-start-column="56" selection-end-line="44" selection-end-column="56" /> - <folding /> </state> </provider> </entry> @@ -532,22 +550,39 @@ <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.16198704" vertical-offset="0" max-vertical-offset="465"> <caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" /> + </state> + </provider> + </entry> + <entry file="jar:///exlibris/dps/d4_1/system.dir/dps-sdk-4.0.0/lib/dps-sdk-4.0.0.jar!/com/exlibris/digitool/infrastructure/utils/Checksummer.class"> + <provider selected="true" editor-type-id="text-editor"> + <state vertical-scroll-proportion="-22.2" vertical-offset="0" max-vertical-offset="1110"> + <caret line="38" column="61" selection-start-line="38" selection-start-column="61" selection-end-line="38" selection-end-column="61" /> <folding /> </state> </provider> </entry> + <entry file="file://$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/NFSStoragePlugin.java"> + <provider selected="true" editor-type-id="text-editor"> + <state vertical-scroll-proportion="9.099181E-4" vertical-offset="1829" max-vertical-offset="6840"> + <caret line="122" column="17" selection-start-line="122" selection-start-column="17" selection-end-line="122" selection-end-column="17" /> + <folding> + <element signature="imports" expanded="true" /> + </folding> + </state> + </provider> + </entry> <entry file="file://$PROJECT_DIR$/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java"> <provider selected="true" editor-type-id="text-editor"> - <state vertical-scroll-proportion="1.248366" vertical-offset="1332" max-vertical-offset="7965"> - <caret line="127" column="25" selection-start-line="127" selection-start-column="25" selection-end-line="127" selection-end-column="25" /> + <state vertical-scroll-proportion="1.3856503" vertical-offset="7278" max-vertical-offset="8295"> + <caret line="547" column="0" selection-start-line="547" selection-start-column="0" selection-end-line="547" selection-end-column="0" /> <folding> - <element signature="e#0#24439#0" expanded="true" /> + <element signature="e#0#27428#0" expanded="true" /> <element signature="imports" expanded="true" /> - <element signature="e#3017#3018#0" expanded="true" /> - <element signature="e#3075#3076#0" expanded="true" /> - <element signature="e#15518#15534#0" expanded="true" /> - <element signature="e#22145#22153#0" expanded="true" /> - <element signature="e#24094#24102#0" expanded="true" /> + <element signature="e#3064#3065#0" expanded="true" /> + <element signature="e#3122#3123#0" expanded="true" /> + <element signature="e#18256#18272#0" expanded="true" /> + <marker date="1414588087286" expanded="true" signature="3987:5275" placeholder="..." /> + <marker date="1414588087286" expanded="true" signature="5383:5708" placeholder="..." /> </folding> </state> </provider> diff --git a/PLUGIN-INF/metadata_SLUBStoragepPlugin.xml b/PLUGIN-INF/metadata_SLUBStoragepPlugin.xml index c143da1992933f420b0baebc1ff91deeda3e1265..692679aff2db74f9446fd1c9d1acff237e5a0dbd 100644 --- a/PLUGIN-INF/metadata_SLUBStoragepPlugin.xml +++ b/PLUGIN-INF/metadata_SLUBStoragepPlugin.xml @@ -70,7 +70,7 @@ </fr:x_form> </pl:initParameters> <pl:description>SLUB Storage Plugin</pl:description> - <pl:version>2.804</pl:version> + <pl:version>2.805</pl:version> <pl:materialType>DIGITAL</pl:materialType> <pl:module>Repository</pl:module> <pl:generalType>TASK</pl:generalType> diff --git a/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java b/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java index 2f94f3cbdf376600d6a233421a5f7b1cf8480e1c..dfe81fb9d67913b89c22c470e3c0f8c783e43dbb 100644 --- a/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java +++ b/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java @@ -34,6 +34,7 @@ import com.exlibris.digitool.common.storage.Fixity; import com.exlibris.digitool.infrastructure.utils.Checksummer; import java.io.*; +import java.security.NoSuchAlgorithmException; import java.text.SimpleDateFormat; import java.util.*; @@ -83,88 +84,89 @@ public class SLUBStoragePlugin extends AbstractStorageHandler { boolean result = true; if (fixities != null) { - boolean calcMD5 = false; - boolean calcSHA1 = false; - boolean calcCRC32 = false; - for (Fixity fixity : fixities) - { - fixity.setResult(null); - log.info("SLUBStoragePlugin.checkFixity() getAlgorithm=" + fixity.getAlgorithm()); - log.info("SLUBStoragePlugin.checkFixity() FixityAlgorithm.MD5=" + Fixity.FixityAlgorithm.MD5.toString()); - log.info("SLUBStoragePlugin.checkFixity() FixityAlgorithm.SHA1=" + Fixity.FixityAlgorithm.SHA1.toString()); - log.info("SLUBStoragePlugin.checkFixity() FixityAlgorithm.CRC32=" + Fixity.FixityAlgorithm.CRC32.toString()); + InputStream is = null; + try { + is = retrieveEntity(storedEntityIdentifier, isRelativePath); + Checksummer checksummer = new Checksummer(is, true, true, true); + for (Fixity fixity : fixities) { + fixity.setResult(null); + log.info("SLUBStoragePlugin.checkFixity() getAlgorithm=" + fixity.getAlgorithm()); + log.info("SLUBStoragePlugin.checkFixity() FixityAlgorithm.MD5=" + Fixity.FixityAlgorithm.MD5.toString()); + log.info("SLUBStoragePlugin.checkFixity() FixityAlgorithm.SHA1=" + Fixity.FixityAlgorithm.SHA1.toString()); + log.info("SLUBStoragePlugin.checkFixity() FixityAlgorithm.CRC32=" + Fixity.FixityAlgorithm.CRC32.toString()); /* TODO: with upcoming versions of Rosetta, recheck need of * Workaround for fixity.getAlgorithm() */ - String algorithm = fixity.getAlgorithm().toUpperCase(); // workaround, because fixity.getAlgorithm() returns lowercase string - if (Fixity.FixityAlgorithm.MD5.toString().equals(algorithm)) - { - log.info("SLUBStoragePlugin.checkFixity() calcMD5=true"); - calcMD5 = true; - } - else if (Fixity.FixityAlgorithm.SHA1.toString().equals(algorithm)) - { - log.info("SLUBStoragePlugin.checkFixity() calcSHA1=true"); - calcSHA1 = true; - } - else if (Fixity.FixityAlgorithm.CRC32.toString().equals(algorithm)) - { - log.info("SLUBStoragePlugin.checkFixity() calcCRC32=true"); - calcCRC32 = true; - } - else - { - log.info("SLUBStoragePlugin.checkFixity() another fixity"); - log.info("SLUBStoragePlugin.checkFixity() pluginname=" + fixity.getPluginName()); - String oldValue = fixity.getValue(); - log.info("SLUBStoragePlugin.checkFixity() oldvalue=" + oldValue); - fixity.setValue(getChecksumUsingPlugin(isRelativePath ? getLocalFilePath(storedEntityIdentifier) : storedEntityIdentifier, fixity.getPluginName(), oldValue)); - fixity.setResult(Boolean.valueOf((oldValue == null) || (oldValue.equals(fixity.getValue())))); - log.info("SLUBStoragePlugin.checkFixity() newvalue=" + fixity.getValue()); - result &= fixity.getResult().booleanValue(); - log.info("SLUBStoragePlugin.checkFixity() result=" + result); - } - } - if ((calcMD5) || (calcSHA1) || (calcCRC32)) - { - log.info("SLUBStoragePlugin.checkFixity() calcMD5|calcSHA1|calcCRC32=true"); - InputStream is = null; - try - { - is = retrieveEntity(storedEntityIdentifier, isRelativePath); - Checksummer checksummer = new Checksummer(is, calcMD5, calcSHA1, calcCRC32); - for (Fixity fixity : fixities) - { - /* TODO: with upcoming versions of Rosetta, recheck need of - * Workaround for fixity.getAlgorithm() */ - String algorithm = fixity.getAlgorithm().toUpperCase(); // workaround, because fixity.getAlgorithm() returns lowercase string + String algorithm = fixity.getAlgorithm().toUpperCase(); // workaround, because fixity.getAlgorithm() returns lowercase string + if ( + (!Fixity.FixityAlgorithm.MD5.toString().equals(algorithm)) && + (!Fixity.FixityAlgorithm.SHA1.toString().equals(algorithm)) && + (!Fixity.FixityAlgorithm.CRC32.toString().equals(algorithm)) + ) { + result = checkFixityByPlugin(fixity, storedEntityIdentifier, isRelativePath, result); + } else { + log.info("SLUBStoragePlugin.checkFixity() calcMD5|calcSHA1|calcCRC32=true"); int checksummerAlgorithmIndex = getChecksummerAlgorithmIndex(algorithm); + log.info("SLUBStoragePlugin.checkFixity() checksummerAlgorithmIndex=" + checksummerAlgorithmIndex); if (checksummerAlgorithmIndex != -1) - { - log.info("SLUBStoragePlugin.checkFixity() checksummerAlgorithmIndex=" + checksummerAlgorithmIndex); - String oldValue = fixity.getValue(); - log.info("SLUBStoragePlugin.checkFixity() getAlgorithm (2)=" + algorithm); - log.info("SLUBStoragePlugin.checkFixity() oldvalue=" + oldValue); - fixity.setValue(checksummer.getChecksum(algorithm)); - log.info("SLUBStoragePlugin.checkFixity() newvalue=" + fixity.getValue()); - fixity.setResult(Boolean.valueOf((oldValue == null) || (oldValue.equalsIgnoreCase(fixity.getValue())))); - result &= fixity.getResult().booleanValue(); - log.info("SLUBStoragePlugin.checkFixity() result=" + result); - } + result = checkFixityByBuiltin(fixity, algorithm, checksummer, result); } } - finally - { - log.info("SLUBStoragePlugin.checkFixity() finally called"); - if (is != null) { - log.info("SLUBStoragePlugin.checkFixity()is closed"); - is.close(); - } + } + finally + { + log.info("SLUBStoragePlugin.checkFixity() finally called"); + if (is != null) { + log.info("SLUBStoragePlugin.checkFixity()is closed"); + is.close(); } } } return result; } + /** uses a checksummer object and check if fixity of given builtin algorithm is correct + * + * @param fixity concrete fixity object + * @param algorithm which algorithm should be used + * @param checksummer checksummer object of given input stream + * @param result result is boolean variable to hold states of all fixity checks + * @return result + * @throws NoSuchAlgorithmException + */ + private boolean checkFixityByBuiltin(Fixity fixity, String algorithm, Checksummer checksummer, boolean result) throws NoSuchAlgorithmException { + String oldValue = fixity.getValue(); + log.info("SLUBStoragePlugin.checkFixity() getAlgorithm (2)=" + algorithm); + log.info("SLUBStoragePlugin.checkFixity() oldvalue=" + oldValue); + fixity.setValue(checksummer.getChecksum(algorithm)); + log.info("SLUBStoragePlugin.checkFixity() newvalue=" + fixity.getValue()); + fixity.setResult((oldValue == null) || (oldValue.equalsIgnoreCase(fixity.getValue()))); + result &= fixity.getResult().booleanValue(); + log.info("SLUBStoragePlugin.checkFixity() result=" + result); + return result; + } + + /** check fixity by calling its registered plugin + * + * @param fixity concrete fixity object + * @param storedEntityIdentifier path to file which should be checked + * @param isRelativePath indicates if path is relative + * @param result result is boolean variable to hold states of all fixity checks + * @return result + * @throws Exception + */ + private boolean checkFixityByPlugin(Fixity fixity, String storedEntityIdentifier, boolean isRelativePath, boolean result) throws Exception { + log.info("SLUBStoragePlugin.checkFixity() another fixity"); + log.info("SLUBStoragePlugin.checkFixity() pluginname=" + fixity.getPluginName()); + String oldValue = fixity.getValue(); + log.info("SLUBStoragePlugin.checkFixity() oldvalue=" + oldValue); + fixity.setValue(getChecksumUsingPlugin(isRelativePath ? getLocalFilePath(storedEntityIdentifier) : storedEntityIdentifier, fixity.getPluginName(), oldValue)); + fixity.setResult((oldValue == null) || (oldValue.equals(fixity.getValue()))); + log.info("SLUBStoragePlugin.checkFixity() newvalue=" + fixity.getValue()); + result &= fixity.getResult().booleanValue(); + log.info("SLUBStoragePlugin.checkFixity() result=" + result); + return result; + } + public boolean deleteEntity(String storedEntityIdentifier) { log.info("SLUBStoragePlugin.deleteEntity() storedEntityIdentifier='" + storedEntityIdentifier + "'"); @@ -348,6 +350,7 @@ public class SLUBStoragePlugin extends AbstractStorageHandler { } } + /** copied from NFS Storage Plugin, enhanced with debugging info, {@inheritDoc} */ private int getChecksummerAlgorithmIndex(String algorithm) { log.info("SLUBStoragePlugin.getChecksummerAlgorithm() algorithm='" + algorithm + "'"); @@ -365,7 +368,7 @@ public class SLUBStoragePlugin extends AbstractStorageHandler { - + /** copied from NFS Storage Plugin, enhanced with debugging info, {@inheritDoc} */ private File getCanonicalFile(String srcPath) { log.info("SLUBStoragePlugin.getCanonicalFile() srcPath='"+ srcPath + "'"); @@ -381,7 +384,7 @@ public class SLUBStoragePlugin extends AbstractStorageHandler { return null; } - + /** copied from NFS Storage Plugin, enhanced with debugging info, {@inheritDoc} */ private Map<String, String> getStoreEntityIdentifier(StoredEntityMetaData storedEntityMetadata, String destFilePath) throws Exception { log.info("SLUBStoragePlugin.getStoreEntityIdentifier() destFilePath='" + destFilePath +"'"); @@ -483,6 +486,7 @@ public class SLUBStoragePlugin extends AbstractStorageHandler { return relativeDirectoryPath; } + /** copied from NFS Storage Plugin, enhanced with debugging info, {@inheritDoc} */ private void hardLink(String srcPath, String destPath) throws IOException { @@ -497,6 +501,7 @@ public class SLUBStoragePlugin extends AbstractStorageHandler { throw new IOException("ln " + srcPath + " " + destPath + " failed " + proc.getErrorStream() + proc.getInputStream()); } } + /** copied from NFS Storage Plugin, enhanced with debugging info, {@inheritDoc} */ private void saveDestPathsTmpFile(String folder, String key, String path) { log.info("SLUBStoragePlugin.saveDestPathsTmpFile()"); @@ -519,6 +524,7 @@ public class SLUBStoragePlugin extends AbstractStorageHandler { StorageUtil.saveDestPathToTmpFile(folder, tmpFilePath, key, path); } + /** copied from NFS Storage Plugin, enhanced with debugging info, {@inheritDoc} */ private void softLink(String srcPath, String destPath) throws IOException { @@ -538,14 +544,4 @@ public class SLUBStoragePlugin extends AbstractStorageHandler { throw new IOException("ln -s " + srcPath + " " + destPath + " failed " + proc.getErrorStream() + proc.getInputStream()); } } - - - - - - - - - - }