Exemplo n.º 1
0
    def __init__(self):
        super().__init__("Cost", "cost",
                         urlparse("http://www.xes-standard.org/cost.xesext"))
        factory = XFactoryRegistry().current_default()

        self.ATTR_TOTAL = factory.create_attribute_continuous(
            "cost:total", 0.0, self)
        self.ATTR_CURRENCY = factory.create_attribute_literal(
            "cost:currency", "UNKNOWN", self)
        self.ATTR_AMOUNT = factory.create_attribute_continuous(
            "cost:amount", 0.0, self)
        self.ATTR_DRIVER = factory.create_attribute_literal(
            "cost:driver", "UNKNOWN", self)
        self.ATTR_TYPE = factory.create_attribute_literal(
            "cost:type", "UNKNOWN", self)

        self.get_trace_attributes().add(self.ATTR_TOTAL.clone())
        self.get_trace_attributes().add(self.ATTR_CURRENCY.clone())
        self.get_event_attributes().add(self.ATTR_TOTAL.clone())
        self.get_event_attributes().add(self.ATTR_CURRENCY.clone())
        self.get_event_attributes().add(self.ATTR_AMOUNT.clone())
        self.get_event_attributes().add(self.ATTR_DRIVER.clone())
        self.get_event_attributes().add(self.ATTR_TYPE.clone())

        XGlobalAttributeNameMap().register_mapping("EN", "cost:total",
                                                   "Total Cost")
        XGlobalAttributeNameMap().register_mapping("EN", "cost:currency",
                                                   "Currency of Cost")
        XGlobalAttributeNameMap().register_mapping("EN", "cost:amount",
                                                   "Cost Amount")
        XGlobalAttributeNameMap().register_mapping("EN", "cost:driver",
                                                   "Cost Driver")
        XGlobalAttributeNameMap().register_mapping("EN", "cost:type",
                                                   "Cost Type")
Exemplo n.º 2
0
 def __init__(self):
     super().__init__(
         "Concept", "concept",
         urlparse("http://www.xes-standard.org/concept.xesext"))
     factory = XFactoryRegistry().current_default()
     self.ATTR_NAME = factory.create_attribute_literal(
         "concept:name", "UNKNOWN", self)
     self.ATTR_INSTANCE = factory.create_attribute_literal(
         "concept:instance", "UNKNOWN", self)
     self.get_log_attributes().add(self.ATTR_NAME.clone())
     self.get_trace_attributes().add(self.ATTR_NAME.clone())
     self.get_event_attributes().add(self.ATTR_NAME.clone())
     self.get_event_attributes().add(self.ATTR_INSTANCE.clone())
     XGlobalAttributeNameMap().register_mapping("EN", "concept:name",
                                                "Name")
     XGlobalAttributeNameMap().register_mapping("EN", "concept:instance",
                                                "Instance")
     XGlobalAttributeNameMap().register_mapping("DE", "concept:name",
                                                "Name")
     XGlobalAttributeNameMap().register_mapping("DE", "concept:instance",
                                                "Instanz")
     XGlobalAttributeNameMap().register_mapping("FR", "concept:name",
                                                "Appellation")
     XGlobalAttributeNameMap().register_mapping("FR", "concept:instance",
                                                "Entité")
     XGlobalAttributeNameMap().register_mapping("ES", "concept:name",
                                                "Nombre")
     XGlobalAttributeNameMap().register_mapping("ES", "concept:instance",
                                                "Instancia")
     XGlobalAttributeNameMap().register_mapping("PT", "concept:name",
                                                "Nome")
     XGlobalAttributeNameMap().register_mapping("PT", "concept:instance",
                                                "Instância")
