Axton,

Yea, the approach that the DFV example plugin took is one approach.
However I would think that externalizing (to the jar file) the images
would be a wiser approach anyway. Let's face it, web servers are
really good at pushing image files down to a browser. (And a DVF
content is really just a browser.)

IMHO, I would think that an "easier" approach would be to publish the
images on your Mid-Tier web server and skip A LOT of fairly complex
Java code too. It would also allow the Java developer to focus on
issues like how to let an end installer/user do customizations or
other "feature" based things too.  Sure it complicates the install a
bit, but that is a one time cost too.

Or you could opt to create an ARS form that the user can search and
pull the data out of the ARS API. (But that seems overly complicated
to me to.)

I guess you might even be able to embed images in an application
object's resources and "simply" point that the right Mid-Tier URL for
those resources to.

--
Carey Matthew Black
Remedy Skilled Professional (RSP)
ARS = Action Request System(Remedy)

Love, then teach
Solution = People + Process + Tools
Fast, Accurate, Cheap.... Pick two.


On 11/24/06, Axton <[EMAIL PROTECTED]> wrote:
** I found I have to use ClassLoader and create an input stream to the
desired file.  From there I can attach a reader, then use a writer to send
the contents to the response object.  Makes a framework for common tasks,
like accessing resource files, necessary.  Unfortunately BMC has slapped
copyrights with the labels 'proprietary' and 'confidential' on their 'free'
source code, meaning I will have to reinvent the wheel to write any 'free'
software.  It would have been logical to include this specific framework
(resource file handling) in the dv plugin architecture; maybe in the next
version.

Axton Grams

<snip>

> On 11/22/06, Axton <[EMAIL PROTECTED]> wrote:
> > ** I'm trying to write a dv plugin that contains resource files such as
> > images, js, etc.  I am unable to access the resources contained withing
the
> > dv plugin jar.  I've played with the PluginExample, but I can't find
what
> > I'm missing.  The layout of the jar file is this:
> >
> >      0 Tue Nov 21 19:17:10 EST 2006 META-INF/
> >     71 Tue Nov 21 19:17:10 EST 2006 META-INF/MANIFEST.MF
> >      0 Tue Nov 21 19:15:52 EST 2006 com/*
> >      0 Tue Nov 21 19:15:52 EST 2006 org/*
> > ...
> >      0 Tue Nov 21 19:16:36 EST 2006 resources/abc.js
> > ...
> >
> > In the dv plugin, I attempt to access the resources using the following:
> >
> >
> > public class BasePlugin implements Plugin {
> >
> >     public void init(PluginConfig config) {
> >     }
> >
> >     public void processRequest (PluginContext pc) throws IOException,
> > NoPermissionException {
> >         HttpServletResponse response = pc.getResponse();
> >         response.setContentType("text/html");
> >         response.setCharacterEncoding("UTF-8");
> >         PrintWriter writer = response.getWriter ();
> >         writer.println("<html><head>");
> >         writer.println("<script src=\""    +
> > pc.getPageService().getPluginContextURL() + "/resources/abc.js\"
> > type=\"text/javascript\"></script>");
> >         writer.println("<script>");
> >         writer.println("function onLoad() {");
> > ...
> >         writer.println("</script>");
> >         writer.println ("</head>");
> >         writer.println("<body onload=\"onLoad();\"
> > onresize=\"onResize();\">");
> > ...
> >         writer.println("</body></html>");
> >         }
> > ...
> > }
> >
> > No such luck.  With the PluginExample, after starting a mid-tier
session, I
> > am able to access the resource files contained within the plugin using
this
> > url structure:
> >
> >
http://localhost/arsys/plugins/PluginExample/resources/images/funny.gif
> >
> > When I try to do the same with my plugin, I get an ARERR3600.
> >
> > The app server logs show the following:
> >
> > Nov 22, 2006 4:29:20 PM - SEVERE ( com.remedy.log.DVMODULE) : (Thread
15)
> > Exception while processing
> > requestjava.lang.NullPointerException
> >     at
> >
org.arswiki.dvplugin.timeline.BasePlugin.processRequest(BasePlugin.java:64)
> >     at
> >
com.remedy.arsys.plugincontainer.impl.PluginServlet.postPluginInfo
> > (Unknown Source)
> >     at
> >
com.remedy.arsys.plugincontainer.impl.PluginContainer.doRequest(Unknown
> > Source)
> >     at
> >
com.remedy.arsys.stubs.GoatHttpServlet.postInternal(Unknown
> > Source)
> >     at com.remedy.arsys.stubs.GoatHttpServlet.doGet
> > (Unknown Source)
> >     at
> >
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> >     at
> >
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> >     at
> >
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> > (ApplicationFilterChain.java:252)
> >     at
> >
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> >     at
> > org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java
> > :213)
> >     at
> >
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> >     at
> > org.apache.catalina.core.StandardHostValve.invoke(
StandardHostValve.java:126)
> >     at
org.apache.catalina.valves.ErrorReportValve.invoke
> > (ErrorReportValve.java:105)
> >     at
> >
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:107)
> >     at
> >
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> >     at org.apache.coyote.http11.Http11Processor.process
> > (Http11Processor.java:869)
> >     at
> >
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
> >     at
> >
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java
> > :527)
> >     at
> >
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> >     at
> >
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java
:684)
> >     at java.lang.Thread.run (Unknown Source)
> >
> > Nov 22, 2006 4:29:20 PM - FINE (com.remedy.log.INTERNAL) : (Thread 15)
Throw
> > Error - 3600
> >
> >
> > Any insight is appreciated.
> >
> > Thanks,
> > Axton Grams

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org ARSlist:"Where the Answers 
Are"

Reply via email to