summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorSebastian Schmelzer2011-04-21 15:54:39 +0200
committerSebastian Schmelzer2011-04-21 15:54:39 +0200
commit9701f3532b3b5cfda70c9c87f053ab2de8f81829 (patch)
tree2e697dcc337d1e3442114724eab73adf1b54056c /scripts
parentfoo.. (diff)
downloadpbs2-9701f3532b3b5cfda70c9c87f053ab2de8f81829.tar.gz
pbs2-9701f3532b3b5cfda70c9c87f053ab2de8f81829.tar.xz
pbs2-9701f3532b3b5cfda70c9c87f053ab2de8f81829.zip
cleanup
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/createDefaultMapper/mapper.sh37
-rw-r--r--scripts/createDefaultMapper/mappertemplate83
2 files changed, 120 insertions, 0 deletions
diff --git a/scripts/createDefaultMapper/mapper.sh b/scripts/createDefaultMapper/mapper.sh
new file mode 100755
index 0000000..43b1dc8
--- /dev/null
+++ b/scripts/createDefaultMapper/mapper.sh
@@ -0,0 +1,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}
diff --git a/scripts/createDefaultMapper/mappertemplate b/scripts/createDefaultMapper/mappertemplate
new file mode 100644
index 0000000..c7c857e
--- /dev/null
+++ b/scripts/createDefaultMapper/mappertemplate
@@ -0,0 +1,83 @@
+<?php
+
+class Application_Model_MAPPER
+{
+
+ protected $_dbTable;
+
+ public function setDbTable($dbTable)
+ {
+ if (is_string($dbTable)) {
+ $dbTable = new $dbTable();
+ }
+
+ if (!$dbTable instanceof Zend_Db_Table_Abstract) {
+ throw new Exception('Invalid table data gateway provided');
+ }
+
+ $this->_dbTable = $dbTable;
+
+ return $this;
+ }
+
+ public function getDbTable()
+ {
+ if (null === $this->_dbTable) {
+ $this->setDbTable('Application_Model_DbTable_MODEL');
+ }
+
+ return $this->_dbTable;
+ }
+
+ public function save(Application_Model_MODEL $MVAR)
+ {
+
+ $data = array(SAVEDATA);
+
+ if (null === ($id = $MVAR->getID()) ) {
+ unset($data['MVARID']);
+ $this->getDbTable()->insert($data);
+ } else {
+ $this->getDbTable()->update($data, array('MVARID = ?' => $id));
+ }
+ }
+
+ public function delete(Application_Model_MODEL $MVAR)
+ {
+ if (null === ($id = $MVAR->getID()) ) {
+ return;
+ } else {
+ $this->getDbTable()->delete(array('MVARID = ?' => $id));
+ }
+ }
+
+ public function find($id, Application_Model_MODEL $MVAR)
+ {
+ $result = $this->getDbTable()->find($id);
+ if (0 == count($result)) {
+ return;
+ }
+
+ $row = $result->current();
+
+ $MVARFIND;
+ }
+
+ public function fetchAll()
+ {
+ $resultSet = $this->getDbTable()->fetchAll();
+ $entries = array();
+ foreach ($resultSet as $row) {
+ $entry = new Application_Model_MODEL();
+
+ $entryFIND;
+
+ $entries[] = $entry;
+ }
+ return $entries;
+ }
+
+
+
+}
+