Skip to content

Commit

Permalink
Add VirtualMachine to object list.
Browse files Browse the repository at this point in the history
Change-Id: I600cae79b9c2a388c4d666957aa8539338b49651
Partial-Bug: #1767046
  • Loading branch information
danieljasinski committed May 10, 2018
1 parent 12df1ef commit 2c11207
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 3 deletions.
4 changes: 2 additions & 2 deletions o11nplugin-contrail-config/buildNumber.properties
@@ -1,3 +1,3 @@
#maven.buildNumber.plugin properties file
#Fri Apr 20 16:54:21 CEST 2018
buildNumber=1290
#Thu Apr 26 13:03:36 CEST 2018
buildNumber=1309
Expand Up @@ -17,6 +17,7 @@ val modelClasses = setOf(
the<NetworkPolicy>(),
the<SecurityGroup>(),
the<VirtualMachineInterface>(),
the<VirtualMachine>(),
the<ServiceInstance>(),
the<ServiceTemplate>(),
the<PortTuple>(),
Expand Down Expand Up @@ -110,9 +111,14 @@ val hiddenRoots = setOf(
val hiddenRelations = setOf(
pair<FloatingIp, Project>(),
pair<VirtualMachineInterface, PortTuple>(),
pair<VirtualMachineInterface, VirtualMachine>(),
pair<ServiceTemplate, ServiceApplianceSet>()
)

val relationAsProperty = setOf(
pair<VirtualMachineInterface, VirtualMachine>()
)

val reversedRelations = setOf(
pair<FloatingIp, VirtualMachineInterface>()
)
Expand Down Expand Up @@ -167,6 +173,12 @@ fun ObjectClass.isRelationEditable(child: ObjectClass) =
! child.isInternal &&
! nonEditableReference.containsUnordered(simpleName, child.simpleName)

fun Class<*>.isInPropertyRelationTo(child: Class<*>) =
relationAsProperty.contains(simpleName, child.simpleName)

private fun <T> Set<Pair<T, T>>.contains(first: T, second: T) =
contains(Pair(first, second))

private fun <T> Set<Pair<T, T>>.containsUnordered(first: T, second: T) =
contains(Pair(first, second)) || contains(Pair(second, first))

Expand Down
Expand Up @@ -5,6 +5,7 @@
package net.juniper.contrail.vro

import net.juniper.contrail.vro.config.backReferenceClass
import net.juniper.contrail.vro.config.isInPropertyRelationTo
import net.juniper.contrail.vro.config.refsPropertyPrefix
import net.juniper.contrail.vro.config.refsPropertySuffix
import net.juniper.contrail.vro.config.isInReversedRelationTo
Expand All @@ -30,5 +31,8 @@ val Method.referencePropertyClass get() =
referenceClass ?: backReferenceClass

val Method.isReferenceProperty get() =
referenceClass?.let { declaringClass.isInReversedRelationTo(it) } ?: false ||
referenceClass?.let {
declaringClass.isInReversedRelationTo(it) ||
declaringClass.isInPropertyRelationTo(it)
} ?: false ||
backReferenceClass?.let { !declaringClass.isInReversedRelationTo(it) } ?: false

0 comments on commit 2c11207

Please sign in to comment.