Skip to content

Commit

Permalink
Update security scope validation
Browse files Browse the repository at this point in the history
Change-Id: Ice788f755462c23d28495de14a7ae23a99091f21
Closes-bug: #1788649
  • Loading branch information
IridiumOxide committed Aug 30, 2018
1 parent 32f219d commit 06897a1
Show file tree
Hide file tree
Showing 5 changed files with 593 additions and 15 deletions.
Expand Up @@ -260,6 +260,14 @@ public class ${className}
return formatter.format(this, __getTarget().${prop.methodName}(), "${prop.refObjectPluginType}");
}
</#list>

public String getNonDraftParentType() {
return util.nonDraftParentType(_internalId, __getTarget());
}

public String getNonDraftParentUuid() {
return util.nonDraftParentUuid(_internalId, __getTarget());
}
</#if>

<#list connectionFindClasses as clazz>
Expand Down
Expand Up @@ -12,6 +12,7 @@ import com.vmware.o11n.sdk.modeldriven.WrapperContext
import net.juniper.contrail.api.ApiObjectBase
import net.juniper.contrail.api.ApiPropertyBase
import net.juniper.contrail.api.ObjectReference
import net.juniper.contrail.api.types.PolicyManagement
import net.juniper.contrail.vro.config.isGetter
import net.juniper.contrail.vro.config.pluginName
import net.juniper.contrail.vro.config.propertyName
Expand Down Expand Up @@ -102,5 +103,18 @@ class WrapperUtil(val ctx: WrapperContext, val factory: IPluginFactory) {
declaredMethods.asList()
.filter { it.isGetter }
.map { Property(it.propertyName.capitalize(), it.returnType) }
}

fun <T : ApiObjectBase> nonDraftParentType(sid: Sid, obj: T): String? =
draftParent(sid, obj)?.parentType ?: obj.parentType

fun <T : ApiObjectBase> nonDraftParentUuid(sid: Sid, obj: T): String? =
draftParent(sid, obj)?.parentUuid ?: obj.parentUuid

private fun <T : ApiObjectBase> draftParent(sid: Sid, obj: T): PolicyManagement? {
val parentQN = obj.qualifiedName.dropLast(1)
val parentName = parentQN.lastOrNull()
if (obj.parentType != "policy-management" || parentName != "draft-policy-management")
return null
return findConnection(sid).findByFQN(parentQN.joinToString(":"))
}
}

0 comments on commit 06897a1

Please sign in to comment.