<img alt="" src="https://secure.leadforensics.com/149263.png" style="display:none;">
hero wave

CodeLogic's Rich Client Advanced Filtering Techniques [Video]

Applications can easily be big and complicated. In this video, we show techniques for searching within your applications using the CodeLogic rich client based on Cytoscape.

Using filters in CodeLogic's rich client


Video Transcription


Hi Everyone, I’m Mark Boyd. I’m on the technical team here at CodeLogic and I wanted to show you some capability in the Cytoscape client.

I have loaded the application into Cytoscape. You can see that I have 14,579 nodes. That is elements in this application, just the java code elements. Let’s say I want to find java methods that have to do with a telemetry plugin.

How do I do that? Well, I can search and I can even search on a specific column. If you see the name column here, I can search on the name column by saying “name” “:” and then I could search for the plugin, but I don’t have a way to search for plugin and telemetry and know that it’s only on the java method type.

What do I do? Well, I could export the node table here to a spreadsheet, a comma delimited file, and try to come up with some regular expression searches to go find the telemetry and plugin, but I don’t have to. I can do it right here in CodeLogic Cytoscape client. Let’s look at how I can do that.

Filtering Capability

I use a thing called Filter over here on the left side. Click the little Filter button and I’m going to create a New filter. I’m going to call it “telemetry” and “plugin” and you can see you could make this generic. You’ll save these, but let’s do “telem plugin method.”

So, that’s a name I’m going to have. I’m going to say I want to add a column filter. I want to search on the name column or plugin and you can see as I’m typing you can see, it’s already going to work because this little check “Apply when filter changes” is checked. I’m going to turn that off for just a minute and I’m going to add another search, again on the name column. In this case I’m going to do “and” it could be “or”. I’m going to have “telem” and I want to include for the type of method. So, now if I say apply, it searches through my node table. Almost 15,000 nodes and shows me the three java methods that mentioned “plugin” and “telemetry.” I’m able to know in essence, I’m able to find the proverbial three needles in a haystack here.

Browser Client

Let’s say that I wanted to go look at this in the browser client. Let’s say this is the one, the service telemetry plugin is what I’m interested in, I can take this “did,” database id, copy this, go to the browser interface for CodeLogic, paste that database id in the search field and come right to that element that I identified in the Cytoscape client. Of course, now, calculate impact or whatever I want to do here in the browser interface. So, it’s easy to bring those results over.

You may have seen my colleague’s demo on Cytoscape. Once we identify these elements, I can select that element in this diagram. Somewhere in there there’s a little spike of yellow that is this method that I’ve identified. I’m going to add its neighbors by clicking this icon. So now I have one neighbor element.

Let’s go ahead and get some more. So now I get some more java elements. Let’s look at what that looks like in just that isolated network. Let’s redraw that in organic. So, now I have that one element and all of its related java code around it that I can go do more investigation on. Again, I now have this specific list of elements that I can export in a table and so on.

That’s it, I hope you found it helpful. This filtering capability is nicely documented in the Cytoscape manual and we will put a link to that point in the manual, this filter capability. We’ll put a link in the video comments for that Cytoscape manual. Have fun!

Click here to access the open-source documentation for Cytoscape.


Want to learn more?

Sign up for a free trial today.

Want to learn more about dependency mapping?

Browse Blog