Exemplo n.º 3
0
    def __init__(self):
        super().__init__("Organizational", "org", urlparse("http://www.xes-standard.org/org.xesext"))
        factory = XFactoryRegistry().current_default()

        self.ATTR_RESOURCE = factory.create_attribute_literal("org:resource", "UNKNOWN", self)
        self.ATTR_ROLE = factory.create_attribute_literal("org:role", "UNKNOWN", self)
        self.ATTR_GROUP = factory.create_attribute_literal("org:group", "UNKNOWN", self)

        self.get_event_attributes().add(self.ATTR_RESOURCE.clone())
        self.get_event_attributes().add(self.ATTR_ROLE.clone())
        self.get_event_attributes().add(self.ATTR_GROUP.clone())
        XGlobalAttributeNameMap().register_mapping("EN", "org:resource", "Resource")
        XGlobalAttributeNameMap().register_mapping("EN", "org:role", "Role")
        XGlobalAttributeNameMap().register_mapping("EN", "org:group", "Group")
        XGlobalAttributeNameMap().register_mapping("DE", "org:resource", "Akteur")
        XGlobalAttributeNameMap().register_mapping("DE", "org:role", "Rolle")
        XGlobalAttributeNameMap().register_mapping("DE", "org:group", "Gruppe")
        XGlobalAttributeNameMap().register_mapping("FR", "org:resource", "Agent")
        XGlobalAttributeNameMap().register_mapping("FR", "org:role", "Rôle")
        XGlobalAttributeNameMap().register_mapping("FR", "org:group", "Groupe")
        XGlobalAttributeNameMap().register_mapping("ES", "org:resource", "Recurso")
        XGlobalAttributeNameMap().register_mapping("ES", "org:role", "Papel")
        XGlobalAttributeNameMap().register_mapping("ES", "org:group", "Grupo")
        XGlobalAttributeNameMap().register_mapping("PT", "org:resource", "Recurso")
        XGlobalAttributeNameMap().register_mapping("PT", "org:role", "Papel")
        XGlobalAttributeNameMap().register_mapping("PT", "org:group", "Grupo")
Exemplo n.º 4
0
 def __init__(self):
     super().__init__(
         "Lifecycle", "lifecycle",
         urlparse("http://www.xes-standard.org/lifecycle.xesext"))
     factory = XFactoryRegistry().current_default()
     self.ATTR_MODEL = factory.create_attribute_literal(
         "lifecycle:model", "standart", self)
     self.ATTR_TRANSITION = factory.create_attribute_literal(
         "lifecycle:transition", XLifecycleExtension.StandardModel.COMPLETE,
         self)
     self.get_log_attributes().add(self.ATTR_MODEL.clone())
     self.get_event_attributes().add(self.ATTR_TRANSITION.clone())
     XGlobalAttributeNameMap().register_mapping("EN", "lifecycle:model",
                                                "Lifecycle Model")
     XGlobalAttributeNameMap().register_mapping("EN",
                                                "lifecycle:transition",
                                                "Lifecycle Transition")
     XGlobalAttributeNameMap().register_mapping("DE", "lifecycle:model",
                                                "Lebenszyklus-Model")
     XGlobalAttributeNameMap().register_mapping("DE",
                                                "lifecycle:transition",
                                                "Lebenszyklus-Transition")
     XGlobalAttributeNameMap().register_mapping("FR", "lifecycle:model",
                                                "Modèle du Cycle Vital")
     XGlobalAttributeNameMap().register_mapping(
         "FR", "lifecycle:transition", "Transition en Cycle Vital")
     XGlobalAttributeNameMap().register_mapping("ES", "lifecycle:model",
                                                "Modelo de Ciclo de Vida")
     XGlobalAttributeNameMap().register_mapping(
         "ES", "lifecycle:transition", "Transición en Ciclo de Vida")
     XGlobalAttributeNameMap().register_mapping("PT", "lifecycle:model",
                                                "Modelo do Ciclo de Vida")
     XGlobalAttributeNameMap().register_mapping(
         "PT", "lifecycle:transition", "Transição do Ciclo de Vida")
Exemplo n.º 5
0
    def __init__(self):
        super().__init__(
            "Semantic", "semantic",
            urlparse("http://www.xes-standard.org/semantic.xesext"))
        factory = XFactoryRegistry().current_default()

        self.ATTR_MODELREFERENCE = factory.create_attribute_literal(
            "semantic:modelReference", "UNKNOWN", self)

        self.get_event_attributes().add(self.ATTR_MODELREFERENCE.clone())
        self.get_trace_attributes().add(self.ATTR_MODELREFERENCE.clone())
        self.get_log_attributes().add(self.ATTR_MODELREFERENCE.clone())
        self.get_meta_attributes().add(self.ATTR_MODELREFERENCE.clone())

        XGlobalAttributeNameMap().register_mapping("EN",
                                                   "semantic:modelReference",
                                                   "Ontology Model Reference")
        XGlobalAttributeNameMap().register_mapping("DE",
                                                   "semantic:modelReference",
                                                   "Ontologie-Modellreferenz")
        XGlobalAttributeNameMap().register_mapping(
            "FR", "semantic:modelReference", "Référence au Modèle Ontologique")
        XGlobalAttributeNameMap().register_mapping(
            "ES", "semantic:modelReference", "Referencia de Modelo Ontológico")
        XGlobalAttributeNameMap().register_mapping(
            "PT", "semantic:modelReference", "Referência de Modelo Ontológico")
