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