GithubHelp home page GithubHelp logo

njord's Introduction

njord's People

Stargazers

Tomas Hajek avatar Aaron Forster avatar

Watchers

Aaron Forster avatar

Forkers

rabbitt

njord's Issues

Make NjordFileLocation work

To do this make NjordiRuleDefinition no longer hold the actual iRule but instead it's name. MainGuiWindow isn't going to download the rule and stuff it into a NjordiRule definition any longer but rather just get the list of iRules and take create NjordiRuleDefinitions off those? Either way NjordFileLocation is goiing to be the interface to get and write the iRules. NjordOutputStream will be created and NjordOutputStream.write() will be the method to save the iRule. Does this mean I need to write NjordInputStream as well or can I just have NjordFileLocation pull down the iRule when it's created? I'll start with that.

So instantiate NjordFileLocation with an iControl Interface. and an iRule name. Then it can get the iRule and create an OS of type NjordOutputStream which is instantiated with an iControlInterface? Then when NjordOutputStream.write() is called we save the OS?

We probably shouldn't create write() but rather only use write(String) to save the iRule.

NjordOutputStream isn't going to take a NjordiRule as an argument because NjordiRuleObject is going to have it's own OS as a variable? Actually NjordiRuleObject might go away completely.

Add some timing assertions to junit tests

Like certain actions take a certain amount of time. So that I can catch them when they take longer.

Dunno how to do this but figure it out.

Make sure to exclude the time connecting to the bigip from the timing.

Create an error submission dialog

Something that maybe sends an email or at least just opens a form they can fill out and then paste into the body of an email.
Decide how best to do it.

But I need to capture the specific version of Njord and of the BIGIP. Probably should get OS and some other thigns as well.

Confirm differences and add support for v9

Might put this off until 0.9 but might not. Figure out how far back I should support. I think iRuler supports as far back as 9.4 something. No reason I should do any different I don't think.

Highlight variables that have been declared

This might get pushed back to 1.0 but I think it's going to be reasonably simple.

At minimum I should be able to highlight Rules based on the fact that they all start with a $. enhancement

I probably shouldn't do the dynamic thing described here at all.

See this forum post here:
http://fifesoft.com/forum/viewtopic.php?f=11&t=693

But the short answer is update the document listener so that we check for variables defined with 'set ' then add all the instances of to a list of variables and update the key words list on our syntax scheme to highlight those.

I will probably need to figure out a good way to do it so we aren't parsing the entire document every time someone adds or deletes a letter. I can start that way but it will probably be pretty slow.

Add a 'delete iRule' button

Adding to 0.8 milestone so I won't have to update the number of iRules to look for every time I run junit tests.

Update iRule Navigation tree to reflect clean/dirty status of rule

Original TODO said to add a document listener but I found the ntexteditorPane (maybe just textEditorPane, not sure) which has clean/dirty status but loading the iRule into it is proving to be slightly more complex than I expected.

Original TODO: Add a document listener (See rSyntaxTextArea notes below on how) So that I can tell when a rule has been edited so I can tell that it has been edited and needs to be saved. Update the tree to show.

Saving some times doesn't update the gui at all

Pointing to a 10.2.2 machine when I hit save it changes the notifierpane to "Saving...." and then nothing. No feedback that it was successfull.

Pointing to an 11.1 instance however it seems to be updating it fine. Odd.

Potentially broken on Macintosh

Currently borked on Georges' mac. Not sure if it's borked on mac or some other issue. I'm definately not handling errors in building the tree correctly.

Hitting undo enough times will blank out the iRule contents completely.

rsyntaxtextarea's built in undo/redo function has an odd quirk. If you hit undo enough times it removes all the code in the screen. I think that might be 'undoing' the part where I stick the code into the text area. Make it not do that.

I might be able to fix this by loading the text then disabling undo and re-enabling undo. Ooh, in order to get undo to work properly I need to create a new ntextarea for each iRule. Hrmmm.... Let's add an nTextarea variable to NjordIruleObject and then when a rule is selected check that, if there's no ntexteditor create one and assign if there is then just load that. Then when you click off a rule you save the ntextarea instead of the text contents.

Add a heirarchy to the nav menu

Add a couple of other items in the nav menu like the ability to view the config files or something.

Make it RO for 0.8 open an enhancement to make it editable once this task is completed.

Relies on and elated to issue #19 have an "offline" section

Add a scroll bar when the script is too big for the page

See if that's a feature of TextEditorPane or if I need to do it in some default swing component.

I think I need to create a scrollpane and put the TextEditorPane inside it. I thought I was actually doing that. Anyway it isn't scrolling which makes editing large scripts awkward at best.

I'm reasonably certain this used to work.
Dunno how I would write a test case for this. Maybe There's a function to scroll left and right or up and down...

Connections settings menu shows defaults instead of pulling contents from config file

There's a bug/todo somewhere about the connection strings not being reflected when you save new ones and I just figured out why.

When you open the connection settings dialog it populates it with the defaults instead of the contents of the config file. Actual connecting will use the contents of the config but they aren't reflected to the user.

Expand F5ExceptionHandler's process Exception so that remote Exception deals with other types of remoteExceeption.

It looks like most errors that we get back are going to be of type RemoteException but they are very different errors.

Known types so far will be
A few types of connection errors.

Several different types of iRules errors including:
Trying to create an iRule that already exists.
Syntax error extra text after the closing bracket
Syntax error method not applicable for context
Syntax error when a method isn't understood because you haven't used it properly.

Is method not found coming back as a remote Exception? IE when we try and use a method like create_v2 on a version of BIGIP that predates the creation of that method.

Invalid Virtual Server Name
Error is an instance of class org.apache.axis.AxisFault
Processing Remote Exception
Error: 01070088:3: The requested object name (1A-Some FI For ActivityTestsLTM1) is invalid.
01070088:3: The requested object name (1A-Some FI For ActivityTestsLTM1) is invalid.

Error is an instance of class org.apache.axis.AxisFault
Processing Remote Exception
Error: 01020036:3: The requested virtual server (AAA-USP-SL1-PrimaryVirtualServerLTM2) was not found.
01020036:3: The requested virtual server (AAA-USP-SL1-PrimaryVirtualServerLTM2) was not found.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.