Skip to content
Snippets Groups Projects
Commit bb7fd737 authored by alvaro's avatar alvaro
Browse files

added scaffold option

parent 49464f02
No related branches found
No related tags found
No related merge requests found
......@@ -43,7 +43,7 @@ if [[ $# -eq 0 || "$1" == "--help" ]]; then
fi
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
operations=( create delete debug backup restore default cache version enable disable add remove list details change update )
operations=( create delete debug backup restore default cache version enable disable add remove list details change update scaffold )
currentOperation=
if [[ ${operations[@]} =~ $1 ]]; then
......@@ -333,3 +333,29 @@ if [[ $currentOperation == "update" ]]; then
$DIR/modules/update-lodspeakr.sh
exit
fi
## Scaffold
if [[ $currentOperation == "scaffold" ]]; then
if [ "$#" != "3" ]; then
echo -e $USAGE
exit 1
fi
scaffoldOperation=( service )
if [[ ${scaffoldOperation[@]} =~ $2 && $2 != "" ]]
then
scaffoldOperation=$2
else
echo -e "Option '$2' for scaffolding not supported. Operation aborted\n" >&2
echo -e $USAGE
exit 1
fi
if [[ $3 == "" ]]; then
echo "Error: No new component name given"
echo -e $USAGE;
exit 1
fi
$DIR/modules/create-scaffold.sh $scaffoldOperation $3
exit
fi
#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
initToken='services'
serviceName=`echo $2 |sed 's/\//%2F/g'`
mainDir=$DIR/../../components/$initToken/$serviceName/
if [ ! -d "$mainDir" ]; then
echo "No service $serviceName found"
exit 1
fi
scaffold="@prefix lodspk: <http://lodspeakr.org/vocab/> .\n"
scaffold+="@prefix dcterms: <http://purl.org/dc/terms/> .\n"
scaffold+="\n"
scaffold+="<> a lodspk:ScaffoldedService ;\n"
finished_asking="y"
confirmed_creation="n"
while [ "$confirmed_creation" != "y" ]; do
patternCounter=1
regexes=()
while [ "$finished_asking" != "n" ]; do
echo
echo "==== NEW SCAFFOLD PATTERN ($patternCounter) ==="
echo
while [ "$regex_correct" != "y" ]; do
echo -n "What pattern the arguments should follow (Hint: use regular expressions)? "
regex_correct="n"
read -r regex
echo -n "Is '$regex' correct? "
read regex_correct
echo
done
regex_correct="n"
let patternCounter=$patternCounter+1
#add pattern
regexes+=($regex)
echo -n "Do you want to add a new a new pattern [y/n]? "
read finished_asking
done
echo
echo
echo "==== PATTERNS ===="
echo "These are the regular expressions you entered"
echo
echo
for var in "${regexes[@]}"
do
echo "${var}"
done
echo
echo
echo -n "Confirm they are OK [y/n]? "
read confirmed_creation
finished_asking="y"
done
patternCounter=0
for var in "${regexes[@]}"
do
scaffold+=" lodspk:scaffold <#pattern$patternCounter> ;\n"
let patternCounter=$patternCounter+1
done
scaffold+=" dcterms:identifier \"$2\" .\n\n\n"
patternCounter=0
for var in "${regexes[@]}"
do
currentPattern=$(echo ${regexes[$patternCounter]} |sed -e 's|\\|\\\\\\|g')
scaffold+="<#pattern$patternCounter> a lodspk:Pattern; \n"
scaffold+=" lodspk:uriPattern \""$currentPattern"\"; \n"
scaffold+=" dcterms:identifier \""$(echo $patternCounter)"\"; \n"
scaffold+=" lodspk:subComponent \"pattern"$(echo $patternCounter)"\". \n"
patternDir=$mainDir"/pattern"$patternCounter
mkdir -p $patternDir
cp -rf $DIR/../defaults/service/* $patternDir
let patternCounter=$patternCounter+1
done
echo -e ${scaffold} > $mainDir/scaffold.ttl
echo "Scaffold created"
exit 0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment