123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272 |
- <?php
- /**
- * test_farm.class.inc.php
- * User defined objects, for unit testing - SQL generation oriented (complex links)
- *
- * @package iTopUnitTests
- * @author Romain Quetiez <romainquetiez@yahoo.fr>
- * @author Denis Flaven <denisflave@free.fr>
- * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
- * @link www.itop.com
- * @since 1.0
- * @version 1.1.1.1 $
- */
- ///////////////////////////////////////////////////////////////////////////////
- // Business implementation demo
- ///////////////////////////////////////////////////////////////////////////////
- //todo MetaModel::RegisterRelation("Potes", array("description"=>"ceux dont l'email ressemble au mien", "verb_down"=>"est pote de", "verb_up"=>"est pote de"));
- //todo MetaModel::RegisterZList("list1", array("description"=>"une premiere list, just for fun", "type"=>"attributes"));
- //todo MetaModel::RegisterZList("list2", array("description"=>"la secunda e meliora", "type"=>"attributes"));
- //todo MetaModel::RegisterZList("list3", array("description"=>"la variante qui tue", "type"=>"filters"));
- class Animal extends cmdbObject
- {
- public static function Init()
- {
- $aParams = array
- (
- "category" => "blah",
- "name" => "Animal",
- "description" => "An animal",
- "key_type" => "autoincrement",
- "key_label" => "",
- "name_attcode" => "",
- "state_attcode" => "",
- "reconc_keys" => array(""),
- "db_table" => "animals",
- "db_key_field" => "animalid",
- "db_finalclass_field" => "actualclass",
- );
- MetaModel::Init_Params($aParams);
- MetaModel::Init_AddAttribute(new AttributeEnum("sex", array("label"=>"sex", "description"=>"sex", "allowed_values"=>new ValueSetEnum('male, female'), "sql"=>"sex", "default_value"=>"male", "is_null_allowed"=>false, "depends_on"=>array())));
- MetaModel::Init_AddAttribute(new AttributeString("species", array("label"=>"species", "description"=>"species", "allowed_values"=>null, "sql"=>"species", "default_value"=>"xxx", "is_null_allowed"=>false, "depends_on"=>array())));
- MetaModel::Init_AddAttribute(new AttributeInteger("speed", array("label"=>"walk speed", "description"=>"maximum possible speed m.s-1", "allowed_values"=>null, "sql"=>"speed", "default_value"=>4, "is_null_allowed"=>false, "depends_on"=>array())));
- MetaModel::Init_AddAttribute(new AttributeExternalKey("mother", array("label"=>"mother", "description"=>"mother", "allowed_values"=>null, "sql"=>"mother", "targetclass"=>"Animal", "is_null_allowed"=>true, "depends_on"=>array())));
- MetaModel::Init_AddAttribute(new AttributeExternalKey("father", array("label"=>"father", "description"=>"father", "allowed_values"=>null, "sql"=>"father", "targetclass"=>"Animal", "is_null_allowed"=>true, "depends_on"=>array())));
- //MetaModel::Init_InheritFilters();
- MetaModel::Init_AddFilterFromAttribute("sex");
- MetaModel::Init_AddFilterFromAttribute("species");
- MetaModel::Init_AddFilterFromAttribute("speed");
- MetaModel::Init_AddFilterFromAttribute("mother");
- MetaModel::Init_AddFilterFromAttribute("father");
- }
- }
- class Mammal extends Animal
- {
- public static function Init()
- {
- $aParams = array
- (
- "category" => "blah",
- "name" => "Mammal",
- "description" => "An animal with some characteristics",
- "key_type" => "autoincrement",
- "key_label" => "",
- "name_attcode" => "name",
- "state_attcode" => "",
- "reconc_keys" => array(),
- "db_table" => "mammals",
- "db_key_field" => "mammalid",
- "db_finalclass_field" => "",
- );
- MetaModel::Init_Params($aParams);
- MetaModel::Init_InheritAttributes();
- MetaModel::Init_AddAttribute(new AttributeString("name", array("label"=>"name", "description"=>"name", "allowed_values"=>null, "sql"=>"name", "default_value"=>"xxx", "is_null_allowed"=>false, "depends_on"=>array())));
- MetaModel::Init_AddAttribute(new AttributeInteger("height", array("label"=>"height", "description"=>"size in centimeters", "allowed_values"=>null, "sql"=>"height", "default_value"=>1, "is_null_allowed"=>false, "depends_on"=>array())));
- MetaModel::Init_AddAttribute(new AttributeDate("birth", array("label"=>"birth date", "description"=>"birth date", "allowed_values"=>null, "sql"=>"birth", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
- MetaModel::Init_AddAttribute(new AttributeExternalKey("member", array("label"=>"member", "description"=>"leader", "allowed_values"=>null, "sql"=>"member", "targetclass"=>"Group", "is_null_allowed"=>true, "depends_on"=>array())));
- // ? MetaModel::Init_AddAttribute(new AttributeLinkedSet("a2a", array("label"=>"animal to animal", "description"=>"interanimal relations", "depends_on"=>array(), "linked_class"=>"Animal2animal", "ext_key_to_me"=>"animal1", "count_min"=>0, "count_max"=>10, "allowed_values"=>null)));
- MetaModel::Init_InheritFilters();
- MetaModel::Init_AddFilterFromAttribute("name");
- MetaModel::Init_AddFilterFromAttribute("height");
- MetaModel::Init_AddFilterFromAttribute("birth");
- MetaModel::Init_AddFilterFromAttribute("member");
- }
- }
- class Bird extends Animal
- {
- public static function Init()
- {
- $aParams = array
- (
- "category" => "blah",
- "name" => "Bird",
- "description" => "Un regroupement de gens",
- "key_type" => "autoincrement",
- "key_label" => "",
- "name_attcode" => "",
- "state_attcode" => "",
- "reconc_keys" => array(),
- "db_table" => "birds",
- "db_key_field" => "birdid",
- "db_finalclass_field" => "",
- );
- MetaModel::Init_Params($aParams);
- MetaModel::Init_InheritAttributes();
- MetaModel::Init_OverloadAttributeParams("species", array("allowed_values"=>array('geese', 'rooster', 'chicken', 'turckey', 'pie', 'corbeau')));
- MetaModel::Init_InheritFilters();
- }
- }
- class WalkingBird extends Bird
- {
- public static function Init()
- {
- $aParams = array
- (
- "category" => "blah",
- "name" => "WalkingBird",
- "description" => "A bird which nevers flies",
- "key_type" => "",
- "key_label" => "",
- "name_attcode" => "",
- "state_attcode" => "",
- "reconc_keys" => array(),
- "db_table" => "walkingbirds",
- "db_key_field" => "walkingbirdid",
- "db_finalclass_field" => "",
- );
- MetaModel::Init_Params($aParams);
- MetaModel::Init_InheritAttributes();
- MetaModel::Init_OverloadAttributeParams("species", array("allowed_values"=>array('geese', 'rooster', 'chicken', 'turckey')));
- MetaModel::Init_InheritFilters();
- }
- }
- class FlyingBird extends Bird
- {
- public static function Init()
- {
- $aParams = array
- (
- "category" => "blah",
- "name" => "FlyingBird",
- "description" => "A bird which nevers flies",
- "key_type" => "",
- "key_label" => "",
- "name_attcode" => "",
- "state_attcode" => "",
- "reconc_keys" => array(),
- "db_table" => "flyingbirds",
- "db_key_field" => "flyingbirdid",
- "db_finalclass_field" => "",
- );
- MetaModel::Init_Params($aParams);
- MetaModel::Init_InheritAttributes();
- MetaModel::Init_OverloadAttributeParams("species", array("allowed_values"=>array('pie', 'corbeau')));
- MetaModel::Init_AddAttribute(new AttributeInteger("flyingspeed", array("label"=>"flying speed", "description"=>"flying at ms.s-1", "allowed_values"=>null, "sql"=>"headcount", "default_value"=>10, "is_null_allowed"=>false, "depends_on"=>array())));
- MetaModel::Init_InheritFilters();
- MetaModel::Init_AddFilterFromAttribute("flyingspeed");
- }
- }
- class AnimalRelation extends cmdbObject
- {
- public static function Init()
- {
- $aParams = array
- (
- "category" => "blah",
- "name" => "AnimalRelation",
- "description" => "Link between two animals",
- "key_type" => "autoincrement",
- "key_label" => "",
- "name_attcode" => "",
- "state_attcode" => "",
- "reconc_keys" => array(),
- "db_table" => "a2a",
- "db_key_field" => "linkid",
- "db_finalclass_field" => "",
- );
- MetaModel::Init_Params($aParams);
- //MetaModel::Init_InheritAttributes();
- // What makes it being a link...
- MetaModel::Init_AddAttribute(new AttributeExternalKey("animal1", array("label"=>"source", "description"=>"the animal which does ...", "allowed_values"=>null, "sql"=>"a1", "targetclass"=>"Animal", "is_null_allowed"=>false, "depends_on"=>array())));
- MetaModel::Init_AddAttribute(new AttributeExternalKey("animal2", array("label"=>"target", "description"=>"the animal to which something is done...", "allowed_values"=>null, "sql"=>"a2", "targetclass"=>"Animal", "is_null_allowed"=>false, "depends_on"=>array())));
- //MetaModel::Init_InheritFilters();
- MetaModel::Init_AddFilterFromAttribute("animal1");
- MetaModel::Init_AddFilterFromAttribute("animal2");
- }
- }
- class EaterToEaten extends AnimalRelation
- {
- public static function Init()
- {
- $aParams = array
- (
- "category" => "blah",
- "name" => "EaterToEaten",
- "description" => "Animal 1 eats animal 2",
- "key_type" => "autoincrement",
- "key_label" => "",
- "name_attcode" => "",
- "state_attcode" => "",
- "reconc_keys" => array(),
- "db_table" => "eatertoeaten",
- "db_key_field" => "eatertoeatonid",
- "db_finalclass_field" => "",
- );
- MetaModel::Init_Params($aParams);
- MetaModel::Init_InheritAttributes();
- MetaModel::Init_AddAttribute(new AttributeEnum("DeadOrAlive", array("label"=>"DeadOrAlive", "description"=>"State in which it is ok for the eater to proceed", "allowed_values"=>new ValueSetEnum('dead, fresh, cooked'), "sql"=>"deadoralive", "default_value"=>"fresh", "is_null_allowed"=>false, "depends_on"=>array())));
- MetaModel::Init_InheritFilters();
- MetaModel::Init_AddFilterFromAttribute("DeadOrAlive");
- }
- }
- class Group extends cmdbObject
- {
- public static function Init()
- {
- $aParams = array
- (
- "category" => "blah",
- "name" => "Group",
- "description" => "Group of animals",
- "key_type" => "autoincrement",
- "key_label" => "",
- "name_attcode" => "name",
- "state_attcode" => "",
- "reconc_keys" => array(),
- "db_table" => "groups",
- "db_key_field" => "groupid",
- "db_finalclass_field" => "",
- );
- MetaModel::Init_Params($aParams);
- MetaModel::Init_InheritAttributes();
- MetaModel::Init_AddAttribute(new AttributeString("name", array("label"=>"name", "description"=>"name", "allowed_values"=>null, "sql"=>"name", "default_value"=>"xxx", "is_null_allowed"=>false, "depends_on"=>array())));
- MetaModel::Init_AddAttribute(new AttributeExternalKey("leader", array("label"=>"leader", "description"=>"leader", "allowed_values"=>null, "sql"=>"leader", "targetclass"=>"Mammal", "is_null_allowed"=>false, "depends_on"=>array())));
- MetaModel::Init_AddAttribute(new AttributeExternalField("leader_name", array("label"=>"Leader Name", "description"=>"Name of the leader (defined on Mammal)", "allowed_values"=>null, "extkey_attcode"=> 'leader', "target_attcode"=>"name")));
- MetaModel::Init_AddAttribute(new AttributeExternalField("leader_speed", array("label"=>"Leader Name", "description"=>"Speed of the leader (defined on Animal)", "allowed_values"=>null, "extkey_attcode"=> 'leader', "target_attcode"=>"speed")));
- MetaModel::Init_InheritFilters();
- MetaModel::Init_AddFilterFromAttribute("name");
- MetaModel::Init_AddFilterFromAttribute("leader");
- MetaModel::Init_AddFilterFromAttribute("leader_name");
- MetaModel::Init_AddFilterFromAttribute("leader_speed");
- }
- }
- ?>
|