Namespace: OpenEdge.DataAdmin
Class
TenantGroup
Parent classes:
Inherits: OpenEdge.DataAdmin.AbstractPartitionOwner
Implements: OpenEdge.DataAdmin.ITenantGroup

/* Copyright (c) 2011 by progress Software Corporation
/*
/* all rights reserved. no part of this program or document
/* may be reproduced in any form or by any means without
/* permission in writing from progress Software Corporation.
File:TenantGroup
Author(s):hdaniels
Created:Sat Jun 12 21:20:19 EDT 2010




Method Summary
Options Name Purpose
LOGICAL Allocate ()
AssertPartitions () /** /* Copy partition table as it cannot be imported with non-primary group index Copy tenantGroupMembers to support Delete of those not imported (CopyChildTable will replace "tenantGroupDetails" ) */ method public override void ImportTree(pcfile as char): define variable cntxt as TenantGroupContext no-undo. define variable reader as JSONLoader no-undo. reader = new JSONLoader(). cntxt = cast(Context,TenantGroupContext). mPartitionTable = cntxt:CreateImportTable("partitions"). mTenantGroupMembersTable = cntxt:CreateImportTable("tenantGroupMembers"). reader:LoadFromFile(this-object,pcfile,"replace"). /* destructor delete ds and auto deletes the tt */ cntxt:CopyChildTable("partitions",mPartitionTable). cntxt:CopyChildTable("tenantGroupMembers",mTenantGroupMembersTable). finally: delete object mPartitionTable no-error. delete object mTenantGroupMembersTable no-error. delete object reader no-error. end finally. end method. ***/
OpenEdge.DataAdmin.Binding.IDataAdminModel CreateLocalContext () /* local context needed - child collections */
Export () /* end method. */
ExportTree (character) /* /* write specified collections (default all) */ method public override void WriteTree(tree as IContextTree,pcCollections as char): define variable i as integer no-undo. define variable cntxt as TenantGroupContext no-undo. define variable cColl as character no-undo. define variable hCopy as handle no-undo. if not valid-object(Context) then do: cntxt = new TenantGroupContext(). Attach(cntxt). end. tree:SetHandle(SerializeName,mDefaultBuffer,mDefaultBuffer:rowid). do i = 1 to num-entries(pccollections): ccoll = entry(i,pccollections). case ccoll: when "partitions" then do: tree:SetJoin(SerializeName,"partitions","Name,TenantGroupName"). if valid-handle(mPartitionTable) then do: tree:SetHandle("partitions",mPartitionTable:default-buffer-handle). end. else do: Partitions:WriteTree(tree,""). end. end. when "tenantgroupmembers" then do: tree:SetJoin(SerializeName,"tenantGroupMembers","Name,TenantGroupName"). if valid-handle(mTenantGroupMembersTable) then do: tree:SetHandle("tenantGroupMembers",mTenantGroupMembersTable:default-buffer-handle). end. else do: TenantGroupMembers:WriteTree(tree). end. end. end. end. end method. */
ExportTree (character, character) /** override to get codewriter if .p and to handle collections for this */
CHARACTER GetCreateError ()
WriteTree (IContextTree)
WriteTree (IContextTree, character) /* write specified collections (default all) See override in ExportTree(file,collection) that deals with tenants versus TenantGroupMembers for .p */

Constructor Summary
Options Name Purpose
TenantGroup (character)
TenantGroup (character, DataAdminService)
TenantGroup (IDataAdminModel)
TenantGroup (IDataAdminModel, IRequestInfo)

Property Summary
Options Name Purpose
CHARACTER DefaultAllocation
OpenEdge.DataAdmin.IArea DefaultDataArea
OpenEdge.DataAdmin.IArea DefaultIndexArea
OpenEdge.DataAdmin.IArea DefaultLobArea
LOGICAL IsDataEnabled
OpenEdge.DataAdmin.ITable Table
OpenEdge.DataAdmin.ITenantGroupMemberSet TenantGroupMembers
OpenEdge.DataAdmin.ITenantSet Tenants


Method Detail
Top

LOGICAL Allocate ()

Returns LOGICAL
Top

AssertPartitions ()

