Namespace: OpenEdge.DataAdmin.Binding
Type: Class UserContext
Parent Classes:
Inherits: OpenEdge.DataAdmin.Binding.DataAdminContext
Implements: OpenEdge.DataAdmin.Binding.IDataAdminContext


/* Copyright (c) 2010-2013,2015 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.
Author(s):hdaniels
Created:Aug 2010



Method Summary
  Options Name Purpose
  LOGICAL CanFind (character)
  LOGICAL CanFind (character, character)
  CHARACTER ColumnExpression (character, character, character) /* Override to split id in name and domain We do remove @ from id for user with no domain in copyTables but not in ReadJson* so the record may have "<name>@' in buffer or Row.keyvalues before being copied into context, so it is safer to use name annd domain in expression than removing @ from id in this case (we do this in Find also ) (this was added to ensure this works when RowBuffer:NewContext calls GetWhere - GetWhere was fixed to call this) */
  CopyNewForTenant (character, table)
  CopyNewTableForParent (IRow, handle) /* called with tracking-changes */
  CopyTable (IDataAdminModel)
  CopyTable (table)
  CopyTable (table, character, character)
  CopyTableForParent (IRow, IDataAdminModel)
  OpenEdge.DataAdmin.IDataAdminCollection CreateCollection (IDataAdminContext)
  OpenEdge.DataAdmin.IDataAdminElement CreateEntity (IRequestInfo)
  OpenEdge.DataAdmin.Binding.Query.FilteredContext CreateFilteredContext (character) /** create default filteredcontext that also handles parent/keyvalue as filter. */
  OpenEdge.DataAdmin.Binding.Query.FilteredContext CreateFilteredContext (IRequestInfo) /** create default filteredcontext with requestinfo */
  OpenEdge.DataAdmin.Binding.Query.FilteredContext CreateFilteredContext (IRow, IRequestInfo)
  CreateRow (IDataAdminElement) /* method public override character GetServerJoinFields(parentid as char): case parentid: when "tenants" then return "Id,TenantId". end. return super:GetServerJoinFields(parentid). end. */
  CreateRow (IUser)
  CreateRow (IUser, character)
  DataRefreshed (IFetchResponse)
  LOGICAL Find (character)
  LOGICAL Find (character, character)
  CHARACTER FindExpression (character)
  CHARACTER GetCreateError (IUser)
  OpenEdge.DataAdmin.IDataAdminElement GetEntity (character) /* Override to deal with the fact that id is split into namer and domain on client */
  CHARACTER GetJoinFields (character)
  CHARACTER GetServerJoinFields (character)
  HANDLE InitDataset () /* temporary until all sub classes are using createDataset */
  InitRow (character) /** also used for name only - domain is then added later */
  ReadRowForParent (IRow, JSONObject)
  ReadRowForTenant (character, JSONObject)
  SplitId (character, character, character)
  ValidateBuffer (handle)

Constructor Summary
  Options Name Purpose
  UserContext ()
  UserContext (IIdentityScope) /* end constructor. */

Property Summary
  Options Name Purpose
  OpenEdge.DataAdmin.Binding.Factory.IContextFactory ContextFactory
  INTEGER Count
  CHARACTER KeyFields
  HANDLE TableHandle


Method Detail
Top

LOGICAL CanFind (character)

Parameters:
pid CHARACTER
 
Returns LOGICAL
 
Top

LOGICAL CanFind (character, character)

Parameters:
pid CHARACTER
 
pDomain CHARACTER
 
Returns LOGICAL
 
Top

CHARACTER ColumnExpression (character, character, character)

