Welcome to Telelogic Product Support
  Home Downloads Knowledgebase Case Tracking Licensing Help Telelogic Passport
Telelogic DOORS (steve huntington)
Decrease font size
Increase font size
Topic Title: Retrieving an Object, regardless of filter
Topic Summary:
Created On: 11-Jun-2008 17:47
Status: Post and Reply
Linear : Threading : Single : Branch
Search Topic Search Topic
Topic Tools Topic Tools
Quick Reply Quick Reply
Subscribe to this topic Subscribe to this topic
E-mail this topic to someone. E-mail this topic
Bookmark this topic Bookmark this topic
View similar topics View similar topics
View topic in raw text format. Print this topic.
 11-Jun-2008 17:47
User is offline View Users Profile Print this message


David Jakad

Posts: 94
Joined: 20-Jul-2007

One thing I find annoying is that many functions which return an Object, respect the current display set (filter). For example:

Object object(int AbsNo)
Object next(Object o)
Object previous(Object o)
Object first(Object o)
Object last(Object o)

These functions will return different Objects (and in some cases return null) based on the current display set.

So, when I really want the next Object (as it would appear with no filter), I often result to the "for object in entire(Module)" loop, something like:

Object getObject(int xDesired,Module xModule) {
Object xObject
for xObject in entire(xModule) do {
xAbsNo = xObject."Absolute Number"
if(xAbsNo==xDesired) return xObject
}
return null
}

This is less than ideal, becuase every time you want to get an object, you have to loop through the whole module. Now, I could probably use "filtering off" and "filtering on", but I'd rather not have to mess with the user's filter.

Is there a better way?
Report this to a Moderator Report this to a Moderator
 11-Jun-2008 20:01
User is offline View Users Profile Print this message


David Pechacek

Posts: 674
Joined: 5-Dec-2006

I don't believe so. Turning off the filter seems to be the only way. Or looping through the whole module. Unless there's an undocumented perm.

-------------------------
David Pechacek
AAI Services Textron
dpechacek@sc-aaicorp.com
David.Pechacek@gmail.com
Report this to a Moderator Report this to a Moderator
 11-Jun-2008 20:16
User is offline View Users Profile Print this message


ron lewis

Posts: 650
Joined: 20-Sep-2004

You can create a skip list of all objects then even if filtered you can go directly to your desired object by pulling it out of the skip list.
Report this to a Moderator Report this to a Moderator
 11-Jun-2008 21:28
User is offline View Users Profile Print this message


David Jakad

Posts: 94
Joined: 20-Jul-2007

I've thought of the skip list idea, although I haven't tried it yet. I'm a little bit concerned how much extra memory that might take. If I have a module with 30,000-40,000 objects.... how much memory would get gobbled up?

I've also thought of building a Skip list of DxlObjects, and in each DxlObject, storing all the data for each object, including ID, heading, text, attributes, etc. Then, you could retrieve any bit of info pretty quickly. If you didn't need to write to the module, you could load everything into the skip list, then close the module. But again, it seems to almost defeat the purpose of DOORS.... although maybe that is a good thing
Report this to a Moderator Report this to a Moderator
Statistics
20925 users are registered to the Telelogic DOORS forum.
There are currently 1 users logged in.
The most users ever online was 15 on 15-Jan-2009 at 16:36.
There are currently 0 guests browsing this forum, which makes a total of 1 users using this forum.
You have posted 0 messages to this forum. 0 overall.

FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.