Skip to content

Commit 3e86fdd

Browse files
José Ángel Galindo DuarteJosé Ángel Galindo Duarte
authored andcommitted
refactor(z3): re-export AttributeOptimization from core
The AttributeOptimization interface and OptimizationGoal now live in flamapy-fw; re-export them from the historical z3 interface path so existing imports keep working while both backends share a single interface.
1 parent 6e3bd7f commit 3e86fdd

1 file changed

Lines changed: 12 additions & 27 deletions

File tree

Lines changed: 12 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,12 @@
1-
from abc import abstractmethod
2-
from enum import Enum
3-
4-
from flamapy.core.operations import Operation
5-
from flamapy.metamodels.configuration_metamodel.models import Configuration
6-
from flamapy.metamodels.fm_metamodel.models import Attribute
7-
8-
9-
class OptimizationGoal(Enum):
10-
MAXIMIZE = 'Maximize'
11-
MINIMIZE = 'Minimize'
12-
13-
14-
class AttributeOptimization(Operation):
15-
"""This operation returns the configurations that optimize the given attribute(s)."""
16-
17-
@abstractmethod
18-
def __init__(self) -> None:
19-
pass
20-
21-
@abstractmethod
22-
def set_attributes(self, attributes: dict[Attribute, OptimizationGoal]) -> None:
23-
pass
24-
25-
@abstractmethod
26-
def optimize(self) -> list[Configuration]:
27-
pass
1+
"""Backward-compatible re-export.
2+
3+
``AttributeOptimization`` and ``OptimizationGoal`` now live in the core framework so
4+
that every backend shares one interface. This module keeps the historical import path
5+
``flamapy.metamodels.z3_metamodel.operations.interfaces.attribute_optimization`` working.
6+
"""
7+
from flamapy.core.operations.attribute_optimization import (
8+
AttributeOptimization,
9+
OptimizationGoal,
10+
)
11+
12+
__all__ = ["AttributeOptimization", "OptimizationGoal"]

0 commit comments

Comments
 (0)