Code Duplication    Length = 26-26 lines in 3 locations

src/POData/Providers/Metadata/SimpleMetadataProvider.php 3 locations

@@ 592-617 (lines=26) @@
589
     * @param string             $sourceProperty     The name of the property to add, on source type
590
     * @param string             $targetProperty     The name of the property to add, on target type
591
     */
592
    public function addResourceReferencePropertyBidirectional(
593
        ResourceEntityType $sourceResourceType,
594
        ResourceEntityType $targetResourceType,
595
        $sourceProperty,
596
        $targetProperty
597
    ) {
598
        $this->addReferencePropertyInternalBidirectional(
599
            $sourceResourceType,
600
            $targetResourceType,
601
            $sourceProperty,
602
            $targetProperty,
603
            '*',
604
            '1'
605
        );
606
        // verify resource property types are what we expect them to be
607
        $sourceResourceKind = $sourceResourceType->resolveProperty($sourceProperty)->getKind();
608
        assert(
609
            ResourcePropertyKind::RESOURCE_REFERENCE == $sourceResourceKind,
610
            '1 side of 1:N relationship not pointing to resource reference'
611
        );
612
        $targetResourceKind = $targetResourceType->resolveProperty($targetProperty)->getKind();
613
        assert(
614
            ResourcePropertyKind::RESOURCESET_REFERENCE == $targetResourceKind,
615
            'N side of 1:N relationship not pointing to resource set reference'
616
        );
617
    }
618
619
    /**
620
     * To add a navigation property (resource set or resource reference)
@@ 848-873 (lines=26) @@
845
     * @param string             $sourceProperty     The name of the property to add, on source type
846
     * @param string             $targetProperty     The name of the property to add, on target type
847
     */
848
    public function addResourceSetReferencePropertyBidirectional(
849
        ResourceEntityType $sourceResourceType,
850
        ResourceEntityType $targetResourceType,
851
        $sourceProperty,
852
        $targetProperty
853
    ) {
854
        $this->addReferencePropertyInternalBidirectional(
855
            $sourceResourceType,
856
            $targetResourceType,
857
            $sourceProperty,
858
            $targetProperty,
859
            '*',
860
            '*'
861
        );
862
        // verify resource property types are what we expect them to be
863
        $sourceResourceKind = $sourceResourceType->resolveProperty($sourceProperty)->getKind();
864
        assert(
865
            ResourcePropertyKind::RESOURCESET_REFERENCE == $sourceResourceKind,
866
            'M side of M:N relationship not pointing to resource set reference'
867
        );
868
        $targetResourceKind = $targetResourceType->resolveProperty($targetProperty)->getKind();
869
        assert(
870
            ResourcePropertyKind::RESOURCESET_REFERENCE == $targetResourceKind,
871
            'N side of M:N relationship not pointing to resource set reference'
872
        );
873
    }
874
875
    /**
876
     * To add a 1-1 resource reference.
@@ 885-910 (lines=26) @@
882
     * @param string             $sourceProperty     The name of the property to add, on source type
883
     * @param string             $targetProperty     The name of the property to add, on target type
884
     */
885
    public function addResourceReferenceSinglePropertyBidirectional(
886
        ResourceEntityType $sourceResourceType,
887
        ResourceEntityType $targetResourceType,
888
        $sourceProperty,
889
        $targetProperty
890
    ) {
891
        $this->addReferencePropertyInternalBidirectional(
892
            $sourceResourceType,
893
            $targetResourceType,
894
            $sourceProperty,
895
            $targetProperty,
896
            '1',
897
            '0..1'
898
        );
899
        // verify resource property types are what we expect them to be
900
        $sourceResourceKind = $sourceResourceType->resolveProperty($sourceProperty)->getKind();
901
        assert(
902
            ResourcePropertyKind::RESOURCE_REFERENCE == $sourceResourceKind,
903
            '1 side of 1:1 relationship not pointing to resource reference'
904
        );
905
        $targetResourceKind = $targetResourceType->resolveProperty($targetProperty)->getKind();
906
        assert(
907
            ResourcePropertyKind::RESOURCE_REFERENCE == $targetResourceKind,
908
            '0..1 side of 1:1 relationship not pointing to resource reference'
909
        );
910
    }
911
912
    /**
913
     * To add a complex property to entity or complex type.