from django.db import models
from OSSEval.utils import xmlMinidom
class Entity(models.Model):
name = models.CharField(max_length=200)
actual_entity_class = models.CharField(max_length=200) #the class that implements the actual entity instance
actual_entity_app = models.CharField(max_length=200) #the app where the above classes are
def from_xml(self, xmldoc, insert = True):
if not insert:
self.id = xmlMinidom.getNaturalAttribute(xmldoc, 'Id')
self.name = xmlMinidom.getStringAttribute(xmldoc, 'Name')
self.actual_entity_class = xmlMinidom.getStringAttribute(xmldoc, 'ActualEntityClass')
self.actual_entity_app = xmlMinidom.getStringAttribute(xmldoc, 'ActualEntityApp')
# I save so I get the ID (if insert == True)
self.save()
def to_xml(self):
return '<Entity Id="' + str(self.id) + '" Name="' + self.name + '" ActualEntityClass="' + self.actual_entity_class + '" ActualEntityApp="' + self.actual_entity_app + '"/>'
def __str__(self):
return self.name
class SearchConfiguration(models.Model):
proxy_url = models.CharField(max_length=300)
proxy_port = models.CharField(max_length=10)
proxy_user = models.CharField(max_length=50)
proxy_password = models.CharField(max_length=50)
# active_search = quale classe implementa la entity corrente
# http://stackoverflow.com/questions/372042/difference-between-abstract-class-and-interface-in-python