summaryrefslogtreecommitdiffstats
path: root/scripts/createDefaultMapper/mapper.sh
blob: 43b1dc88eac6c97ca53bde6c392fc273c90a5b35 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/sh
id=$(grep -c "getID" $1)

modelname=$(basename $1 .php)
modelmapper=${modelname}Mapper
modelmapperfile=$(dirname $1)/${modelmapper}.php
modelvar=$(echo "$modelname" | tr -s '[A-Z]' '[a-z]')
setID="NULL"
getID="NULL"
if [ $id -eq 0 ]; then
	echo "$1 enthält keinen Primärschlüssel"
else
getID="get$(echo "$modelvar" | sed -e "s/\([^\.]\+\)\./\u\1\./g" -e "s/^\(.\)/\u\1/")ID"
setID="set$(echo "$modelvar" | sed -e "s/\([^\.]\+\)\./\u\1\./g" -e "s/^\(.\)/\u\1/")ID"
fi
cp mappertemplate ${modelmapperfile}

savedata=$(grep "protected" $1 | awk -v SQ="\'" -F '_|;' '{
	printf "," SQ $2 SQ "=> $MVAR->get"; 
	split($2,a,""); a[1]=toupper(a[1]); 
	for(i=1; i<=length($2); i++){printf a[i]}; 
	printf "() "}')

find=$(grep "protected" $1 | awk -F '_|;' '{
	printf "->set"; split($2,a,""); 
	a[1]=toupper(a[1]); 
	for(i=1; i<=length($2); i++){printf a[i]}; 
	printf "($row->%s)", $2}')

sed -i "s/SAVEDATA/${savedata}/g" ${modelmapperfile}
sed -i "s/FIND/${find}/g" ${modelmapperfile}
sed -i "s/${getID}/getID/g" ${modelmapperfile}
sed -i "s/${setID}/setID/g" ${modelmapperfile}
sed -i "s/array(,/array(/g" ${modelmapperfile}
sed -i "s/MODEL/${modelname}/g" ${modelmapperfile}
sed -i "s/MVAR/${modelvar}/g" ${modelmapperfile} 
sed -i "s/MAPPER/${modelmapper}/g" ${modelmapperfile}