[Cs-webapplibs-commits] SF.net SVN: cs-webapplibs:[166] trunk/0.3
Status: Beta
Brought to you by:
crazedsanity
|
From: <cra...@us...> - 2010-06-15 02:12:32
|
Revision: 166
http://cs-webapplibs.svn.sourceforge.net/cs-webapplibs/?rev=166&view=rev
Author: crazedsanity
Date: 2010-06-15 02:12:26 +0000 (Tue, 15 Jun 2010)
Log Message:
-----------
Remove generic data linker.
Removed Paths:
-------------
trunk/0.3/abstract/cs_gdlAttrib.abstract.class.php
trunk/0.3/abstract/cs_gdlObject.abstract.class.php
trunk/0.3/abstract/cs_gdlPath.abstract.class.php
trunk/0.3/cs_genericDataLinker.class.php
Deleted: trunk/0.3/abstract/cs_gdlAttrib.abstract.class.php
===================================================================
--- trunk/0.3/abstract/cs_gdlAttrib.abstract.class.php 2010-06-15 02:10:54 UTC (rev 165)
+++ trunk/0.3/abstract/cs_gdlAttrib.abstract.class.php 2010-06-15 02:12:26 UTC (rev 166)
@@ -1,89 +0,0 @@
-<?php
-/*
- * Created on Jan 29, 2009
- *
- * FILE INFORMATION:
- *
- * $HeadURL$
- * $Id$
- * $LastChangedDate$
- * $LastChangedBy$
- * $LastChangedRevision$
- */
-
-abstract class cs_gdlAttribAbstract extends cs_gdlPathAbstract {
-
-
- const table='cswal_gdl_attribute_table';
- const tableSeq = 'cswal_gdl_attribute_table_attribute_id_seq';
-
-
-
- //-------------------------------------------------------------------------
- public function create_attrib($path, $data, $type=null) {
-
- $objectId = $this->get_object_id_from_path($path);
-
- $insertString = "";
- $attribs = array();
- if(is_array($data) && count($data)) {
- foreach($data as $n=>$v) {
- $n = $this->translate_attrib_name($n);
- $attribs[$n] = $v;
- }
- }
- elseif(!is_null($type)) {
- $key = $this->translate_attrib_name($type);
- $attribs = array($key => $data);
- }
- else {
- throw new exception(__METHOD__ .": data was not array and no type set");
- }
-
- if(!is_array($attribs) || !count($attribs)) {
- throw new exception(__METHOD__ .": failed to create an array of attributes... ". $this->gfObj->debug_print(func_get_args(),0));
- }
-
- $attribs['object_id'] = $objectId;
- $insertString = $this->gfObj->string_from_array($attribs, 'insert');
-
-
- if(!strlen($insertString)) {
- throw new exception(__METHOD__ .": invalid insert string (". $insertString .")");
- }
- $sql = "INSERT INTO ". self::attrTable ." ". $insertString;
-
- try {
- $retval = $this->db->run_insert($sql, self::attrTableSeq);
- }
- catch(exception $e) {
- throw new exception(__METHOD__ .": failed to perform insert::: ". $e->getMessage() .' ---- '. $sql);
- }
-
- return($retval);
- }//end create_attrib()
- //-------------------------------------------------------------------------
-
-
-
- //-------------------------------------------------------------------------
- public function translate_attrib_name($name) {
- $retval = null;
- foreach($this->validTypes as $type) {
- if(preg_match('/^'. $type .'/', $name)) {
- $retval = 'a_'. $type;
- break;
- }
- }
-
- if(is_null($retval) || !strlen($retval)) {
- $this->gfObj->debug_print(__METHOD__ .": name was (". $name ."), retval=(". $retval .")",1);
- throw new exception(__METHOD__ .": invalid attribute name (". $name .")");
- }
-
- return($retval);
- }//end translate_attrib_name()
- //-------------------------------------------------------------------------
-
-}
-?>
\ No newline at end of file
Deleted: trunk/0.3/abstract/cs_gdlObject.abstract.class.php
===================================================================
--- trunk/0.3/abstract/cs_gdlObject.abstract.class.php 2010-06-15 02:10:54 UTC (rev 165)
+++ trunk/0.3/abstract/cs_gdlObject.abstract.class.php 2010-06-15 02:12:26 UTC (rev 166)
@@ -1,130 +0,0 @@
-<?php
-/*
- * Created on Jan 29, 2009
- *
- * FILE INFORMATION:
- *
- * $HeadURL$
- * $Id$
- * $LastChangedDate$
- * $LastChangedBy$
- * $LastChangedRevision$
- */
-
-abstract class cs_gdlObjectAbstract extends cs_webapplibsAbstract {
-
-
- const table='cswal_gdl_object_table';
- const tableSeq = 'cswal_gdl_object_table_object_id_seq';
-
- //-------------------------------------------------------------------------
- public function get_object_id_from_path($path) {
- $sql = "SELECT object_id FROM ". self::table ." WHERE object_path='".
- $this->clean_path($path) ."'";
-
- try {
- $data = $this->db->run_query($sql);
-
- if(is_array($data) && count($data) == 1) {
- $retval = $data['object_id'];
- }
- else {
- throw new exception(__METHOD__ .": invalid data for path (". $this->clean_path($path) .")::: ". $this->gfObj->debug_var_dump($data,0));
- }
- }
- catch(exception $e) {
- throw new exception(__METHOD__ .": error retrieving path::: ". $e->getMessage());
- }
-
- return($retval);
- }//end get_object_id_from_path()
- //-------------------------------------------------------------------------
-
-
-
- //-------------------------------------------------------------------------
- public function create_object($name, $data=null, $type=null) {
- $sql = "INSERT INTO ". self::table ." (object_name) VALUES ('".
- $this->gfObj->cleanString($this->clean_path($name), 'sql_insert') ."')";
- try {
- $retval = $this->db->run_insert($sql, self::tableSeq);
- }
- catch(exception $e) {
- throw new exception(__METHOD__ .": failed to perform insert::: ". $e->getMessage());
- }
-
- if(!is_null($data)) {
- throw new exception(__METHOD__ .": can't create data for objects yet");
- }
- return($retval);
- }//end create_object()
- //-------------------------------------------------------------------------
-
-
-
- //-------------------------------------------------------------------------
- public function build_object_id_list(array $objects) {
- $this->gfObj->switch_force_sql_quotes(1);
- $sql = "SELECT * FROM ". self::table ." WHERE object_name IN (".
- $this->gfObj->string_from_array($objects, null, ',', 'sql') .")";
- $this->gfObj->switch_force_sql_quotes(0);
-
- $retval = array();
- try {
- $retval = $this->db->run_query($sql, 'object_name', 'object_id');
- if(!is_array($retval)) {
- $retval = array();
- }
- }
- catch(exception $e) {
- //throw new exception(__METHOD__ .": failed to retrieve list");
- }
-
- return($retval);
- }//end build_object_id_list()
- //-------------------------------------------------------------------------
-
-
-
- //-------------------------------------------------------------------------
- public function build_object_name_list(array $objectIds) {
- $this->gfObj->switch_force_sql_quotes(1);
- $sql = "SELECT * FROM ". self::table ." WHERE object_id IN (".
- $this->gfObj->string_from_array($objectIds, null, ',', 'sql') .")";
- $this->gfObj->switch_force_sql_quotes(0);
-
- try {
- $retval = $this->db->run_query($sql, 'object_id', 'object_name');
- if(!is_array($retval)) {
- $retval = array();
- }
- }
- catch(exception $e) {
- throw new exception(__METHOD__ .": failed to retrieve list::: ". $e->getMessage());
- }
-
- return($retval);
- }//end build_object_id_list()
- //-------------------------------------------------------------------------
-
-
-
- //-------------------------------------------------------------------------
- public function create_objects_enmasse(array $objectList) {
- $retval = 0;
- foreach($objectList as $name) {
- try {
- $this->create_object($name);
- $retval++;
- }
- catch(exception $e) {
- //nothing to see here, move along.
- }
- }
- return($retval);
- }//end create_objects_enmasse()
- //-------------------------------------------------------------------------
-
-
-}
-?>
\ No newline at end of file
Deleted: trunk/0.3/abstract/cs_gdlPath.abstract.class.php
===================================================================
--- trunk/0.3/abstract/cs_gdlPath.abstract.class.php 2010-06-15 02:10:54 UTC (rev 165)
+++ trunk/0.3/abstract/cs_gdlPath.abstract.class.php 2010-06-15 02:12:26 UTC (rev 166)
@@ -1,126 +0,0 @@
-<?php
-/*
- * Created on Jan 29, 2009
- *
- * FILE INFORMATION:
- *
- * $HeadURL$
- * $Id$
- * $LastChangedDate$
- * $LastChangedBy$
- * $LastChangedRevision$
- */
-
-abstract class cs_gdlPathAbstract extends cs_gdlObjectAbstract {
-
-
- const table='cswal_gdl_path_table';
- const tableSeq = 'cswal_gdl_path_table_path_id_seq';
-
-
-
-
-
- //-------------------------------------------------------------------------
- public function create_path($path) {
- $idList = $this->create_path_objects($path);
- $pathIdList = $this->create_id_path($idList);
-
- if($this->get_path_from_idlist($pathIdList)) {
- $retval = $pathIdList;
- }
- else {
-
- $sql = "INSERT INTO ". self::table ." (path_id_list) VALUES ('". $pathIdList ."')";
-
- try {
- $insertedId = $this->db->run_insert($sql, self::tableSeq);
- $retval = $pathIdList;
- }
- catch(exception $e) {
- throw new exception(__METHOD__ .": unable to create path::: ". $e->getMessage());
- }
- }
-
- return($retval);
- }//end create_path()
- //-------------------------------------------------------------------------
-
-
-
- //-------------------------------------------------------------------------
- public function clean_path($path, $appendBase=true) {
- if(strlen($path)) {
- if($appendBase === true && !is_null($this->basePath)) {
- $path = $this->basePath .'/'. $path;
- }
- $newPath = preg_replace('/\/{2,}/', '/', $path);
-
- if(!strlen($newPath)) {
- throw new exception(__METHOD__ .": new path is zero-length (". $newPath ."), old path=(". func_get_arg(0) .")");
- }
- }
- else {
- throw new exception(__METHOD__ .": no valid path given (". $path .")");
- }
-
- return($newPath);
- }//end clean_path()
- //-------------------------------------------------------------------------
-
-
-
- //-------------------------------------------------------------------------
- public function set_base_path($path) {
- if(is_null($path) || !strlen($path)) {
- $this->basePath = null;
- }
- else {
- $this->basePath = $this->clean_path($path,false);
- }
- }//end set_base_path()
- //-------------------------------------------------------------------------
-
-
-
- //-------------------------------------------------------------------------
- public function explode_path($path, $appendBase=true) {
- $path = $this->clean_path($path, $appendBase);
- $path = preg_replace('/^\//', '', $path);
- $path = preg_replace('/\/$/', '', $path);
-
- return(explode('/', $path));
- }//end explode_path()
- //-------------------------------------------------------------------------
-
-
-
- //-------------------------------------------------------------------------
- public function create_id_path(array $idList) {
- $retval = ':'. $this->gfObj->string_from_array($idList, null, '::') .':';
- return($retval);
- }//end create_id_path()
- //-------------------------------------------------------------------------
-
-
-
- //-------------------------------------------------------------------------
- public function get_path_from_idlist($idPath) {
-
- $idList = explode('::', preg_replace('/^:/', '', preg_replace('/:$/', '', $idPath)));
-
- $nameList = $this->build_object_name_list($idList);
-
- $retval = "/";
- foreach($nameList as $id=>$name) {
- $retval = $this->gfObj->create_list($retval, $name, '/');
- }
-
- $retval = $this->clean_path($retval,false);
-
- return($retval);
- }//end get_text_path_from_id_path()
- //-------------------------------------------------------------------------
-
-}
-?>
\ No newline at end of file
Deleted: trunk/0.3/cs_genericDataLinker.class.php
===================================================================
--- trunk/0.3/cs_genericDataLinker.class.php 2010-06-15 02:10:54 UTC (rev 165)
+++ trunk/0.3/cs_genericDataLinker.class.php 2010-06-15 02:12:26 UTC (rev 166)
@@ -1,101 +0,0 @@
-<?php
-/*
- * Created on Oct 27, 2009
- *
- * THE IDEA:::
- * 1.) Unix/Linux-like paths lead to an attribute.
- * 2.) Multiple paths can lead to the same attribute.
- * 3.) An attribute can be linked to its original path.
- * 4.) Each "directory" in a path is an object with an ID.
- * 5.) Paths themselves are only stored on attributes: intermediate paths may be valid if all objects
- * for that path are also valid (i.e. if "/one/two/three" is valid, so is "/two/one/three" and "/three/two/one").
- * 6.) Database...
- * a.) finding an attribute referencing a single object should be straightforward and fast.
- * b.) objects are unique to avoid excess duplicate pathways
- * c.) using id paths with each number wrapped in colons is simple (i.e. ":3342:", ":3342::3::3:"
- *
- * The idea here is to have a class that generically links data together (in a
- * database). It is not meant to be a super clean or speedy system, instead meant
- * as a way of describing relationships between various pieces of data.
- *
- * Once a path is created (list object_id's, separated by '::'), it should always have an attribute.
- *
- *
- * 1::2::3 -> select * from <bla> WHERE path = '2' OR path like '2::%' OR path like '%::2'
- * -OR-
- * :1::2::3: -> select * from <bla> WHERE path like '%:2:%'
- *
- * If an attribute is created with a small path (like "/test") and the id is 1, the attribute shows ":1:"
- * --> if the id is 7720218, then the attribute shows ":7720218:"
- *
- *
- * SVN INFORMATION:::
- * -------------------
- * Last Author::::::::: $Author$
- * Current Revision:::: $Revision$
- * Repository Location: $HeadURL$
- * Last Updated:::::::: $Date$
- */
-
-
-
-class cs_genericDataLinker extends cs_gdlAttribAbstract {
-
- const attrTable='cswal_gdl_attribute_table';
- const attrTableSeq='cswal_gdl_attribute_table_attribute_id_seq';
-
- protected $validTypes = array('text', 'int', 'dec', 'bool');
- protected $gfObj;
- protected $basePath=null;
-
- public $db;
-
- //-------------------------------------------------------------------------
- public function __construct(cs_phpDB $db) {
-
- parent::__construct($db);
- if(!$db->is_connected()) {
- throw new exception(__METHOD__ .": database not connected");
- }
- $this->db = $db;
- $this->gfObj = new cs_globalFunctions;
- }//end __construct()
- //-------------------------------------------------------------------------
-
-
-
- //-------------------------------------------------------------------------
- public function create_path_objects($path) {
- $newPath = $this->clean_path($path);
- $newPath = preg_replace('/^\//', '', $newPath);
-
- //break it into bits.
- $bits = explode('/', $newPath);
-
- $myList = $this->build_object_id_list($bits);
- if(count($myList) !== count($bits)) {
- $createThese = array();
- foreach($bits as $name) {
- if(!isset($myList[$name])) {
- $createThese[] = $name;
- }
- }
- $this->create_objects_enmasse($createThese);
- $myList = $this->build_object_id_list($bits);
- }
-
- $retval = array();
- foreach($bits as $name) {
- $retval[$name] = $myList[$name];
- }
-
- if(is_null($retval) || !is_array($retval) || !count($retval)) {
- throw new exception(__METHOD__ .": failed to build path objects... ". $retval);
- }
-
- return($retval);
- }//end create_path_objects()
- //-------------------------------------------------------------------------
-}
-
-?>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|