Commit in lcsim-contrib/src/main/java/org/lcsim/contrib/uiowa/uiowapfa/scripts on MAIN
importCode.csh+186added 1.1
adding new PFA code

lcsim-contrib/src/main/java/org/lcsim/contrib/uiowa/uiowapfa/scripts
importCode.csh added at 1.1
diff -N importCode.csh
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ importCode.csh	27 May 2011 13:09:20 -0000	1.1
@@ -0,0 +1,186 @@
+#!/bin/csh -f
+
+#### This part constitute actually a hard-coded input to this script
+set packages = ""
+set packages = "${packages} recon.cluster.clumpfinder"
+set packages = "${packages} recon.cluster.clumpfinder.kmean"
+set packages = "${packages} recon.cluster.structural"
+set packages = "${packages} recon.cluster.structural.likelihood"
+set packages = "${packages} recon.pfa.structural"
+set packages = "${packages} recon.pfa.structural.sharing"
+set packages = "${packages} recon.pfa.structural.shower"
+
+set mainDir = "lcsim/src/org/lcsim"
+set contribDir = "lcsim-contrib/src/main/java/org/lcsim/contrib/uiowa/uiowapfa"
+set mainPrefix = "org.lcsim"
+set contribPrefix = "org.lcsim.contrib.uiowa.uiowapfa"
+############################################################
+
+
+
+alias printInfo 'if(${beVerbose} == true) echo'
+
+set label = "main"
+goto ${label}
+
+displayHelp:
+    if( ${copyMode} == "undefined" ) then
+	set src = "<path>/<relative path to source>"
+	set dst = "<path>/<relative path to destination>"
+	set srcPrefix = "<source root package>"
+	set dstPrefix = "<destination root package>"
+    endif
+    echo ""
+    echo "  This script will import uiowa PFA code from the location:"
+    echo "    ${src}"
+    echo "  to the location:"
+    echo "    ${dst}"
+    echo ""
+    if( ${beVerbose} == true ) then 
+	echo "  The following packages will be immported:"
+	foreach package (${packages})
+	    echo "    ${srcPrefix}.${package} into ${dstPrefix}.${package}"
+	end
+	echo ""
+	echo "  All *.java files in the following locations, if they exist, will be overwritten"
+	foreach package (${packages})
+	    set packageLocation = `echo ${dst}/${package} | sed "s,\.,/,g"`
+	    echo "    ${packageLocation}"
+	end
+	echo ""
+	echo "  Package declarations and import commands will be fixed in the imported *java files."
+	echo ""
+    endif
+    if( ${copyMode} == undefined ) then
+	echo "  where in import mode:"
+	echo "    <relative path to source> = ${mainDir}"
+	echo "    <relative path to destination> = ${contribDir}"
+	printInfo "    <source root package> = ${mainPrefix}"
+	printInfo "    <destination root package> = ${contribPrefix}"
+	echo "  and in export mode:"
+	echo "    <relative path to source> = ${contribDir}"
+	echo "    <relative path to destination> = ${mainDir}"
+	printInfo "    <source root package> = ${contribPrefix}"
+	printInfo "    <destination root package> = ${mainPrefix}"
+	echo ""
+    endif
+    goto ${label}
+
+displayUsage:
+    echo ""
+    echo "  Usage: ${script} [-i,--import|-e,--export] [-v,--verbose] [-h,--help] <path>"
+    echo "    Options are:"
+    echo "      -h, --help: print help message and exit"
+    echo "      -v, --verbose: execute in verbose mode"
+    echo "      -e, --export: export from contrib to main area"
+    echo "      -i, --import: import from main area to contrib"
+    echo ""
+    goto ${label}
+
+# Main
+main:
+
+set script = $0
+set localPath = "path"
+set copyMode = undefined
+set beVerbose = false
+
+foreach arg ($argv)
+    if( ${arg} == "--help" || ${arg} == "-h" ) then
+	set label = helping
+	goto displayUsage
+	helping:
+	    set copyMode = undefined
+	    set beVerbose = true
+	    set label = endOfScript
+	    goto displayHelp
+    else if( ${arg} == "--verbose" || ${arg} == "-v" ) then
+	set beVerbose = true
+    else if( ${arg} == "--export" || ${arg} == "-e" ) then
+	set copyMode = exporting
+    else if( ${arg} == "--import" || ${arg} == "-i" ) then
+	set copyMode = importing
+    else if( ${localPath} == "path" ) then
+	set localPath = ${arg}
+    else
+	echo "agument $arg was ignored: path = $localPath"
+    endif
+end
+
+if( ${copyMode} == exporting ) then
+    set src = "${localPath}/${contribDir}"
+    set dst = "${localPath}/${mainDir}"
+    set srcPrefix = ${contribPrefix}
+    set dstPrefix = ${mainPrefix}
+else if( ${copyMode} == importing ) then
+    set src = "${localPath}/${mainDir}"
+    set dst = "${localPath}/${contribDir}"
+    set srcPrefix = ${mainPrefix}
+    set dstPrefix = ${contribPrefix}
+else 
+    echo "You must run in either import or export mode"
+    set label = endOfScript
+    goto displayUsage
+endif
+
+if (${localPath} == "path") then
+    echo "Not enough arguments"
+    set label = endOfScript
+    goto displayUsage
+endif
+
+set label = promptForProceed
+goto displayHelp
+
+promptForProceed:
+
+echo "Do you wish to proceed with this operation? [y/N]"
+set resp = $<
+set resp = `echo ${resp} | tr '[A-Z]' '[a-z]'`
+if(${resp} != "y") then
+    echo "operation aborted by user..."
+    goto endOfScript
+endif
+
+if (! -d ${src}) then 
+    echo "the code was not found at the source:"
+    echo "  ${src}: no such directory"
+    goto endOfScript
+endif
+
+foreach package ($packages)
+    set srcPackage = ${srcPrefix}.${package}
+    set dstPackage = ${dstPrefix}.${package}
+    set packageSrcDir = `echo ${src}/${package} | sed "s,\.,/,g"`
+    set packageDstDir = `echo ${dst}/${package} | sed "s,\.,/,g"`
+    echo "Working on package: ${srcPackage}"
+    printInfo "  destination package: ${dstPackage}"
+    if(! -d ${packageSrcDir}) then 
+	echo "source code not found: ${packageSrcDir} no such directory"
+	goto endScript
+    endif
+    printInfo "  source code is at: ${packageSrcDir}"
+    printInfo "  destination code is at: ${packageDstDir}"
+    if(-d ${packageDstDir}) then
+	printInfo "  destination code already exist: removing *.java files from destination"
+	rm -f ${packageDstDir}/*.java
+    else
+	printInfo "  destination code does not exist: creating it"
+	mkdir -p ${packageDstDir}
+    endif
+    printInfo "  now copying *.java files from source to destination"
+    cp ${packageSrcDir}/*.java ${packageDstDir}
+    printInfo "  now fixing package declarations and import commands"
+    foreach p (${packages})
+	set srcp = ${srcPrefix}.${p}
+        set dstp = ${dstPrefix}.${p}
+	echo "    replacing ${srcp} by ${dstp}"
+	foreach file (${packageDstDir}/*.java)
+	    cat ${file} | sed "s,${srcp},${dstp},g" > tmp
+	    mv tmp ${file}
+	end
+    end
+end
+
+endOfScript:
+    exit
CVSspam 0.2.8