Exemplo n.º 6
0
    class XExtensionHandler(ContentHandler):
        """SAX handler class for extension definition files.

        """
        def __init__(self):
            super().__init__()
            self.__extension = None
            self.__currentAttribute = None
            self.__xAttributes = None
            self.__factory = XFactoryRegistry().current_default()
            self.reset()

        def reset(self):
            """Resets the handler to initial state.

            """
            self.__extension = None
            self.__currentAttribute = None
            self.__xAttributes = None
            self.__factory = XFactoryRegistry().current_default()

        def get_extension(self):
            """Retrieves the parsed extension after parsing.

            :return: The parsed extension.
            :rtype: XExtension
            """
            return self.__extension

        def startElement(self, name, attributes):
            """ Overrides startElement in class ContentHandler

            :param name:  Contains the raw XML 1.0 name of the element type
            :type name: str
            :param attributes: An instance of the Attributes class containing
             the attributes of the element
            :type attributes: xml.sax.xmlreader.AttributesImpl
            """
            tag_name = name

            if tag_name.lower() == "xesextension":
                mapping = attributes.getValue("name")
                name = attributes.getValue("prefix")
                x_uri = parse.urlparse(attributes.getValue("uri"))
                try:
                    request.urlopen(attributes.getValue("uri"))
                except error.URLError:
                    return

                self.__extension = XExtension(mapping, name, x_uri)

            elif tag_name.lower() == "log":
                self.__xAttributes = self.__extension.get_log_attributes()
            elif tag_name.lower() == "trace":
                self.__xAttributes = self.__extension.get_trace_attributes()
            elif tag_name.lower() == "event":
                self.__xAttributes = self.__extension.get_event_attributes()
            elif tag_name.lower() == "meta":
                self.__xAttributes = self.__extension.get_meta_attributes()

            elif tag_name.lower() == "string":
                self.__xAttributes = self.__extension.get_log_attributes()
                mapping = self.__extension.get_prefix(
                ) + ':' + attributes.getValue("key")
                self.__currentAttribute = self.__factory.create_attribute_literal(
                    mapping, "DEFAULT", self.__extension)
                self.__xAttributes.add(self.__currentAttribute)

            elif tag_name.lower() == "date":
                self.__xAttributes = self.__extension.get_log_attributes()
                mapping = self.__extension.get_prefix(
                ) + ':' + attributes.getValue("key")
                self.__currentAttribute = self.__factory.create_attribute_timestamp(
                    mapping, 0, self.__extension)
                self.__xAttributes.add(self.__currentAttribute)

            elif tag_name.lower() == "int":
                self.__xAttributes = self.__extension.get_log_attributes()
                mapping = self.__extension.get_prefix(
                ) + ':' + attributes.getValue("key")
                self.__currentAttribute = self.__factory.create_attribute_discrete(
                    mapping, 0, self.__extension)
                self.__xAttributes.add(self.__currentAttribute)

            elif tag_name.lower() == "float":
                self.__xAttributes = self.__extension.get_log_attributes()
                mapping = self.__extension.get_prefix(
                ) + ':' + attributes.getValue("key")
                self.__currentAttribute = self.__factory.create_attribute_continuous(
                    mapping, 0.0, self.__extension)
                self.__xAttributes.add(self.__currentAttribute)

            elif tag_name.lower() == "boolean":
                self.__xAttributes = self.__extension.get_log_attributes()
                mapping = self.__extension.get_prefix(
                ) + ':' + attributes.getValue("key")
                self.__currentAttribute = self.__factory.create_attribute_boolean(
                    mapping, False, self.__extension)
                self.__xAttributes.add(self.__currentAttribute)

            elif tag_name.lower() == "id":
                self.__xAttributes = self.__extension.get_log_attributes()
                mapping = self.__extension.get_prefix(
                ) + ':' + attributes.getValue("key")
                self.__currentAttribute = self.__factory.create_attribute_id(
                    mapping, XIDFactory.create_id(), self.__extension)
                self.__xAttributes.add(self.__currentAttribute)

            elif self.__currentAttribute is not None and tag_name.lower(
            ) == "alias":
                mapping = attributes.getValue("mapping")
                name = attributes.getValue("name")
                XGlobalAttributeNameMap().register_mapping(
                    mapping, self.__currentAttribute.get_key(), name)

        def endElement(self, local_name):
            """ Overrides endElement in class ContentHandler

            :param local_name: The name of the element type, just as with the
              startElement event
            :type local_name: str
            """
            tag_name = local_name

            if tag_name.lower() in [
                    "string", "date", "int", "float", "boolean", "id"
            ]:
                self.__currentAttribute = None