/* Override to split id in name and domain
We do remove @ from id for user with no domain in copyTables but not in
ReadJson* so the record may have "<name>@' in buffer or Row.keyvalues
before being copied into context, so it is safer to use name annd domain in expression than removing @ from id in this case
(we do this in Find also )
(this was added to ensure this works when RowBuffer:NewContext calls GetWhere
- GetWhere was fixed to call this)
Parameters:
pcColumn CHARACTER
 
pcOperator CHARACTER
 
pcValue CHARACTER
 
Returns CHARACTER
 
Top

CopyNewForTenant (character, table)

Parameters:
pcVal CHARACTER
 
copytable TABLE
 
Top

CopyNewTableForParent (IRow, handle)

/* called with tracking-changes
Parameters:
pRow OpenEdge.DataAdmin.Binding.IRow
 
phTbl HANDLE
 
Top

CopyTable (IDataAdminModel)

Parameters:
cntxt OpenEdge.DataAdmin.Binding.IDataAdminModel
 
Top

CopyTable (table)

Parameters:
copytable TABLE
 
Top

CopyTable (table, character, character)

Parameters:
copytable TABLE
 
pcType CHARACTER
 
pcValue CHARACTER
 
Top

CopyTableForParent (IRow, IDataAdminModel)

Parameters:
piRow OpenEdge.DataAdmin.Binding.IRow
 
cntxt OpenEdge.DataAdmin.Binding.IDataAdminModel
 
Top

OpenEdge.DataAdmin.IDataAdminCollection CreateCollection (IDataAdminContext)

Parameters:
cntxt OpenEdge.DataAdmin.Binding.IDataAdminContext
 
Returns OpenEdge.DataAdmin.IDataAdminCollection
 
Top

OpenEdge.DataAdmin.IDataAdminElement CreateEntity (IRequestInfo)

Parameters:
preq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

OpenEdge.DataAdmin.Binding.Query.FilteredContext CreateFilteredContext (character)

Purpose: create default filteredcontext that also handles parent/keyvalue as filter.
Parameters:
filter CHARACTER
 
Returns OpenEdge.DataAdmin.Binding.Query.FilteredContext
 
Top

OpenEdge.DataAdmin.Binding.Query.FilteredContext CreateFilteredContext (IRequestInfo)

Purpose: create default filteredcontext with requestinfo
Parameters:
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.Binding.Query.FilteredContext
 
Top

OpenEdge.DataAdmin.Binding.Query.FilteredContext CreateFilteredContext (IRow, IRequestInfo)

Parameters:
pparent OpenEdge.DataAdmin.Binding.IRow
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.Binding.Query.FilteredContext
 
Top

CreateRow (IDataAdminElement)

/*
method public override character GetServerJoinFields(parentid as char):
case parentid:
when "tenants" then
return "Id,TenantId".
end.
return super:GetServerJoinFields(parentid).
end.
Parameters:
entity OpenEdge.DataAdmin.IDataAdminElement
 
Top

CreateRow (IUser)

Parameters:
userImpl OpenEdge.DataAdmin.IUser
 
Top

CreateRow (IUser, character)

Parameters:
userImpl OpenEdge.DataAdmin.IUser
 
pcDomain CHARACTER
 
Top

DataRefreshed (IFetchResponse)

Parameters:
pResponse OpenEdge.DataAdmin.Message.IFetchResponse
 
Top

LOGICAL Find (character)

Parameters:
pid CHARACTER
 
Returns LOGICAL
 
Top

LOGICAL Find (character, character)

Parameters:
pid CHARACTER
 
pDomain CHARACTER
 
Returns LOGICAL
 
Top

CHARACTER FindExpression (character)

Parameters:
pusrid CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetCreateError (IUser)

Parameters:
userImpl OpenEdge.DataAdmin.IUser
 
Returns CHARACTER
 
Top

OpenEdge.DataAdmin.IDataAdminElement GetEntity (character)

/* Override to deal with the fact that id is split into namer and domain on client
Parameters:
pKey CHARACTER
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

CHARACTER GetJoinFields (character)

Parameters:
parentid CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetServerJoinFields (character)

Parameters:
parentid CHARACTER
 
Returns CHARACTER
 
Top

HANDLE InitDataset ()

/* temporary until all sub classes are using createDataset
Returns HANDLE
 
Top

InitRow (character)

Purpose: also used for name only - domain is then added later
Parameters:
pId CHARACTER
 
Top

ReadRowForParent (IRow, JSONObject)

Parameters:
pRow OpenEdge.DataAdmin.Binding.IRow
 
pjson Progress.Json.ObjectModel.JsonObject
 
Top

ReadRowForTenant (character, JSONObject)

Parameters:
pcVal CHARACTER
 
pjson Progress.Json.ObjectModel.JsonObject
 
Top

SplitId (character, character, character)

Parameters:
id CHARACTER
 
puser CHARACTER
 
pdomain CHARACTER
 
Top

ValidateBuffer (handle)

Parameters:
phUser HANDLE
 


Constructor Detail
Top

UserContext ()

Top

UserContext (IIdentityScope)

/* end constructor.
Parameters:
pscope OpenEdge.DataAdmin.Binding.Factory.IIdentityScope
 


Property Detail
Top

OpenEdge.DataAdmin.Binding.Factory.IContextFactory ContextFactory

Returns OpenEdge.DataAdmin.Binding.Factory.IContextFactory
 
Top

INTEGER Count

Returns INTEGER
 
Top

CHARACTER KeyFields

Returns CHARACTER
 
Top

HANDLE TableHandle

Returns HANDLE