Purpose:
/* Copy partition table as it cannot be imported with non-primary group index
Copy tenantGroupMembers to support Delete of those not imported
(CopyChildTable will replace "tenantGroupDetails" )
method public override void ImportTree(pcfile as char):
define variable cntxt as TenantGroupContext no-undo.
define variable reader as JSONLoader no-undo.
reader = new JSONLoader().
cntxt = cast(Context,TenantGroupContext).
mPartitionTable = cntxt:CreateImportTable("partitions").
mTenantGroupMembersTable = cntxt:CreateImportTable("tenantGroupMembers").
reader:LoadFromFile(this-object,pcfile,"replace"). LoadFromFile(this-object,pcfile,"replace").
/* destructor delete ds and auto deletes the tt
cntxt:CopyChildTable("partitions",mPartitionTable). CopyChildTable("partitions",mPartitionTable).
cntxt:CopyChildTable("tenantGroupMembers",mTenantGroupMembersTable). CopyChildTable("tenantGroupMembers",mTenantGroupMembersTable).
finally:
delete object mPartitionTable no-error.
delete object mTenantGroupMembersTable no-error.
delete object reader no-error.
end finally.
end method.
Top

OpenEdge.DataAdmin.Binding.IDataAdminModel CreateLocalContext ()

/* local context needed - child collections
Returns OpenEdge.DataAdmin.Binding.IDataAdminModel
Top

Export ()

/* end method.
Top

ExportTree (character)

/*
/* write specified collections (default all)
method public override void WriteTree(tree as IContextTree,pcCollections as char):
define variable i as integer no-undo.
define variable cntxt as TenantGroupContext no-undo.
define variable cColl as character no-undo.
define variable hCopy as handle no-undo.
if not valid-object(Context) then
do:
cntxt = new TenantGroupContext().
Attach(cntxt).
end.
tree:SetHandle(SerializeName,mDefaultBuffer,mDefaultBuffer:rowid). SetHandle(SerializeName,mDefaultBuffer,mDefaultBuffer:rowid).
do i = 1 to num-entries(pccollections):
ccoll = entry(i,pccollections).
case ccoll:
when "partitions" then
do:
tree:SetJoin(SerializeName,"partitions","Name,TenantGroupName"). SetJoin(SerializeName,"partitions","Name,TenantGroupName").
if valid-handle(mPartitionTable) then
do:
tree:SetHandle("partitions",mPartitionTable:default-buffer-handle). SetHandle("partitions",mPartitionTable:default-buffer-handle).
end.
else do:
Partitions:WriteTree(tree,""). WriteTree(tree,"").
end.
end.
when "tenantgroupmembers" then
do:
tree:SetJoin(SerializeName,"tenantGroupMembers","Name,TenantGroupName"). SetJoin(SerializeName,"tenantGroupMembers","Name,TenantGroupName").
if valid-handle(mTenantGroupMembersTable) then
do:
tree:SetHandle("tenantGroupMembers",mTenantGroupMembersTable:default-buffer-handle). SetHandle("tenantGroupMembers",mTenantGroupMembersTable:default-buffer-handle).
end.
else do:
TenantGroupMembers:WriteTree(tree). WriteTree(tree).
end.
end.
end.
end.
end method.
Parameters:
pcfile CHARACTER
Top

ExportTree (character, character)

Purpose: override to get codewriter if .p and to handle collections for this
Parameters:
pcfile CHARACTER
pcCollectionlist CHARACTER
Top

CHARACTER GetCreateError ()

Returns CHARACTER
Top

WriteTree (IContextTree)

Parameters:
tree OpenEdge.DataAdmin.Binding.IContextTree
Top

WriteTree (IContextTree, character)

/* write specified collections (default all)
See override in ExportTree(file,collection) that deals with tenants versus TenantGroupMembers for .p
Parameters:
tree OpenEdge.DataAdmin.Binding.IContextTree
pcCollections CHARACTER


Constructor Detail
Top

TenantGroup (character)

Parameters:
cname CHARACTER
Top

TenantGroup (character, DataAdminService)

Parameters:
cname CHARACTER
service OpenEdge.DataAdmin.DataAdminService
Top

TenantGroup (IDataAdminModel)

Purpose:
Notes:
Parameters:
cntxt OpenEdge.DataAdmin.Binding.IDataAdminModel
Top

TenantGroup (IDataAdminModel, IRequestInfo)

Parameters:
cntxt OpenEdge.DataAdmin.Binding.IDataAdminModel
preq OpenEdge.DataAdmin.IRequestInfo


Property Detail
Top

CHARACTER DefaultAllocation

Returns CHARACTER
Top

OpenEdge.DataAdmin.IArea DefaultDataArea

Returns OpenEdge.DataAdmin.IArea
Top

OpenEdge.DataAdmin.IArea DefaultIndexArea

Returns OpenEdge.DataAdmin.IArea
Top

OpenEdge.DataAdmin.IArea DefaultLobArea

Returns OpenEdge.DataAdmin.IArea
Top

LOGICAL IsDataEnabled

Returns LOGICAL
Top

OpenEdge.DataAdmin.ITable Table

Returns OpenEdge.DataAdmin.ITable
Top

OpenEdge.DataAdmin.ITenantGroupMemberSet TenantGroupMembers

Returns OpenEdge.DataAdmin.ITenantGroupMemberSet
Top

OpenEdge.DataAdmin.ITenantSet Tenants

Returns OpenEdge.DataAdmin.ITenantSet


Copyright © 2017 Progress Software Corporation. All rights Reserved.

Progress® OpenEdge® Release 11.7