You can subscribe to this list here.
| 2007 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(11) |
Jul
(10) |
Aug
|
Sep
(8) |
Oct
(2) |
Nov
(22) |
Dec
(2) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
(3) |
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Roberto M. <rob...@gm...> - 2008-03-07 13:12:46
|
Hi Peter, I looked at this and implemented a test that validates the generated XML. Regards, Roberto Peter Salomonsen wrote: > Hi Roberto, > > I've modified the jasper data source settings with the proper xpath > (searchResults/rows/row) in the scheduler job creator and the > reportservlet. > > Should we also add a unit test that verifies the produced xml so that > future changes are ensured to be compatible? > > regards, > > Peter |
|
From: Peter S. <co...@pe...> - 2008-03-05 12:39:02
|
Hi Roberto, I've modified the jasper data source settings with the proper xpath (searchResults/rows/row) in the scheduler job creator and the reportservlet. Should we also add a unit test that verifies the produced xml so that future changes are ensured to be compatible? regards, Peter |
|
From: Peter S. <co...@pe...> - 2008-01-21 09:37:29
|
Hi Roberto, This reference to MetaDataLogViewerApplet: * ((JCheckBoxMenuItem)((MetaDataLogViewerApplet)this.applet).getSettingsMenu().getMenuComponent(0)).setSelected(showLatestEntries); * gives me a problem - since I don't use the MetaDataLogViewerApplet. I have my own applet where I insert a MetaDataLogViewerPanel, and in some cases I don't even have a applet, but rather a JFrame. I have changed in the MetaDataLogViewerPanel, so that this now holds the reference to the settingsmenu, and also provides a direct getter for the checkbox menu item (in case we want to add other menu items in between in the future, we will not be fooled by the 0 index in getMenuComponent).. We should consider removing the MetaDataLogViewerApplet class, so that we avoid the "temptation" of referencing to it directly. It should really only serve as an example of how to put together an applet - nothing more. Maybe we could replace it and rather paste it in as a code example in the MetaDataLogViewerPanel javadoc? regards, Peter On Jan 14, 2008 6:22 AM, Roberto MIlev <rob...@gm...> wrote: > Hi Peter, > > I had a look at the bug. The reason this happened is because this applet > (metalog) does not have a checkbox from which the functionality can be > controlled. I fixed the bug and I have also committed the changes. I > tested it with hardcoded values (true and false), which I just set for > the value of the showLatestEntries variable. I assume that you will wire > the value to a checkbox that you have in you extended version of the > applet. > > Regards, > Roberto > > Peter Salomonsen wrote: > > > > > > On Jan 11, 2008 6:42 AM, Roberto MIlev <rob...@gm... > > <mailto:rob...@gm...>> wrote: > > > > Hi Peter, > > > > I have implemented that changes in order to perform the color > matching > > on the server side. I have not committed these changes yet, since > > I got > > no feedback from you on the existing code where color conditions are > > configured in the database columns and not change the java code. > > > > > > We haven't started using the color code yet - and I'd rather want to > > use this new version - read my answer to your question below - and > > then you can commit it. > > > > > > For the new implementation, if I got you right, you like a method > > like: > > getColourStringForValue(String value) that you will override in > other > > applications and generate color using scale with Java Code? I will > > provide an implementation of this interface for these concrete > > case. Is > > this ok? > > > > > > The getColourStringForValue method is only for the AirportWatch use > > case for coloring rows based on a temperature scale - and should not > > be part of the api. So this is up to you if you want to use such a > > method or concat the color value directly for the AirportWatch example > > use case. > > > > In our use case, we will use a formula api for creating the color > > strings - so the point is: the lmappletserver-addons apis should not > > bother about logic for matching values and calculating color values - > > it should only be able to color a row if such a value is set. see? > > > > ------------------ > > > > Another bug: > > > > I just modified MetaDataSearchExecutor, so that it uses the getLatest > > boolean from MetaDataSearchDTO. But I also see still that you're not > > able to save searches with latest = false, neither does the applet > > unhook the latest checkbox if I load a search that I've saved with > > latest=false. > > > > I've verified that the SearchManager.saveSearch() is correct, since I > > managed to save a search with latest=false using this method, but this > > doesn't work from the applet. Please have a look at this when done > > with the colors. > > > > ----------------- > > > > Your status? > > > > And, just for curiosity - what is your current working status right > > now? I know we're not filling your time 100% nowadays, so are you into > > other assignments? How do you find the current working scheme with us > > (is working hour by hour ok?) > > > > regards, > > > > Peter > > regards, > > > > Peter > > > > > |
|
From: Peter S. <co...@pe...> - 2008-01-18 09:17:01
|
Hi Roberto, (Jon) Forget about this previous request, I've now done my implementation using the existing setup with names as primary keys, and I'm quite happy with it as it is. In my application I use a custom PersistenceProvider ( javax.persistence.PersistenceProvider) on top of hibernate that intercepts the ejb sql generated by the SearchManagerBean, and rewrite the where part of the sql to apply my applications security constraints. In the name I concat a userid, showing that the search belongs to the specific user, works like a charm... regards, Peter On Jan 16, 2008 11:43 AM, Peter Salomonsen <co...@pe...> wrote: > Hi Roberto, (Jon) > > Today I see that search, report and schedule uses names as their primary > keys. In my application I want to join with these tables, since I want to > connect it to a user/customer table so they could have their own searches. > > Using strings as primary keys, two users could not have searches with the > same name, which could be confusing since they are not supposed to see each > others searches. I can solve this by inserting the userid in the search name > string - and I think it will work fine, but would not be the most beautiful > database design. > > I'm wondering about the consequences if we introduced a numeric primary > key for all these tables. Relations between search/report/schedule would > then have to be by numeric id - but would it have any other effects? Would > it be a bad idea to change this? > > regards, > > Peter > |
|
From: Peter S. <co...@pe...> - 2008-01-16 10:43:39
|
Hi Roberto, (Jon) Today I see that search, report and schedule uses names as their primary keys. In my application I want to join with these tables, since I want to connect it to a user/customer table so they could have their own searches. Using strings as primary keys, two users could not have searches with the same name, which could be confusing since they are not supposed to see each others searches. I can solve this by inserting the userid in the search name string - and I think it will work fine, but would not be the most beautiful database design. I'm wondering about the consequences if we introduced a numeric primary key for all these tables. Relations between search/report/schedule would then have to be by numeric id - but would it have any other effects? Would it be a bad idea to change this? regards, Peter |
|
From: Peter S. <co...@pe...> - 2007-12-12 11:09:27
|
---------- Forwarded message ---------- From: Peter Salomonsen <co...@pe...> Date: Dec 12, 2007 11:08 AM Subject: Re: CustomTableCellRenderer To: Roberto Milev <rob...@gm...>, lma...@li... Hi Roberto, Sorry for all the mess with the project files.. I had to recreate them for the web project - but it seems ok now. I've done a clean checkout from Netbeans, opened the AirportWatchProject and the subprojects (AirportWatch-ejb and AirportWatch-war), and then done "Clean and Build". I end up with the ear as attached. Then I do this: peter@powow:~/NetBeansProjects/openmam/AirportWatch$ /home/peter/glassfish-v2/bin/asadmin deploy /home/peter/NetBeansProjects/AirportWatch/dist/AirportWatch.ear Please enter the admin user name>admin Please enter the admin password>adminadmin Command deploy executed successfully with following warning messages: WARNING: (And then a lot of warnings......) Check it out now.. And see if it works. regards, Peter On Dec 11, 2007 7:46 PM, Peter Salomonsen <co...@pe...> wrote: > Hi Roberto, > > Seems like there's a mismatch with svn and my local copy.. I'll try to > figure out what it is and I'll come back to you tomorrow.. > > regards, > > Peter > > > On Dec 11, 2007 5:16 PM, Roberto Milev <rob...@gm...> wrote: > > > Hi Peter, > > > > I finally made the ear, now building is OK. However the database is now > > empty and I get null pointer exception error when running the applet (web or > > through launcher). I tried to call ImportServlet before, but the following > > exception occures: > > > > javax.servlet.ServletException: PWC1397: Wrapper cannot find servlet class openmam.examples.airportwatch.importer.ImportServlet or a class it depends on > > > > *root cause* > > > > java.lang.ClassNotFoundException > > > > > > > > : openmam.examples.airportwatch.importer.ImportServlet > > > > I opened the ear and the apropriate war, but there is no ImportServlet > > class in there. I think that something is wrong with the ant build. I > > checked the local build folder and the ImportServlet is not compiled either. > > Am I making some deploying mistake again or should I seek the problem and > > fix it? > > > > Regards, > > Roberto > > > > > > On Dec 11, 2007 1:09 AM, Peter Salomonsen <co...@pe... > > > wrote: > > > > > Hi Roberto, > > > > > > I've removed the capeclear webservice, cause I found problems with > > > it.. I'm now using a text file of stations that I parse from. The > > > temperatures however are live from NOAA.. > > > > > > I'm thinking that for this example, we could color the rows using the > > > temperature to pick a color on this scale... : > > > > > > http://upload.wikimedia.org/wikipedia/commons/thumb/0/0e/Color_temperature.svg/578px-Color_temperature.svg.png > > > > > > > > > Looking forward to see the colored example.. :) > > > > > > regards, > > > > > > Peter > > > > > > > > > On Dec 11, 2007 4:23 AM, Roberto MIlev < rob...@gm... > > > > wrote: > > > > > > > Hi Peter, > > > > > > > > I am currently looking into that. I will let you know once I commit > > > > the > > > > changes. > > > > > > > > Regards, > > > > Roberto > > > > > > > > Peter Salomonsen wrote: > > > > > Hi Roberto, > > > > > > > > > > Have you committed to the Airport-Watch project too? I couldn't > > > > see > > > > > that you've done that... > > > > > > > > > > regards, > > > > > > > > > > Peter > > > > > > > > > > On Dec 10, 2007 8:34 AM, Roberto MIlev < rob...@gm... > > > > > <mailto:rob...@gm...>> wrote: > > > > > > > > > > Hi Peter, > > > > > > > > > > Please note that all the requested changed are implemented and > > > > > > > > > committed. > > > > > > > > > > Regards, > > > > > Roberto > > > > > > > > > > Peter Salomonsen wrote: > > > > > > > > > > > > > > > > > > On Dec 5, 2007 5:26 AM, Roberto MIlev < > > > > rob...@gm... > > > > > <mailto:rob...@gm...> > > > > > > <mailto: rob...@gm... > > > > > <mailto:rob...@gm...>>> wrote: > > > > > > > > > > > > Hi Peter, > > > > > > > > > > > > The row painting capability is done on the eclipse svn > > > > project. > > > > > > You can > > > > > > test the capability by adding the following row to > > > > database: > > > > > > > > > > > > > > > > > > You can actually use eclipse or netbeans for > > > > lmappletserver-addons, > > > > > > I've also committed netbeans-project settings.. Whatever > > > > works > > > > > best.. > > > > > > > > > > > > > > > > > > > > > > > > insert into > > > > > > > > > > > > > > > `metadata`(`meta_id`,`name`,`context`,`priority`,`dataType`,`object_class_name`,`created`,`updated`,`searchProperty`,`numericValue`) > > > > > > > > > > > > > > > > > > > > > values (1016,'1006=3309:#FF00FF[Test]','',10,'',' > > > > > > > > > > > com.lightminds.appletserver.examples.metalog.Vehicle','2006-01-31 > > > > > > > > > > 12:06:14','2006-01-31 12:06:14','','\0') > > > > > > > > > > > > or edit existing metadata name by setting the conditions > > > > and its > > > > > > existing name like: 1006=3309:#FF00FF[speed] > > > > > > > > > > > > > > > > > > Very good. I found a small weakness by placing the text > > > > inside the > > > > > > brackets, since you won't be able to search the text unless > > > > the > > > > > field > > > > > > starts with it. Maybe we could change the format so that it > > > > is: > > > > > > Test[1006=3309:#FF00FF] ?? > > > > > > > > > > > > > > > > > > The painting is done row by row as you requested, > > > > however > > > > > during > > > > > > development I noticed that it might be useful if it is > > > > done > > > > > cell by > > > > > > cell. I made a TODO comment in CustomTableCellRenderer > > > > class > > > > > where you > > > > > > can change this behavior. > > > > > > > > > > > > > > > > > > At this moment I want to color the whole row. BTW. I can > > > > still see > > > > > > that the hardcoded color setting when "valuetocheck" equals > > > > "". > > > > > Maybe > > > > > > this should be removed now? > > > > > > > > > > > > > > > > > > For the netbeans project, I get the following error when > > > > calling > > > > > > dist on > > > > > > the projects ant: > > > > > > > > > > > > > > > > > > Seems like the web service reference has to be refreshed > > > > every time > > > > > > the project is loaded onto a new machine. Inside the > > > > > AirportWatch-war > > > > > > subproject, expand web service references and right click > > > > on the > > > > > > GlobalWeather reference. Choose "refresh client". > > > > > > > > > > > > now ant dist should work. > > > > > > > > > > > > regards, > > > > > > > > > > > > Peter > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Peter Salomonsen wrote: > > > > > > > > > > > > > > > > > > > > > On Dec 2, 2007 8:13 PM, Roberto MIlev < > > > > > rob...@gm... <mailto: rob...@gm...> > > > > > > <mailto:rob...@gm... > > > > > <mailto: rob...@gm... >> > > > > > > > <mailto: rob...@gm... > > > > > <mailto:rob...@gm... > > > > > > > <mailto: rob...@gm... > > > > > <mailto:rob...@gm...>>>> wrote: > > > > > > > > > > > > > > Hi Peter, > > > > > > > > > > > > > > I think that's a great idea, will add a metadata > > > > > column with > > > > > > data type > > > > > > > bgcolor (for example) and value like > > > > "1006=3309:red" or > > > > > > > "1006=3309:#3366aa". It is easy to implement and > > > > > maintain. I > > > > > > think > > > > > > > this > > > > > > > is the simplest yet efficient way. Can I start > > > > > implementing it? > > > > > > > > > > > > > > > > > > > > > Yes. I suppose you then mean the format: > > > > > MetadataID=Value:Color, > > > > > > and > > > > > > > these columns has a bgcolor datatype. This should > > > > color > > > > > the entire > > > > > > > row. In order to display some text - for the actual > > > > column > > > > > that it > > > > > > > creates, I also suggest that you can add this: > > > > > > > > > > > > > > MetaDataID=Value:Color[CustomText] > > > > > > > > > > > > > > an example: > > > > > > > > > > > > > > 1006=3309:#3366aa[Break in attempt] > > > > > > > > > > > > > > > > > > > > > I deployed the AirportWatch project but there are > > > > no > > > > > pages like > > > > > > > metalog, > > > > > > > should I put them my self in the project locally? > > > > > > > > > > > > > > > > > > > > > If you have run "ant dist" on the project root (which > > > > is > > > > > > > > > > > > > > > > > > > > > > https://openmam.svn.sourceforge.net/svnroot/openmam/examples/AirportWatch/ > > > > > > < > > > > > https://openmam.svn.sourceforge.net/svnroot/openmam/examples/AirportWatch/ > > > > >), > > > > > > > you should have got a "dist" folder that contains > > > > > AirportWatch.ear. > > > > > > > This file should then contain AirportWatch-war.war and > > > > > other ejb jar > > > > > > > files (AirportWatch, lmappletserver-addons ++).. The > > > > war > > > > > archive > > > > > > > contains a metalog applet in index.jsp - so there > > > > should > > > > > be no need > > > > > > > for you to add any additional pages. I don't know why > > > > you > > > > > don't find > > > > > > > this - but could you tell me how you deployed the > > > > project, > > > > > and I'll > > > > > > > try to sort out what might be wrong.. > > > > > > > > > > > > > > regards, > > > > > > > > > > > > > > Peter > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > Regards, > > Roberto Milev > > > |
|
From: Roberto M. <rob...@gm...> - 2007-12-02 19:14:05
|
Hi Peter,
I think that's a great idea, will add a metadata column with data type
bgcolor (for example) and value like "1006=3309:red" or
"1006=3309:#3366aa". It is easy to implement and maintain. I think this
is the simplest yet efficient way. Can I start implementing it?
I deployed the AirportWatch project but there are no pages like metalog,
should I put them my self in the project locally?
Regards,
Roberto
Peter Salomonsen wrote:
> Hi Roberto,
>
> Your concern about the complexity and performance is very important.
> The suggested xml would solve the case, but as you say would lay very
> heavy processing on the client. Another concern is that I just
> remembered that the xml parser is not default in java 1.5 (comes with
> java6), which also means that the applets will be much larger (xml
> parsing libraries are big). We still have to support java5 since java6
> is not yet supported by default in Mac OSX.
>
> At this point my need is to be able to set a criteria for one column,
> and it's sufficient that the string matches - so I don't really need
> at this point the possibility to match complex conditions. Could maybe
> be solved using a properties file, but if we then in the future
> decides to go for more complex matches, xml is a much better
> configuration scheme.
>
> Another way, that I just thought about is to put the logic for setting
> colors on the server, and rather introduce a MetaDataType just like
> the media column, but instead let the value be a color. Just like you
> recognize multimedia columns, you'd then recognize a "color column"
> and use the information from this to set the color of the row. How do
> you think this would work?
>
> regards,
>
> Peter
>
> On Nov 29, 2007 6:43 PM, Roberto Milev <rob...@gm...
> <mailto:rob...@gm...>> wrote:
>
> Hi Peter,
>
> Making a configuration file like this:
>
> <color-renderer>
> <metadata-id priority="1">
> <id>1006</id>
> <condition>
> <value>3309</value>
> <relation>eq</relation>
> <color>red</color>
> </condition>
> <condition>
> <value>3310</value>
> <relation>eq</relation>
> <color>red</color>
> </condition>
> <combine-type>or</combine-type>
> </metadata-id>
> <metadata-id priority="1">
> <id>1006</id>
> <condition>
> <value>3300</value>
> <relation>gt</relation>
> <color>yellow</color>
> </condition>
> <condition>
> <value>3310</value>
> <relation>lt</relation>
> <color>yellow</color>
> </condition>
> <combine-type>and</combine
> -type>
> </metadata-id>
> <metadata-id priority="1">
> <id>1006</id>
> <condition>
> <value>3300</value>
> <relation>lt</relation>
> <color>blue</color>
> </condition>
> <condition>
> <value>3310</value>
> <relation>gt</relation>
> <color>green</color>
> </condition>
> <combine-type>none</combine-type>
> </metadata-id>
> </color-renderer>
>
> would solve all possibilities for making a complicated conditions,
> for example this xml file sets the row color to red if its 1006
> column has value of 3309 or 3310, yellow if the column value is in
> range of 3300 to 3310, green if value is greater than 3310 or blue
> if less than 3300, where the exact value ("eq" relation condition)
> has superiority when setting the color if two conditions overlap.
> If another metadataId is compared, then superiority will be given
> to the metadataId containing greater priority attribute in the
> config file. A static method (getting all row values in a list)
> will be created that will decide and return what color should be
> used for the row. The only thing that concerns me here is the
> speed of the application when big conditions are created, or there
> are a lot of table rows, because the color checking operation will
> be performed for each row.
>
> Regards,
> Roberto
>
>
> On Nov 29, 2007 3:41 AM, Peter Salomonsen <
> co...@pe... <mailto:co...@pe...>>
> wrote:
>
> Hi Roberto,
>
> The basic need is to be able to set a color for the entire row
> based on a value in a column. So the configuration would
> basically be to set a metadata-id, and set a criteria for
> matching a value. You should be able to set up multiple
> criterias that each assigns to a separate color for the entire
> row.
>
> I've done some thinking and found that it's possibly better to
> skip the idea of having custom renderers. In the future we can
> look at possibilities for referencing custom rendereres in the
> defaultrenderer config file. But until then you can put the
> color-config logic and the mms play buttons in the default
> renderer. So we'll just use the current CustomRenderer as a
> default renderer.
>
> Would you start looking at a color configuration like
> described above?
>
> regards,
>
> Peter
>
>
> On Nov 28, 2007 5:45 PM, Roberto Milev <
> rob...@gm... <mailto:rob...@gm...>> wrote:
>
> Hi Peter,
>
> Read comments inline.
>
> Regards,
> Roberto
>
> On Nov 26, 2007 7:41 AM, Peter Salomonsen
> <co...@pe...
> <mailto:co...@pe...>> wrote:
>
> Hi Roberto,
>
> I've looked at your CustomTableCellRenderer and see
> that you've put the multimedia play button in there.
> At the same time I'm in the process of creating
> another CustomTableCellRenderer for another project.
>
> The purpose of the tablecell renderer is to able to
> plug in your own, but this won't work default logic is
> stored in CustomTableCellRenderer (which will be
> replaced in other projects). If this class grows with
> default logic - then there will be a lot I have to
> paste into other custom renderers, and especially when
> talking about upgrades it will be hard to maintain.
>
> Today I invoke getViewerTable().setDefaultRenderer()
> on a MetaDataLogViewer object to replace the default
> renderer. If the multimedia play button needs to be
> triggered from the renderer, then we maybe need to
> introduce a default renderer that is always there -
> and this default renderer can invoke another custom
> renderer.
>
>
> This can be done, by creating a configuration file that
> can map the cell types to a specific renderer, for example
> for multimedia context a MultimediaRenederer can be
> mapped, and when the default renderer will be called than
> the getTableCellRendererComponent method will check the
> mapping and call the appropriate
> MultimediaRenederer.getTableCel
> lRendererComponent. If no mapping is present, than the
> default renderer will be called. Shoud I start working on
> this?
>
>
>
> In addition to this design issue, I'm also considering
> a way to configure basic rendering properties, such as
> background colors. If we introduce a default renderer,
> then it might be possible to have a configuration
> mechanism for this renderer ( e.g. an xml file), where
> you also could configure colors based on search
> results values... If one was to have specific
> behaviours this xml could reference class names that
> contained the behavior logic...
>
>
> I have problems understanding this concept, can you
> describe your idea in more details. For example: what will
> be the condition to make a decision on what color to use?
>
>
>
> Could you look at such a configuration mechanism, give
> a config file proposal, and setup an example in the
> AirportWatch project?
>
> regards,
>
> Peter
>
>
>
>
>
> --
> Regards,
> Roberto Milev
>
>
>
>
>
> --
> Regards,
> Roberto Milev
>
>
|
|
From: Peter S. <co...@pe...> - 2007-11-30 07:25:04
|
Hi Roberto,
Your concern about the complexity and performance is very important. The
suggested xml would solve the case, but as you say would lay very heavy
processing on the client. Another concern is that I just remembered that the
xml parser is not default in java 1.5 (comes with java6), which also means
that the applets will be much larger (xml parsing libraries are big). We
still have to support java5 since java6 is not yet supported by default in
Mac OSX.
At this point my need is to be able to set a criteria for one column, and
it's sufficient that the string matches - so I don't really need at this
point the possibility to match complex conditions. Could maybe be solved
using a properties file, but if we then in the future decides to go for more
complex matches, xml is a much better configuration scheme.
Another way, that I just thought about is to put the logic for setting
colors on the server, and rather introduce a MetaDataType just like the
media column, but instead let the value be a color. Just like you recognize
multimedia columns, you'd then recognize a "color column" and use the
information from this to set the color of the row. How do you think this
would work?
regards,
Peter
On Nov 29, 2007 6:43 PM, Roberto Milev <rob...@gm...> wrote:
> Hi Peter,
>
> Making a configuration file like this:
>
> <color-renderer>
> <metadata-id priority="1">
> <id>1006</id>
> <condition>
> <value>3309</value>
> <relation>eq</relation>
> <color>red</color>
> </condition>
> <condition>
> <value>3310</value>
> <relation>eq</relation>
> <color>red</color>
> </condition>
> <combine-type>or</combine-type>
> </metadata-id>
> <metadata-id priority="1">
> <id>1006</id>
> <condition>
> <value>3300</value>
> <relation>gt</relation>
> <color>yellow</color>
> </condition>
> <condition>
> <value>3310</value>
> <relation>lt</relation>
> <color>yellow</color>
> </condition>
> <combine-type>and</combine-type>
> </metadata-id>
> <metadata-id priority="1">
> <id>1006</id>
> <condition>
> <value>3300</value>
> <relation>lt</relation>
> <color>blue</color>
> </condition>
> <condition>
> <value>3310</value>
> <relation>gt</relation>
> <color>green</color>
> </condition>
> <combine-type>none</combine-type>
> </metadata-id>
> </color-renderer>
>
> would solve all possibilities for making a complicated conditions, for
> example this xml file sets the row color to red if its 1006 column has value
> of 3309 or 3310, yellow if the column value is in range of 3300 to 3310,
> green if value is greater than 3310 or blue if less than 3300, where the
> exact value ("eq" relation condition) has superiority when setting the
> color if two conditions overlap. If another metadataId is compared, then
> superiority will be given to the metadataId containing greater priority
> attribute in the config file. A static method (getting all row values in a
> list) will be created that will decide and return what color should be used
> for the row. The only thing that concerns me here is the speed of the
> application when big conditions are created, or there are a lot of table
> rows, because the color checking operation will be performed for each row.
>
> Regards,
> Roberto
>
>
> On Nov 29, 2007 3:41 AM, Peter Salomonsen <co...@pe...>
> wrote:
>
> > Hi Roberto,
> >
> > The basic need is to be able to set a color for the entire row based on
> > a value in a column. So the configuration would basically be to set a
> > metadata-id, and set a criteria for matching a value. You should be able to
> > set up multiple criterias that each assigns to a separate color for the
> > entire row.
> >
> > I've done some thinking and found that it's possibly better to skip the
> > idea of having custom renderers. In the future we can look at possibilities
> > for referencing custom rendereres in the defaultrenderer config file. But
> > until then you can put the color-config logic and the mms play buttons in
> > the default renderer. So we'll just use the current CustomRenderer as a
> > default renderer.
> >
> > Would you start looking at a color configuration like described above?
> >
> > regards,
> >
> > Peter
> >
> >
> > On Nov 28, 2007 5:45 PM, Roberto Milev < rob...@gm...> wrote:
> >
> > > Hi Peter,
> > >
> > > Read comments inline.
> > >
> > > Regards,
> > > Roberto
> > >
> > > On Nov 26, 2007 7:41 AM, Peter Salomonsen <co...@pe...>
> > > wrote:
> > >
> > > > Hi Roberto,
> > > >
> > > > I've looked at your CustomTableCellRenderer and see that you've put
> > > > the multimedia play button in there. At the same time I'm in the process of
> > > > creating another CustomTableCellRenderer for another project.
> > > >
> > > > The purpose of the tablecell renderer is to able to plug in your
> > > > own, but this won't work default logic is stored in CustomTableCellRenderer
> > > > (which will be replaced in other projects). If this class grows with default
> > > > logic - then there will be a lot I have to paste into other custom
> > > > renderers, and especially when talking about upgrades it will be hard to
> > > > maintain.
> > > >
> > > > Today I invoke getViewerTable().setDefaultRenderer() on a
> > > > MetaDataLogViewer object to replace the default renderer. If the multimedia
> > > > play button needs to be triggered from the renderer, then we maybe need to
> > > > introduce a default renderer that is always there - and this default
> > > > renderer can invoke another custom renderer.
> > > >
> > >
> > > This can be done, by creating a configuration file that can map the
> > > cell types to a specific renderer, for example for multimedia context a
> > > MultimediaRenederer can be mapped, and when the default renderer will be
> > > called than the getTableCellRendererComponent method will check the mapping
> > > and call the appropriate MultimediaRenederer.getTableCellRendererComponent.
> > > If no mapping is present, than the default renderer will be called. Shoud I
> > > start working on this?
> > >
> > >
> > > >
> > > > In addition to this design issue, I'm also considering a way to
> > > > configure basic rendering properties, such as background colors. If we
> > > > introduce a default renderer, then it might be possible to have a
> > > > configuration mechanism for this renderer ( e.g. an xml file), where
> > > > you also could configure colors based on search results values... If one was
> > > > to have specific behaviours this xml could reference class names that
> > > > contained the behavior logic...
> > > >
> > >
> > > I have problems understanding this concept, can you describe your idea
> > > in more details. For example: what will be the condition to make a decision
> > > on what color to use?
> > >
> > >
> > > >
> > > > Could you look at such a configuration mechanism, give a config file
> > > > proposal, and setup an example in the AirportWatch project?
> > > >
> > > > regards,
> > > >
> > > > Peter
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > Regards,
> > > Roberto Milev
> >
> >
> >
>
>
> --
> Regards,
> Roberto Milev
|
|
From: Peter S. <co...@pe...> - 2007-11-27 12:32:06
|
Hi, If you haven't got the project up and running yet - I've made a small demo here: http://pigfarm.petersalomonsen.com/AirportWatch-war/ BTW. I have problems running the "Clean and Build" in netbeans. It works by using the ant script directly (ant clean, ant dist). Don't know why, seems to have degenerated itself along the way. The AirportWatch example uses the OpenMamApplet which is a combination of lmappletserver-addons and JXMapViewer from swingx-ws (swinglabs.org).. This is also what we use in our fleetmanager solution. cheers, Peter |
|
From: Peter S. <co...@pe...> - 2007-11-26 10:09:36
|
Hi, I found that the searching work, but it's case sensitive. Also it's not showing duplicates now.. regards, Peter |
|
From: Peter S. <co...@pe...> - 2007-11-23 15:50:07
|
IMPORTANT - CHANGES IN LMAPPLETSERVER_ADDONS
- (PJS) EntityManager in JNDI is JBoss specific - you should package
lmappletserver-addons with a persistence.xml instead
This specific persistence.xml should also reference entitybeans (by
classname) that it uses from other ejb modules.
- (PJS) According to the EJB3 persistence specs - fqn should not be used in
from clause (even though hibernate permits this)
Fixes in MetaDataManagerBean to satisfy this
- (PJS) getMetaDataLogEntries: sql1 statement contained also : "group by
mdle.log_id", which I removed cause of toplink, but don't know yet the
consequences of this
The AirportWatch project is now showing data :) Runs completely in netbeans
with glassfish and javadb (from the readme.txt file):
NOTE: This project doesn't deploy with the "Undeploy and deploy" menu option
in netbeans.
This is due to lmappletserver-addons.jar which is not exploded, and
glassfish
doesn't like the combination of compressed and exploded deployments.
Hence, to deploy this you should use glassfish web or shell interface and
deploy
the packaged AirportWatch.ear in the dist folder.
When running for the first time - start with:
http://localhost:8080/AirportWatch-war/ImportServlet
This will import test data into the application
Then go to:
http://localhost:8080/AirportWatch-war/
to see test data....
Stuff still not functioning:
- Searching doesn't actually work (only lists data when no search criteria)
- Airports are listed twice - may be because of "group by clause" removal in
lmappletserver-addons??
|
|
From: Peter S. <co...@pe...> - 2007-11-23 10:49:16
|
http://pjsjava.blogspot.com/2007/11/entitymanagercreatequeryselect-e-from.html |
|
From: Peter S. <co...@pe...> - 2007-11-16 09:17:14
|
Hi, Some useful info if you want to browse the AirportWatch database: In netbeans: Choose the Services tab Right click Databases and choose new connection create a connection for: jdbc:derby://localhost:1527/sun-appserv-samples username: app password: app You should see all the tables there... cheers, Peter |
|
From: Peter S. <co...@pe...> - 2007-11-16 09:11:21
|
Hi Roberto, There's only one problem left to deploy this properly... What I'm trying to fix is so that you should be able to right click on the project AirportWatch and select "Undeploy and Deploy" - however - when I do this - the lmappletserver-addons.jar module won't deploy (its session beans). The reason for this is because that the "Undeploy and Deploy" feature uses exploded deploy - and Glassfish doesn't like that some ejb modules are packaged and others are not. Either it wants everything packed, or everything exploded - like I've described here: http://pjsjava.blogspot.com/2007/11/notes-on-glassfish-exploded-deploys-vs.html It WORKS if I do a complete packaged deploy - which I can easily do by running the ant run-deploy target. Then all ejb modules are deployed properly. Netbeans has a "Packaged archive" project type - which is supposed to enable you to use already packaged ejb modules without having the source (in this case lmappletserver-addons.jar) - and I've used this - but I expected this also to automatically make an exploded version of lmappletserver-addons.jarwhen deploying. But it doesn't seem to do so. Maybe this is a bug - have to investigate netbeans forums to see if anyone else have some experience with this. (It does seem to have one bug - since when you add such a project - it doesn't come with a clean target - and the enterprise project expects this when rebuilding). So at the moment we'll have to deploy using ant target - it works - but I'm the kind of person who likes clean setups - but maybe shouldn't spend too much time on this - but if you know something or have some tips - let me know... Tell me also if you're able to run the project. Using netbeans 6.0 it should work right out of the box- you select "Clean and Build" on the project, and then you do run the "run-deploy" ant target (you can also do this in netbeans). There's a servlet for importing airports: http://localhost:8080/AirportWatch-war/ImportServlet The road from here is to start inserting temperature data into the metalog... regards, Peter On Nov 16, 2007 2:41 AM, Roberto MIlev <rob...@gm...> wrote: > Hi Peter, > > Sure no problem, I will try it out. Just let me know of you need any help. > > Regards, > Roberto > > > > Peter Salomonsen wrote: > > Hi Roberto, > > > > As you've probably seen - I've changed some entity beans in order to > > be ejb3 compliant and make everything work with glassfish. I'm also > > building up a project using live airport data. > > > > > https://openmam.svn.sourceforge.net/svnroot/openmam/examples/AirportWatch/ > > > > This example uses jars from the lmappletserver project, and currently > > I've just got it all in there - have not set up metalog viewer applets > > - but it all seams to deploy fine. The project is a netbeans project. > > > > I will use this project for testing your functionality - and probably > > ask you along the way for help, debugging fixing... My goal is a > > development environment that can be run without having to set up > > databases etc. and this seems to be achievable in netbeans... > > > > regards, > > > > Peter > > > > > |
|
From: Roberto M. <rob...@gm...> - 2007-11-16 01:45:02
|
Hi Peter, I finished both parts of the multimedia addon. I had a few problems during the development and testing. I know that I proposed to use FMJ, but it appears to have many disadvantages. For example the documentation says that FMJ jars dont need JMF, in fact they do, they need a lot of the JMF drivers and native code. And when you install it the lib path of FMJ must be in front of the JMF path in the classpath at the client. I had an enormous number of problems until I finally decided to try pure JMF. When I did, it appeared that the only downside of not using FMJ is the support for GG format. If you think that this is a "must have" format, than we will seek some other way, using FMJ brings a lot of trouble. Another thing is that the JFM must be installed at client side. We can not use the whole JARServlet mechanism. These jars use native code and dll files, which is problem for the JARServlet. I tried to fix this but I kept getting the same error Problem loading JMF registry - Unable to initialize ffmpeg libraries. If the client has a JMF instaled, than everything is OK. I committed changes as they are described above with JMF. I used a SimplePlayerApplet and it has only play and pause buttons for now. Please tell me how to proceed? Peter Salomonsen wrote: > OK - so you mean one folder per object (e.g. Vehicle entity) - I > see.. Only drawback I see with that - is that if we say that the > images /movies come from a surveillance camera - and the snapshots are > very frequent - it can be maaany files for one camera, and then also > many files for that object. In that sense log_id would probably be > better? > > One use case might even be that you take photos, extract metadata > about the photo (time,place,colors,if anything is moving etc.) and > enable search on these metadatas as well as displaying the images. You > might imagine that it can be very many images for one object. > > regards, > > Peter > > On Nov 9, 2007 1:08 AM, Roberto MIlev <rob...@gm... > <mailto:rob...@gm...>> wrote: > > Hi Peter, > > I agree with your comments. One small thing though, when I sad > entry_id > I meant object_id. I have to get the object_id form the upload page > because the addLogEntry needs it. And by using that I can easy create > new folders or add files to existing ones. That is why I thought > it is a > better idea to use the object_id as folder coordinate. However, as > things are now I add every file a random integer number at the > beginning > of the file when writing it to the FS and DB, so there is no problem > with duplicate naming. Sorry once again for the miss leading and > please > tell me if my conclusion is fine. > > Regards, > Roberto > > Peter Salomonsen wrote: > > See comments below. > > > > On Nov 8, 2007 12:19 AM, Roberto MIlev <rob...@gm... > <mailto:rob...@gm...> > > <mailto:rob...@gm... > <mailto:rob...@gm...>>> wrote: > > > > Hi Peter, > > > > Here is a status on the progress so far: > > > > 1. What has been done so far. > > > > > > * A new record in the metadata database teble is added > with "mmx" > > dataType value: > > > > insert into > > > `metadata`(`meta_id`,`name`,`context`,`priority`,`dataType`,`object_class_name`,`created`,`updated`,`searchProperty`,`numericValue`) > > values (1015,'Multimedia','',9,'mmx',' > > > com.lightminds.appletserver.examples.metalog.Vehicle','2006-02-27 > > 11:42:30','2006-02-27 11:42:30','','\0'); > > > > > > This is good. > > > > > > > > * The metadatalogentry gui table has the option when a > column has a > > "mmx" dataType to show button instead of label cell. > That button > > leads to downloading servlet (for now). > > > > > > Sounds good. > > > > > > > > * Streaming(download) and uploading servlets are created > in new > > project named lmappletserver_multimedia. The corresponding > > changes > > are made in lmappletserver_build project to include the > > multimedia > > project. > > > > ok > > > > > > > > 2. What has not been done so far: > > > > * The uploading servlet does not place the files in > folders as we > > discussed. > > * There is no button or link to lead you to the upload > servlet. > > > > The idea is that one should use a e.g. mobile phone application > to do > > this. So you have to have this in mind, that the upload interface > > should be reachable by third party apps. As a test case you can > make a > > simple web form. > > > > > > * Configuration parameters are still hardcoded in > MediaType class > > (they will be in property file at the end as > > report_conf.properties) > > > > 3. Questions: > > > > * We didn't finally agree on how to make the folder > structure, > > please tell me what approach to use? > > > > > > I think your last suggestion was good. Just make it to log_id > rather > > than entry_id. So that if there are more than one multimedia > file per > > log_entry they will be in the same folder. does that sound ok? > > > > > > > > * Is it good to use the dataType metadata field to represent > > multimedia column, or we need to add another column? > > > > > > Yes I think thats the best way. > > > > > > > > * On the upload servlet now there is a field that gets > entryId, > > for > > that entryId the file is added in the database, is this OK? > > > > > > use log_id rather than entry_id - I probably think is better? > > > > > > regards, > > > > Peter > > |
|
From: Peter S. <co...@pe...> - 2007-11-15 10:10:22
|
Hi, I've done the following to obtain better ejb3 compliance: - Date fields are annotated with @TemporalI(DATE) annotation. - @Transient only applies to getters - @Column annotation should never be on setters - Columns that are refered twice are always annotated with column name (since toplink seems confused about lower/upper case) I'm in the process of building a test case and also a project to use when working - that can run entirely in netbeans - using javadb and live datafeed from noaa airport info. Purpose is also to be able to test new functionality (e.g. the media columns by roberto) more easier (so that I don't have to do so much configuration when there are updates)... Very soon I will point you to the new test case - which we also can use as a working platform.. cheers, Peter |
|
From: Roberto M. <rob...@gm...> - 2007-11-13 03:53:45
|
Hi Peter, All changes regarding phase-one are implemented and committed. You can have a look and let me know what you think. Next I will be continuing my work on the applet. Regards, Roberto Peter Salomonsen wrote: > OK - so you mean one folder per object (e.g. Vehicle entity) - I > see.. Only drawback I see with that - is that if we say that the > images /movies come from a surveillance camera - and the snapshots are > very frequent - it can be maaany files for one camera, and then also > many files for that object. In that sense log_id would probably be > better? > > One use case might even be that you take photos, extract metadata > about the photo (time,place,colors,if anything is moving etc.) and > enable search on these metadatas as well as displaying the images. You > might imagine that it can be very many images for one object. > > regards, > > Peter > > On Nov 9, 2007 1:08 AM, Roberto MIlev <rob...@gm... > <mailto:rob...@gm...>> wrote: > > Hi Peter, > > I agree with your comments. One small thing though, when I sad > entry_id > I meant object_id. I have to get the object_id form the upload page > because the addLogEntry needs it. And by using that I can easy create > new folders or add files to existing ones. That is why I thought > it is a > better idea to use the object_id as folder coordinate. However, as > things are now I add every file a random integer number at the > beginning > of the file when writing it to the FS and DB, so there is no problem > with duplicate naming. Sorry once again for the miss leading and > please > tell me if my conclusion is fine. > > Regards, > Roberto > > Peter Salomonsen wrote: > > See comments below. > > > > On Nov 8, 2007 12:19 AM, Roberto MIlev <rob...@gm... > <mailto:rob...@gm...> > > <mailto:rob...@gm... > <mailto:rob...@gm...>>> wrote: > > > > Hi Peter, > > > > Here is a status on the progress so far: > > > > 1. What has been done so far. > > > > > > * A new record in the metadata database teble is added > with "mmx" > > dataType value: > > > > insert into > > > `metadata`(`meta_id`,`name`,`context`,`priority`,`dataType`,`object_class_name`,`created`,`updated`,`searchProperty`,`numericValue`) > > values (1015,'Multimedia','',9,'mmx',' > > > com.lightminds.appletserver.examples.metalog.Vehicle','2006-02-27 > > 11:42:30','2006-02-27 11:42:30','','\0'); > > > > > > This is good. > > > > > > > > * The metadatalogentry gui table has the option when a > column has a > > "mmx" dataType to show button instead of label cell. > That button > > leads to downloading servlet (for now). > > > > > > Sounds good. > > > > > > > > * Streaming(download) and uploading servlets are created > in new > > project named lmappletserver_multimedia. The corresponding > > changes > > are made in lmappletserver_build project to include the > > multimedia > > project. > > > > ok > > > > > > > > 2. What has not been done so far: > > > > * The uploading servlet does not place the files in > folders as we > > discussed. > > * There is no button or link to lead you to the upload > servlet. > > > > The idea is that one should use a e.g. mobile phone application > to do > > this. So you have to have this in mind, that the upload interface > > should be reachable by third party apps. As a test case you can > make a > > simple web form. > > > > > > * Configuration parameters are still hardcoded in > MediaType class > > (they will be in property file at the end as > > report_conf.properties) > > > > 3. Questions: > > > > * We didn't finally agree on how to make the folder > structure, > > please tell me what approach to use? > > > > > > I think your last suggestion was good. Just make it to log_id > rather > > than entry_id. So that if there are more than one multimedia > file per > > log_entry they will be in the same folder. does that sound ok? > > > > > > > > * Is it good to use the dataType metadata field to represent > > multimedia column, or we need to add another column? > > > > > > Yes I think thats the best way. > > > > > > > > * On the upload servlet now there is a field that gets > entryId, > > for > > that entryId the file is added in the database, is this OK? > > > > > > use log_id rather than entry_id - I probably think is better? > > > > > > regards, > > > > Peter > > |
|
From: Peter S. <co...@pe...> - 2007-11-09 15:28:40
|
Hmm.. The weather info wasn't up to date... Probably better with something like this: http://www.webservicex.net/globalweather.asmx (Not airports but cities around the world)... P On Nov 9, 2007 2:52 PM, Peter Salomonsen <co...@pe...> wrote: > This web service is what I've been looking for as a test dataset for the > metalog: > > http://www.capescience.com/webservices/globalweather/index.shtml > > It gives us all airports worldwide, and weather data... > > If we also could get an image feed for the multimedia columns that would > be great...(it should be available at least for some airports) > > regards, > > Peter > > |
|
From: Peter S. <co...@pe...> - 2007-11-09 13:53:02
|
This web service is what I've been looking for as a test dataset for the metalog: http://www.capescience.com/webservices/globalweather/index.shtml It gives us all airports worldwide, and weather data... If we also could get an image feed for the multimedia columns that would be great...(it should be available at least for some airports) regards, Peter |
|
From: Peter S. <co...@pe...> - 2007-11-09 08:28:54
|
OK - so you mean one folder per object (e.g. Vehicle entity) - I see.. Only drawback I see with that - is that if we say that the images /movies come from a surveillance camera - and the snapshots are very frequent - it can be maaany files for one camera, and then also many files for that object. In that sense log_id would probably be better? One use case might even be that you take photos, extract metadata about the photo (time,place,colors,if anything is moving etc.) and enable search on these metadatas as well as displaying the images. You might imagine that it can be very many images for one object. regards, Peter On Nov 9, 2007 1:08 AM, Roberto MIlev <rob...@gm...> wrote: > Hi Peter, > > I agree with your comments. One small thing though, when I sad entry_id > I meant object_id. I have to get the object_id form the upload page > because the addLogEntry needs it. And by using that I can easy create > new folders or add files to existing ones. That is why I thought it is a > better idea to use the object_id as folder coordinate. However, as > things are now I add every file a random integer number at the beginning > of the file when writing it to the FS and DB, so there is no problem > with duplicate naming. Sorry once again for the miss leading and please > tell me if my conclusion is fine. > > Regards, > Roberto > > Peter Salomonsen wrote: > > See comments below. > > > > On Nov 8, 2007 12:19 AM, Roberto MIlev <rob...@gm... > > <mailto:rob...@gm...>> wrote: > > > > Hi Peter, > > > > Here is a status on the progress so far: > > > > 1. What has been done so far. > > > > > > * A new record in the metadata database teble is added with "mmx" > > dataType value: > > > > insert into > > > `metadata`(`meta_id`,`name`,`context`,`priority`,`dataType`,`object_class_name`,`created`,`updated`,`searchProperty`,`numericValue`) > > values (1015,'Multimedia','',9,'mmx',' > > com.lightminds.appletserver.examples.metalog.Vehicle','2006-02-27 > > 11:42:30','2006-02-27 11:42:30','','\0'); > > > > > > This is good. > > > > > > > > * The metadatalogentry gui table has the option when a column has > a > > "mmx" dataType to show button instead of label cell. That > button > > leads to downloading servlet (for now). > > > > > > Sounds good. > > > > > > > > * Streaming(download) and uploading servlets are created in new > > project named lmappletserver_multimedia. The corresponding > > changes > > are made in lmappletserver_build project to include the > > multimedia > > project. > > > > ok > > > > > > > > 2. What has not been done so far: > > > > * The uploading servlet does not place the files in folders as we > > discussed. > > * There is no button or link to lead you to the upload servlet. > > > > The idea is that one should use a e.g. mobile phone application to do > > this. So you have to have this in mind, that the upload interface > > should be reachable by third party apps. As a test case you can make a > > simple web form. > > > > > > * Configuration parameters are still hardcoded in MediaType class > > (they will be in property file at the end as > > report_conf.properties) > > > > 3. Questions: > > > > * We didn't finally agree on how to make the folder structure, > > please tell me what approach to use? > > > > > > I think your last suggestion was good. Just make it to log_id rather > > than entry_id. So that if there are more than one multimedia file per > > log_entry they will be in the same folder. does that sound ok? > > > > > > > > * Is it good to use the dataType metadata field to represent > > multimedia column, or we need to add another column? > > > > > > Yes I think thats the best way. > > > > > > > > * On the upload servlet now there is a field that gets entryId, > > for > > that entryId the file is added in the database, is this OK? > > > > > > use log_id rather than entry_id - I probably think is better? > > > > > > regards, > > > > Peter > |
|
From: Roberto M. <rob...@gm...> - 2007-11-09 00:08:17
|
Hi Peter, I agree with your comments. One small thing though, when I sad entry_id I meant object_id. I have to get the object_id form the upload page because the addLogEntry needs it. And by using that I can easy create new folders or add files to existing ones. That is why I thought it is a better idea to use the object_id as folder coordinate. However, as things are now I add every file a random integer number at the beginning of the file when writing it to the FS and DB, so there is no problem with duplicate naming. Sorry once again for the miss leading and please tell me if my conclusion is fine. Regards, Roberto Peter Salomonsen wrote: > See comments below. > > On Nov 8, 2007 12:19 AM, Roberto MIlev <rob...@gm... > <mailto:rob...@gm...>> wrote: > > Hi Peter, > > Here is a status on the progress so far: > > 1. What has been done so far. > > > * A new record in the metadata database teble is added with "mmx" > dataType value: > > insert into > `metadata`(`meta_id`,`name`,`context`,`priority`,`dataType`,`object_class_name`,`created`,`updated`,`searchProperty`,`numericValue`) > values (1015,'Multimedia','',9,'mmx',' > com.lightminds.appletserver.examples.metalog.Vehicle','2006-02-27 > 11:42:30','2006-02-27 11:42:30','','\0'); > > > This is good. > > > > * The metadatalogentry gui table has the option when a column has a > "mmx" dataType to show button instead of label cell. That button > leads to downloading servlet (for now). > > > Sounds good. > > > > * Streaming(download) and uploading servlets are created in new > project named lmappletserver_multimedia. The corresponding > changes > are made in lmappletserver_build project to include the > multimedia > project. > > ok > > > > 2. What has not been done so far: > > * The uploading servlet does not place the files in folders as we > discussed. > * There is no button or link to lead you to the upload servlet. > > The idea is that one should use a e.g. mobile phone application to do > this. So you have to have this in mind, that the upload interface > should be reachable by third party apps. As a test case you can make a > simple web form. > > > * Configuration parameters are still hardcoded in MediaType class > (they will be in property file at the end as > report_conf.properties) > > 3. Questions: > > * We didn't finally agree on how to make the folder structure, > please tell me what approach to use? > > > I think your last suggestion was good. Just make it to log_id rather > than entry_id. So that if there are more than one multimedia file per > log_entry they will be in the same folder. does that sound ok? > > > > * Is it good to use the dataType metadata field to represent > multimedia column, or we need to add another column? > > > Yes I think thats the best way. > > > > * On the upload servlet now there is a field that gets entryId, > for > that entryId the file is added in the database, is this OK? > > > use log_id rather than entry_id - I probably think is better? > > > regards, > > Peter |
|
From: Peter S. <co...@pe...> - 2007-11-08 10:23:43
|
See comments below. On Nov 8, 2007 12:19 AM, Roberto MIlev <rob...@gm...> wrote: > Hi Peter, > > Here is a status on the progress so far: > > 1. What has been done so far. > > > * A new record in the metadata database teble is added with "mmx" > dataType value: > > insert into > > `metadata`(`meta_id`,`name`,`context`,`priority`,`dataType`,`object_class_name`,`created`,`updated`,`searchProperty`,`numericValue`) > values (1015,'Multimedia','',9,'mmx',' > com.lightminds.appletserver.examples.metalog.Vehicle','2006-02-27 > 11:42:30','2006-02-27 11:42:30','','\0'); This is good. > > * The metadatalogentry gui table has the option when a column has a > "mmx" dataType to show button instead of label cell. That button > leads to downloading servlet (for now). Sounds good. > > * Streaming(download) and uploading servlets are created in new > project named lmappletserver_multimedia. The corresponding changes > are made in lmappletserver_build project to include the multimedia > project. > ok > > 2. What has not been done so far: > > * The uploading servlet does not place the files in folders as we > discussed. > * There is no button or link to lead you to the upload servlet. The idea is that one should use a e.g. mobile phone application to do this. So you have to have this in mind, that the upload interface should be reachable by third party apps. As a test case you can make a simple web form. > * Configuration parameters are still hardcoded in MediaType class > (they will be in property file at the end as report_conf.properties) > > 3. Questions: > > * We didn't finally agree on how to make the folder structure, > please tell me what approach to use? I think your last suggestion was good. Just make it to log_id rather than entry_id. So that if there are more than one multimedia file per log_entry they will be in the same folder. does that sound ok? > > * Is it good to use the dataType metadata field to represent > multimedia column, or we need to add another column? Yes I think thats the best way. > > * On the upload servlet now there is a field that gets entryId, for > that entryId the file is added in the database, is this OK? use log_id rather than entry_id - I probably think is better? regards, Peter |
|
From: Roberto M. <rob...@gm...> - 2007-11-07 23:19:35
|
Hi Peter,
Here is a status on the progress so far:
1. What has been done so far.
* A new record in the metadata database teble is added with "mmx"
dataType value:
insert into
`metadata`(`meta_id`,`name`,`context`,`priority`,`dataType`,`object_class_name`,`created`,`updated`,`searchProperty`,`numericValue`)
values (1015,'Multimedia','',9,'mmx','
com.lightminds.appletserver.examples.metalog.Vehicle','2006-02-27
11:42:30','2006-02-27 11:42:30','','\0');
* The metadatalogentry gui table has the option when a column has a
"mmx" dataType to show button instead of label cell. That button
leads to downloading servlet (for now).
* Streaming(download) and uploading servlets are created in new
project named lmappletserver_multimedia. The corresponding changes
are made in lmappletserver_build project to include the multimedia
project.
2. What has not been done so far:
* The uploading servlet does not place the files in folders as we
discussed.
* There is no button or link to lead you to the upload servlet.
* Configuration parameters are still hardcoded in MediaType class
(they will be in property file at the end as report_conf.properties)
3. Questions:
* We didn't finally agree on how to make the folder structure,
please tell me what approach to use?
* Is it good to use the dataType metadata field to represent
multimedia column, or we need to add another column?
* On the upload servlet now there is a field that gets entryId, for
that entryId the file is added in the database, is this OK?
Please give me your comments.
Regards,
Roberto
Peter Salomonsen wrote:
> Hi Roberto,
>
> I'm not a file system expert - so I cannot tell whats the most optimal
> regarding how many files to put in a folder - but your suggestion
> sounds interesting. This means that we also can keep actual media file
> names since each log entry has its own folder.
>
> I'd also like a comment from Jon on this.
>
> cheers,
>
> Peter
>
> On 11/1/07, *Roberto Milev* < rob...@gm...
> <mailto:rob...@gm...>> wrote:
>
> Hi Peter,
>
> About the folder structure, an alternative approach would be to
> organize it to reflect the actual MetaDataLogEntry id. for example:
>
> MetaDataLogEntry id = 1001 - would map to /1/0/0/1
> MetaDataLogEntry id = 1002 - would map to /1/0/0/3
> .. etc
> MetaDataLogEntry id = 1011 - would map to /1/0/1/1
>
> in this manner every media file could be easily located within the
> data structure.
>
> I will start setting the infrastructure for the Phase One of the
> task. I will keep you posted of the progress.
>
> Regards,
> Roberto
>
>
>
> On 10/30/07, *Peter Salomonsen* < co...@pe...
> <mailto:co...@pe...>> wrote:
>
> Hi Roberto,
>
> I think we should split the project in two phases:
>
> Phase One:
>
> Media upload mechanisms and media file download (with correct
> mime types etc) - but no media player. So the play button
> would go directly to the multimediaservlet.
>
> Phase Two:
>
> Embedded Mediaplayer using e.g. FMJ.
>
> About the file sys:
>
> Splitting on date folders is good (to speed of access), but in
> case of massive uploads, it might be better to split on
> MetaDataLogEntry id ranges. Maybe the folder structure should
> reflect this - e.g. 1000 files per folder (this could be
> customizable).
>
> I see the challenges regarding separating the project, and the
> challenge regarding different data types we've also had with
> other data types. The MetaDataLogEntry table should maybe have
> one field per datatype such as with the numericvalue field -
> that we don't use today - but maybe we should.
>
> regards,
>
> Peter
>
>
> On 10/30/07, *Roberto MIlev* < rob...@gm...
> <mailto:rob...@gm...>> wrote:
>
> Hi Peter,
>
> Please find attached my ideas on on implementing the new
> feature. My
> initial rough estimate for implementation is around 80 man
> hours.
>
> Please give me your thoughts.
>
> Regards,
> Roberto
>
> Peter Salomonsen wrote:
> > Hi Roberto -
> >
> > how is it going with the interceptor stuff - did you get
> to understand
> > how it works?
> >
> > I have a new project proposal for you. We'd like to add
> multimedia
> > capabilities to the MetaLogViewer - so that you can
> attach multimedia
> > clips to a MetaDataLogEntry. The idea will be to create
> new columns
> > that contains multimedia file names, and with a
> possibility to launch
> > a player to view /play. Embedded players would be very
> nice - however
> > supporting all the varieties of file formats may be
> difficult. Have to
> > consider whether to stick to one format ( e.g.
> ogg/vorbis/theora - and
> > use e.g. the flumotion cortado applet), or support
> multiple formats,
> > and test frameworks such as fmj (which is an open source
> impl of java
> > media framework).
> >
> > I don't think the media content itself should be stored
> in the
> > MetaDataLogEntry table, but the file name could be, and
> there should
> > be a file structure for easy retrieval.
> >
> > Get the idea?
> >
> > This makes the lmappletserver-addons.jar even more
> massive, and the
> > question is if we could create a new
> Multimedia-extensions module?
> > Should this even be a whole new separate project?
> >
> > Is this a project for you? In that case some sketches and
> models would
> > be nice, would you have a look at it, and think of a
> solution proposal?
> >
> > regards,
> >
> > Peter
> >
> > On 10/23/07, *Roberto Milev* < rob...@gm...
> <mailto:rob...@gm...>
> > <mailto:rob...@gm...
> <mailto:rob...@gm...>>> wrote:
> >
> > Hi Peter,
> >
> > I changed and commiter orm.xml. I will be looking at the
> > interceptor stuff next. I will keep you posted.
> >
> > Regards,
> > Roberto
> >
> >
> > On 10/23/07, * Peter Salomonsen* <
> co...@pe...
> <mailto:co...@pe...>
> > <mailto: co...@pe...
> <mailto:co...@pe...>>> wrote:
> >
> > Hi Robert,
> >
> > I've attached a metaloginterceptors property file
> example.
> > This is a feature me and Jon has been working on,
> and the
> > purpose is to be able to intercept calls within the
> > lmappletserver-addons ejb3 session beans using
> default EJB3
> > interceptors.
> >
> > I wasn't aware that it was a requirement to have
> this file, so
> > this is a bug, the intention is that this file is not
> > required, but an option if you need to create an
> interceptor
> > for some reason. And it really shouldn't be called
> > metaloginterceptor, as it is really intercepting
> everything -
> > this naming is related to our specific use case -
> we should
> > change this however to a more generic name (maybe
> just
> > interceptor).
> >
> > To tell you about our use case - we use
> interceptors to
> > perform a parallell query on searchLogEntries
> (historic
> > searches). We have a MetaDataLogEntry table with
> more than a
> > billion of records, and the standard query
> produced by
> > searchLogEntries is not able to handle this. The
> strategy is
> > then to intercept the call, and duplicate it to
> run in
> > multiple processes / servers on smaller dataset
> partitions,
> > and collect the resultsets when sufficient amount
> of threads
> > has returned. Then we also gain our desired speed
> (which is
> > instant results).
> >
> > About table names - since the case problem is TopLink
> > specific, could we rather solve this using an
> orm.xml for the
> > unit tests? Instead of using the Table annotation?
> >
> > regards,
> >
> > Peter
> >
> >
> > On 10/21/07, *Roberto MIlev* <
> rob...@gm... <mailto:rob...@gm...>
> > <mailto: rob...@gm...
> <mailto:rob...@gm...>>> wrote:
> >
> > Hi Peter,
> >
> > You will find the changes you requested
> committed to SVN.
> > A few notes:
> >
> > - I was only abe to test the shownColumns
> changes with
> > dummy hardcoded
> > data, beacuse I am getting errors due to
> missing resource -
> > lmappletserver_metaloginterceptors. I am not
> able to find
> > this resource
> > in the project. Perhaps you can shed some
> light on this?
> > - In the mean time I also resolved the issue
> with the junt
> > tests
> > failing. The thing was that the Toplink JPA
> always creates
> > the tables
> > based on the name of the Entity in uppercase.
> This was not
> > visible until
> > i install everything on Linux. the solution
> is to always
> > specify the
> > name attribute in the @Table annotation.
> >
> > Regards,
> > Roberto
> >
> > Peter Salomonsen wrote:
> > > Hi,
> > >
> > > I was just going to update my metadata
> table by adding a
> > new metadata
> > > (new column). I found that the searchdto has a
> > showcolumns boolean
> > > array, and this causes the requirement that
> the metadata
> > cannot change
> > > order or change in size. What happened in
> my case was that
> > > listmetadata returned more columns than the
> showcolumns
> > array, and
> > > this caused an ArrayIndexOutOfBounds
> exception in
> > > MetaDataSearchExecutor.java on the
> showcolumns array.
> > >
> > > I think this has to be solved differently. The
> > showcolumns array
> > > should rather be a list of metadata_ids
> rather than
> > booleans - so that
> > > it is not dependent on me not changing the
> metadata order
> > or number of
> > > metadatas.
> > >
> > > Can you fix this?
> > >
> > > regards,
> > >
> > > Peter
> >
> >
> >
> >
> >
> >
> > --
> > Regards,
> > Roberto Milev
> >
> >
>
>
>
>
>
> --
> Regards,
> Roberto Milev
>
>
|
|
From: Peter S. <co...@pe...> - 2007-11-07 12:54:33
|
Super - looks good! Peter On Nov 6, 2007 11:32 PM, Roberto MIlev <rob...@gm...> wrote: > Hi Peter, > > Thanks for the tip. I have already fixed, tested and committed the > changes regarding this issue. > > Regards, > Roberto > > Peter Salomonsen wrote: > > Hi Roberto, > > > > We should make the default behavior so that when leaving the > > lmappletserver_metaloginterceptors.properties file empty, then the > > DefaultInterceptor should just return > > > > return ctx.proceed(); > > > > I or you can fix this - tell me what's best. We should also rename the > > properties file so that it is called > > lmappletserver_addons_ejbinterceptors (more generic). I also see that > > the interceptor code is using HashMap while it rather could be using > > HashSet (minor details :)... > > > > regards, > > > > Peter > > > > On 10/30/07, *Roberto MIlev* <rob...@gm... > > <mailto:rob...@gm...>> wrote: > > > > Hi Peter, > > > > First an update regarding the interceptors and my lmappletserver > > setup. > > Leaving the lmappletserver_metaloginterceptors.properties file empty > > defaults to the DefaultInterceptor being called. However this > > caused all > > the queries to return null. I read up on writing around methods, and I > > cant seem to find the InvocationContext.proceed() signal being > > called by > > the default interceptor. I got everything working once I explicitly > > turned the interceptor off. > > > > Regards, > > Roberto > > > > Roberto Milev wrote: > > > Hi Peter, > > > > > > I changed and commiter orm.xml. I will be looking at the interceptor > > > stuff next. I will keep you posted. > > > > > > Regards, > > > Roberto > > > > > > On 10/23/07, * Peter Salomonsen* <co...@pe... > > <mailto:co...@pe...> > > > <mailto: co...@pe... > > > <mailto:co...@pe...>>> wrote: > > > > > > Hi Robert, > > > > > > I've attached a metaloginterceptors property file example. > > This is > > > a feature me and Jon has been working on, and the purpose is > > to be > > > able to intercept calls within the lmappletserver-addons ejb3 > > > session beans using default EJB3 interceptors. > > > > > > I wasn't aware that it was a requirement to have this file, so > > > this is a bug, the intention is that this file is not required, > > > but an option if you need to create an interceptor for some > > > reason. And it really shouldn't be called > > metaloginterceptor, as > > > it is really intercepting everything - this naming is related to > > > our specific use case - we should change this however to a more > > > generic name (maybe just interceptor). > > > > > > To tell you about our use case - we use interceptors to > > perform a > > > parallell query on searchLogEntries (historic searches). We > > have a > > > MetaDataLogEntry table with more than a billion of records, and > > > the standard query produced by searchLogEntries is not able to > > > handle this. The strategy is then to intercept the call, and > > > duplicate it to run in multiple processes / servers on smaller > > > dataset partitions, and collect the resultsets when sufficient > > > amount of threads has returned. Then we also gain our desired > > > speed (which is instant results). > > > > > > About table names - since the case problem is TopLink specific, > > > could we rather solve this using an orm.xml for the unit tests? > > > Instead of using the Table annotation? > > > > > > regards, > > > > > > Peter > > > > > > > > > On 10/21/07, *Roberto MIlev* < rob...@gm... > > <mailto:rob...@gm...> > > > <mailto:rob...@gm... > > <mailto:rob...@gm...>>> wrote: > > > > > > Hi Peter, > > > > > > You will find the changes you requested committed to SVN. A > > > few notes: > > > > > > - I was only abe to test the shownColumns changes with dummy > > > hardcoded > > > data, beacuse I am getting errors due to missing resource - > > > lmappletserver_metaloginterceptors. I am not able to > > find this > > > resource > > > in the project. Perhaps you can shed some light on this? > > > - In the mean time I also resolved the issue with the > > junt tests > > > failing. The thing was that the Toplink JPA always > > creates the > > > tables > > > based on the name of the Entity in uppercase. This was not > > > visible until > > > i install everything on Linux. the solution is to always > > > specify the > > > name attribute in the @Table annotation. > > > > > > Regards, > > > Roberto > > > > > > Peter Salomonsen wrote: > > > > Hi, > > > > > > > > I was just going to update my metadata table by adding > > a new > > > metadata > > > > (new column). I found that the searchdto has a showcolumns > > > boolean > > > > array, and this causes the requirement that the metadata > > > cannot change > > > > order or change in size. What happened in my case was that > > > > listmetadata returned more columns than the showcolumns > > > array, and > > > > this caused an ArrayIndexOutOfBounds exception in > > > > MetaDataSearchExecutor.java on the showcolumns array. > > > > > > > > I think this has to be solved differently. The > > showcolumns array > > > > should rather be a list of metadata_ids rather than > > booleans > > > - so that > > > > it is not dependent on me not changing the metadata > > order or > > > number of > > > > metadatas. > > > > > > > > Can you fix this? > > > > > > > > regards, > > > > > > > > Peter > > > > > > > > > > > > > > > > > > > > > -- > > > Regards, > > > Roberto Milev > > > > > |