Re: Lookup & Search Redux

"Brian K. Wallace" <[email protected]> Sun, 07 May 2006 22:44:30 -0500
Newsgroups gmane.comp.ide.eclipse.spindle.devel
Organization Cross Helix
Message-ID <[email protected]>
This is true.

In thinking more on this from Spindle's POV, can you do less than treat
them the same as any other file? If there's a problem in a jar - even if
it's not "your responsibility"... if you're trying to use a component -
regardless of where it's defined - Spindle has to deal with it... right?
And knowing there's an error in component X in y.jar would let Spindle
inform the user "I know you're trying to use X, but it's bad".

Am I wrong in that thought?

[I think I'm getting back to your original "need to handle both" thought]

Brian

Geoff Longman wrote:
> Although, getting an underlier for a Resource in jar does have one
> general use: existence check.
>
> Geoff
>
> On 5/7/06, Geoff Longman <[email protected]> wrote:
>> I agree that recording errors on files in jars is unusual and not
>> normally done in an IDE.
>>
>> It is a useful tool to log the errors during my development. If
>> Spindle were to say, log an error on the Insert component, I would
>> instantly know there is a bug in Spindle!
>>
>> On another note, is there a 4.0.3 release of Tapestry in the works? I
>> think, but have to confirm, that the xml for Framework and Contrib may
>> have to be tweaked so my current Spindle work doesn't go down in
>> flames. Very minor stuff - mostly the avoidance of using some trival
>> Tap 4 features that I can't support yet (and may never support).
>>
>> Like I said it needs to be confirmed - don't want to start a panic.
>>
>> Geoff
>>
>> On 5/7/06, Brian K. Wallace <[email protected]> wrote:
>> > Geoff -
>> >
>> >   I'd propose not worrying at all about jars. If there's anything
>> at all
>> > wrong in there, it should be caught prior to being jar'ed up. At the
>> > point where files referred to are in jars, you're in a completely
>> > different realm.
>> >
>> >   My .02
>> >
>> > Brian
>> >
>> > Geoff Longman wrote:
>> > > Ok, I'm up to my ears in Search and Lookup again.
>> > >
>> > > Lookup is ok. I'm not looking to change it in any way.
>> > >
>> > > Search is a bit of a pain. As you recall Search was only going to be
>> > > used to find any Tapestry files in a project, regardless of their
>> > > visibility in a classpath like world. Search does not find
>> Resources,
>> > > it finds 'files'.
>> > >
>> > > I don't want to change that either. :-)
>> > >
>> > > Going forward I'll call it 'resource path' instead of classpath -
>> with
>> > > the understanding that a resource path works in the same way as
>> > > classpath*
>> > >
>> > > There are a few things that are complicated by this and I'm hoping
>> > > that a few simple changes can fix it.
>> > >
>> > > IProblemPeristManager, you provide an implementation that stores
>> > > problems related to a Tapestry file. However, currently the
>> interface
>> > > methods take Resources and I think this is wrong wrong wrong.
>> > >
>> > > Exactly which file a Resource refers to is not fixed. Changing the
>> > > resource path may mean a completely different file might be
>> picked up
>> > > instead.
>> > >
>> > > But I think it's important that when problems are persisted, they
>> are
>> > > persisted against real files and not Resources. User's work with
>> real
>> > > files and it does not make sense for an error marking to jump to a
>> > > different file just because the resource path changes. This might
>> > > introduce another problem - error on files that Tapestry would no
>> > > longer see - but I'm going to add a "rule for implementors' that
>> will
>> > > prevent this**.
>> > >
>> > >
>> > > So in the current code Search and ISearchAcceptor work on Objects
>> > >
>> > > I'm changing IProblemPeristManager to work with only
>> ITapestryProjects
>> > > and Objects too.
>> > >
>> > > So, what if all you have is a Resource and you want to record an
>> > > error? Luckily ICoreResource has the method getUnderlier(). When you
>> > > implement your Resource classes getUnderlier() is supposed to return
>> > > the underling file that the Resource represents.
>> > >
>> > > So I think that will work out ok.
>> > >
>> > > But, having these classes and interfaces work with Objects is a bit
>> > > clunky. Why not just uses java.io.File objects? Well, I don't
>> know how
>> > > IntelliJ represents source files but Eclipse does not used
>> > > java.io.Files! It uses org.eclipse.resources.IFile's for physical
>> > > files and another class altogether for files in jars.
>> > >
>> > > Since the decision to tie the core to JDK 1.5 was made a long time
>> > > ago, why not parameterize these interfaces and let the IDE
>> implementor
>> > > decide?
>> > >
>> > > This works fine for me an Eclipse as the is one super interface
>> > > (org.eclipse.resources.IStorage) that is the super interface of
>> IFile
>> > > and the jar file class.
>> > >
>> > > My question is: Does this paramterization Iimit you, Hugo? Is
>> there an
>> > > equivalent super interface in IntelliJ that can represent both a
>> > > physical file and one found in a jar?
>> > >
>> > > One could argue that it's pretty difficult to 'mark' a file in a jar
>> > > and it might also be argued that since one can't edit the file
>> anyway
>> > > why bother?
>> > >
>> > > Thoughts?
>> > >
>> > > Geoff
>> > >
>> > > *Works the same way as classpath in that some files may be hidden
>> > > depending on the structure of the classpath. The term 'Resource
>> path'
>> > > is more generic as there is no reason why the context resource path
>> > > may not be implemented in a classpathy way.
>> > >
>> > > **The rule is simple, if the resource path changes (context or
>> > > classpath), simply throw out any build state including any error
>> > > markings, and build again.
>> > > --
>> > > The Spindle guy. http://spindle.sf.net
>> > > Blog:                  http://jroller.com/page/glongman
>> > > Other interests:  http://www.squidoo.com/spaceelevator/
>> > >
>> > >
>> > > -------------------------------------------------------
>> > > Using Tomcat but need to do more? Need to support web services,
>> security?
>> > > Get stuff done quickly with pre-integrated technology to make
>> your job
>> > > easier
>> > > Download IBM WebSphere Application Server v.1.0.1 based on Apache
>> > > Geronimo
>> > > http://sel.as-us.falkag.net/sel?cmd=k&kid0709&bid&3057&dat1642
>> > > _______________________________________________
>> > > Spindle-developer mailing list
>> > > [email protected]
>> > > https://lists.sourceforge.net/lists/listinfo/spindle-developer
>> > >
>> >
>> >
>> > -------------------------------------------------------
>> > Using Tomcat but need to do more? Need to support web services,
>> security?
>> > Get stuff done quickly with pre-integrated technology to make your
>> job easier
>> > Download IBM WebSphere Application Server v.1.0.1 based on Apache
>> Geronimo
>> >
>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>> > _______________________________________________
>> > Spindle-developer mailing list
>> > [email protected]
>> > https://lists.sourceforge.net/lists/listinfo/spindle-developer
>> >
>>
>>
>> -- 
>> The Spindle guy. http://spindle.sf.net
>> Blog:                  http://jroller.com/page/glongman
>> Other interests:  http://www.squidoo.com/spaceelevator/
>>
>
>
> -- 
> The Spindle guy. http://spindle.sf.net
> Blog:                  http://jroller.com/page/glongman
> Other interests:  http://www.squidoo.com/spaceelevator/
>
>
> -------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job
> easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache
> Geronimo
> http://sel.as-us.falkag.net/sel?cmd=k&kid0709&bid&3057&dat1642
> _______________________________________________
> Spindle-developer mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/spindle-developer
>


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642