nv-l
[Top] [All Lists]

[NV-L] Why is it that some symbols dont get added to the submap

To: <nv-l@lists.ca.ibm.com>
Subject: [NV-L] Why is it that some symbols dont get added to the submap
From: "Lakka, Rajesh Kumar" <Rajesh.Lakka@in.unisys.com>
Date: Wed, 20 Sep 2006 14:53:48 +0530
Delivery-date: Wed, 27 Sep 2006 15:03:56 +0100
Envelope-to: nv-l-archive@lists.skills-1st.co.uk
List-help: <mailto:nv-l-request@lists.ca.ibm.com?subject=help>
List-id: Tivoli NetView Discussions <nv-l.lists.ca.ibm.com>
List-post: <mailto:nv-l@lists.ca.ibm.com>
List-subscribe: <http://lists.ca.ibm.com/mailman/listinfo/nv-l>, <mailto:nv-l-request@lists.ca.ibm.com?subject=subscribe>
List-unsubscribe: <http://lists.ca.ibm.com/mailman/listinfo/nv-l>, <mailto:nv-l-request@lists.ca.ibm.com?subject=unsubscribe>
Reply-to: Tivoli NetView Discussions <nv-l@lists.ca.ibm.com>
Sender: nv-l-bounces@lists.ca.ibm.com
Thread-index: AcbclnqyeMIoEQxDTrqqk6SYAtsx6w==
Thread-topic: Why is it that some symbols dont get added to the submap

Dear NetView experts and group members,

My name is Rajesh. I am facing a peculiar problem here. I am developing a connector program for the Tivoli NetView 7.1.4

I am having 5 systems (computers) in the same network segment or different.
(192.168.ABC.).
 Let us say the hostnames of the 5 systems are as follows:
Work Station 1
Work Station 2
Work Station 3
Work Station 4
Work Station 5

 

All these 5 systems are discovered by netview and their nodes are displayed on the console.

I create a submap in my  own function :

 

CreateESubmap (){

int nnodes;

……..

……..

symbolId = OVwCreateSymbolBySelectionName (OVwGetMapInfo(),pSymbolList->symbols[i].submap_id,SubmapName,"Network:cpEServer",submapName,ovwNormalStatus,ovwCompoundStatusSource,                                                                        NULL, ovwMergeDefaultCapabilities);

 

objectId = OVwDbSelectionNameToObjectId (submapName);

submapId = OVwCreateSubmap (OVwGetMapInfo(),objectId,ovwSharedSubmap,ovwNoSubmapType,submapName,ovwBusLayout,ovwNoSubmapFlags);

 

//WHEN THE CODE REACHES HERE I CAN SEE THE SUBMAP IMAGE WITH THE NAME submapName IS SHOWN IN THE CONSOLE.

 

//Now I want to add symbols to the submap which is already created.

//I try to add these work stations to the submapName.Now I try
//to add all these 5 Work Stations to the submap.
//One Workstation at a time in this for loop

 

for(int i=0;i<4;i++){

            If(addcomponenttosubmap(submapid,objectId,workstation))

            {

            nnodes=nnodes+1

            }

 

 

}


 

 

The implementation of addcomponenttosubmap is illustrated below.



bool CNV_ESDiscoveryDlg::AddComponentToSubmap(OVwSubmapId  submapId,  CString Component)

{

            bool     bComponentAdded       = false;

            int                     i;

 

            LogMessage ("\nAddComponentToSubmap : Entrance");

 

 

            OVwObjectId                             objectId;

            OVwObjectIdList                       * pObjectIdList;

            OVwObjectInfo              * pObjectInfo;

 

            OVwSymbolId                           symbolId;

           

 

            OVwFieldBinding                       * pFieldValue;

 

            char                                          * pchHostname;

            char                                          nodeName[256];

 

            CString                                     ComponentName;

 

           

           

           

           

            ComponentName = Component;

           

            ComponentName.MakeUpper ();

 

            LogValue ("Component", ComponentName.GetBuffer(1));

 

            for (i = 0; i < MAX_OBJECTS; i++) {

                        m_objectList[i] = ovwNullObjectId;

            }

 

            pFieldValue = new OVwFieldBinding;

            pFieldValue->field_val = new OVwFieldValue;

            pFieldValue->field_id = OVwDbFieldNameToFieldId("EServer_sysName");

            pFieldValue->field_val->is_list = FALSE;

            pFieldValue->field_val->field_type = ovwStringField;

            pFieldValue->field_val->un.string_val = ComponentName.GetBuffer(1);

           

           

            pObjectIdList = OVwDbListObjectsByFieldValue(pFieldValue);   

            LogError("AddComponentTosubmap : OvwDbListObjectsByFieldValue");

           

 

            if (pObjectIdList != NULL) {

 

                        LogMessage ("Object list != NULL");

                        LogValue ("Object count", pObjectIdList->count);

                       

                        if (pObjectIdList->count > 0) {

                                    objectId = pObjectIdList->object_ids[0];

                                   

                                    pObjectInfo = OVwGetObjectInfo (OVwGetMapInfo(), objectId);

                                   

                                   

 

                                                                        symbolId =  OVwCreateSymbol (OVwGetMapInfo(),

                                                                                                                                                             submapId,

                                                                                                                                                             objectId,

                                                                                                                                                             "Computer:WinNT",

                                                                                                                                                              nodeName,

                                                                                                                                                              ovwNormalStatus,

                                                                                                                                                              ovwCompoundStatusSource,

                                                                                                                                                              NULL,

                                                                                                                                                              ovwMergeDefaultCapabilities);

                                                                        if (symbolId != ovwNullSymbolId) {

                                                                                    bComponentAdded = true;

                                                                                    //MessageBox(" MCP Componment Added ");

                                                                                    //MessageBox(nodeName);

                                                                        }

                                                                        else {

                                                                                    LogError ("AddComponentToSubmap OVwCreate Symbol");

                                                                        }

                                                           

 

                                   

                                                           

 

                                               

                                    }

 

                                   

                         

                       

            }

 

            delete pFieldValue->field_val;

            delete pFieldValue;

 

 

           

            return bComponentAdded;        

 

}   // AddComponentToSubmap

 

 

 

The problem I face is that a symbol gets added to the submap only when pObjectIdList->count > 0 is true only for WorkStation 2 and WorkStation 5. I can see these symbols under the submapName.

But for WorkStation 1 WorkStation 3 and WorkStation 4 the pObjectIdList->count > 0 is false so nothing gets added to the submapName.

 

Even though all the workstations are in the same network segment I am getting this problem.

 

If I put a OVwErrorMsg(OVwError()) after pObjectIdList = OVwDbListObjectsByFieldValue(pFieldValue) always I get the message “success “for all the 5 workstations. But after this pObjectIdList->count > 0 is false for WorkStation 1 WorkStation 3 and WorkStation 4.

 

 

Why pObjectIdList->count > 0 is false for WorkStation 1 WorkStation 3 and WorkStation 4?

Waiting for your response,

Thanking you,
Rajesh

_______________________________________________
NV-L mailing list
NV-L@lists.ca.ibm.com
Unsubscribe:NV-L-leave@lists.ca.ibm.com
http://lists.ca.ibm.com/mailman/listinfo/nv-l (Browser access limited to 
internal IBM'ers only)
<Prev in Thread] Current Thread [Next in Thread>

Archive operated by Skills 1st Ltd

See also: The NetView Web