Code Duplication    Length = 45-47 lines in 2 locations

src/Repositories/AttributeLabelRepository.php 1 location

@@ 36-82 (lines=47) @@
33
 * @link      https://github.com/techdivision/import-attribute
34
 * @link      http://www.techdivision.com
35
 */
36
class AttributeLabelRepository extends AbstractRepository implements AttributeLabelRepositoryInterface
37
{
38
39
    /**
40
     * The prepared statement to load an existing EAV attribute label by its entity type ID, attribute code and store ID.
41
     *
42
     * @var \PDOStatement
43
     */
44
    protected $attributeLabelByEntityTypeIdAndAttributeCodeAndStoreIdStmt;
45
46
    /**
47
     * Initializes the repository's prepared statements.
48
     *
49
     * @return void
50
     */
51
    public function init()
52
    {
53
54
        // initialize the prepared statements
55
        $this->attributeLabelByEntityTypeIdAndAttributeCodeAndStoreIdStmt =
56
            $this->getConnection()->prepare($this->loadStatement(SqlStatementKeys::ATTRIBUTE_LABEL_BY_ENTITY_TYPE_ID_AND_ATTRIBUTE_CODE_AND_STORE_ID));
57
    }
58
59
    /**
60
     * Return's the EAV attribute label with the passed attribute code and store ID.
61
     *
62
     * @param integer $entityTypeId  The ID of the EAV entity attribute to return the label for
63
     * @param string  $attributeCode The attribute code of the EAV attribute label to return
64
     * @param integer $storeId       The store ID of the EAV attribute label to return
65
     *
66
     * @return array The EAV attribute label
67
     */
68
    public function findOneByEntityTypeIdAndAttributeCodeAndStoreId($entityTypeId, $attributeCode, $storeId)
69
    {
70
71
        // initialize the params
72
        $params = array(
73
            MemberNames::ENTITY_TYPE_ID => $entityTypeId,
74
            MemberNames::ATTRIBUTE_CODE => $attributeCode,
75
            MemberNames::STORE_ID       => $storeId
76
        );
77
78
        // load and return the EAV attribute label with the passed params
79
        $this->attributeLabelByEntityTypeIdAndAttributeCodeAndStoreIdStmt->execute($params);
80
        return $this->attributeLabelByEntityTypeIdAndAttributeCodeAndStoreIdStmt->fetch(\PDO::FETCH_ASSOC);
81
    }
82
}
83

src/Repositories/AttributeRepository.php 1 location

@@ 36-80 (lines=45) @@
33
 * @link      https://github.com/techdivision/import-attribute
34
 * @link      http://www.techdivision.com
35
 */
36
class AttributeRepository extends AbstractRepository implements AttributeRepositoryInterface
37
{
38
39
    /**
40
     * The prepared statement to load an existing EAV attribute by its entity type ID and attribute code.
41
     *
42
     * @var \PDOStatement
43
     */
44
    protected $attributeByEntityTypeIdAndAttributeCodeStmt;
45
46
    /**
47
     * Initializes the repository's prepared statements.
48
     *
49
     * @return void
50
     */
51
    public function init()
52
    {
53
54
        // initialize the prepared statements
55
        $this->attributeByEntityTypeAndAttributeCodeStmt =
56
            $this->getConnection()->prepare($this->loadStatement(SqlStatementKeys::ATTRIBUTE_BY_ENTITY_TYPE_ID_AND_ATTRIBUTE_CODE));
57
    }
58
59
    /**
60
     * Return's the EAV attribute with the passed entity type ID and code.
61
     *
62
     * @param integer $entityTypeId  The entity type ID of the EAV attribute to return
63
     * @param string  $attributeCode The code of the EAV attribute to return
64
     *
65
     * @return array The EAV attribute
66
     */
67
    public function findOneByEntityIdAndAttributeCode($entityTypeId, $attributeCode)
68
    {
69
70
        // initialize the params
71
        $params = array(
72
            MemberNames::ENTITY_TYPE_ID => $entityTypeId,
73
            MemberNames::ATTRIBUTE_CODE => $attributeCode
74
        );
75
76
        // load and return the EAV attribute with the passed params
77
        $this->attributeByEntityTypeAndAttributeCodeStmt->execute($params);
78
        return $this->attributeByEntityTypeAndAttributeCodeStmt->fetch(\PDO::FETCH_ASSOC);
79
    }
80
}
81