You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@roller.apache.org by Glen Mazza <gl...@gmail.com> on 2014/01/01 03:37:37 UTC

(another idea) Re: ROL-1981 Category ordering

Gaurav, sorry, it just occurred to me there's a simpler intermediate 
step that can be done.  While we need the database table without a path 
column, and to remove the "path" member *variable* from WeblogCategory 
(or its replacement), we can still keep indefinitely keep getPath(), 
just hardcode it to "/" + categoryName, which is precisely what the old 
code returns for any top-level category--the rest of the system can stay 
just as it did before.  Switching the rest of the code from getPath() to 
using getName() can be done at any time, bit by bit whenever, that's not 
necessary to implement positioning, that's just a code cleanup issue.  
Likewise, for WeblogCategory.getParent(), it may be as simple as adding 
a root category object as part of the Weblog's constructor (but not 
saved to the database), and having WeblogCategory.getParent() just 
return website.getParentCategory()--that way all categories for a weblog 
will have the same root category as before, and the rest of the code 
base should function fine.  Once we're on the new table, then it's an 
issue of implementing positioning--getting rid of getParent() and 
getPath() can be done by anybody at a later date.

Regards,
Glen


On 12/31/2013 08:09 AM, Glen Mazza wrote:
> No problem, I'm available to help (or finish it up) if needed.  For a 
> seemingly simple switch, you're certainly getting a *full* education 
> of the Roller codebase.  :)
>
> BTW, I hope you're not testing via mvn jetty:run, as that requires you 
> to keep logging in for the first time, creating a blog for the first 
> time, etc., whenever you start it.  Very inefficient and tiring.  
> Normally I just build (mvn clean install) and dump the WAR into 
> standalone Tomcat on my local machine.  The database & other 
> configuration I keep permanently in roller-custom.properties in the 
> Tomcat lib/ folder, so the new WAR just takes over with the same 
> configuration, blogs, accounts, etc., that old WAR was using.  (Check 
> the Roller install guide for full instructions.)
>
> Also vital is that you know how to debug/trace Roller code in Eclipse 
> or IntelliJ while it is running on Tomcat (or another servlet 
> container).  It's much simpler than it seems, and will save you a lot 
> of time.  These instructions are for Eclipse but Intellij (my 
> preference) is basically the same: 
> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
> Checking variable values while it's running will point you to where 
> problems are much more quickly.
>
> Happy New Year!
>
> Regards,
> Glen
>
>
> On 12/31/2013 06:39 AM, Gaurav wrote:
>> Hello Glen,
>>
>> As, I previously told you that the test cases are giving problem, 
>> actually I think we have to do some changes in Test Cases also, as 
>> many of the methods involving path and parent are removed so, many 
>> times in test cases (it did not get correct values and give errors).
>> I have successfully showed the categories by website till now in the 
>> admin section. Also, the entries are saved just, I ran out of memory 
>> issue in happen when I save an entry that entry, although it get 
>> saved when I refresh the page.
>>
>> Also, as their is not path now, we have to do some changes in 
>> velocity files, as feeds are giving error in showing, although if I 
>> direct enter the URL its working fine. I have cleared many parts of 
>> the code, just I have test of the roller parts which are linked the 
>> path and parent. I am thinking of correcting the test cases, as I can 
>> run them and if test cases are fine then might be everything will 
>> work fine.
>>
>> I will return to work on this after 3 days, as I will be and will get 
>> be to it during coming weekend again. I will wrap this out asap for 
>> you to test and will attach patches coming weekend.
>>
>> Thanks
>> Gaurav
>>
>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>> Thanks for that info, I have changed my settings in the eclipse.
>>> Yes, you are right I will leave the ordering part for now and work 
>>> on clearing the code for now. For now I will just add a column in 
>>> category table with position, leaving it null for now.
>>>
>>> Regards,
>>> Gaurav
>>>
>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza wrote:
>>>> Your last ImprovedCreateUser.patch had some tab characters in it, 
>>>> and our project uses spaces for tabs (just have Eclipse insert 4 
>>>> spaces whenever you hit the tab key, with no tab characters.) Very 
>>>> few Apache projects (any?) are tab-indented today.  It is a simple 
>>>> fix with IntelliJ IDEA (Edit -> Convert Indents -> To Spaces), I'm 
>>>> sure Eclipse has an equivalent.
>>>>
>>>> For blogs migrating from pre-5.1 versions, we can keep the position 
>>>> NULL by default (and when you order by position, with null values, 
>>>> they will come out in any order, like they do today.)    Whenever a 
>>>> new blog is created with the default three categories, those can be 
>>>> assigned positions (probably 0-based for leftmost is best.)  For 
>>>> migrated blogs, once the user goes to the category page and makes a 
>>>> change for the first time, numbers can be written for the very 
>>>> first time--no special extra UI is needed for this purpose.  But 
>>>> like I was saying, this is such a lengthy patch you may wish to 
>>>> forget about the ordering right now--it doesn't work anyway in 
>>>> Roller right now.  It may be best to get us to the new table and 
>>>> get rid of the paths, and once we're on that firmer foundation 
>>>> implementing positioning (on the Category page and in the 
>>>> templates) will be much simpler.
>>>>
>>>> Regards,
>>>> Glen
>>>>
>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>> Hello Glen,
>>>>>
>>>>> I will change the position to be integer, and will exclude the 
>>>>> category where parent null, but still what can be done for the 
>>>>> position as the old data did not have position, so how and on what 
>>>>> basis we have to add position to it. I was thinking that we can 
>>>>> left it as null, and provide some UI in backend where user can 
>>>>> assign position themselves.
>>>>>
>>>>> I will take care of spacing, will search what I am doing wrong. 
>>>>> As, I am not sure is that you are talking about formatting the 
>>>>> code, or anything else. As I use tab (with 4 spaces) in Eclipse IDE.
>>>>>
>>>>> Thanks
>>>>> Gaurav
>>>>>
>>>>> On Saturday 28 December 2013 04:27 PM, Glen Mazza wrote:
>>>>>> BTW, not to be hated, but make sure any code you submit is 
>>>>>> space-padded (4 spaces), *not* tab-padded. Your IDE should be 
>>>>>> able to convert it for you if you've been doing tab-padding.
>>>>>>
>>>>>> Regards,
>>>>>> Glen
>>>>>>
>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>> Hello Glen,
>>>>>>>
>>>>>>> I am confused on how to add and on what basis we have to addd 
>>>>>>> position to the new category table. Below two sql commands can 
>>>>>>> be used for coping data and deleting the root categories.
>>>>>>>
>>>>>>> create table category (
>>>>>>>     id               varchar(48)  not null primary key,
>>>>>>>     name             varchar(255) not null,
>>>>>>>     description      varchar(255),
>>>>>>>     websiteid        varchar(48) not null,
>>>>>>>     image            varchar(255),
>>>>>>>     position         varchar(48)
>>>>>>> );
>>>>>>>
>>>>>>> insert into category(id,name,description,websiteid,image) select 
>>>>>>> id,name,description,websiteid,image from weblogcategory;
>>>>>>>
>>>>>>> delete from category where name="root";
>>>>>>>
>>>>>>> What do you suggest for this ?
>>>>>>>
>>>>>>> Thanks
>>>>>>> Gaurav
>>>>>>>
>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen Mazza wrote:
>>>>>>>> Take your time, this is a messy change as it affects many areas 
>>>>>>>> of the code. But Roller will be architecturally much more solid 
>>>>>>>> and simpler once this change is done.  I have your ROL-1616 and 
>>>>>>>> ROL-1982 on my plate for this weekend.
>>>>>>>>
>>>>>>>> Glen
>>>>>>>>
>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>> Hello Glen,
>>>>>>>>>
>>>>>>>>> I have deleted the path and all related methods, but its seems 
>>>>>>>>> to me that the path methods like (getWeblogCategoryByPath) and 
>>>>>>>>> many other path and parent related methods, are scattered over 
>>>>>>>>> the whole roller. There are many occurrence of these methods 
>>>>>>>>> and I have to sort out each piece of code as now there is no 
>>>>>>>>> path so, mostly we check for categoryPath != null in if 
>>>>>>>>> conditions, so these are no longer needed.
>>>>>>>>> Also, I as thinking after testing and completing this we can 
>>>>>>>>> delete the WeblogCategory and replace with Category method, as 
>>>>>>>>> it will be clean. I also figured out why my tests are failing 
>>>>>>>>> as during creating of weblogentry it did not find the 
>>>>>>>>> categories, as that class was using old WeblogCategory table 
>>>>>>>>> and using that class methods. I think I will definitely will 
>>>>>>>>> figure out everything at the end and will successfully test 
>>>>>>>>> with the unit tests.
>>>>>>>>>
>>>>>>>>> I am now in the editor part so can display the categories on 
>>>>>>>>> front end, I am now all over the 1-2-3-4 steps you mentioned. 
>>>>>>>>> As soon as I will able to display the categories (small issues 
>>>>>>>>> left) at the backend, I will again go through my changes. 
>>>>>>>>> Also, at this time I can only create patch for new table and 
>>>>>>>>> migration script, as all other classes code are interrelated 
>>>>>>>>> so can't submit now. I will test every single thing related to 
>>>>>>>>> categories, then I will submit my patches.
>>>>>>>>>
>>>>>>>>> Although I have learned a lot new things, just spent last two 
>>>>>>>>> full days on this sorting out things, many times ending up 
>>>>>>>>> nowhere from where I started. But I am confident that I will 
>>>>>>>>> definitely complete this task. Just I am worrying that I must 
>>>>>>>>> be taking too much time.
>>>>>>>>>
>>>>>>>>> If there is something, you can advice me I would happy to 
>>>>>>>>> follow that also.
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> Gaurav
>>>>>>>>>
>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen Mazza wrote:
>>>>>>>>>> If it helps, you can provide interim patches, so long as it 
>>>>>>>>>> doesn't break the current code base. You may want to create a 
>>>>>>>>>> patch just creating the new database table (which will be 
>>>>>>>>>> ignored by the current code) and sql insert-select scripts to 
>>>>>>>>>> move from the current table to the new one, then one 
>>>>>>>>>> converting the code to using the new table without sorting, 
>>>>>>>>>> then (finally) one that implements sorting of the categories.
>>>>>>>>>>
>>>>>>>>>> Glen
>>>>>>>>>>
>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>
>>>>>>>>>>> I have created and updated all necessary files in JPA and 
>>>>>>>>>>> for database, I tried compiling the code it gave me errors 
>>>>>>>>>>> in test cases. As I am not sure that what I am wrong in 
>>>>>>>>>>> this. Although I tried compiling without running test cases, 
>>>>>>>>>>> it worked fine. I tested it with tomcat and new table 
>>>>>>>>>>> category is created and initial category (General, Finance 
>>>>>>>>>>> and Technology) are created with the position 1,2,3. Still 
>>>>>>>>>>> there are many thing I have to clean up and sort out and 
>>>>>>>>>>> will test it again.
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>> Gaurav
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, Gaurav wrote:
>>>>>>>>>>>> Ok, got your point. I will check on other Roller parts also 
>>>>>>>>>>>> if parent name and path aren't be using in any other part 
>>>>>>>>>>>> of Roller. I will go into the RSS and Atom feeds later on, 
>>>>>>>>>>>> and see what changes it need. As, till now I have changed 
>>>>>>>>>>>> many files and created some, so will first test this part 
>>>>>>>>>>>> then go into that feeds part.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>
>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, Glen Mazza wrote:
>>>>>>>>>>>>> Sounds good, but may require more work to make sure all is 
>>>>>>>>>>>>> good with the RSS and Atom feeds as a result (which I 
>>>>>>>>>>>>> believe rely on path). Where path is used to check for 
>>>>>>>>>>>>> equivalence, I guess name (and blog/website ID, if 
>>>>>>>>>>>>> necessary) alone will do now.  We may need to check (if we 
>>>>>>>>>>>>> aren't already) that no two categories have the same name, 
>>>>>>>>>>>>> where prior we were checking that no two paths are the 
>>>>>>>>>>>>> same (i.e., allowing category paths USStates/Georgia and 
>>>>>>>>>>>>> Countries/Georgia but now needing to disallow two 
>>>>>>>>>>>>> categories named "Georgia".)
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I am thinking of removing the path coloumn also, as it 
>>>>>>>>>>>>>> does not make sense now as there will no subcategories 
>>>>>>>>>>>>>> and all will have same path (like /categoryname). WDYT ?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I want to know as now all the categories will be top 
>>>>>>>>>>>>>>>> level, so the root category which is created by default 
>>>>>>>>>>>>>>>> on addWeblog isn't needed. So, I can remove that code 
>>>>>>>>>>>>>>>> also ? I am in half completed with the 1-2 steps will 
>>>>>>>>>>>>>>>> soon submit some patched in jira issue. You can look on 
>>>>>>>>>>>>>>>> to them whenever you will get time from other projects.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on this, I understand 
>>>>>>>>>>>>>>>>> your commitments. As this will give me more time on 
>>>>>>>>>>>>>>>>> working on this issue. I will give my 100% on this, as 
>>>>>>>>>>>>>>>>> I also want to get into more and more open source 
>>>>>>>>>>>>>>>>> projects. For Now I am focusing on Roller for starting 
>>>>>>>>>>>>>>>>> my contributions in open source.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I can't help much right 
>>>>>>>>>>>>>>>>>> now either, as my other project JSPWiki has a new 
>>>>>>>>>>>>>>>>>> release going out.) But please be patient with us on 
>>>>>>>>>>>>>>>>>> your recent submitted patches -- we haven't forgotten 
>>>>>>>>>>>>>>>>>> you and are happy with your efforts on this project 
>>>>>>>>>>>>>>>>>> so far, we just have full-time jobs and, even after 
>>>>>>>>>>>>>>>>>> that, other obligations -- for open source work, we 
>>>>>>>>>>>>>>>>>> usually have to beg, borrow and steal time to work on 
>>>>>>>>>>>>>>>>>> them.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I am going through this having some issues, although 
>>>>>>>>>>>>>>>>>>> not major till now. I have still working on 1-2 
>>>>>>>>>>>>>>>>>>> steps, might be I am slow as get less time. (Wish we 
>>>>>>>>>>>>>>>>>>> also have holidays of this festive season in India 
>>>>>>>>>>>>>>>>>>> :P) Just want to know isn't there any hurry for 
>>>>>>>>>>>>>>>>>>> completing this asap ? Although, I am sure will 
>>>>>>>>>>>>>>>>>>> definitely complete this as I have understood the 
>>>>>>>>>>>>>>>>>>> structure of Roller completely. Just I have to go 
>>>>>>>>>>>>>>>>>>> through the JPA more and read about this.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're missing will become 
>>>>>>>>>>>>>>>>>>>> apparent to you as you work along. The Roller 
>>>>>>>>>>>>>>>>>>>> installation guide and here 
>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>> can show you how to test also with Derby if you'd 
>>>>>>>>>>>>>>>>>>>> like. (It is usually simpler than MySQL, and 
>>>>>>>>>>>>>>>>>>>> another benefit of working on Roller is that you 
>>>>>>>>>>>>>>>>>>>> become multiple-database-lingual very quickly.)
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I with this much 
>>>>>>>>>>>>>>>>>>>>> deep information, I can start working in it. I 
>>>>>>>>>>>>>>>>>>>>> have started working on this Issue and have 
>>>>>>>>>>>>>>>>>>>>> followed your steps.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in createdb.vm and in 
>>>>>>>>>>>>>>>>>>>>> migration scripts also. I have for mow stared 
>>>>>>>>>>>>>>>>>>>>> working on MySQL.
>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl class, I have 
>>>>>>>>>>>>>>>>>>>>> commented updatePathTree and getRootWeblogCategory 
>>>>>>>>>>>>>>>>>>>>> methods
>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for now 
>>>>>>>>>>>>>>>>>>>>> Category.orm.xml and enterd details of new table. 
>>>>>>>>>>>>>>>>>>>>> A new class Category in weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> I have created new files for now and will work on 
>>>>>>>>>>>>>>>>>>>>> this and add new position coloum and code 
>>>>>>>>>>>>>>>>>>>>> regarding this. Other than UI and template Layer, 
>>>>>>>>>>>>>>>>>>>>> I think I have covered all files on which I have 
>>>>>>>>>>>>>>>>>>>>> to work on the Database and JPA layers ? Please 
>>>>>>>>>>>>>>>>>>>>> tell me if I am wrong anywhere or following wrong 
>>>>>>>>>>>>>>>>>>>>> workflow.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 AM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for our database 
>>>>>>>>>>>>>>>>>>>>>> scripts -- you see a createdb.vm plus migration 
>>>>>>>>>>>>>>>>>>>>>> scripts (5.0 to 5.1) -- we'll want our change in 
>>>>>>>>>>>>>>>>>>>>>> both places (IIRC), new users have the createdb 
>>>>>>>>>>>>>>>>>>>>>> run and Roller upgraders with their current DB's 
>>>>>>>>>>>>>>>>>>>>>> have the 5.0 to 5.1 migration script run.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here and I'd like to get 
>>>>>>>>>>>>>>>>>>>>>> this done right (I plan on helping out where 
>>>>>>>>>>>>>>>>>>>>>> you'd like). Namely, we've moved from a 
>>>>>>>>>>>>>>>>>>>>>> hierarchical category structure (categories 
>>>>>>>>>>>>>>>>>>>>>> having subcategories having their own 
>>>>>>>>>>>>>>>>>>>>>> subcatorgories etc.) to a flat single-level 
>>>>>>>>>>>>>>>>>>>>>> structure (all categories are top level) -- that 
>>>>>>>>>>>>>>>>>>>>>> was done a week or so back. Problem is, the 
>>>>>>>>>>>>>>>>>>>>>> database tables are still assuming hierarchical 
>>>>>>>>>>>>>>>>>>>>>> (they will work with flat structures but are 
>>>>>>>>>>>>>>>>>>>>>> overkill--we don't need a parent ID column 
>>>>>>>>>>>>>>>>>>>>>> anymore.) Also, the JPA objects are designed for 
>>>>>>>>>>>>>>>>>>>>>> hierarchical but can simplified a bit more to 
>>>>>>>>>>>>>>>>>>>>>> flat structure. Incidentally, "sequenceNum" is 
>>>>>>>>>>>>>>>>>>>>>> ambiguous about what it means, I would say 
>>>>>>>>>>>>>>>>>>>>>> "position" or "ordering" (INT null, null for 
>>>>>>>>>>>>>>>>>>>>>> migrators who don't yet have a position defined) 
>>>>>>>>>>>>>>>>>>>>>> is clearer.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to handle this--for both 
>>>>>>>>>>>>>>>>>>>>>> new installers and upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new table, say 
>>>>>>>>>>>>>>>>>>>>>> "category" designed precisely as we need, and 
>>>>>>>>>>>>>>>>>>>>>> have the migration scripts select from the old 
>>>>>>>>>>>>>>>>>>>>>> weblogcategory and insert into the new category 
>>>>>>>>>>>>>>>>>>>>>> table. (We then ignore the weblogcategory table.) 
>>>>>>>>>>>>>>>>>>>>>> We'll need to test the scripts with at least two 
>>>>>>>>>>>>>>>>>>>>>> databases (2 of probably MySQL, Derby and/or 
>>>>>>>>>>>>>>>>>>>>>> PostgreSQL) and guess for the others--if we're 
>>>>>>>>>>>>>>>>>>>>>> wrong the user community can supply a patch 
>>>>>>>>>>>>>>>>>>>>>> fixing it.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence object (the old 
>>>>>>>>>>>>>>>>>>>>>> WeblogCategory) will need 
>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as it's now flat-level. 
>>>>>>>>>>>>>>>>>>>>>> Indeed, I think things will get a *lot* simpler 
>>>>>>>>>>>>>>>>>>>>>> here, as it may just be the parent Weblog holding 
>>>>>>>>>>>>>>>>>>>>>> a list of some sort of Category objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp (or whatever it's 
>>>>>>>>>>>>>>>>>>>>>> called) and its Struts action class will now need 
>>>>>>>>>>>>>>>>>>>>>> to use the new Category object (and table) 
>>>>>>>>>>>>>>>>>>>>>> instead of WeblogCategory. The UI page will need 
>>>>>>>>>>>>>>>>>>>>>> two changes: (1) all new categories will be 
>>>>>>>>>>>>>>>>>>>>>> placed (and saved) at the bottom of the category 
>>>>>>>>>>>>>>>>>>>>>> list (and as result, appear last (right-most) in 
>>>>>>>>>>>>>>>>>>>>>> the category list, and, later (2) probably have 
>>>>>>>>>>>>>>>>>>>>>> up and down buttons in the table allowing users 
>>>>>>>>>>>>>>>>>>>>>> to easily reorder the categories as they like. 
>>>>>>>>>>>>>>>>>>>>>> (Strictly speaking, 1 alone is all that's needed 
>>>>>>>>>>>>>>>>>>>>>> for ordering, as you can 
>>>>>>>>>>>>>>>>>>>>>> remove/name/delete/recreate categories to 
>>>>>>>>>>>>>>>>>>>>>> eventually get them in the position you'd like, 
>>>>>>>>>>>>>>>>>>>>>> but (2) of course is much nicer.)
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't looked into this): 
>>>>>>>>>>>>>>>>>>>>>> The templates (probably just a macro or two) will 
>>>>>>>>>>>>>>>>>>>>>> need updating to ensure that they output the 
>>>>>>>>>>>>>>>>>>>>>> category names per the new position order.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one advantage is that I'd 
>>>>>>>>>>>>>>>>>>>>>> like to do the same thing with 
>>>>>>>>>>>>>>>>>>>>>> bookmarks/blogrolls (team discussion pending...), 
>>>>>>>>>>>>>>>>>>>>>> switch from a hierarchical to flat-level for 
>>>>>>>>>>>>>>>>>>>>>> those too.  If we can do this for categories, the 
>>>>>>>>>>>>>>>>>>>>>> logic/UI design, etc., will carry over 100% to 
>>>>>>>>>>>>>>>>>>>>>> bookmarks.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually getting to this 
>>>>>>>>>>>>>>>>>>>>>> myself, so am available to work with you on 
>>>>>>>>>>>>>>>>>>>>>> whatever parts you'd like. I think going in order 
>>>>>>>>>>>>>>>>>>>>>> 1-2-3-4 and having separate commits may be the 
>>>>>>>>>>>>>>>>>>>>>> cleanest way of doing this. What's nice about 
>>>>>>>>>>>>>>>>>>>>>> using a brand new table and JPA object is that 
>>>>>>>>>>>>>>>>>>>>>> the old objects can still work in the code while 
>>>>>>>>>>>>>>>>>>>>>> we're creating the new, we just don't activate 
>>>>>>>>>>>>>>>>>>>>>> the new until the very end.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team members on the above 
>>>>>>>>>>>>>>>>>>>>>> ideas...?) Or are there other Roller tasks you'd 
>>>>>>>>>>>>>>>>>>>>>> like to sink your teeth into instead? I can look 
>>>>>>>>>>>>>>>>>>>>>> at this otherwise, but this looks like a very 
>>>>>>>>>>>>>>>>>>>>>> good exercise for someone wanting to get more 
>>>>>>>>>>>>>>>>>>>>>> involved in Roller, as it covers all the layers 
>>>>>>>>>>>>>>>>>>>>>> of the webapp.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I have started working on ROL-1981, as discussed 
>>>>>>>>>>>>>>>>>>>>>>> in previous discussion threads I will add new 
>>>>>>>>>>>>>>>>>>>>>>> column sequenceNum in weblogcategory table. Then 
>>>>>>>>>>>>>>>>>>>>>>> we can assign sequenceNum to each category 
>>>>>>>>>>>>>>>>>>>>>>> according to websideid. If anyone have some 
>>>>>>>>>>>>>>>>>>>>>>> ideas regarding this, please help me. Also, need 
>>>>>>>>>>>>>>>>>>>>>>> some help on how to go with this issue, and how 
>>>>>>>>>>>>>>>>>>>>>>> to add new coloum, I found .sql file, do I need 
>>>>>>>>>>>>>>>>>>>>>>> to add there new column. Also, Is this possible 
>>>>>>>>>>>>>>>>>>>>>>> that that when I restart the roller it will add 
>>>>>>>>>>>>>>>>>>>>>>> new column to database ?
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>


Re: ROL-1981 Category ordering

Posted by Gaurav <ga...@gmail.com>.
Hello Glen,

Ok. I got your point. So, Can I look into ROL-1982 and check that. Also, 
I my ICLA has been accepted. If roller community can recommend me as 
committer or I have to get more involved in Roller and complete more 
issues ?

Thanks
Gaurav

On Monday 27 January 2014 10:48 AM, Glen Mazza wrote:
> No, you didn't disappoint me, ROL-1981 again is a *very* messy task, I 
> think the application will be much cleaner once this is done.  I'm 
> trying the much smaller step-by-step approach I had suggested earlier 
> (it's too many moving parts to do all at once) -- just to hardcode 
> getPath() and getParent() so the underlying member variables can be 
> removed, that can get us to a new table.  Later, references to 
> getPath() and getParent() can be removed whenever. Sure, your code now 
> would be fine, but your work appears subsequent to what I'm trying to 
> do right now.
>
> Cheers,
> Glen
>
>
> On 01/26/2014 11:25 PM, Gaurav wrote:
>> Hello Glen,
>>
>> I know I disappointed you in this task. Honestly Speaking I am just 
>> left with single issue of getting the category list, as you suggested 
>> the getweblogcategories should be in weblog manager. I tried with 
>> that also, then the issue was that I am unable to get website in 
>> CategoryAdd so I can pass it to getweblogcategories method. (Actually 
>> this is for checking that no two categories has same name). The 
>> problem actually is getweblogcategories(website) need parameter 
>> website to return the list, at some places I am unable to get the 
>> website.
>>
>> I can do one thing, can I submit the patches for the work I have done 
>> till now, so you can take my changes and work on to it. Might be this 
>> will reduce your more than half of the work. What you say ?
>>
>> Thanks
>> Gaurav
>>
>


Re: ROL-1981 Category ordering

Posted by Glen Mazza <gl...@gmail.com>.
No, you didn't disappoint me, ROL-1981 again is a *very* messy task, I 
think the application will be much cleaner once this is done.  I'm 
trying the much smaller step-by-step approach I had suggested earlier 
(it's too many moving parts to do all at once) -- just to hardcode 
getPath() and getParent() so the underlying member variables can be 
removed, that can get us to a new table.  Later, references to getPath() 
and getParent() can be removed whenever.  Sure, your code now would be 
fine, but your work appears subsequent to what I'm trying to do right now.

Cheers,
Glen


On 01/26/2014 11:25 PM, Gaurav wrote:
> Hello Glen,
>
> I know I disappointed you in this task. Honestly Speaking I am just 
> left with single issue of getting the category list, as you suggested 
> the getweblogcategories should be in weblog manager. I tried with that 
> also, then the issue was that I am unable to get website in 
> CategoryAdd so I can pass it to getweblogcategories method. (Actually 
> this is for checking that no two categories has same name). The 
> problem actually is getweblogcategories(website) need parameter 
> website to return the list, at some places I am unable to get the 
> website.
>
> I can do one thing, can I submit the patches for the work I have done 
> till now, so you can take my changes and work on to it. Might be this 
> will reduce your more than half of the work. What you say ?
>
> Thanks
> Gaurav
>


Re: ROL-1981 Category ordering

Posted by Gaurav <ga...@gmail.com>.
Hello Glen,

I know I disappointed you in this task. Honestly Speaking I am just left 
with single issue of getting the category list, as you suggested the 
getweblogcategories should be in weblog manager. I tried with that also, 
then the issue was that I am unable to get website in CategoryAdd so I 
can pass it to getweblogcategories method. (Actually this is for 
checking that no two categories has same name). The problem actually is 
getweblogcategories(website) need parameter website to return the list, 
at some places I am unable to get the website.

I can do one thing, can I submit the patches for the work I have done 
till now, so you can take my changes and work on to it. Might be this 
will reduce your more than half of the work. What you say ?

Thanks
Gaurav

On Monday 27 January 2014 09:17 AM, Glen Mazza wrote:
> I'm looking at it now myself...ROL-1981 is a very messy task, sorry, I 
> suggested this item to you because the other ROL JIRA items you were 
> looking at the time appeared less important.
>
> Glen
>
> On 01/19/2014 11:01 AM, Gaurav wrote:
>> Hello Glen,
>>
>> I understood the way you suggested, as I just found that the feed 
>> category list was also not populating. The way you suggested is 
>> correct now as we did not have sub-categories now. Previoulsly we 
>> were using that method as we every time associate category with 
>> rootCategory, as we add each category below root (during add and edit 
>> category we pass id in bean for initializing the weblogCategory).
>> Also, I have corrected List to List<name> everywhere. I have now also 
>> installed tomcat in my eclipse and it helped a lot, thanks for this 
>> also. Just the test cases, I have to sought out what to do with them, 
>> might be changing this way might solve this issue also.
>> Last week was very busy for me have to work on weekends also, I will 
>> now complete this task in this week.
>>
>> Thanks for all the help and giving me this much time for working 
>> around this task.
>>
>> Gaurav
>>
>>
>> On Monday 13 January 2014 06:22 PM, Glen Mazza wrote:
>>> Hi Gaurav, just looked at the code.  I don't understand why there is 
>>> a getWeblogCategories() in WeblogEntryManager --- categories are 
>>> associated with a *Weblog* (the blog as a whole), not a 
>>> *WeblogEntry* (a blog entry).  A WeblogEntry should have a 
>>> getWeblogCategory() (singular) to identify the category the blog 
>>> entry was placed in, but I would think getWeblogEntries() should be 
>>> in the WeblogManager, and if temporarily necessary for the 
>>> WeblogEntryManager to have a getWeblogCategories(), have it call a 
>>> getWeblogManager().getWeblogCategories() to get that information.
>>>
>>> I don't know if the present implementation was an attempt to work 
>>> around any shortcomings in JPA.  Offhand, though, that last method 
>>> you listed, Weblog.getWeblogCategories() should be the most 
>>> important method to get working, (ideally), I would think the only 
>>> method that needs to have a getWeblogCategories() is 
>>> Weblog/WeblogManager.
>>>
>>> Note, best to use parameterized types in new code (i.e., List<Blah> 
>>> blah = new ArrayList<Blah>(); instead of just List blah) (see 
>>> Bloch's book, Effective Java) and those println's are indicating you 
>>> haven't gotten Tomcat webapp debugging set up in your IDE (what are 
>>> you using, IntelliJ or Eclipse?) -- I would really recommend doing 
>>> that, it's much faster to fix bugs when you can trace them. It's not 
>>> too difficult, there should be enough 'Net sources on how to do 
>>> that, but feel free to ask questions on that if necessary.
>>>
>>> Regards,
>>> Glen
>>>
>>>
>>> On 01/12/2014 06:19 AM, Gaurav wrote:
>>>> Hello Glen,
>>>>
>>>> Going through the test got another problem, as I told you I have 
>>>> created a method getWeblogCategories(), and I was able to get the 
>>>> categories listing on front-end (without changing anything in vm). 
>>>> But, now when I call this method again from WeblogCategory class in 
>>>> method hasCategory (for validating no duplicate category name), It 
>>>> did not return the categories.
>>>>
>>>> Below is new getWeblogCategories() method I created and another 
>>>> hasCategory method from where I call this.
>>>>
>>>> public List<WeblogCategory> getWeblogCategories(){
>>>>         List categories = new ArrayList();
>>>>         try {
>>>>             WeblogEntryManager wmgr = 
>>>> WebloggerFactory.getWeblogger().getWeblogEntryManager();
>>>> System.out.println("getweblogcategories==========="+getWebsite());
>>>>             categories = wmgr.getWeblogCategories(getWebsite());
>>>>         } catch (WebloggerException e) {
>>>>             log.error("ERROR: getting Categories", e);
>>>>         }
>>>>         return categories;
>>>>     }
>>>>
>>>> public boolean hasCategory(String name) {
>>>>         List<WeblogCategory> cats = getWeblogCategories();
>>>> System.out.println("========="+cats); // Return null
>>>>         for (WeblogCategory cat : cats) {
>>>> System.out.println("=====hascategory====="+name+"========"+cat.getName()); 
>>>>
>>>>             if(name.equals(cat.getName())) {
>>>>                 return true;
>>>>             }
>>>>         }
>>>>         return false;
>>>>     }
>>>>
>>>> Also, there is another method getWeblogCategories, in weblog.java 
>>>> this also return me null categories. Although same call in 
>>>> WeblogCategoryWrapper give results.
>>>> public List getWeblogCategories() {
>>>>         WeblogCategory website = new WeblogCategory();
>>>> System.out.println("=====getWeblogCategories====WEBLOG====website==="+website); 
>>>>
>>>>         return website.getWeblogCategories();
>>>>     }
>>>>
>>>> Thanks
>>>> Gaurav
>>>>
>>>> On Sunday 12 January 2014 04:05 PM, Glen Mazza wrote:
>>>>> Tests that are just testing that subcategories work can be 
>>>>> removed, because we don't have subcategories anymore--this change 
>>>>> is making the code simpler, and fewer tests are a consequence of 
>>>>> simpler code. Tests that are testing that category name changes 
>>>>> work, etc., should be rewritten to be able to iterate through a 
>>>>> weblog's category objects as if the categories are in List or Set 
>>>>> format, but no more hierarchical iteration as before.  Will that 
>>>>> work for you?
>>>>>
>>>>> Regards,
>>>>> Glen
>>>>>
>>>>> On 01/12/2014 03:21 AM, Gaurav wrote:
>>>>>> Hello Glen,
>>>>>>
>>>>>> I am still not able to correct the maven tests, if I run the 
>>>>>> tests they gave some errors, Actually as in many tests they are 
>>>>>> using root category for testing, I have also changed and 
>>>>>> commented some test cases still not successful in it.
>>>>>>
>>>>>> I am working and studying about the test cases (jUnit), what you 
>>>>>> suggest I should do to correct the test cases ?
>>>>>>
>>>>>> Thanks
>>>>>> Gaurav
>>>>>>
>>>>>> On Saturday 11 January 2014 05:01 PM, Glen Mazza wrote:
>>>>>>> Great! Looking forward to seeing the patch.
>>>>>>>
>>>>>>> Glen
>>>>>>>
>>>>>>> On 01/11/2014 03:18 AM, Gaurav wrote:
>>>>>>>> Hello Glen,
>>>>>>>>
>>>>>>>> I just got fixed that issue :). Thanks for all your help. I am 
>>>>>>>> done with all the issues and into thee final testing of the 
>>>>>>>> weblog all features.
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Gaurav
>>>>>>>>
>>>>>>>>
>>>>>>>> On Saturday 11 January 2014 12:20 PM, Gaurav wrote:
>>>>>>>>> Hello Glen,
>>>>>>>>>
>>>>>>>>> I still did not able to get what I should do next, as you told 
>>>>>>>>> that showWeblogCategoryLinksList($rootCategory false false) 
>>>>>>>>> only bring the toplevel categories, it because we specify the 
>>>>>>>>> $rootCategory each time, so automatically rootCategory child 
>>>>>>>>> will always going to be top level categories.
>>>>>>>>>
>>>>>>>>> Actually, my issue is that If I retain the method 
>>>>>>>>> getWeblogCategories() in WeblogCategory.java and return a Set 
>>>>>>>>> of type WeblogCategory then I have to do a mapping of that Set 
>>>>>>>>> in orm.xml like it was previously done
>>>>>>>>>
>>>>>>>>> <one-to-many name="weblogCategories" mapped-by="parent" 
>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Weblog" 
>>>>>>>>> fetch="LAZY"> </one-to-many>)
>>>>>>>>>
>>>>>>>>> So, it was previouly mapped by parent, and as now we did not 
>>>>>>>>> have any parent, I tried with website but it gave me error as 
>>>>>>>>> might be because its target-entity is different. I am really 
>>>>>>>>> out of ideas.
>>>>>>>>>
>>>>>>>>> I was thinking of start submitting patches of my work till 
>>>>>>>>> now, as just this issue of showing categories at blog is left.
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> Gaurav
>>>>>>>>>
>>>>>>>>> On Wednesday 08 January 2014 08:42 AM, Glen Mazza wrote:
>>>>>>>>>> Hi Gaurav, weblog.weblogCategories should still exist as 
>>>>>>>>>> probably a Set of some sort (Set because of no duplicate 
>>>>>>>>>> Categories allowed), a List is another option.  A weblog does 
>>>>>>>>>> own a collection of categories even with the change. What 
>>>>>>>>>> should not exist is some child set of categories under each 
>>>>>>>>>> category--any code asking for the latter can be removed 
>>>>>>>>>> because there are never any subcategories under a category 
>>>>>>>>>> anymore.
>>>>>>>>>>
>>>>>>>>>> Might you be getting confused with this code?
>>>>>>>>>>     #set($categories = $weblog.weblogCategories )
>>>>>>>>>>     #foreach( $cat in $categories )
>>>>>>>>>>
>>>>>>>>>> The above should be fine, you're not for-eaching child 
>>>>>>>>>> categories under the *category* but under the *weblog*.
>>>>>>>>>>
>>>>>>>>>> Grepping the code for "#showWeblogCategoryLinksList", is 
>>>>>>>>>> showing that this is its most common usage:
>>>>>>>>>>
>>>>>>>>>> #showWeblogCategoryLinksList($rootCategory false false)
>>>>>>>>>>
>>>>>>>>>> I.e., just show the top-level categories with no 
>>>>>>>>>> subcategories. With the new code, all three params are 
>>>>>>>>>> useless now.
>>>>>>>>>>
>>>>>>>>>> I think what we need to do is create a new macro:
>>>>>>>>>>
>>>>>>>>>> #showWeblogCategoryLinksList
>>>>>>>>>> that does the same as
>>>>>>>>>> #showWeblogCategoryLinksList($rootCategory false false)
>>>>>>>>>>
>>>>>>>>>> And, for backward compatibility (at least so it compiles), 
>>>>>>>>>> have this macro:
>>>>>>>>>>
>>>>>>>>>> (A) #showWeblogCategoryLinksList($categoryObj $expanding 
>>>>>>>>>> $subcats)
>>>>>>>>>> ignore all three of its arguments and just call
>>>>>>>>>> (B) #showWeblogCategoryLinksList
>>>>>>>>>>
>>>>>>>>>> So (A) will be a deprecated method to be pulled out at a 
>>>>>>>>>> future time (maybe in 5.1) -- we'll have to update each of 
>>>>>>>>>> our templates that currently call (A) to have them call (B) 
>>>>>>>>>> instead -- a simple change to make.
>>>>>>>>>>
>>>>>>>>>> I'm not sure if I'm answering your questions but I think this 
>>>>>>>>>> might be what you're getting at.
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Glen
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 01/07/2014 04:35 PM, Gaurav wrote:
>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>
>>>>>>>>>>> I am completed with the Database, JPA, UI Layer. I have 
>>>>>>>>>>> tested all possible ways by creating, deleting, updating 
>>>>>>>>>>> entries, categories and also the complete weblog.
>>>>>>>>>>> The only single issue left is in Template Layer. Actually in 
>>>>>>>>>>> weblog.vm file for iterating categories list for menu and 
>>>>>>>>>>> feeds, it uses ($weblog.weblogCategories). It try getting 
>>>>>>>>>>> list from WeblogCategory method getWeblogCategories() and 
>>>>>>>>>>> wrapping up with WeblogCategoryWrapper and WeblogWrapper 
>>>>>>>>>>> classes. But as this method is no longer required, as it was 
>>>>>>>>>>> for maintaining relations of parent-child, It did not get 
>>>>>>>>>>> any list.
>>>>>>>>>>>
>>>>>>>>>>> I though of retaining getWeblogCategories() method in 
>>>>>>>>>>> WeblogCategory class, and getting list of categories 
>>>>>>>>>>> directly from JPAWeblogEntryManager but it seems wrong to me 
>>>>>>>>>>> according to the structure. Can you please guide me what 
>>>>>>>>>>> should be the best way to go ?
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>> Gaurav
>>>>>>>>>>>
>>>>>>>>>>> On Wednesday 08 January 2014 01:25 AM, Gaurav wrote:
>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>
>>>>>>>>>>>> I figured out that issues, as I told when I use 
>>>>>>>>>>>> getWeblogCategories() method, then the error comes, 
>>>>>>>>>>>> actually its due to  the reason that I have removed below 
>>>>>>>>>>>> one-to-many mapping in orm file and still using the method. 
>>>>>>>>>>>> As you said, I studied JPA and get some time into it and 
>>>>>>>>>>>> learned new things about the mapping relationship. Now, I 
>>>>>>>>>>>> am thinking of implementing the same way as 
>>>>>>>>>>>> getWeblogEntries are listed  as it also come respect to the 
>>>>>>>>>>>> weblog/website.
>>>>>>>>>>>>
>>>>>>>>>>>> <one-to-many name="weblogCategories" mapped-by="parent" 
>>>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.WeblogCategory" 
>>>>>>>>>>>> fetch="LAZY"></one-to-many>
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>
>>>>>>>>>>>> On Monday 06 January 2014 02:36 AM, Glen Mazza wrote:
>>>>>>>>>>>>> I don't know, but I don't like that statement 
>>>>>>>>>>>>> "c.getWeblogCategories().add(c); "  A WeblogCategory 
>>>>>>>>>>>>> should no longer have child weblog categories (they are 
>>>>>>>>>>>>> pure siblings of each other with no hierarchical 
>>>>>>>>>>>>> relationship), so such an "add" shouldn't exist.  You can 
>>>>>>>>>>>>> have -->Weblog<---.getWeblogCategories().add(c), that 
>>>>>>>>>>>>> would make sense.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 01/05/2014 03:32 PM, Gaurav wrote:
>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I tried finding the that issues, but did not find 
>>>>>>>>>>>>>> anywhere. Also it is created dynamically as I changed the 
>>>>>>>>>>>>>> entity name to category1 then also sameerror come up with 
>>>>>>>>>>>>>> "category1_category1" doesn't exist. I think this might 
>>>>>>>>>>>>>> be something I am doing wrong with the code. As, Today I 
>>>>>>>>>>>>>> cleaned up all the code and now everything is working 
>>>>>>>>>>>>>> good. I am successful in creating, editing and deleting 
>>>>>>>>>>>>>> the weblog, entries, categories and everything is showing 
>>>>>>>>>>>>>> good.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Just single problem I am having now is showing the 
>>>>>>>>>>>>>> categories list in feeds and in menu. I figured out after 
>>>>>>>>>>>>>> checking that $categoryObject.getWeblogCategories() is 
>>>>>>>>>>>>>> iterated in velocity file which check for the 
>>>>>>>>>>>>>> getWeblogCategories() method of type Set in 
>>>>>>>>>>>>>> WeblogCategory class, Initially I commented this method 
>>>>>>>>>>>>>> as the comments over this method said "Get child 
>>>>>>>>>>>>>> categories of this category". But I think this is 
>>>>>>>>>>>>>> neccasary as whenever a category is created this is 
>>>>>>>>>>>>>> called to add a category to Set 
>>>>>>>>>>>>>> "rootCat.getWeblogCategories().add(c);"
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Now, Problem is we did not have any parent or root 
>>>>>>>>>>>>>> category now, so how it will going to add to that Set and 
>>>>>>>>>>>>>> Also I tried creating a object of WeblogCategory Class 
>>>>>>>>>>>>>> and tried adding it to getWeblogCategories() method then 
>>>>>>>>>>>>>> again. Now When I tired adding category with this 
>>>>>>>>>>>>>> "c.getWeblogCategories().add(c);" the same error comes 
>>>>>>>>>>>>>> up. If I comment this line that add category, everything 
>>>>>>>>>>>>>> works fine again, just did not get any list of categories 
>>>>>>>>>>>>>> in menu and feed.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Also, I am confused what setWeblogCategories() is doing 
>>>>>>>>>>>>>> as I did not find anywhere where it is used for setting 
>>>>>>>>>>>>>> categories. Just the getWeblogCategories() is used with 
>>>>>>>>>>>>>> .add for adding child categories to parent/root.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Below is what I done in addWeblogContents method of class 
>>>>>>>>>>>>>> JPAWeblogManagerImpl.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> if (cats != null && cats.trim().length() > 0) {
>>>>>>>>>>>>>>             String[] splitcats = cats.split(",");
>>>>>>>>>>>>>>             for (int i=0; i<splitcats.length; i++) {
>>>>>>>>>>>>>>                 WeblogCategory c = new WeblogCategory(
>>>>>>>>>>>>>>                         newWeblog, // newWeblog
>>>>>>>>>>>>>>                         splitcats[i], // name
>>>>>>>>>>>>>>                         splitcats[i], // description
>>>>>>>>>>>>>>                         null ); // image
>>>>>>>>>>>>>>                 if (i == 0) {
>>>>>>>>>>>>>>                     firstCat = c;
>>>>>>>>>>>>>>                 }
>>>>>>>>>>>>>> System.out.println("====Cats==="+c);
>>>>>>>>>>>>>> c.getWeblogCategories().add(c); //previously it was 
>>>>>>>>>>>>>> root.getWeblogCategories.add(c);
>>>>>>>>>>>>>>                 this.strategy.store(c);
>>>>>>>>>>>>>>             }
>>>>>>>>>>>>>>         }
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [EL Warning]: 2014-01-05 
>>>>>>>>>>>>>> 17:15:22.179--ClientSession(1956103136)--Exception 
>>>>>>>>>>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>>>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>>>>>>>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: 
>>>>>>>>>>>>>> Table/View 'CATEGORY_CATEGORY' does not exist.
>>>>>>>>>>>>>> Error Code: 20000
>>>>>>>>>>>>>> Call: INSERT INTO category_category (weblogCategories_id, 
>>>>>>>>>>>>>> WeblogCategory_id) VALUES (?, ?)
>>>>>>>>>>>>>>     bind => [2 parameters bound]
>>>>>>>>>>>>>> Query: DataModifyQuery(name="weblogCategories" 
>>>>>>>>>>>>>> sql="INSERT INTO category_category (weblogCategories_id, 
>>>>>>>>>>>>>> WeblogCategory_id) VALUES (?, ?)")
>>>>>>>>>>>>>> *
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> *Also I tried making new ArrayList and new getter setter 
>>>>>>>>>>>>>> in WeblogCategory class, still I got same error.
>>>>>>>>>>>>>>     List<WeblogCategory> catsss = new 
>>>>>>>>>>>>>> ArrayList<WeblogCategory>();
>>>>>>>>>>>>>>     catsss.add(c);
>>>>>>>>>>>>>>     c.setList(catsss);
>>>>>>>>>>>>>> System.out.println("======"+catsss+"============"+c.getList()); 
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Got this error, after adding Arraylist.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [EL Warning]: 2014-01-05 
>>>>>>>>>>>>>> 19:42:56.209--ClientSession(1732472947)--Exception 
>>>>>>>>>>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>>>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>>>>>>>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: 
>>>>>>>>>>>>>> Table/View 'CATEGORY_CATEGORY' does not exist.
>>>>>>>>>>>>>> Error Code: 20000
>>>>>>>>>>>>>> Call: INSERT INTO category_category (list_id, 
>>>>>>>>>>>>>> WeblogCategory_id) VALUES (?, ?)
>>>>>>>>>>>>>>     bind => [2 parameters bound]
>>>>>>>>>>>>>> Query: DataModifyQuery(name="list" sql="INSERT INTO 
>>>>>>>>>>>>>> category_category (list_id, WeblogCategory_id) VALUES (?, 
>>>>>>>>>>>>>> ?)")
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Sunday 05 January 2014 05:30 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>> Hi Gaurav, did you try a "control" with your file search 
>>>>>>>>>>>>>>> method? I.e., you're saying you're case-insensitive 
>>>>>>>>>>>>>>> searching on "category_category" but nothing is getting 
>>>>>>>>>>>>>>> returned -- did you try also searching something that 
>>>>>>>>>>>>>>> you *know* exists in the project (say, "class", 
>>>>>>>>>>>>>>> "public", "return", etc.) and your IDE/search method 
>>>>>>>>>>>>>>> indeed did return lots of matches?  Because if you get 
>>>>>>>>>>>>>>> zero search results with the latter we know the problem 
>>>>>>>>>>>>>>> is with the way you're configuring your search, not the 
>>>>>>>>>>>>>>> non-existence of "category_category". (Also are you 
>>>>>>>>>>>>>>> searching on every type of file extension, not just 
>>>>>>>>>>>>>>> .java files?)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Somewhere in your code the JPA layer has decided to 
>>>>>>>>>>>>>>> calculate "category_category" as a table name, I would 
>>>>>>>>>>>>>>> guess because that's what is exactly in the code 
>>>>>>>>>>>>>>> someplace (as you can see the query below generated 
>>>>>>>>>>>>>>> "...FROM category_category t0, category t1..."). One 
>>>>>>>>>>>>>>> useful experiment might be to rename the "category" 
>>>>>>>>>>>>>>> table (t1) above to "category2" -- would the SQL above 
>>>>>>>>>>>>>>> change to "category2_category2, category2..." or (I 
>>>>>>>>>>>>>>> think) "...FROM category_category t0, category2 t1...") 
>>>>>>>>>>>>>>> If the former, that would indicate that 
>>>>>>>>>>>>>>> "category2_category2" is being dynamically generated 
>>>>>>>>>>>>>>> from the "category2" table name. If the latter, that 
>>>>>>>>>>>>>>> would mean "category_category" is hardcoded somewhere 
>>>>>>>>>>>>>>> and not related to the "category" table name you've 
>>>>>>>>>>>>>>> properly configured.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I probably won't be able to get to this until next 
>>>>>>>>>>>>>>> weekend anyway, so I'm going to have you finish it, also 
>>>>>>>>>>>>>>> as a confidence-builder for you (if you let JPA push you 
>>>>>>>>>>>>>>> around now, it's always going to bully you...  :)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> PS:  Just to clarify, when an pre-5.1-SNAPSHOT user 
>>>>>>>>>>>>>>> installs Roller 5.1-SNAPSHOT, the Roller startup should 
>>>>>>>>>>>>>>> automatically detect that the system is currently using 
>>>>>>>>>>>>>>> an older Roller database and do the database upgrade 
>>>>>>>>>>>>>>> (creating of new the "category" table and prepopulation 
>>>>>>>>>>>>>>> of it). Roller has always done this as so long as you 
>>>>>>>>>>>>>>> put the necessary migration scripts in the right place 
>>>>>>>>>>>>>>> there should be no problem. However, those of us already 
>>>>>>>>>>>>>>> on 5.1-SNAPSHOT like myself before your patch will need 
>>>>>>>>>>>>>>> to manually create that table in our database (the 
>>>>>>>>>>>>>>> Roller script won't notice 5.1-SNAPSHOT-->5.1-SNAPSHOT, 
>>>>>>>>>>>>>>> so won't create "category" by itself.)  No problem, 
>>>>>>>>>>>>>>> we'll just figure out the necessary SQL statements for 
>>>>>>>>>>>>>>> Dave and he can add it to his Roller project blog.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 01/04/2014 04:47 PM, Gaurav wrote:
>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I searched whole project and did not find anywhere. I 
>>>>>>>>>>>>>>>> think might be I have done something wrong, as when I 
>>>>>>>>>>>>>>>> start with new database, everything work just deleting 
>>>>>>>>>>>>>>>> gives me this error. If I work on old database it even 
>>>>>>>>>>>>>>>> did not start up (localhost:8080/roller) gives my below 
>>>>>>>>>>>>>>>> error.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I have checked almost everything I can, might be some 
>>>>>>>>>>>>>>>> wrong java code and anything I done wrong that causes 
>>>>>>>>>>>>>>>> this. Should I submit by work so you can look on to it, 
>>>>>>>>>>>>>>>> or if we are not in any hurry than I can look into it 
>>>>>>>>>>>>>>>> again step by step (I prefer second option if we have 
>>>>>>>>>>>>>>>> one more week. Just another week or so, next week i 
>>>>>>>>>>>>>>>> have some tight schedule). I know I am taking too much 
>>>>>>>>>>>>>>>> time, but I am new to this level of Java code, as I 
>>>>>>>>>>>>>>>> worked maximum time at client side. But I really loving 
>>>>>>>>>>>>>>>> java code and learned a lot till now, before this I 
>>>>>>>>>>>>>>>> just worked with Java on small projects. OpenSource 
>>>>>>>>>>>>>>>> Projects really are very powerful and good way to learn 
>>>>>>>>>>>>>>>> new things.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Exception [EclipseLink-4002] (Eclipse Persistence 
>>>>>>>>>>>>>>>> Services - 2.5.0.v20130507-3faac2b): 
>>>>>>>>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException 
>>>>>>>>>>>>>>>> Internal Exception: 
>>>>>>>>>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 
>>>>>>>>>>>>>>>> Table 'roller.category_category' doesn't exist Error 
>>>>>>>>>>>>>>>> Code: 1146 Call: SELECT t1.id, t1.description, 
>>>>>>>>>>>>>>>> t1.image, t1.name, t1.websiteid FROM category_category 
>>>>>>>>>>>>>>>> t0, category t1 WHERE ((t0.WeblogCategory_id = ?) AND 
>>>>>>>>>>>>>>>> (t1.id = t0.weblogCategories_id)) bind => [1 parameter 
>>>>>>>>>>>>>>>> bound] Query: ReadAllQuery(name="weblogCategories" 
>>>>>>>>>>>>>>>> referenceClass=WeblogCategory sql="SELECT t1.id, 
>>>>>>>>>>>>>>>> t1.description, t1.image, t1.name, t1.websiteid FROM 
>>>>>>>>>>>>>>>> category_category t0, category t1 WHERE 
>>>>>>>>>>>>>>>> ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>>>>>>>>>>>>>>> t0.weblogCategories_id))")
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Sunday 05 January 2014 12:00 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>> Hi Gaurav, no, that relation shouldn't be needed anymore.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> As for the table name, at the top of your orm.xml file 
>>>>>>>>>>>>>>>>> the table name the file maps against is declared -- 
>>>>>>>>>>>>>>>>> perhaps you accidentally called it category_category. 
>>>>>>>>>>>>>>>>> I would grep or use a file search from your IDE of 
>>>>>>>>>>>>>>>>> your entire roller source code, looking for where 
>>>>>>>>>>>>>>>>> category_category is being declared -- (probably) has 
>>>>>>>>>>>>>>>>> to be there someplace. (More specifically, do a file 
>>>>>>>>>>>>>>>>> search on "DataModifyQuery" -- that's probably exactly 
>>>>>>>>>>>>>>>>> where the problem is.)
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Once working, try to import the latest code changes 
>>>>>>>>>>>>>>>>> into your code before submitting a patch (actually 
>>>>>>>>>>>>>>>>> create a backup patch first just in case).  Not sure 
>>>>>>>>>>>>>>>>> but I think a simple svn update will do -- svn will 
>>>>>>>>>>>>>>>>> identify some files where it will need your assistance 
>>>>>>>>>>>>>>>>> to resolve any differences -- it shouldn't be too hard 
>>>>>>>>>>>>>>>>> or time-consuming to do.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 01/04/2014 08:55 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I just want to know that the below relations in 
>>>>>>>>>>>>>>>>>> WeblogCategory.orm.xml are required or not as now the 
>>>>>>>>>>>>>>>>>> parent is not used so, I don't think its needed now. 
>>>>>>>>>>>>>>>>>> I have commented the below lines.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> <many-to-one name="parent" 
>>>>>>>>>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category"> 
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>                 <join-column name="parentid" 
>>>>>>>>>>>>>>>>>> insertable="true" updatable="true" nullable="true"/>
>>>>>>>>>>>>>>>>>>             </many-to-one>
>>>>>>>>>>>>>>>>>>             <one-to-many name="weblogCategories" 
>>>>>>>>>>>>>>>>>> mapped-by="parent" 
>>>>>>>>>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category" 
>>>>>>>>>>>>>>>>>> fetch="LAZY">
>>>>>>>>>>>>>>>>>>                 <cascade>
>>>>>>>>>>>>>>>>>> <cascade-remove/>
>>>>>>>>>>>>>>>>>>                 </cascade>
>>>>>>>>>>>>>>>>>>             </one-to-many>
>>>>>>>>>>>>>>>>>>             <transient name="inUse"/>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I asked this because, getting categories giving me 
>>>>>>>>>>>>>>>>>> mysql exception. The new table is 'roller.category' 
>>>>>>>>>>>>>>>>>> but it executes for 'roller.category_category'.
>>>>>>>>>>>>>>>>>> I am not able to get what I have done wrong.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Internal Exception: 
>>>>>>>>>>>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 
>>>>>>>>>>>>>>>>>> Table 'roller.category_category' doesn't exist
>>>>>>>>>>>>>>>>>> Error Code: 1146
>>>>>>>>>>>>>>>>>> Call: DELETE FROM category_category WHERE 
>>>>>>>>>>>>>>>>>> (WeblogCategory_id = ?)
>>>>>>>>>>>>>>>>>>     bind => [1 parameter bound]
>>>>>>>>>>>>>>>>>> Query: DataModifyQuery(name="weblogCategories" 
>>>>>>>>>>>>>>>>>> sql="DELETE FROM category_category WHERE 
>>>>>>>>>>>>>>>>>> (WeblogCategory_id = ?)")
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Also, I have changed the getWeblogCategoryByPath to 
>>>>>>>>>>>>>>>>>> getWeblogCategoryByName so feeds and other places 
>>>>>>>>>>>>>>>>>> work fine. I have able to get catgeory list, new 
>>>>>>>>>>>>>>>>>> entries are creating successfully. Just deleting the 
>>>>>>>>>>>>>>>>>> weblog is giving me above error.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I have already deleted getPath and getParent and in 
>>>>>>>>>>>>>>>>>>> the mid of everything. I hope I will be able to 
>>>>>>>>>>>>>>>>>>> complete this by Monday. If still, I get some major 
>>>>>>>>>>>>>>>>>>> issues due to this, I will switch to what you 
>>>>>>>>>>>>>>>>>>> suggested. Just give me time till Monday, as I have 
>>>>>>>>>>>>>>>>>>> done almost 80% of code cleaned regarding the path 
>>>>>>>>>>>>>>>>>>> and parentcategory. I will get back to you soon with 
>>>>>>>>>>>>>>>>>>> some patches and then you can test it.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Also, my ICLA have been filed, got the receipt of my 
>>>>>>>>>>>>>>>>>>> ICLA.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Wednesday 01 January 2014 08:07 AM, Glen Mazza 
>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>> Gaurav, sorry, it just occurred to me there's a 
>>>>>>>>>>>>>>>>>>>> simpler intermediate step that can be done. While 
>>>>>>>>>>>>>>>>>>>> we need the database table without a path column, 
>>>>>>>>>>>>>>>>>>>> and to remove the "path" member *variable* from 
>>>>>>>>>>>>>>>>>>>> WeblogCategory (or its replacement), we can still 
>>>>>>>>>>>>>>>>>>>> keep indefinitely keep getPath(), just hardcode it 
>>>>>>>>>>>>>>>>>>>> to "/" + categoryName, which is precisely what the 
>>>>>>>>>>>>>>>>>>>> old code returns for any top-level category--the 
>>>>>>>>>>>>>>>>>>>> rest of the system can stay just as it did before. 
>>>>>>>>>>>>>>>>>>>> Switching the rest of the code from getPath() to 
>>>>>>>>>>>>>>>>>>>> using getName() can be done at any time, bit by bit 
>>>>>>>>>>>>>>>>>>>> whenever, that's not necessary to implement 
>>>>>>>>>>>>>>>>>>>> positioning, that's just a code cleanup issue. 
>>>>>>>>>>>>>>>>>>>> Likewise, for WeblogCategory.getParent(), it may be 
>>>>>>>>>>>>>>>>>>>> as simple as adding a root category object as part 
>>>>>>>>>>>>>>>>>>>> of the Weblog's constructor (but not saved to the 
>>>>>>>>>>>>>>>>>>>> database), and having WeblogCategory.getParent() 
>>>>>>>>>>>>>>>>>>>> just return website.getParentCategory()--that way 
>>>>>>>>>>>>>>>>>>>> all categories for a weblog will have the same root 
>>>>>>>>>>>>>>>>>>>> category as before, and the rest of the code base 
>>>>>>>>>>>>>>>>>>>> should function fine. Once we're on the new table, 
>>>>>>>>>>>>>>>>>>>> then it's an issue of implementing 
>>>>>>>>>>>>>>>>>>>> positioning--getting rid of getParent() and 
>>>>>>>>>>>>>>>>>>>> getPath() can be done by anybody at a later date.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>> No problem, I'm available to help (or finish it 
>>>>>>>>>>>>>>>>>>>>> up) if needed. For a seemingly simple switch, 
>>>>>>>>>>>>>>>>>>>>> you're certainly getting a *full* education of the 
>>>>>>>>>>>>>>>>>>>>> Roller codebase.  :)
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> BTW, I hope you're not testing via mvn jetty:run, 
>>>>>>>>>>>>>>>>>>>>> as that requires you to keep logging in for the 
>>>>>>>>>>>>>>>>>>>>> first time, creating a blog for the first time, 
>>>>>>>>>>>>>>>>>>>>> etc., whenever you start it. Very inefficient and 
>>>>>>>>>>>>>>>>>>>>> tiring. Normally I just build (mvn clean install) 
>>>>>>>>>>>>>>>>>>>>> and dump the WAR into standalone Tomcat on my 
>>>>>>>>>>>>>>>>>>>>> local machine. The database & other configuration 
>>>>>>>>>>>>>>>>>>>>> I keep permanently in roller-custom.properties in 
>>>>>>>>>>>>>>>>>>>>> the Tomcat lib/ folder, so the new WAR just takes 
>>>>>>>>>>>>>>>>>>>>> over with the same configuration, blogs, accounts, 
>>>>>>>>>>>>>>>>>>>>> etc., that old WAR was using. (Check the Roller 
>>>>>>>>>>>>>>>>>>>>> install guide for full instructions.)
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Also vital is that you know how to debug/trace 
>>>>>>>>>>>>>>>>>>>>> Roller code in Eclipse or IntelliJ while it is 
>>>>>>>>>>>>>>>>>>>>> running on Tomcat (or another servlet container). 
>>>>>>>>>>>>>>>>>>>>> It's much simpler than it seems, and will save you 
>>>>>>>>>>>>>>>>>>>>> a lot of time. These instructions are for Eclipse 
>>>>>>>>>>>>>>>>>>>>> but Intellij (my preference) is basically the 
>>>>>>>>>>>>>>>>>>>>> same: 
>>>>>>>>>>>>>>>>>>>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>>>>>>>>>>>>>>>>>>>>> Checking variable values while it's running will 
>>>>>>>>>>>>>>>>>>>>> point you to where problems are much more quickly.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Happy New Year!
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> As, I previously told you that the test cases are 
>>>>>>>>>>>>>>>>>>>>>> giving problem, actually I think we have to do 
>>>>>>>>>>>>>>>>>>>>>> some changes in Test Cases also, as many of the 
>>>>>>>>>>>>>>>>>>>>>> methods involving path and parent are removed so, 
>>>>>>>>>>>>>>>>>>>>>> many times in test cases (it did not get correct 
>>>>>>>>>>>>>>>>>>>>>> values and give errors).
>>>>>>>>>>>>>>>>>>>>>> I have successfully showed the categories by 
>>>>>>>>>>>>>>>>>>>>>> website till now in the admin section. Also, the 
>>>>>>>>>>>>>>>>>>>>>> entries are saved just, I ran out of memory issue 
>>>>>>>>>>>>>>>>>>>>>> in happen when I save an entry that entry, 
>>>>>>>>>>>>>>>>>>>>>> although it get saved when I refresh the page.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Also, as their is not path now, we have to do 
>>>>>>>>>>>>>>>>>>>>>> some changes in velocity files, as feeds are 
>>>>>>>>>>>>>>>>>>>>>> giving error in showing, although if I direct 
>>>>>>>>>>>>>>>>>>>>>> enter the URL its working fine. I have cleared 
>>>>>>>>>>>>>>>>>>>>>> many parts of the code, just I have test of the 
>>>>>>>>>>>>>>>>>>>>>> roller parts which are linked the path and 
>>>>>>>>>>>>>>>>>>>>>> parent. I am thinking of correcting the test 
>>>>>>>>>>>>>>>>>>>>>> cases, as I can run them and if test cases are 
>>>>>>>>>>>>>>>>>>>>>> fine then might be everything will work fine.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> I will return to work on this after 3 days, as I 
>>>>>>>>>>>>>>>>>>>>>> will be and will get be to it during coming 
>>>>>>>>>>>>>>>>>>>>>> weekend again. I will wrap this out asap for you 
>>>>>>>>>>>>>>>>>>>>>> to test and will attach patches coming weekend.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>> Thanks for that info, I have changed my settings 
>>>>>>>>>>>>>>>>>>>>>>> in the eclipse.
>>>>>>>>>>>>>>>>>>>>>>> Yes, you are right I will leave the ordering 
>>>>>>>>>>>>>>>>>>>>>>> part for now and work on clearing the code for 
>>>>>>>>>>>>>>>>>>>>>>> now. For now I will just add a column in 
>>>>>>>>>>>>>>>>>>>>>>> category table with position, leaving it null 
>>>>>>>>>>>>>>>>>>>>>>> for now.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 05:33 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>> Your last ImprovedCreateUser.patch had some tab 
>>>>>>>>>>>>>>>>>>>>>>>> characters in it, and our project uses spaces 
>>>>>>>>>>>>>>>>>>>>>>>> for tabs (just have Eclipse insert 4 spaces 
>>>>>>>>>>>>>>>>>>>>>>>> whenever you hit the tab key, with no tab 
>>>>>>>>>>>>>>>>>>>>>>>> characters.) Very few Apache projects (any?) 
>>>>>>>>>>>>>>>>>>>>>>>> are tab-indented today. It is a simple fix with 
>>>>>>>>>>>>>>>>>>>>>>>> IntelliJ IDEA (Edit -> Convert Indents -> To 
>>>>>>>>>>>>>>>>>>>>>>>> Spaces), I'm sure Eclipse has an equivalent.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> For blogs migrating from pre-5.1 versions, we 
>>>>>>>>>>>>>>>>>>>>>>>> can keep the position NULL by default (and when 
>>>>>>>>>>>>>>>>>>>>>>>> you order by position, with null values, they 
>>>>>>>>>>>>>>>>>>>>>>>> will come out in any order, like they do 
>>>>>>>>>>>>>>>>>>>>>>>> today.) Whenever a new blog is created with the 
>>>>>>>>>>>>>>>>>>>>>>>> default three categories, those can be assigned 
>>>>>>>>>>>>>>>>>>>>>>>> positions (probably 0-based for leftmost is 
>>>>>>>>>>>>>>>>>>>>>>>> best.) For migrated blogs, once the user goes 
>>>>>>>>>>>>>>>>>>>>>>>> to the category page and makes a change for the 
>>>>>>>>>>>>>>>>>>>>>>>> first time, numbers can be written for the very 
>>>>>>>>>>>>>>>>>>>>>>>> first time--no special extra UI is needed for 
>>>>>>>>>>>>>>>>>>>>>>>> this purpose. But like I was saying, this is 
>>>>>>>>>>>>>>>>>>>>>>>> such a lengthy patch you may wish to forget 
>>>>>>>>>>>>>>>>>>>>>>>> about the ordering right now--it doesn't work 
>>>>>>>>>>>>>>>>>>>>>>>> anyway in Roller right now. It may be best to 
>>>>>>>>>>>>>>>>>>>>>>>> get us to the new table and get rid of the 
>>>>>>>>>>>>>>>>>>>>>>>> paths, and once we're on that firmer foundation 
>>>>>>>>>>>>>>>>>>>>>>>> implementing positioning (on the Category page 
>>>>>>>>>>>>>>>>>>>>>>>> and in the templates) will be much simpler.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> I will change the position to be integer, and 
>>>>>>>>>>>>>>>>>>>>>>>>> will exclude the category where parent null, 
>>>>>>>>>>>>>>>>>>>>>>>>> but still what can be done for the position as 
>>>>>>>>>>>>>>>>>>>>>>>>> the old data did not have position, so how and 
>>>>>>>>>>>>>>>>>>>>>>>>> on what basis we have to add position to it. I 
>>>>>>>>>>>>>>>>>>>>>>>>> was thinking that we can left it as null, and 
>>>>>>>>>>>>>>>>>>>>>>>>> provide some UI in backend where user can 
>>>>>>>>>>>>>>>>>>>>>>>>> assign position themselves.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> I will take care of spacing, will search what 
>>>>>>>>>>>>>>>>>>>>>>>>> I am doing wrong. As, I am not sure is that 
>>>>>>>>>>>>>>>>>>>>>>>>> you are talking about formatting the code, or 
>>>>>>>>>>>>>>>>>>>>>>>>> anything else. As I use tab (with 4 spaces) in 
>>>>>>>>>>>>>>>>>>>>>>>>> Eclipse IDE.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> BTW, not to be hated, but make sure any code 
>>>>>>>>>>>>>>>>>>>>>>>>>> you submit is space-padded (4 spaces), *not* 
>>>>>>>>>>>>>>>>>>>>>>>>>> tab-padded. Your IDE should be able to 
>>>>>>>>>>>>>>>>>>>>>>>>>> convert it for you if you've been doing 
>>>>>>>>>>>>>>>>>>>>>>>>>> tab-padding.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> I am confused on how to add and on what 
>>>>>>>>>>>>>>>>>>>>>>>>>>> basis we have to addd position to the new 
>>>>>>>>>>>>>>>>>>>>>>>>>>> category table. Below two sql commands can 
>>>>>>>>>>>>>>>>>>>>>>>>>>> be used for coping data and deleting the 
>>>>>>>>>>>>>>>>>>>>>>>>>>> root categories.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> create table category (
>>>>>>>>>>>>>>>>>>>>>>>>>>>     id varchar(48) not null primary key,
>>>>>>>>>>>>>>>>>>>>>>>>>>>     name varchar(255) not null,
>>>>>>>>>>>>>>>>>>>>>>>>>>> description varchar(255),
>>>>>>>>>>>>>>>>>>>>>>>>>>>     websiteid varchar(48) not null,
>>>>>>>>>>>>>>>>>>>>>>>>>>>     image varchar(255),
>>>>>>>>>>>>>>>>>>>>>>>>>>>     position varchar(48)
>>>>>>>>>>>>>>>>>>>>>>>>>>> );
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> insert into 
>>>>>>>>>>>>>>>>>>>>>>>>>>> category(id,name,description,websiteid,image) select 
>>>>>>>>>>>>>>>>>>>>>>>>>>> id,name,description,websiteid,image from 
>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory;
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> delete from category where name="root";
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> What do you suggest for this ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Take your time, this is a messy change as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> it affects many areas of the code. But 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller will be architecturally much more 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> solid and simpler once this change is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> done.  I have your ROL-1616 and ROL-1982 on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> my plate for this weekend.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have deleted the path and all related 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> methods, but its seems to me that the path 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> methods like (getWeblogCategoryByPath) and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> many other path and parent related 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> methods, are scattered over the whole 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> roller. There are many occurrence of these 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> methods and I have to sort out each piece 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> of code as now there is no path so, mostly 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we check for categoryPath != null in if 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> conditions, so these are no longer needed.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, I as thinking after testing and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> completing this we can delete the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory and replace with Category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> method, as it will be clean. I also 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> figured out why my tests are failing as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> during creating of weblogentry it did not 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> find the categories, as that class was 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> using old WeblogCategory table and using 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that class methods. I think I will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> definitely will figure out everything at 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the end and will successfully test with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the unit tests.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am now in the editor part so can display 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the categories on front end, I am now all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> over the 1-2-3-4 steps you mentioned. As 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> soon as I will able to display the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories (small issues left) at the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> backend, I will again go through my 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> changes. Also, at this time I can only 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> create patch for new table and migration 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> script, as all other classes code are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> interrelated so can't submit now. I will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> test every single thing related to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories, then I will submit my patches.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Although I have learned a lot new things, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> just spent last two full days on this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sorting out things, many times ending up 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> nowhere from where I started. But I am 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> confident that I will definitely complete 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this task. Just I am worrying that I must 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> be taking too much time.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> If there is something, you can advice me I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> would happy to follow that also.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> If it helps, you can provide interim 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> patches, so long as it doesn't break the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> current code base. You may want to create 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> a patch just creating the new database 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table (which will be ignored by the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> current code) and sql insert-select 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> scripts to move from the current table to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the new one, then one converting the code 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to using the new table without sorting, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> then (finally) one that implements 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sorting of the categories.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created and updated all necessary 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> files in JPA and for database, I tried 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> compiling the code it gave me errors in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> test cases. As I am not sure that what I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> am wrong in this. Although I tried 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> compiling without running test cases, it 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> worked fine. I tested it with tomcat and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new table category is created and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> initial category (General, Finance and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Technology) are created with the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> position 1,2,3. Still there are many 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> thing I have to clean up and sort out 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and will test it again.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Ok, got your point. I will check on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> other Roller parts also if parent name 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and path aren't be using in any other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> part of Roller. I will go into the RSS 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and Atom feeds later on, and see what 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> changes it need. As, till now I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> changed many files and created some, so 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will first test this part then go into 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that feeds part.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Sounds good, but may require more work 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to make sure all is good with the RSS 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and Atom feeds as a result (which I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> believe rely on path). Where path is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> used to check for equivalence, I guess 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> name (and blog/website ID, if 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> necessary) alone will do now. We may 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need to check (if we aren't already) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that no two categories have the same 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> name, where prior we were checking 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that no two paths are the same (i.e., 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> allowing category paths 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> USStates/Georgia and Countries/Georgia 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> but now needing to disallow two 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories named "Georgia".)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am thinking of removing the path 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> coloumn also, as it does not make 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sense now as there will no 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> subcategories and all will have same 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> path (like /categoryname). WDYT ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I want to know as now all the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories will be top level, so 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the root category which is created 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> by default on addWeblog isn't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> needed. So, I can remove that code 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> also ? I am in half completed with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the 1-2 steps will soon submit some 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> patched in jira issue. You can look 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> on to them whenever you will get 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> time from other projects.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this, I understand your 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> commitments. As this will give me 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> more time on working on this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> issue. I will give my 100% on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this, as I also want to get into 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> more and more open source 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> projects. For Now I am focusing on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller for starting my 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> contributions in open source.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can't help much right now either, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as my other project JSPWiki has a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new release going out.) But 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> please be patient with us on your 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> recent submitted patches -- we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> haven't forgotten you and are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> happy with your efforts on this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> project so far, we just have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> full-time jobs and, even after 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that, other obligations -- for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> open source work, we usually have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to beg, borrow and steal time to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> work on them.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am going through this having 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> some issues, although not major 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> till now. I have still working 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> on 1-2 steps, might be I am slow 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as get less time. (Wish we also 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have holidays of this festive 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> season in India :P) Just want to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> know isn't there any hurry for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> completing this asap ? Although, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am sure will definitely 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> complete this as I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> understood the structure of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller completely. Just I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to go through the JPA more and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> read about this.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 04:59 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> missing will become apparent to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you as you work along. The 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller installation guide and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> here 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can show you how to test also 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with Derby if you'd like. (It 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> is usually simpler than MySQL, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and another benefit of working 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> on Roller is that you become 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> multiple-database-lingual very 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> quickly.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I with this much deep 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> information, I can start 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> working in it. I have started 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> working on this Issue and have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> followed your steps.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb.vm and in migration 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> scripts also. I have for mow 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> stared working on MySQL.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2. In 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> JPAWeblogEntryManagerImpl 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> class, I have commented 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for now Category.orm.xml and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> enterd details of new table. A 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new class Category in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created new files for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> now and will work on this and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> add new position coloum and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> code regarding this. Other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> than UI and template Layer, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> think I have covered all files 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> on which I have to work on the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Database and JPA layers ? 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Please tell me if I am wrong 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> anywhere or following wrong 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> workflow.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 04:59 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for our database scripts -- 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you see a createdb.vm plus 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> migration scripts (5.0 to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 5.1) -- we'll want our change 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in both places (IIRC), new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> users have the createdb run 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and Roller upgraders with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> their current DB's have the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 5.0 to 5.1 migration script run.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and I'd like to get this done 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> right (I plan on helping out 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> where you'd like). Namely, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we've moved from a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structure (categories having 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> subcategories having their 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> own subcatorgories etc.) to a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat single-level structure 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (all categories are top 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> level) -- that was done a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> week or so back. Problem is, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the database tables are still 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> assuming hierarchical (they 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will work with flat 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structures but are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> overkill--we don't need a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> parent ID column anymore.) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, the JPA objects are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> designed for hierarchical but 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can simplified a bit more to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat structure. Incidentally, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "sequenceNum" is ambiguous 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> about what it means, I would 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> say "position" or "ordering" 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (INT null, null for migrators 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> who don't yet have a position 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> defined) is clearer.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> handle this--for both new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> installers and upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new table, say "category" 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> designed precisely as we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need, and have the migration 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> scripts select from the old 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory and insert 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> into the new category table. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (We then ignore the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory table.) We'll 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need to test the scripts with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at least two databases (2 of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> probably MySQL, Derby and/or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PostgreSQL) and guess for the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> others--if we're wrong the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> user community can supply a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> patch fixing it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> object (the old 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> it's now flat-level. Indeed, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I think things will get a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> *lot* simpler here, as it may 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> just be the parent Weblog 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> holding a list of some sort 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> of Category objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category.jsp (or whatever 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> it's called) and its Struts 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> action class will now need to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> use the new Category object 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (and table) instead of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory. The UI page 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will need two changes: (1) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> all new categories will be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> placed (and saved) at the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bottom of the category list 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (and as result, appear last 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (right-most) in the category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> list, and, later (2) probably 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have up and down buttons in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the table allowing users to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> easily reorder the categories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as they like. (Strictly 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> speaking, 1 alone is all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that's needed for ordering, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as you can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> remove/name/delete/recreate 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories to eventually get 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> them in the position you'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like, but (2) of course is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> much nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> looked into this): The 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> templates (probably just a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> macro or two) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> updating to ensure that they 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> output the category names per 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the new position order.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> advantage is that I'd like to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> do the same thing with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks/blogrolls (team 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discussion pending...), 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> switch from a hierarchical to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat-level for those too.  If 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we can do this for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories, the logic/UI 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> design, etc., will carry over 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 100% to bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getting to this myself, so am 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> available to work with you on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whatever parts you'd like. I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> think going in order 1-2-3-4 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and having separate commits 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> may be the cleanest way of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> doing this. What's nice about 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> using a brand new table and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> JPA object is that the old 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> objects can still work in the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> code while we're creating the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new, we just don't activate 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the new until the very end.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> members on the above 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ideas...?) Or are there other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller tasks you'd like to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sink your teeth into instead? 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I can look at this otherwise, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> but this looks like a very 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> good exercise for someone 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> wanting to get more involved 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in Roller, as it covers all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the layers of the webapp.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ROL-1981, as discussed in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> previous discussion threads 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I will add new column 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sequenceNum in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory table. Then 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we can assign sequenceNum to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> each category according to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> websideid. If anyone have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> some ideas regarding this, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> please help me. Also, need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> some help on how to go with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this issue, and how to add 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new coloum, I found .sql 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> file, do I need to add there 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new column. Also, Is this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> possible that that when I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> restart the roller it will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> add new column to database ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>


Re: ROL-1981 Category ordering

Posted by Glen Mazza <gl...@gmail.com>.
I'm looking at it now myself...ROL-1981 is a very messy task, sorry, I 
suggested this item to you because the other ROL JIRA items you were 
looking at the time appeared less important.

Glen

On 01/19/2014 11:01 AM, Gaurav wrote:
> Hello Glen,
>
> I understood the way you suggested, as I just found that the feed 
> category list was also not populating. The way you suggested is 
> correct now as we did not have sub-categories now. Previoulsly we were 
> using that method as we every time associate category with 
> rootCategory, as we add each category below root (during add and edit 
> category we pass id in bean for initializing the weblogCategory).
> Also, I have corrected List to List<name> everywhere. I have now also 
> installed tomcat in my eclipse and it helped a lot, thanks for this 
> also. Just the test cases, I have to sought out what to do with them, 
> might be changing this way might solve this issue also.
> Last week was very busy for me have to work on weekends also, I will 
> now complete this task in this week.
>
> Thanks for all the help and giving me this much time for working 
> around this task.
>
> Gaurav
>
>
> On Monday 13 January 2014 06:22 PM, Glen Mazza wrote:
>> Hi Gaurav, just looked at the code.  I don't understand why there is 
>> a getWeblogCategories() in WeblogEntryManager --- categories are 
>> associated with a *Weblog* (the blog as a whole), not a *WeblogEntry* 
>> (a blog entry).  A WeblogEntry should have a getWeblogCategory() 
>> (singular) to identify the category the blog entry was placed in, but 
>> I would think getWeblogEntries() should be in the WeblogManager, and 
>> if temporarily necessary for the WeblogEntryManager to have a 
>> getWeblogCategories(), have it call a 
>> getWeblogManager().getWeblogCategories() to get that information.
>>
>> I don't know if the present implementation was an attempt to work 
>> around any shortcomings in JPA.  Offhand, though, that last method 
>> you listed, Weblog.getWeblogCategories() should be the most important 
>> method to get working, (ideally), I would think the only method that 
>> needs to have a getWeblogCategories() is Weblog/WeblogManager.
>>
>> Note, best to use parameterized types in new code (i.e., List<Blah> 
>> blah = new ArrayList<Blah>(); instead of just List blah) (see Bloch's 
>> book, Effective Java) and those println's are indicating you haven't 
>> gotten Tomcat webapp debugging set up in your IDE (what are you 
>> using, IntelliJ or Eclipse?) -- I would really recommend doing that, 
>> it's much faster to fix bugs when you can trace them. It's not too 
>> difficult, there should be enough 'Net sources on how to do that, but 
>> feel free to ask questions on that if necessary.
>>
>> Regards,
>> Glen
>>
>>
>> On 01/12/2014 06:19 AM, Gaurav wrote:
>>> Hello Glen,
>>>
>>> Going through the test got another problem, as I told you I have 
>>> created a method getWeblogCategories(), and I was able to get the 
>>> categories listing on front-end (without changing anything in vm). 
>>> But, now when I call this method again from WeblogCategory class in 
>>> method hasCategory (for validating no duplicate category name), It 
>>> did not return the categories.
>>>
>>> Below is new getWeblogCategories() method I created and another 
>>> hasCategory method from where I call this.
>>>
>>> public List<WeblogCategory> getWeblogCategories(){
>>>         List categories = new ArrayList();
>>>         try {
>>>             WeblogEntryManager wmgr = 
>>> WebloggerFactory.getWeblogger().getWeblogEntryManager();
>>> System.out.println("getweblogcategories==========="+getWebsite());
>>>             categories = wmgr.getWeblogCategories(getWebsite());
>>>         } catch (WebloggerException e) {
>>>             log.error("ERROR: getting Categories", e);
>>>         }
>>>         return categories;
>>>     }
>>>
>>> public boolean hasCategory(String name) {
>>>         List<WeblogCategory> cats = getWeblogCategories();
>>> System.out.println("========="+cats); // Return null
>>>         for (WeblogCategory cat : cats) {
>>> System.out.println("=====hascategory====="+name+"========"+cat.getName()); 
>>>
>>>             if(name.equals(cat.getName())) {
>>>                 return true;
>>>             }
>>>         }
>>>         return false;
>>>     }
>>>
>>> Also, there is another method getWeblogCategories, in weblog.java 
>>> this also return me null categories. Although same call in 
>>> WeblogCategoryWrapper give results.
>>> public List getWeblogCategories() {
>>>         WeblogCategory website = new WeblogCategory();
>>> System.out.println("=====getWeblogCategories====WEBLOG====website==="+website); 
>>>
>>>         return website.getWeblogCategories();
>>>     }
>>>
>>> Thanks
>>> Gaurav
>>>
>>> On Sunday 12 January 2014 04:05 PM, Glen Mazza wrote:
>>>> Tests that are just testing that subcategories work can be removed, 
>>>> because we don't have subcategories anymore--this change is making 
>>>> the code simpler, and fewer tests are a consequence of simpler 
>>>> code. Tests that are testing that category name changes work, etc., 
>>>> should be rewritten to be able to iterate through a weblog's 
>>>> category objects as if the categories are in List or Set format, 
>>>> but no more hierarchical iteration as before.  Will that work for you?
>>>>
>>>> Regards,
>>>> Glen
>>>>
>>>> On 01/12/2014 03:21 AM, Gaurav wrote:
>>>>> Hello Glen,
>>>>>
>>>>> I am still not able to correct the maven tests, if I run the tests 
>>>>> they gave some errors, Actually as in many tests they are using 
>>>>> root category for testing, I have also changed and commented some 
>>>>> test cases still not successful in it.
>>>>>
>>>>> I am working and studying about the test cases (jUnit), what you 
>>>>> suggest I should do to correct the test cases ?
>>>>>
>>>>> Thanks
>>>>> Gaurav
>>>>>
>>>>> On Saturday 11 January 2014 05:01 PM, Glen Mazza wrote:
>>>>>> Great! Looking forward to seeing the patch.
>>>>>>
>>>>>> Glen
>>>>>>
>>>>>> On 01/11/2014 03:18 AM, Gaurav wrote:
>>>>>>> Hello Glen,
>>>>>>>
>>>>>>> I just got fixed that issue :). Thanks for all your help. I am 
>>>>>>> done with all the issues and into thee final testing of the 
>>>>>>> weblog all features.
>>>>>>>
>>>>>>> Thanks
>>>>>>> Gaurav
>>>>>>>
>>>>>>>
>>>>>>> On Saturday 11 January 2014 12:20 PM, Gaurav wrote:
>>>>>>>> Hello Glen,
>>>>>>>>
>>>>>>>> I still did not able to get what I should do next, as you told 
>>>>>>>> that showWeblogCategoryLinksList($rootCategory false false) 
>>>>>>>> only bring the toplevel categories, it because we specify the 
>>>>>>>> $rootCategory each time, so automatically rootCategory child 
>>>>>>>> will always going to be top level categories.
>>>>>>>>
>>>>>>>> Actually, my issue is that If I retain the method 
>>>>>>>> getWeblogCategories() in WeblogCategory.java and return a Set 
>>>>>>>> of type WeblogCategory then I have to do a mapping of that Set 
>>>>>>>> in orm.xml like it was previously done
>>>>>>>>
>>>>>>>> <one-to-many name="weblogCategories" mapped-by="parent" 
>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Weblog" 
>>>>>>>> fetch="LAZY"> </one-to-many>)
>>>>>>>>
>>>>>>>> So, it was previouly mapped by parent, and as now we did not 
>>>>>>>> have any parent, I tried with website but it gave me error as 
>>>>>>>> might be because its target-entity is different. I am really 
>>>>>>>> out of ideas.
>>>>>>>>
>>>>>>>> I was thinking of start submitting patches of my work till now, 
>>>>>>>> as just this issue of showing categories at blog is left.
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Gaurav
>>>>>>>>
>>>>>>>> On Wednesday 08 January 2014 08:42 AM, Glen Mazza wrote:
>>>>>>>>> Hi Gaurav, weblog.weblogCategories should still exist as 
>>>>>>>>> probably a Set of some sort (Set because of no duplicate 
>>>>>>>>> Categories allowed), a List is another option.  A weblog does 
>>>>>>>>> own a collection of categories even with the change. What 
>>>>>>>>> should not exist is some child set of categories under each 
>>>>>>>>> category--any code asking for the latter can be removed 
>>>>>>>>> because there are never any subcategories under a category 
>>>>>>>>> anymore.
>>>>>>>>>
>>>>>>>>> Might you be getting confused with this code?
>>>>>>>>>     #set($categories = $weblog.weblogCategories )
>>>>>>>>>     #foreach( $cat in $categories )
>>>>>>>>>
>>>>>>>>> The above should be fine, you're not for-eaching child 
>>>>>>>>> categories under the *category* but under the *weblog*.
>>>>>>>>>
>>>>>>>>> Grepping the code for "#showWeblogCategoryLinksList", is 
>>>>>>>>> showing that this is its most common usage:
>>>>>>>>>
>>>>>>>>> #showWeblogCategoryLinksList($rootCategory false false)
>>>>>>>>>
>>>>>>>>> I.e., just show the top-level categories with no 
>>>>>>>>> subcategories. With the new code, all three params are useless 
>>>>>>>>> now.
>>>>>>>>>
>>>>>>>>> I think what we need to do is create a new macro:
>>>>>>>>>
>>>>>>>>> #showWeblogCategoryLinksList
>>>>>>>>> that does the same as
>>>>>>>>> #showWeblogCategoryLinksList($rootCategory false false)
>>>>>>>>>
>>>>>>>>> And, for backward compatibility (at least so it compiles), 
>>>>>>>>> have this macro:
>>>>>>>>>
>>>>>>>>> (A) #showWeblogCategoryLinksList($categoryObj $expanding 
>>>>>>>>> $subcats)
>>>>>>>>> ignore all three of its arguments and just call
>>>>>>>>> (B) #showWeblogCategoryLinksList
>>>>>>>>>
>>>>>>>>> So (A) will be a deprecated method to be pulled out at a 
>>>>>>>>> future time (maybe in 5.1) -- we'll have to update each of our 
>>>>>>>>> templates that currently call (A) to have them call (B) 
>>>>>>>>> instead -- a simple change to make.
>>>>>>>>>
>>>>>>>>> I'm not sure if I'm answering your questions but I think this 
>>>>>>>>> might be what you're getting at.
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Glen
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 01/07/2014 04:35 PM, Gaurav wrote:
>>>>>>>>>> Hello Glen,
>>>>>>>>>>
>>>>>>>>>> I am completed with the Database, JPA, UI Layer. I have 
>>>>>>>>>> tested all possible ways by creating, deleting, updating 
>>>>>>>>>> entries, categories and also the complete weblog.
>>>>>>>>>> The only single issue left is in Template Layer. Actually in 
>>>>>>>>>> weblog.vm file for iterating categories list for menu and 
>>>>>>>>>> feeds, it uses ($weblog.weblogCategories). It try getting 
>>>>>>>>>> list from WeblogCategory method getWeblogCategories() and 
>>>>>>>>>> wrapping up with WeblogCategoryWrapper and WeblogWrapper 
>>>>>>>>>> classes. But as this method is no longer required, as it was 
>>>>>>>>>> for maintaining relations of parent-child, It did not get any 
>>>>>>>>>> list.
>>>>>>>>>>
>>>>>>>>>> I though of retaining getWeblogCategories() method in 
>>>>>>>>>> WeblogCategory class, and getting list of categories directly 
>>>>>>>>>> from JPAWeblogEntryManager but it seems wrong to me according 
>>>>>>>>>> to the structure. Can you please guide me what should be the 
>>>>>>>>>> best way to go ?
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> Gaurav
>>>>>>>>>>
>>>>>>>>>> On Wednesday 08 January 2014 01:25 AM, Gaurav wrote:
>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>
>>>>>>>>>>> I figured out that issues, as I told when I use 
>>>>>>>>>>> getWeblogCategories() method, then the error comes, actually 
>>>>>>>>>>> its due to  the reason that I have removed below one-to-many 
>>>>>>>>>>> mapping in orm file and still using the method. As you said, 
>>>>>>>>>>> I studied JPA and get some time into it and learned new 
>>>>>>>>>>> things about the mapping relationship. Now, I am thinking of 
>>>>>>>>>>> implementing the same way as getWeblogEntries are listed  as 
>>>>>>>>>>> it also come respect to the weblog/website.
>>>>>>>>>>>
>>>>>>>>>>> <one-to-many name="weblogCategories" mapped-by="parent" 
>>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.WeblogCategory" 
>>>>>>>>>>> fetch="LAZY"></one-to-many>
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>> Gaurav
>>>>>>>>>>>
>>>>>>>>>>> On Monday 06 January 2014 02:36 AM, Glen Mazza wrote:
>>>>>>>>>>>> I don't know, but I don't like that statement 
>>>>>>>>>>>> "c.getWeblogCategories().add(c); "  A WeblogCategory should 
>>>>>>>>>>>> no longer have child weblog categories (they are pure 
>>>>>>>>>>>> siblings of each other with no hierarchical relationship), 
>>>>>>>>>>>> so such an "add" shouldn't exist.  You can have 
>>>>>>>>>>>> -->Weblog<---.getWeblogCategories().add(c), that would make 
>>>>>>>>>>>> sense.
>>>>>>>>>>>>
>>>>>>>>>>>> Glen
>>>>>>>>>>>>
>>>>>>>>>>>> On 01/05/2014 03:32 PM, Gaurav wrote:
>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I tried finding the that issues, but did not find 
>>>>>>>>>>>>> anywhere. Also it is created dynamically as I changed the 
>>>>>>>>>>>>> entity name to category1 then also sameerror come up with 
>>>>>>>>>>>>> "category1_category1" doesn't exist. I think this might be 
>>>>>>>>>>>>> something I am doing wrong with the code. As, Today I 
>>>>>>>>>>>>> cleaned up all the code and now everything is working 
>>>>>>>>>>>>> good. I am successful in creating, editing and deleting 
>>>>>>>>>>>>> the weblog, entries, categories and everything is showing 
>>>>>>>>>>>>> good.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Just single problem I am having now is showing the 
>>>>>>>>>>>>> categories list in feeds and in menu. I figured out after 
>>>>>>>>>>>>> checking that $categoryObject.getWeblogCategories() is 
>>>>>>>>>>>>> iterated in velocity file which check for the 
>>>>>>>>>>>>> getWeblogCategories() method of type Set in WeblogCategory 
>>>>>>>>>>>>> class, Initially I commented this method as the comments 
>>>>>>>>>>>>> over this method said "Get child categories of this 
>>>>>>>>>>>>> category". But I think this is neccasary as whenever a 
>>>>>>>>>>>>> category is created this is called to add a category to 
>>>>>>>>>>>>> Set "rootCat.getWeblogCategories().add(c);"
>>>>>>>>>>>>>
>>>>>>>>>>>>> Now, Problem is we did not have any parent or root 
>>>>>>>>>>>>> category now, so how it will going to add to that Set and 
>>>>>>>>>>>>> Also I tried creating a object of WeblogCategory Class and 
>>>>>>>>>>>>> tried adding it to getWeblogCategories() method then 
>>>>>>>>>>>>> again. Now When I tired adding category with this 
>>>>>>>>>>>>> "c.getWeblogCategories().add(c);" the same error comes up. 
>>>>>>>>>>>>> If I comment this line that add category, everything works 
>>>>>>>>>>>>> fine again, just did not get any list of categories in 
>>>>>>>>>>>>> menu and feed.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Also, I am confused what setWeblogCategories() is doing as 
>>>>>>>>>>>>> I did not find anywhere where it is used for setting 
>>>>>>>>>>>>> categories. Just the getWeblogCategories() is used with 
>>>>>>>>>>>>> .add for adding child categories to parent/root.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Below is what I done in addWeblogContents method of class 
>>>>>>>>>>>>> JPAWeblogManagerImpl.
>>>>>>>>>>>>>
>>>>>>>>>>>>> if (cats != null && cats.trim().length() > 0) {
>>>>>>>>>>>>>             String[] splitcats = cats.split(",");
>>>>>>>>>>>>>             for (int i=0; i<splitcats.length; i++) {
>>>>>>>>>>>>>                 WeblogCategory c = new WeblogCategory(
>>>>>>>>>>>>>                         newWeblog, // newWeblog
>>>>>>>>>>>>>                         splitcats[i], // name
>>>>>>>>>>>>>                         splitcats[i], // description
>>>>>>>>>>>>>                         null ); // image
>>>>>>>>>>>>>                 if (i == 0) {
>>>>>>>>>>>>>                     firstCat = c;
>>>>>>>>>>>>>                 }
>>>>>>>>>>>>> System.out.println("====Cats==="+c);
>>>>>>>>>>>>> c.getWeblogCategories().add(c); //previously it was 
>>>>>>>>>>>>> root.getWeblogCategories.add(c);
>>>>>>>>>>>>>                 this.strategy.store(c);
>>>>>>>>>>>>>             }
>>>>>>>>>>>>>         }
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> [EL Warning]: 2014-01-05 
>>>>>>>>>>>>> 17:15:22.179--ClientSession(1956103136)--Exception 
>>>>>>>>>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>>>>>>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: 
>>>>>>>>>>>>> Table/View 'CATEGORY_CATEGORY' does not exist.
>>>>>>>>>>>>> Error Code: 20000
>>>>>>>>>>>>> Call: INSERT INTO category_category (weblogCategories_id, 
>>>>>>>>>>>>> WeblogCategory_id) VALUES (?, ?)
>>>>>>>>>>>>>     bind => [2 parameters bound]
>>>>>>>>>>>>> Query: DataModifyQuery(name="weblogCategories" sql="INSERT 
>>>>>>>>>>>>> INTO category_category (weblogCategories_id, 
>>>>>>>>>>>>> WeblogCategory_id) VALUES (?, ?)")
>>>>>>>>>>>>> *
>>>>>>>>>>>>>
>>>>>>>>>>>>> *Also I tried making new ArrayList and new getter setter 
>>>>>>>>>>>>> in WeblogCategory class, still I got same error.
>>>>>>>>>>>>>     List<WeblogCategory> catsss = new 
>>>>>>>>>>>>> ArrayList<WeblogCategory>();
>>>>>>>>>>>>>     catsss.add(c);
>>>>>>>>>>>>>     c.setList(catsss);
>>>>>>>>>>>>> System.out.println("======"+catsss+"============"+c.getList()); 
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Got this error, after adding Arraylist.
>>>>>>>>>>>>>
>>>>>>>>>>>>> [EL Warning]: 2014-01-05 
>>>>>>>>>>>>> 19:42:56.209--ClientSession(1732472947)--Exception 
>>>>>>>>>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>>>>>>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: 
>>>>>>>>>>>>> Table/View 'CATEGORY_CATEGORY' does not exist.
>>>>>>>>>>>>> Error Code: 20000
>>>>>>>>>>>>> Call: INSERT INTO category_category (list_id, 
>>>>>>>>>>>>> WeblogCategory_id) VALUES (?, ?)
>>>>>>>>>>>>>     bind => [2 parameters bound]
>>>>>>>>>>>>> Query: DataModifyQuery(name="list" sql="INSERT INTO 
>>>>>>>>>>>>> category_category (list_id, WeblogCategory_id) VALUES (?, 
>>>>>>>>>>>>> ?)")
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Sunday 05 January 2014 05:30 AM, Glen Mazza wrote:
>>>>>>>>>>>>>> Hi Gaurav, did you try a "control" with your file search 
>>>>>>>>>>>>>> method? I.e., you're saying you're case-insensitive 
>>>>>>>>>>>>>> searching on "category_category" but nothing is getting 
>>>>>>>>>>>>>> returned -- did you try also searching something that you 
>>>>>>>>>>>>>> *know* exists in the project (say, "class", "public", 
>>>>>>>>>>>>>> "return", etc.) and your IDE/search method indeed did 
>>>>>>>>>>>>>> return lots of matches?  Because if you get zero search 
>>>>>>>>>>>>>> results with the latter we know the problem is with the 
>>>>>>>>>>>>>> way you're configuring your search, not the non-existence 
>>>>>>>>>>>>>> of "category_category". (Also are you searching on every 
>>>>>>>>>>>>>> type of file extension, not just .java files?)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Somewhere in your code the JPA layer has decided to 
>>>>>>>>>>>>>> calculate "category_category" as a table name, I would 
>>>>>>>>>>>>>> guess because that's what is exactly in the code 
>>>>>>>>>>>>>> someplace (as you can see the query below generated 
>>>>>>>>>>>>>> "...FROM category_category t0, category t1..."). One 
>>>>>>>>>>>>>> useful experiment might be to rename the "category" table 
>>>>>>>>>>>>>> (t1) above to "category2" -- would the SQL above change 
>>>>>>>>>>>>>> to "category2_category2, category2..." or (I think) 
>>>>>>>>>>>>>> "...FROM category_category t0, category2 t1...") If the 
>>>>>>>>>>>>>> former, that would indicate that "category2_category2" is 
>>>>>>>>>>>>>> being dynamically generated from the "category2" table 
>>>>>>>>>>>>>> name. If the latter, that would mean "category_category" 
>>>>>>>>>>>>>> is hardcoded somewhere and not related to the "category" 
>>>>>>>>>>>>>> table name you've properly configured.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I probably won't be able to get to this until next 
>>>>>>>>>>>>>> weekend anyway, so I'm going to have you finish it, also 
>>>>>>>>>>>>>> as a confidence-builder for you (if you let JPA push you 
>>>>>>>>>>>>>> around now, it's always going to bully you...  :)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> PS:  Just to clarify, when an pre-5.1-SNAPSHOT user 
>>>>>>>>>>>>>> installs Roller 5.1-SNAPSHOT, the Roller startup should 
>>>>>>>>>>>>>> automatically detect that the system is currently using 
>>>>>>>>>>>>>> an older Roller database and do the database upgrade 
>>>>>>>>>>>>>> (creating of new the "category" table and prepopulation 
>>>>>>>>>>>>>> of it). Roller has always done this as so long as you put 
>>>>>>>>>>>>>> the necessary migration scripts in the right place there 
>>>>>>>>>>>>>> should be no problem. However, those of us already on 
>>>>>>>>>>>>>> 5.1-SNAPSHOT like myself before your patch will need to 
>>>>>>>>>>>>>> manually create that table in our database (the Roller 
>>>>>>>>>>>>>> script won't notice 5.1-SNAPSHOT-->5.1-SNAPSHOT, so won't 
>>>>>>>>>>>>>> create "category" by itself.)  No problem, we'll just 
>>>>>>>>>>>>>> figure out the necessary SQL statements for Dave and he 
>>>>>>>>>>>>>> can add it to his Roller project blog.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 01/04/2014 04:47 PM, Gaurav wrote:
>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I searched whole project and did not find anywhere. I 
>>>>>>>>>>>>>>> think might be I have done something wrong, as when I 
>>>>>>>>>>>>>>> start with new database, everything work just deleting 
>>>>>>>>>>>>>>> gives me this error. If I work on old database it even 
>>>>>>>>>>>>>>> did not start up (localhost:8080/roller) gives my below 
>>>>>>>>>>>>>>> error.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I have checked almost everything I can, might be some 
>>>>>>>>>>>>>>> wrong java code and anything I done wrong that causes 
>>>>>>>>>>>>>>> this. Should I submit by work so you can look on to it, 
>>>>>>>>>>>>>>> or if we are not in any hurry than I can look into it 
>>>>>>>>>>>>>>> again step by step (I prefer second option if we have 
>>>>>>>>>>>>>>> one more week. Just another week or so, next week i have 
>>>>>>>>>>>>>>> some tight schedule). I know I am taking too much time, 
>>>>>>>>>>>>>>> but I am new to this level of Java code, as I worked 
>>>>>>>>>>>>>>> maximum time at client side. But I really loving java 
>>>>>>>>>>>>>>> code and learned a lot till now, before this I just 
>>>>>>>>>>>>>>> worked with Java on small projects. OpenSource Projects 
>>>>>>>>>>>>>>> really are very powerful and good way to learn new things.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Exception [EclipseLink-4002] (Eclipse Persistence 
>>>>>>>>>>>>>>> Services - 2.5.0.v20130507-3faac2b): 
>>>>>>>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException 
>>>>>>>>>>>>>>> Internal Exception: 
>>>>>>>>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 
>>>>>>>>>>>>>>> Table 'roller.category_category' doesn't exist Error 
>>>>>>>>>>>>>>> Code: 1146 Call: SELECT t1.id, t1.description, t1.image, 
>>>>>>>>>>>>>>> t1.name, t1.websiteid FROM category_category t0, 
>>>>>>>>>>>>>>> category t1 WHERE ((t0.WeblogCategory_id = ?) AND (t1.id 
>>>>>>>>>>>>>>> = t0.weblogCategories_id)) bind => [1 parameter bound] 
>>>>>>>>>>>>>>> Query: ReadAllQuery(name="weblogCategories" 
>>>>>>>>>>>>>>> referenceClass=WeblogCategory sql="SELECT t1.id, 
>>>>>>>>>>>>>>> t1.description, t1.image, t1.name, t1.websiteid FROM 
>>>>>>>>>>>>>>> category_category t0, category t1 WHERE 
>>>>>>>>>>>>>>> ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>>>>>>>>>>>>>> t0.weblogCategories_id))")
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Sunday 05 January 2014 12:00 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>> Hi Gaurav, no, that relation shouldn't be needed anymore.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> As for the table name, at the top of your orm.xml file 
>>>>>>>>>>>>>>>> the table name the file maps against is declared -- 
>>>>>>>>>>>>>>>> perhaps you accidentally called it category_category. I 
>>>>>>>>>>>>>>>> would grep or use a file search from your IDE of your 
>>>>>>>>>>>>>>>> entire roller source code, looking for where 
>>>>>>>>>>>>>>>> category_category is being declared -- (probably) has 
>>>>>>>>>>>>>>>> to be there someplace. (More specifically, do a file 
>>>>>>>>>>>>>>>> search on "DataModifyQuery" -- that's probably exactly 
>>>>>>>>>>>>>>>> where the problem is.)
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Once working, try to import the latest code changes 
>>>>>>>>>>>>>>>> into your code before submitting a patch (actually 
>>>>>>>>>>>>>>>> create a backup patch first just in case).  Not sure 
>>>>>>>>>>>>>>>> but I think a simple svn update will do -- svn will 
>>>>>>>>>>>>>>>> identify some files where it will need your assistance 
>>>>>>>>>>>>>>>> to resolve any differences -- it shouldn't be too hard 
>>>>>>>>>>>>>>>> or time-consuming to do.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 01/04/2014 08:55 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I just want to know that the below relations in 
>>>>>>>>>>>>>>>>> WeblogCategory.orm.xml are required or not as now the 
>>>>>>>>>>>>>>>>> parent is not used so, I don't think its needed now. I 
>>>>>>>>>>>>>>>>> have commented the below lines.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> <many-to-one name="parent" 
>>>>>>>>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category"> 
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>                 <join-column name="parentid" 
>>>>>>>>>>>>>>>>> insertable="true" updatable="true" nullable="true"/>
>>>>>>>>>>>>>>>>>             </many-to-one>
>>>>>>>>>>>>>>>>>             <one-to-many name="weblogCategories" 
>>>>>>>>>>>>>>>>> mapped-by="parent" 
>>>>>>>>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category" 
>>>>>>>>>>>>>>>>> fetch="LAZY">
>>>>>>>>>>>>>>>>>                 <cascade>
>>>>>>>>>>>>>>>>> <cascade-remove/>
>>>>>>>>>>>>>>>>>                 </cascade>
>>>>>>>>>>>>>>>>>             </one-to-many>
>>>>>>>>>>>>>>>>>             <transient name="inUse"/>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I asked this because, getting categories giving me 
>>>>>>>>>>>>>>>>> mysql exception. The new table is 'roller.category' 
>>>>>>>>>>>>>>>>> but it executes for 'roller.category_category'.
>>>>>>>>>>>>>>>>> I am not able to get what I have done wrong.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Internal Exception: 
>>>>>>>>>>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 
>>>>>>>>>>>>>>>>> Table 'roller.category_category' doesn't exist
>>>>>>>>>>>>>>>>> Error Code: 1146
>>>>>>>>>>>>>>>>> Call: DELETE FROM category_category WHERE 
>>>>>>>>>>>>>>>>> (WeblogCategory_id = ?)
>>>>>>>>>>>>>>>>>     bind => [1 parameter bound]
>>>>>>>>>>>>>>>>> Query: DataModifyQuery(name="weblogCategories" 
>>>>>>>>>>>>>>>>> sql="DELETE FROM category_category WHERE 
>>>>>>>>>>>>>>>>> (WeblogCategory_id = ?)")
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Also, I have changed the getWeblogCategoryByPath to 
>>>>>>>>>>>>>>>>> getWeblogCategoryByName so feeds and other places work 
>>>>>>>>>>>>>>>>> fine. I have able to get catgeory list, new entries 
>>>>>>>>>>>>>>>>> are creating successfully. Just deleting the weblog is 
>>>>>>>>>>>>>>>>> giving me above error.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I have already deleted getPath and getParent and in 
>>>>>>>>>>>>>>>>>> the mid of everything. I hope I will be able to 
>>>>>>>>>>>>>>>>>> complete this by Monday. If still, I get some major 
>>>>>>>>>>>>>>>>>> issues due to this, I will switch to what you 
>>>>>>>>>>>>>>>>>> suggested. Just give me time till Monday, as I have 
>>>>>>>>>>>>>>>>>> done almost 80% of code cleaned regarding the path 
>>>>>>>>>>>>>>>>>> and parentcategory. I will get back to you soon with 
>>>>>>>>>>>>>>>>>> some patches and then you can test it.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Also, my ICLA have been filed, got the receipt of my 
>>>>>>>>>>>>>>>>>> ICLA.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>> Gaurav, sorry, it just occurred to me there's a 
>>>>>>>>>>>>>>>>>>> simpler intermediate step that can be done. While we 
>>>>>>>>>>>>>>>>>>> need the database table without a path column, and 
>>>>>>>>>>>>>>>>>>> to remove the "path" member *variable* from 
>>>>>>>>>>>>>>>>>>> WeblogCategory (or its replacement), we can still 
>>>>>>>>>>>>>>>>>>> keep indefinitely keep getPath(), just hardcode it 
>>>>>>>>>>>>>>>>>>> to "/" + categoryName, which is precisely what the 
>>>>>>>>>>>>>>>>>>> old code returns for any top-level category--the 
>>>>>>>>>>>>>>>>>>> rest of the system can stay just as it did before. 
>>>>>>>>>>>>>>>>>>> Switching the rest of the code from getPath() to 
>>>>>>>>>>>>>>>>>>> using getName() can be done at any time, bit by bit 
>>>>>>>>>>>>>>>>>>> whenever, that's not necessary to implement 
>>>>>>>>>>>>>>>>>>> positioning, that's just a code cleanup issue. 
>>>>>>>>>>>>>>>>>>> Likewise, for WeblogCategory.getParent(), it may be 
>>>>>>>>>>>>>>>>>>> as simple as adding a root category object as part 
>>>>>>>>>>>>>>>>>>> of the Weblog's constructor (but not saved to the 
>>>>>>>>>>>>>>>>>>> database), and having WeblogCategory.getParent() 
>>>>>>>>>>>>>>>>>>> just return website.getParentCategory()--that way 
>>>>>>>>>>>>>>>>>>> all categories for a weblog will have the same root 
>>>>>>>>>>>>>>>>>>> category as before, and the rest of the code base 
>>>>>>>>>>>>>>>>>>> should function fine. Once we're on the new table, 
>>>>>>>>>>>>>>>>>>> then it's an issue of implementing 
>>>>>>>>>>>>>>>>>>> positioning--getting rid of getParent() and 
>>>>>>>>>>>>>>>>>>> getPath() can be done by anybody at a later date.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>> No problem, I'm available to help (or finish it up) 
>>>>>>>>>>>>>>>>>>>> if needed. For a seemingly simple switch, you're 
>>>>>>>>>>>>>>>>>>>> certainly getting a *full* education of the Roller 
>>>>>>>>>>>>>>>>>>>> codebase.  :)
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> BTW, I hope you're not testing via mvn jetty:run, 
>>>>>>>>>>>>>>>>>>>> as that requires you to keep logging in for the 
>>>>>>>>>>>>>>>>>>>> first time, creating a blog for the first time, 
>>>>>>>>>>>>>>>>>>>> etc., whenever you start it. Very inefficient and 
>>>>>>>>>>>>>>>>>>>> tiring. Normally I just build (mvn clean install) 
>>>>>>>>>>>>>>>>>>>> and dump the WAR into standalone Tomcat on my local 
>>>>>>>>>>>>>>>>>>>> machine. The database & other configuration I keep 
>>>>>>>>>>>>>>>>>>>> permanently in roller-custom.properties in the 
>>>>>>>>>>>>>>>>>>>> Tomcat lib/ folder, so the new WAR just takes over 
>>>>>>>>>>>>>>>>>>>> with the same configuration, blogs, accounts, etc., 
>>>>>>>>>>>>>>>>>>>> that old WAR was using. (Check the Roller install 
>>>>>>>>>>>>>>>>>>>> guide for full instructions.)
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Also vital is that you know how to debug/trace 
>>>>>>>>>>>>>>>>>>>> Roller code in Eclipse or IntelliJ while it is 
>>>>>>>>>>>>>>>>>>>> running on Tomcat (or another servlet container). 
>>>>>>>>>>>>>>>>>>>> It's much simpler than it seems, and will save you 
>>>>>>>>>>>>>>>>>>>> a lot of time. These instructions are for Eclipse 
>>>>>>>>>>>>>>>>>>>> but Intellij (my preference) is basically the same: 
>>>>>>>>>>>>>>>>>>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>>>>>>>>>>>>>>>>>>>> Checking variable values while it's running will 
>>>>>>>>>>>>>>>>>>>> point you to where problems are much more quickly.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Happy New Year!
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> As, I previously told you that the test cases are 
>>>>>>>>>>>>>>>>>>>>> giving problem, actually I think we have to do 
>>>>>>>>>>>>>>>>>>>>> some changes in Test Cases also, as many of the 
>>>>>>>>>>>>>>>>>>>>> methods involving path and parent are removed so, 
>>>>>>>>>>>>>>>>>>>>> many times in test cases (it did not get correct 
>>>>>>>>>>>>>>>>>>>>> values and give errors).
>>>>>>>>>>>>>>>>>>>>> I have successfully showed the categories by 
>>>>>>>>>>>>>>>>>>>>> website till now in the admin section. Also, the 
>>>>>>>>>>>>>>>>>>>>> entries are saved just, I ran out of memory issue 
>>>>>>>>>>>>>>>>>>>>> in happen when I save an entry that entry, 
>>>>>>>>>>>>>>>>>>>>> although it get saved when I refresh the page.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Also, as their is not path now, we have to do some 
>>>>>>>>>>>>>>>>>>>>> changes in velocity files, as feeds are giving 
>>>>>>>>>>>>>>>>>>>>> error in showing, although if I direct enter the 
>>>>>>>>>>>>>>>>>>>>> URL its working fine. I have cleared many parts of 
>>>>>>>>>>>>>>>>>>>>> the code, just I have test of the roller parts 
>>>>>>>>>>>>>>>>>>>>> which are linked the path and parent. I am 
>>>>>>>>>>>>>>>>>>>>> thinking of correcting the test cases, as I can 
>>>>>>>>>>>>>>>>>>>>> run them and if test cases are fine then might be 
>>>>>>>>>>>>>>>>>>>>> everything will work fine.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> I will return to work on this after 3 days, as I 
>>>>>>>>>>>>>>>>>>>>> will be and will get be to it during coming 
>>>>>>>>>>>>>>>>>>>>> weekend again. I will wrap this out asap for you 
>>>>>>>>>>>>>>>>>>>>> to test and will attach patches coming weekend.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>> Thanks for that info, I have changed my settings 
>>>>>>>>>>>>>>>>>>>>>> in the eclipse.
>>>>>>>>>>>>>>>>>>>>>> Yes, you are right I will leave the ordering part 
>>>>>>>>>>>>>>>>>>>>>> for now and work on clearing the code for now. 
>>>>>>>>>>>>>>>>>>>>>> For now I will just add a column in category 
>>>>>>>>>>>>>>>>>>>>>> table with position, leaving it null for now.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>> Your last ImprovedCreateUser.patch had some tab 
>>>>>>>>>>>>>>>>>>>>>>> characters in it, and our project uses spaces 
>>>>>>>>>>>>>>>>>>>>>>> for tabs (just have Eclipse insert 4 spaces 
>>>>>>>>>>>>>>>>>>>>>>> whenever you hit the tab key, with no tab 
>>>>>>>>>>>>>>>>>>>>>>> characters.) Very few Apache projects (any?) are 
>>>>>>>>>>>>>>>>>>>>>>> tab-indented today. It is a simple fix with 
>>>>>>>>>>>>>>>>>>>>>>> IntelliJ IDEA (Edit -> Convert Indents -> To 
>>>>>>>>>>>>>>>>>>>>>>> Spaces), I'm sure Eclipse has an equivalent.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> For blogs migrating from pre-5.1 versions, we 
>>>>>>>>>>>>>>>>>>>>>>> can keep the position NULL by default (and when 
>>>>>>>>>>>>>>>>>>>>>>> you order by position, with null values, they 
>>>>>>>>>>>>>>>>>>>>>>> will come out in any order, like they do today.) 
>>>>>>>>>>>>>>>>>>>>>>> Whenever a new blog is created with the default 
>>>>>>>>>>>>>>>>>>>>>>> three categories, those can be assigned 
>>>>>>>>>>>>>>>>>>>>>>> positions (probably 0-based for leftmost is 
>>>>>>>>>>>>>>>>>>>>>>> best.) For migrated blogs, once the user goes to 
>>>>>>>>>>>>>>>>>>>>>>> the category page and makes a change for the 
>>>>>>>>>>>>>>>>>>>>>>> first time, numbers can be written for the very 
>>>>>>>>>>>>>>>>>>>>>>> first time--no special extra UI is needed for 
>>>>>>>>>>>>>>>>>>>>>>> this purpose. But like I was saying, this is 
>>>>>>>>>>>>>>>>>>>>>>> such a lengthy patch you may wish to forget 
>>>>>>>>>>>>>>>>>>>>>>> about the ordering right now--it doesn't work 
>>>>>>>>>>>>>>>>>>>>>>> anyway in Roller right now. It may be best to 
>>>>>>>>>>>>>>>>>>>>>>> get us to the new table and get rid of the 
>>>>>>>>>>>>>>>>>>>>>>> paths, and once we're on that firmer foundation 
>>>>>>>>>>>>>>>>>>>>>>> implementing positioning (on the Category page 
>>>>>>>>>>>>>>>>>>>>>>> and in the templates) will be much simpler.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I will change the position to be integer, and 
>>>>>>>>>>>>>>>>>>>>>>>> will exclude the category where parent null, 
>>>>>>>>>>>>>>>>>>>>>>>> but still what can be done for the position as 
>>>>>>>>>>>>>>>>>>>>>>>> the old data did not have position, so how and 
>>>>>>>>>>>>>>>>>>>>>>>> on what basis we have to add position to it. I 
>>>>>>>>>>>>>>>>>>>>>>>> was thinking that we can left it as null, and 
>>>>>>>>>>>>>>>>>>>>>>>> provide some UI in backend where user can 
>>>>>>>>>>>>>>>>>>>>>>>> assign position themselves.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I will take care of spacing, will search what I 
>>>>>>>>>>>>>>>>>>>>>>>> am doing wrong. As, I am not sure is that you 
>>>>>>>>>>>>>>>>>>>>>>>> are talking about formatting the code, or 
>>>>>>>>>>>>>>>>>>>>>>>> anything else. As I use tab (with 4 spaces) in 
>>>>>>>>>>>>>>>>>>>>>>>> Eclipse IDE.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> BTW, not to be hated, but make sure any code 
>>>>>>>>>>>>>>>>>>>>>>>>> you submit is space-padded (4 spaces), *not* 
>>>>>>>>>>>>>>>>>>>>>>>>> tab-padded. Your IDE should be able to convert 
>>>>>>>>>>>>>>>>>>>>>>>>> it for you if you've been doing tab-padding.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> I am confused on how to add and on what basis 
>>>>>>>>>>>>>>>>>>>>>>>>>> we have to addd position to the new category 
>>>>>>>>>>>>>>>>>>>>>>>>>> table. Below two sql commands can be used for 
>>>>>>>>>>>>>>>>>>>>>>>>>> coping data and deleting the root categories.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> create table category (
>>>>>>>>>>>>>>>>>>>>>>>>>>     id varchar(48) not null primary key,
>>>>>>>>>>>>>>>>>>>>>>>>>>     name varchar(255) not null,
>>>>>>>>>>>>>>>>>>>>>>>>>>     description varchar(255),
>>>>>>>>>>>>>>>>>>>>>>>>>>     websiteid varchar(48) not null,
>>>>>>>>>>>>>>>>>>>>>>>>>>     image varchar(255),
>>>>>>>>>>>>>>>>>>>>>>>>>>     position varchar(48)
>>>>>>>>>>>>>>>>>>>>>>>>>> );
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> insert into 
>>>>>>>>>>>>>>>>>>>>>>>>>> category(id,name,description,websiteid,image) 
>>>>>>>>>>>>>>>>>>>>>>>>>> select id,name,description,websiteid,image 
>>>>>>>>>>>>>>>>>>>>>>>>>> from weblogcategory;
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> delete from category where name="root";
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> What do you suggest for this ?
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> Take your time, this is a messy change as it 
>>>>>>>>>>>>>>>>>>>>>>>>>>> affects many areas of the code. But Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>> will be architecturally much more solid and 
>>>>>>>>>>>>>>>>>>>>>>>>>>> simpler once this change is done.  I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>> your ROL-1616 and ROL-1982 on my plate for 
>>>>>>>>>>>>>>>>>>>>>>>>>>> this weekend.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have deleted the path and all related 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> methods, but its seems to me that the path 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> methods like (getWeblogCategoryByPath) and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> many other path and parent related methods, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> are scattered over the whole roller. There 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> are many occurrence of these methods and I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> have to sort out each piece of code as now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> there is no path so, mostly we check for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> categoryPath != null in if conditions, so 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> these are no longer needed.
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, I as thinking after testing and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> completing this we can delete the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory and replace with Category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> method, as it will be clean. I also figured 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> out why my tests are failing as during 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> creating of weblogentry it did not find the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories, as that class was using old 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory table and using that class 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> methods. I think I will definitely will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> figure out everything at the end and will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> successfully test with the unit tests.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am now in the editor part so can display 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> the categories on front end, I am now all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> over the 1-2-3-4 steps you mentioned. As 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> soon as I will able to display the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories (small issues left) at the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> backend, I will again go through my 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> changes. Also, at this time I can only 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> create patch for new table and migration 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> script, as all other classes code are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> interrelated so can't submit now. I will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> test every single thing related to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories, then I will submit my patches.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Although I have learned a lot new things, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> just spent last two full days on this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> sorting out things, many times ending up 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> nowhere from where I started. But I am 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> confident that I will definitely complete 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> this task. Just I am worrying that I must 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> be taking too much time.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> If there is something, you can advice me I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> would happy to follow that also.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> If it helps, you can provide interim 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> patches, so long as it doesn't break the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> current code base. You may want to create 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> a patch just creating the new database 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table (which will be ignored by the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> current code) and sql insert-select 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> scripts to move from the current table to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the new one, then one converting the code 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to using the new table without sorting, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> then (finally) one that implements sorting 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> of the categories.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created and updated all necessary 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> files in JPA and for database, I tried 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> compiling the code it gave me errors in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> test cases. As I am not sure that what I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> am wrong in this. Although I tried 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> compiling without running test cases, it 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> worked fine. I tested it with tomcat and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new table category is created and initial 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category (General, Finance and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Technology) are created with the position 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1,2,3. Still there are many thing I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to clean up and sort out and will test it 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> again.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Ok, got your point. I will check on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> other Roller parts also if parent name 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and path aren't be using in any other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> part of Roller. I will go into the RSS 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and Atom feeds later on, and see what 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> changes it need. As, till now I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> changed many files and created some, so 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will first test this part then go into 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that feeds part.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Sounds good, but may require more work 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to make sure all is good with the RSS 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and Atom feeds as a result (which I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> believe rely on path). Where path is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> used to check for equivalence, I guess 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> name (and blog/website ID, if 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> necessary) alone will do now. We may 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need to check (if we aren't already) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that no two categories have the same 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> name, where prior we were checking that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> no two paths are the same (i.e., 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> allowing category paths 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> USStates/Georgia and Countries/Georgia 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> but now needing to disallow two 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories named "Georgia".)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am thinking of removing the path 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> coloumn also, as it does not make 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sense now as there will no 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> subcategories and all will have same 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> path (like /categoryname). WDYT ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I want to know as now all the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories will be top level, so the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> root category which is created by 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> default on addWeblog isn't needed. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> So, I can remove that code also ? I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> am in half completed with the 1-2 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> steps will soon submit some patched 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in jira issue. You can look on to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> them whenever you will get time from 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> other projects.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this, I understand your 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> commitments. As this will give me 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> more time on working on this issue. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I will give my 100% on this, as I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> also want to get into more and more 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> open source projects. For Now I am 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> focusing on Roller for starting my 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> contributions in open source.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can't help much right now either, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as my other project JSPWiki has a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new release going out.) But please 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> be patient with us on your recent 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> submitted patches -- we haven't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> forgotten you and are happy with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> your efforts on this project so 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> far, we just have full-time jobs 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and, even after that, other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> obligations -- for open source 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> work, we usually have to beg, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> borrow and steal time to work on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> them.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am going through this having 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> some issues, although not major 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> till now. I have still working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1-2 steps, might be I am slow as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> get less time. (Wish we also have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> holidays of this festive season 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in India :P) Just want to know 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> isn't there any hurry for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> completing this asap ? Although, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am sure will definitely 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> complete this as I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> understood the structure of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller completely. Just I have to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> go through the JPA more and read 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> about this.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 04:59 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> missing will become apparent to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you as you work along. The 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller installation guide and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> here 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can show you how to test also 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with Derby if you'd like. (It is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> usually simpler than MySQL, and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> another benefit of working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller is that you become 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> multiple-database-lingual very 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> quickly.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I with this much deep 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> information, I can start 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> working in it. I have started 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> working on this Issue and have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> followed your steps.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb.vm and in migration 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> scripts also. I have for mow 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> stared working on MySQL.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> class, I have commented 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for now Category.orm.xml and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> enterd details of new table. A 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new class Category in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created new files for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> now and will work on this and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> add new position coloum and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> code regarding this. Other than 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> UI and template Layer, I think 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have covered all files on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> which I have to work on the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Database and JPA layers ? 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Please tell me if I am wrong 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> anywhere or following wrong 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> workflow.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 04:59 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> our database scripts -- you 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> see a createdb.vm plus 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> migration scripts (5.0 to 5.1) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -- we'll want our change in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> both places (IIRC), new users 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have the createdb run and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller upgraders with their 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> current DB's have the 5.0 to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 5.1 migration script run.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and I'd like to get this done 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> right (I plan on helping out 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> where you'd like). Namely, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we've moved from a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structure (categories having 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> subcategories having their own 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> subcatorgories etc.) to a flat 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> single-level structure (all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories are top level) -- 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that was done a week or so 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> back. Problem is, the database 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tables are still assuming 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical (they will work 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with flat structures but are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> overkill--we don't need a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> parent ID column anymore.) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, the JPA objects are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> designed for hierarchical but 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can simplified a bit more to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat structure. Incidentally, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "sequenceNum" is ambiguous 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> about what it means, I would 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> say "position" or "ordering" 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (INT null, null for migrators 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> who don't yet have a position 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> defined) is clearer.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> handle this--for both new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> installers and upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table, say "category" designed 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> precisely as we need, and have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the migration scripts select 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> from the old weblogcategory 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and insert into the new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category table. (We then 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ignore the weblogcategory 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table.) We'll need to test the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> scripts with at least two 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> databases (2 of probably 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> MySQL, Derby and/or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PostgreSQL) and guess for the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> others--if we're wrong the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> user community can supply a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> patch fixing it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> object (the old 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> it's now flat-level. Indeed, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> think things will get a *lot* 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simpler here, as it may just 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> be the parent Weblog holding a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> list of some sort of Category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (or whatever it's called) and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> its Struts action class will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> now need to use the new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Category object (and table) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> instead of WeblogCategory. The 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> UI page will need two changes: 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (1) all new categories will be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> placed (and saved) at the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bottom of the category list 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (and as result, appear last 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (right-most) in the category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> list, and, later (2) probably 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have up and down buttons in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the table allowing users to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> easily reorder the categories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as they like. (Strictly 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> speaking, 1 alone is all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that's needed for ordering, as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> remove/name/delete/recreate 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories to eventually get 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> them in the position you'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like, but (2) of course is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> much nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> looked into this): The 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> templates (probably just a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> macro or two) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> updating to ensure that they 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> output the category names per 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the new position order.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> advantage is that I'd like to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> do the same thing with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks/blogrolls (team 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discussion pending...), switch 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> from a hierarchical to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat-level for those too.  If 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we can do this for categories, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the logic/UI design, etc., 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will carry over 100% to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getting to this myself, so am 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> available to work with you on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whatever parts you'd like. I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> think going in order 1-2-3-4 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and having separate commits 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> may be the cleanest way of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> doing this. What's nice about 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> using a brand new table and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> JPA object is that the old 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> objects can still work in the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> code while we're creating the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new, we just don't activate 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the new until the very end.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> members on the above 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ideas...?) Or are there other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller tasks you'd like to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sink your teeth into instead? 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I can look at this otherwise, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> but this looks like a very 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> good exercise for someone 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> wanting to get more involved 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in Roller, as it covers all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the layers of the webapp.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ROL-1981, as discussed in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> previous discussion threads I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will add new column 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sequenceNum in weblogcategory 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table. Then we can assign 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sequenceNum to each category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> according to websideid. If 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> anyone have some ideas 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> regarding this, please help 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> me. Also, need some help on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> how to go with this issue, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and how to add new coloum, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> found .sql file, do I need to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> add there new column. Also, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Is this possible that that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> when I restart the roller it 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will add new column to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> database ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>


Re: (another idea) Re: ROL-1981 Category ordering

Posted by Gaurav <ga...@gmail.com>.
Hello Glen,

I understood the way you suggested, as I just found that the feed 
category list was also not populating. The way you suggested is correct 
now as we did not have sub-categories now. Previoulsly we were using 
that method as we every time associate category with rootCategory, as we 
add each category below root (during add and edit category we pass id in 
bean for initializing the weblogCategory).
Also, I have corrected List to List<name> everywhere. I have now also 
installed tomcat in my eclipse and it helped a lot, thanks for this 
also. Just the test cases, I have to sought out what to do with them, 
might be changing this way might solve this issue also.
Last week was very busy for me have to work on weekends also, I will now 
complete this task in this week.

Thanks for all the help and giving me this much time for working around 
this task.

Gaurav


On Monday 13 January 2014 06:22 PM, Glen Mazza wrote:
> Hi Gaurav, just looked at the code.  I don't understand why there is a 
> getWeblogCategories() in WeblogEntryManager --- categories are 
> associated with a  *Weblog* (the blog as a whole), not a *WeblogEntry* 
> (a blog entry).  A WeblogEntry should have a getWeblogCategory() 
> (singular) to identify the category the blog entry was placed in, but 
> I would think getWeblogEntries() should be in the WeblogManager, and 
> if temporarily necessary for the WeblogEntryManager to have a 
> getWeblogCategories(), have it call a 
> getWeblogManager().getWeblogCategories() to get that information.
>
> I don't know if the present implementation was an attempt to work 
> around any shortcomings in JPA.  Offhand, though, that last method you 
> listed, Weblog.getWeblogCategories() should be the most important 
> method to get working, (ideally), I would think the only method that 
> needs to have a getWeblogCategories() is Weblog/WeblogManager.
>
> Note, best to use parameterized types in new code (i.e., List<Blah> 
> blah = new ArrayList<Blah>(); instead of just List blah) (see Bloch's 
> book, Effective Java) and those println's are indicating you haven't 
> gotten Tomcat webapp debugging set up in your IDE (what are you using, 
> IntelliJ or Eclipse?) -- I would really recommend doing that, it's 
> much faster to fix bugs when you can trace them. It's not too 
> difficult, there should be enough 'Net sources on how to do that, but 
> feel free to ask questions on that if necessary.
>
> Regards,
> Glen
>
>
> On 01/12/2014 06:19 AM, Gaurav wrote:
>> Hello Glen,
>>
>> Going through the test got another problem, as I told you I have 
>> created a method getWeblogCategories(), and I was able to get the 
>> categories listing on front-end (without changing anything in vm). 
>> But, now when I call this method again from WeblogCategory class in 
>> method hasCategory (for validating no duplicate category name), It 
>> did not return the categories.
>>
>> Below is new getWeblogCategories() method I created and another 
>> hasCategory method from where I call this.
>>
>> public List<WeblogCategory> getWeblogCategories(){
>>         List categories = new ArrayList();
>>         try {
>>             WeblogEntryManager wmgr = 
>> WebloggerFactory.getWeblogger().getWeblogEntryManager();
>> System.out.println("getweblogcategories==========="+getWebsite());
>>             categories = wmgr.getWeblogCategories(getWebsite());
>>         } catch (WebloggerException e) {
>>             log.error("ERROR: getting Categories", e);
>>         }
>>         return categories;
>>     }
>>
>> public boolean hasCategory(String name) {
>>         List<WeblogCategory> cats = getWeblogCategories();
>> System.out.println("========="+cats); // Return null
>>         for (WeblogCategory cat : cats) {
>> System.out.println("=====hascategory====="+name+"========"+cat.getName()); 
>>
>>             if(name.equals(cat.getName())) {
>>                 return true;
>>             }
>>         }
>>         return false;
>>     }
>>
>> Also, there is another method getWeblogCategories, in weblog.java 
>> this also return me null categories. Although same call in 
>> WeblogCategoryWrapper give results.
>> public List getWeblogCategories() {
>>         WeblogCategory website = new WeblogCategory();
>> System.out.println("=====getWeblogCategories====WEBLOG====website==="+website); 
>>
>>         return website.getWeblogCategories();
>>     }
>>
>> Thanks
>> Gaurav
>>
>> On Sunday 12 January 2014 04:05 PM, Glen Mazza wrote:
>>> Tests that are just testing that subcategories work can be removed, 
>>> because we don't have subcategories anymore--this change is making 
>>> the code simpler, and fewer tests are a consequence of simpler 
>>> code.  Tests that are testing that category name changes work, etc., 
>>> should be rewritten to be able to iterate through a weblog's 
>>> category objects as if the categories are in List or Set format, but 
>>> no more hierarchical iteration as before.  Will that work for you?
>>>
>>> Regards,
>>> Glen
>>>
>>> On 01/12/2014 03:21 AM, Gaurav wrote:
>>>> Hello Glen,
>>>>
>>>> I am still not able to correct the maven tests, if I run the tests 
>>>> they gave some errors, Actually as in many tests they are using 
>>>> root category for testing, I have also changed and commented some 
>>>> test cases still not successful in it.
>>>>
>>>> I am working and studying about the test cases (jUnit), what you 
>>>> suggest I should do to correct the test cases ?
>>>>
>>>> Thanks
>>>> Gaurav
>>>>
>>>> On Saturday 11 January 2014 05:01 PM, Glen Mazza wrote:
>>>>> Great! Looking forward to seeing the patch.
>>>>>
>>>>> Glen
>>>>>
>>>>> On 01/11/2014 03:18 AM, Gaurav wrote:
>>>>>> Hello Glen,
>>>>>>
>>>>>> I just got fixed that issue :). Thanks for all your help. I am 
>>>>>> done with all the issues and into thee final testing of the 
>>>>>> weblog all features.
>>>>>>
>>>>>> Thanks
>>>>>> Gaurav
>>>>>>
>>>>>>
>>>>>> On Saturday 11 January 2014 12:20 PM, Gaurav wrote:
>>>>>>> Hello Glen,
>>>>>>>
>>>>>>> I still did not able to get what I should do next, as you told 
>>>>>>> that showWeblogCategoryLinksList($rootCategory false false) only 
>>>>>>> bring the toplevel categories, it because we specify the 
>>>>>>> $rootCategory each time, so automatically rootCategory child 
>>>>>>> will always going to be top level categories.
>>>>>>>
>>>>>>> Actually, my issue is that If I retain the method 
>>>>>>> getWeblogCategories() in WeblogCategory.java and return a Set of 
>>>>>>> type WeblogCategory then I have to do a mapping of that Set in 
>>>>>>> orm.xml like it was previously done
>>>>>>>
>>>>>>> <one-to-many name="weblogCategories" mapped-by="parent" 
>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Weblog" 
>>>>>>> fetch="LAZY"> </one-to-many>)
>>>>>>>
>>>>>>> So, it was previouly mapped by parent, and as now we did not 
>>>>>>> have any parent, I tried with website but it gave me error as 
>>>>>>> might be because its target-entity is different. I am really out 
>>>>>>> of ideas.
>>>>>>>
>>>>>>> I was thinking of start submitting patches of my work till now, 
>>>>>>> as just this issue of showing categories at blog is left.
>>>>>>>
>>>>>>> Thanks
>>>>>>> Gaurav
>>>>>>>
>>>>>>> On Wednesday 08 January 2014 08:42 AM, Glen Mazza wrote:
>>>>>>>> Hi Gaurav, weblog.weblogCategories should still exist as 
>>>>>>>> probably a Set of some sort (Set because of no duplicate 
>>>>>>>> Categories allowed), a List is another option.  A weblog does 
>>>>>>>> own a collection of categories even with the change. What 
>>>>>>>> should not exist is some child set of categories under each 
>>>>>>>> category--any code asking for the latter can be removed because 
>>>>>>>> there are never any subcategories under a category anymore.
>>>>>>>>
>>>>>>>> Might you be getting confused with this code?
>>>>>>>>     #set($categories = $weblog.weblogCategories )
>>>>>>>>     #foreach( $cat in $categories )
>>>>>>>>
>>>>>>>> The above should be fine, you're not for-eaching child 
>>>>>>>> categories under the *category* but under the *weblog*.
>>>>>>>>
>>>>>>>> Grepping the code for "#showWeblogCategoryLinksList", is 
>>>>>>>> showing that this is its most common usage:
>>>>>>>>
>>>>>>>> #showWeblogCategoryLinksList($rootCategory false false)
>>>>>>>>
>>>>>>>> I.e., just show the top-level categories with no subcategories. 
>>>>>>>> With the new code, all three params are useless now.
>>>>>>>>
>>>>>>>> I think what we need to do is create a new macro:
>>>>>>>>
>>>>>>>> #showWeblogCategoryLinksList
>>>>>>>> that does the same as
>>>>>>>> #showWeblogCategoryLinksList($rootCategory false false)
>>>>>>>>
>>>>>>>> And, for backward compatibility (at least so it compiles), have 
>>>>>>>> this macro:
>>>>>>>>
>>>>>>>> (A) #showWeblogCategoryLinksList($categoryObj $expanding $subcats)
>>>>>>>> ignore all three of its arguments and just call
>>>>>>>> (B) #showWeblogCategoryLinksList
>>>>>>>>
>>>>>>>> So (A) will be a deprecated method to be pulled out at a future 
>>>>>>>> time (maybe in 5.1) -- we'll have to update each of our 
>>>>>>>> templates that currently call (A) to have them call (B) instead 
>>>>>>>> -- a simple change to make.
>>>>>>>>
>>>>>>>> I'm not sure if I'm answering your questions but I think this 
>>>>>>>> might be what you're getting at.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Glen
>>>>>>>>
>>>>>>>>
>>>>>>>> On 01/07/2014 04:35 PM, Gaurav wrote:
>>>>>>>>> Hello Glen,
>>>>>>>>>
>>>>>>>>> I am completed with the Database, JPA, UI Layer. I have tested 
>>>>>>>>> all possible ways by creating, deleting, updating entries, 
>>>>>>>>> categories and also the complete weblog.
>>>>>>>>> The only single issue left is in Template Layer. Actually in 
>>>>>>>>> weblog.vm file for iterating categories list for menu and 
>>>>>>>>> feeds, it uses ($weblog.weblogCategories). It try getting list 
>>>>>>>>> from WeblogCategory method getWeblogCategories() and wrapping 
>>>>>>>>> up with WeblogCategoryWrapper and WeblogWrapper classes. But 
>>>>>>>>> as this method is no longer required, as it was for 
>>>>>>>>> maintaining relations of parent-child, It did not get any list.
>>>>>>>>>
>>>>>>>>> I though of retaining getWeblogCategories() method in 
>>>>>>>>> WeblogCategory class, and getting list of categories directly 
>>>>>>>>> from JPAWeblogEntryManager but it seems wrong to me according 
>>>>>>>>> to the structure. Can you please guide me what should be the 
>>>>>>>>> best way to go ?
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> Gaurav
>>>>>>>>>
>>>>>>>>> On Wednesday 08 January 2014 01:25 AM, Gaurav wrote:
>>>>>>>>>> Hello Glen,
>>>>>>>>>>
>>>>>>>>>> I figured out that issues, as I told when I use 
>>>>>>>>>> getWeblogCategories() method, then the error comes, actually 
>>>>>>>>>> its due to  the reason that I have removed below one-to-many 
>>>>>>>>>> mapping in orm file and still using the method. As you said, 
>>>>>>>>>> I studied JPA and get some time into it and learned new 
>>>>>>>>>> things about the mapping relationship. Now, I am thinking of 
>>>>>>>>>> implementing the same way as getWeblogEntries are listed  as 
>>>>>>>>>> it also come respect to the weblog/website.
>>>>>>>>>>
>>>>>>>>>> <one-to-many name="weblogCategories" mapped-by="parent" 
>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.WeblogCategory" 
>>>>>>>>>> fetch="LAZY"></one-to-many>
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> Gaurav
>>>>>>>>>>
>>>>>>>>>> On Monday 06 January 2014 02:36 AM, Glen Mazza wrote:
>>>>>>>>>>> I don't know, but I don't like that statement 
>>>>>>>>>>> "c.getWeblogCategories().add(c); "  A WeblogCategory should 
>>>>>>>>>>> no longer have child weblog categories (they are pure 
>>>>>>>>>>> siblings of each other with no hierarchical relationship), 
>>>>>>>>>>> so such an "add" shouldn't exist.  You can have 
>>>>>>>>>>> -->Weblog<---.getWeblogCategories().add(c), that would make 
>>>>>>>>>>> sense.
>>>>>>>>>>>
>>>>>>>>>>> Glen
>>>>>>>>>>>
>>>>>>>>>>> On 01/05/2014 03:32 PM, Gaurav wrote:
>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>
>>>>>>>>>>>> I tried finding the that issues, but did not find anywhere. 
>>>>>>>>>>>> Also it is created dynamically as I changed the entity name 
>>>>>>>>>>>> to category1 then also sameerror come up with 
>>>>>>>>>>>> "category1_category1" doesn't exist. I think this might be 
>>>>>>>>>>>> something I am doing wrong with the code. As, Today I 
>>>>>>>>>>>> cleaned up all the code and now everything is working good. 
>>>>>>>>>>>> I am successful in creating, editing and deleting the 
>>>>>>>>>>>> weblog, entries, categories and everything is showing good.
>>>>>>>>>>>>
>>>>>>>>>>>> Just single problem I am having now is showing the 
>>>>>>>>>>>> categories list in feeds and in menu. I figured out after 
>>>>>>>>>>>> checking that $categoryObject.getWeblogCategories() is 
>>>>>>>>>>>> iterated in velocity file which check for the 
>>>>>>>>>>>> getWeblogCategories() method of type Set in WeblogCategory 
>>>>>>>>>>>> class, Initially I commented this method as the comments 
>>>>>>>>>>>> over this method said "Get child categories of this 
>>>>>>>>>>>> category". But I think this is neccasary as whenever a 
>>>>>>>>>>>> category is created this is called to add a category to Set 
>>>>>>>>>>>> "rootCat.getWeblogCategories().add(c);"
>>>>>>>>>>>>
>>>>>>>>>>>> Now, Problem is we did not have any parent or root category 
>>>>>>>>>>>> now, so how it will going to add to that Set and Also I 
>>>>>>>>>>>> tried creating a object of WeblogCategory Class and tried 
>>>>>>>>>>>> adding it to getWeblogCategories() method then again. Now 
>>>>>>>>>>>> When I tired adding category with this 
>>>>>>>>>>>> "c.getWeblogCategories().add(c);" the same error comes up. 
>>>>>>>>>>>> If I comment this line that add category, everything works 
>>>>>>>>>>>> fine again, just did not get any list of categories in menu 
>>>>>>>>>>>> and feed.
>>>>>>>>>>>>
>>>>>>>>>>>> Also, I am confused what setWeblogCategories() is doing as 
>>>>>>>>>>>> I did not find anywhere where it is used for setting 
>>>>>>>>>>>> categories. Just the getWeblogCategories() is used with 
>>>>>>>>>>>> .add for adding child categories to parent/root.
>>>>>>>>>>>>
>>>>>>>>>>>> Below is what I done in addWeblogContents method of class 
>>>>>>>>>>>> JPAWeblogManagerImpl.
>>>>>>>>>>>>
>>>>>>>>>>>> if (cats != null && cats.trim().length() > 0) {
>>>>>>>>>>>>             String[] splitcats = cats.split(",");
>>>>>>>>>>>>             for (int i=0; i<splitcats.length; i++) {
>>>>>>>>>>>>                 WeblogCategory c = new WeblogCategory(
>>>>>>>>>>>>                         newWeblog,       // newWeblog
>>>>>>>>>>>>                         splitcats[i],    // name
>>>>>>>>>>>>                         splitcats[i],    // description
>>>>>>>>>>>>                         null );          // image
>>>>>>>>>>>>                 if (i == 0) {
>>>>>>>>>>>>                     firstCat = c;
>>>>>>>>>>>>                 }
>>>>>>>>>>>> System.out.println("====Cats==="+c);
>>>>>>>>>>>> c.getWeblogCategories().add(c); //previously it was 
>>>>>>>>>>>> root.getWeblogCategories.add(c);
>>>>>>>>>>>>                 this.strategy.store(c);
>>>>>>>>>>>>             }
>>>>>>>>>>>>         }
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> [EL Warning]: 2014-01-05 
>>>>>>>>>>>> 17:15:22.179--ClientSession(1956103136)--Exception 
>>>>>>>>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>>>>>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: 
>>>>>>>>>>>> Table/View 'CATEGORY_CATEGORY' does not exist.
>>>>>>>>>>>> Error Code: 20000
>>>>>>>>>>>> Call: INSERT INTO category_category (weblogCategories_id, 
>>>>>>>>>>>> WeblogCategory_id) VALUES (?, ?)
>>>>>>>>>>>>     bind => [2 parameters bound]
>>>>>>>>>>>> Query: DataModifyQuery(name="weblogCategories" sql="INSERT 
>>>>>>>>>>>> INTO category_category (weblogCategories_id, 
>>>>>>>>>>>> WeblogCategory_id) VALUES (?, ?)")
>>>>>>>>>>>> *
>>>>>>>>>>>>
>>>>>>>>>>>> *Also I tried making new ArrayList and new getter setter in 
>>>>>>>>>>>> WeblogCategory class, still I got same error.
>>>>>>>>>>>>     List<WeblogCategory> catsss = new 
>>>>>>>>>>>> ArrayList<WeblogCategory>();
>>>>>>>>>>>>     catsss.add(c);
>>>>>>>>>>>>     c.setList(catsss);
>>>>>>>>>>>> System.out.println("======"+catsss+"============"+c.getList()); 
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Got this error, after adding Arraylist.
>>>>>>>>>>>>
>>>>>>>>>>>> [EL Warning]: 2014-01-05 
>>>>>>>>>>>> 19:42:56.209--ClientSession(1732472947)--Exception 
>>>>>>>>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>>>>>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: 
>>>>>>>>>>>> Table/View 'CATEGORY_CATEGORY' does not exist.
>>>>>>>>>>>> Error Code: 20000
>>>>>>>>>>>> Call: INSERT INTO category_category (list_id, 
>>>>>>>>>>>> WeblogCategory_id) VALUES (?, ?)
>>>>>>>>>>>>     bind => [2 parameters bound]
>>>>>>>>>>>> Query: DataModifyQuery(name="list" sql="INSERT INTO 
>>>>>>>>>>>> category_category (list_id, WeblogCategory_id) VALUES (?, ?)")
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Sunday 05 January 2014 05:30 AM, Glen Mazza wrote:
>>>>>>>>>>>>> Hi Gaurav, did you try a "control" with your file search 
>>>>>>>>>>>>> method? I.e., you're saying you're case-insensitive 
>>>>>>>>>>>>> searching on "category_category" but nothing is getting 
>>>>>>>>>>>>> returned -- did you try also searching something that you 
>>>>>>>>>>>>> *know* exists in the project (say, "class", "public", 
>>>>>>>>>>>>> "return", etc.) and your IDE/search method indeed did 
>>>>>>>>>>>>> return lots of matches?  Because if you get zero search 
>>>>>>>>>>>>> results with the latter we know the problem is with the 
>>>>>>>>>>>>> way you're configuring your search, not the non-existence 
>>>>>>>>>>>>> of "category_category". (Also are you searching on every 
>>>>>>>>>>>>> type of file extension, not just .java files?)
>>>>>>>>>>>>>
>>>>>>>>>>>>> Somewhere in your code the JPA layer has decided to 
>>>>>>>>>>>>> calculate "category_category" as a table name, I would 
>>>>>>>>>>>>> guess because that's what is exactly in the code someplace 
>>>>>>>>>>>>> (as you can see the query below generated "...FROM 
>>>>>>>>>>>>> category_category t0, category t1..."). One useful 
>>>>>>>>>>>>> experiment might be to rename the "category" table (t1) 
>>>>>>>>>>>>> above to "category2" -- would the SQL above change to 
>>>>>>>>>>>>> "category2_category2, category2..." or (I think) "...FROM 
>>>>>>>>>>>>> category_category t0, category2 t1...") If the former, 
>>>>>>>>>>>>> that would indicate that "category2_category2" is being 
>>>>>>>>>>>>> dynamically generated from the "category2" table name. If 
>>>>>>>>>>>>> the latter, that would mean "category_category" is 
>>>>>>>>>>>>> hardcoded somewhere and not related to the "category" 
>>>>>>>>>>>>> table name you've properly configured.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I probably won't be able to get to this until next weekend 
>>>>>>>>>>>>> anyway, so I'm going to have you finish it, also as a 
>>>>>>>>>>>>> confidence-builder for you (if you let JPA push you around 
>>>>>>>>>>>>> now, it's always going to bully you...  :)
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>
>>>>>>>>>>>>> PS:  Just to clarify, when an pre-5.1-SNAPSHOT user 
>>>>>>>>>>>>> installs Roller 5.1-SNAPSHOT, the Roller startup should 
>>>>>>>>>>>>> automatically detect that the system is currently using an 
>>>>>>>>>>>>> older Roller database and do the database upgrade 
>>>>>>>>>>>>> (creating of new the "category" table and prepopulation of 
>>>>>>>>>>>>> it). Roller has always done this as so long as you put the 
>>>>>>>>>>>>> necessary migration scripts in the right place there 
>>>>>>>>>>>>> should be no problem. However, those of us already on 
>>>>>>>>>>>>> 5.1-SNAPSHOT like myself before your patch will need to 
>>>>>>>>>>>>> manually create that table in our database (the Roller 
>>>>>>>>>>>>> script won't notice 5.1-SNAPSHOT-->5.1-SNAPSHOT, so won't 
>>>>>>>>>>>>> create "category" by itself.)  No problem, we'll just 
>>>>>>>>>>>>> figure out the necessary SQL statements for Dave and he 
>>>>>>>>>>>>> can add it to his Roller project blog.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 01/04/2014 04:47 PM, Gaurav wrote:
>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I searched whole project and did not find anywhere. I 
>>>>>>>>>>>>>> think might be I have done something wrong, as when I 
>>>>>>>>>>>>>> start with new database, everything work just deleting 
>>>>>>>>>>>>>> gives me this error. If I work on old database it even 
>>>>>>>>>>>>>> did not start up (localhost:8080/roller) gives my below 
>>>>>>>>>>>>>> error.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I have checked almost everything I can, might be some 
>>>>>>>>>>>>>> wrong java code and anything I done wrong that causes 
>>>>>>>>>>>>>> this. Should I submit by work so you can look on to it, 
>>>>>>>>>>>>>> or if we are not in any hurry than I can look into it 
>>>>>>>>>>>>>> again step by step (I prefer second option if we have one 
>>>>>>>>>>>>>> more week. Just another week or so, next week i have some 
>>>>>>>>>>>>>> tight schedule). I know I am taking too much time, but I 
>>>>>>>>>>>>>> am new to this level of Java code, as I worked maximum 
>>>>>>>>>>>>>> time at client side. But I really loving java code and 
>>>>>>>>>>>>>> learned a lot till now, before this I just worked with 
>>>>>>>>>>>>>> Java on small projects. OpenSource Projects really are 
>>>>>>>>>>>>>> very powerful and good way to learn new things.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Exception [EclipseLink-4002] (Eclipse Persistence 
>>>>>>>>>>>>>> Services - 2.5.0.v20130507-3faac2b): 
>>>>>>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException 
>>>>>>>>>>>>>> Internal Exception: 
>>>>>>>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 
>>>>>>>>>>>>>> Table 'roller.category_category' doesn't exist Error 
>>>>>>>>>>>>>> Code: 1146 Call: SELECT t1.id, t1.description, t1.image, 
>>>>>>>>>>>>>> t1.name, t1.websiteid FROM category_category t0, category 
>>>>>>>>>>>>>> t1 WHERE ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>>>>>>>>>>>>> t0.weblogCategories_id)) bind => [1 parameter bound] 
>>>>>>>>>>>>>> Query: ReadAllQuery(name="weblogCategories" 
>>>>>>>>>>>>>> referenceClass=WeblogCategory sql="SELECT t1.id, 
>>>>>>>>>>>>>> t1.description, t1.image, t1.name, t1.websiteid FROM 
>>>>>>>>>>>>>> category_category t0, category t1 WHERE 
>>>>>>>>>>>>>> ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>>>>>>>>>>>>> t0.weblogCategories_id))")
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Sunday 05 January 2014 12:00 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>> Hi Gaurav, no, that relation shouldn't be needed anymore.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> As for the table name, at the top of your orm.xml file 
>>>>>>>>>>>>>>> the table name the file maps against is declared -- 
>>>>>>>>>>>>>>> perhaps you accidentally called it category_category. I 
>>>>>>>>>>>>>>> would grep or use a file search from your IDE of your 
>>>>>>>>>>>>>>> entire roller source code, looking for where 
>>>>>>>>>>>>>>> category_category is being declared -- (probably) has to 
>>>>>>>>>>>>>>> be there someplace. (More specifically, do a file search 
>>>>>>>>>>>>>>> on "DataModifyQuery" -- that's probably exactly where 
>>>>>>>>>>>>>>> the problem is.)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Once working, try to import the latest code changes into 
>>>>>>>>>>>>>>> your code before submitting a patch (actually create a 
>>>>>>>>>>>>>>> backup patch first just in case).  Not sure but I think 
>>>>>>>>>>>>>>> a simple svn update will do -- svn will identify some 
>>>>>>>>>>>>>>> files where it will need your assistance to resolve any 
>>>>>>>>>>>>>>> differences -- it shouldn't be too hard or 
>>>>>>>>>>>>>>> time-consuming to do.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 01/04/2014 08:55 AM, Gaurav wrote:
>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I just want to know that the below relations in 
>>>>>>>>>>>>>>>> WeblogCategory.orm.xml are required or not as now the 
>>>>>>>>>>>>>>>> parent is not used so, I don't think its needed now. I 
>>>>>>>>>>>>>>>> have commented the below lines.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> <many-to-one name="parent" 
>>>>>>>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category"> 
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>                 <join-column name="parentid" 
>>>>>>>>>>>>>>>> insertable="true" updatable="true" nullable="true"/>
>>>>>>>>>>>>>>>>             </many-to-one>
>>>>>>>>>>>>>>>>             <one-to-many name="weblogCategories" 
>>>>>>>>>>>>>>>> mapped-by="parent" 
>>>>>>>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category" 
>>>>>>>>>>>>>>>> fetch="LAZY">
>>>>>>>>>>>>>>>>                 <cascade>
>>>>>>>>>>>>>>>> <cascade-remove/>
>>>>>>>>>>>>>>>>                 </cascade>
>>>>>>>>>>>>>>>>             </one-to-many>
>>>>>>>>>>>>>>>>             <transient name="inUse"/>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I asked this because, getting categories giving me 
>>>>>>>>>>>>>>>> mysql exception. The new table is 'roller.category' but 
>>>>>>>>>>>>>>>> it executes for 'roller.category_category'.
>>>>>>>>>>>>>>>> I am not able to get what I have done wrong.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Internal Exception: 
>>>>>>>>>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 
>>>>>>>>>>>>>>>> Table 'roller.category_category' doesn't exist
>>>>>>>>>>>>>>>> Error Code: 1146
>>>>>>>>>>>>>>>> Call: DELETE FROM category_category WHERE 
>>>>>>>>>>>>>>>> (WeblogCategory_id = ?)
>>>>>>>>>>>>>>>>     bind => [1 parameter bound]
>>>>>>>>>>>>>>>> Query: DataModifyQuery(name="weblogCategories" 
>>>>>>>>>>>>>>>> sql="DELETE FROM category_category WHERE 
>>>>>>>>>>>>>>>> (WeblogCategory_id = ?)")
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Also, I have changed the getWeblogCategoryByPath to 
>>>>>>>>>>>>>>>> getWeblogCategoryByName so feeds and other places work 
>>>>>>>>>>>>>>>> fine. I have able to get catgeory list, new entries are 
>>>>>>>>>>>>>>>> creating successfully. Just deleting the weblog is 
>>>>>>>>>>>>>>>> giving me above error.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I have already deleted getPath and getParent and in 
>>>>>>>>>>>>>>>>> the mid of everything. I hope I will be able to 
>>>>>>>>>>>>>>>>> complete this by Monday. If still, I get some major 
>>>>>>>>>>>>>>>>> issues due to this, I will switch to what you 
>>>>>>>>>>>>>>>>> suggested. Just give me time till Monday, as I have 
>>>>>>>>>>>>>>>>> done almost 80% of code cleaned regarding the path and 
>>>>>>>>>>>>>>>>> parentcategory. I will get back to you soon with some 
>>>>>>>>>>>>>>>>> patches and then you can test it.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Also, my ICLA have been filed, got the receipt of my 
>>>>>>>>>>>>>>>>> ICLA.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>> Gaurav, sorry, it just occurred to me there's a 
>>>>>>>>>>>>>>>>>> simpler intermediate step that can be done. While we 
>>>>>>>>>>>>>>>>>> need the database table without a path column, and to 
>>>>>>>>>>>>>>>>>> remove the "path" member *variable* from 
>>>>>>>>>>>>>>>>>> WeblogCategory (or its replacement), we can still 
>>>>>>>>>>>>>>>>>> keep indefinitely keep getPath(), just hardcode it to 
>>>>>>>>>>>>>>>>>> "/" + categoryName, which is precisely what the old 
>>>>>>>>>>>>>>>>>> code returns for any top-level category--the rest of 
>>>>>>>>>>>>>>>>>> the system can stay just as it did before. Switching 
>>>>>>>>>>>>>>>>>> the rest of the code from getPath() to using 
>>>>>>>>>>>>>>>>>> getName() can be done at any time, bit by bit 
>>>>>>>>>>>>>>>>>> whenever, that's not necessary to implement 
>>>>>>>>>>>>>>>>>> positioning, that's just a code cleanup issue. 
>>>>>>>>>>>>>>>>>> Likewise, for WeblogCategory.getParent(), it may be 
>>>>>>>>>>>>>>>>>> as simple as adding a root category object as part of 
>>>>>>>>>>>>>>>>>> the Weblog's constructor (but not saved to the 
>>>>>>>>>>>>>>>>>> database), and having WeblogCategory.getParent() just 
>>>>>>>>>>>>>>>>>> return website.getParentCategory()--that way all 
>>>>>>>>>>>>>>>>>> categories for a weblog will have the same root 
>>>>>>>>>>>>>>>>>> category as before, and the rest of the code base 
>>>>>>>>>>>>>>>>>> should function fine. Once we're on the new table, 
>>>>>>>>>>>>>>>>>> then it's an issue of implementing 
>>>>>>>>>>>>>>>>>> positioning--getting rid of getParent() and getPath() 
>>>>>>>>>>>>>>>>>> can be done by anybody at a later date.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>> No problem, I'm available to help (or finish it up) 
>>>>>>>>>>>>>>>>>>> if needed. For a seemingly simple switch, you're 
>>>>>>>>>>>>>>>>>>> certainly getting a *full* education of the Roller 
>>>>>>>>>>>>>>>>>>> codebase.  :)
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> BTW, I hope you're not testing via mvn jetty:run, as 
>>>>>>>>>>>>>>>>>>> that requires you to keep logging in for the first 
>>>>>>>>>>>>>>>>>>> time, creating a blog for the first time, etc., 
>>>>>>>>>>>>>>>>>>> whenever you start it. Very inefficient and tiring. 
>>>>>>>>>>>>>>>>>>> Normally I just build (mvn clean install) and dump 
>>>>>>>>>>>>>>>>>>> the WAR into standalone Tomcat on my local machine. 
>>>>>>>>>>>>>>>>>>> The database & other configuration I keep 
>>>>>>>>>>>>>>>>>>> permanently in roller-custom.properties in the 
>>>>>>>>>>>>>>>>>>> Tomcat lib/ folder, so the new WAR just takes over 
>>>>>>>>>>>>>>>>>>> with the same configuration, blogs, accounts, etc., 
>>>>>>>>>>>>>>>>>>> that old WAR was using. (Check the Roller install 
>>>>>>>>>>>>>>>>>>> guide for full instructions.)
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Also vital is that you know how to debug/trace 
>>>>>>>>>>>>>>>>>>> Roller code in Eclipse or IntelliJ while it is 
>>>>>>>>>>>>>>>>>>> running on Tomcat (or another servlet container). 
>>>>>>>>>>>>>>>>>>> It's much simpler than it seems, and will save you a 
>>>>>>>>>>>>>>>>>>> lot of time. These instructions are for Eclipse but 
>>>>>>>>>>>>>>>>>>> Intellij (my preference) is basically the same: 
>>>>>>>>>>>>>>>>>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>>>>>>>>>>>>>>>>>>> Checking variable values while it's running will 
>>>>>>>>>>>>>>>>>>> point you to where problems are much more quickly.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Happy New Year!
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> As, I previously told you that the test cases are 
>>>>>>>>>>>>>>>>>>>> giving problem, actually I think we have to do some 
>>>>>>>>>>>>>>>>>>>> changes in Test Cases also, as many of the methods 
>>>>>>>>>>>>>>>>>>>> involving path and parent are removed so, many 
>>>>>>>>>>>>>>>>>>>> times in test cases (it did not get correct values 
>>>>>>>>>>>>>>>>>>>> and give errors).
>>>>>>>>>>>>>>>>>>>> I have successfully showed the categories by 
>>>>>>>>>>>>>>>>>>>> website till now in the admin section. Also, the 
>>>>>>>>>>>>>>>>>>>> entries are saved just, I ran out of memory issue 
>>>>>>>>>>>>>>>>>>>> in happen when I save an entry that entry, although 
>>>>>>>>>>>>>>>>>>>> it get saved when I refresh the page.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Also, as their is not path now, we have to do some 
>>>>>>>>>>>>>>>>>>>> changes in velocity files, as feeds are giving 
>>>>>>>>>>>>>>>>>>>> error in showing, although if I direct enter the 
>>>>>>>>>>>>>>>>>>>> URL its working fine. I have cleared many parts of 
>>>>>>>>>>>>>>>>>>>> the code, just I have test of the roller parts 
>>>>>>>>>>>>>>>>>>>> which are linked the path and parent. I am thinking 
>>>>>>>>>>>>>>>>>>>> of correcting the test cases, as I can run them and 
>>>>>>>>>>>>>>>>>>>> if test cases are fine then might be everything 
>>>>>>>>>>>>>>>>>>>> will work fine.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> I will return to work on this after 3 days, as I 
>>>>>>>>>>>>>>>>>>>> will be and will get be to it during coming weekend 
>>>>>>>>>>>>>>>>>>>> again. I will wrap this out asap for you to test 
>>>>>>>>>>>>>>>>>>>> and will attach patches coming weekend.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>> Thanks for that info, I have changed my settings 
>>>>>>>>>>>>>>>>>>>>> in the eclipse.
>>>>>>>>>>>>>>>>>>>>> Yes, you are right I will leave the ordering part 
>>>>>>>>>>>>>>>>>>>>> for now and work on clearing the code for now. For 
>>>>>>>>>>>>>>>>>>>>> now I will just add a column in category table 
>>>>>>>>>>>>>>>>>>>>> with position, leaving it null for now.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>> Your last ImprovedCreateUser.patch had some tab 
>>>>>>>>>>>>>>>>>>>>>> characters in it, and our project uses spaces for 
>>>>>>>>>>>>>>>>>>>>>> tabs (just have Eclipse insert 4 spaces whenever 
>>>>>>>>>>>>>>>>>>>>>> you hit the tab key, with no tab characters.) 
>>>>>>>>>>>>>>>>>>>>>> Very few Apache projects (any?) are tab-indented 
>>>>>>>>>>>>>>>>>>>>>> today. It is a simple fix with IntelliJ IDEA 
>>>>>>>>>>>>>>>>>>>>>> (Edit -> Convert Indents -> To Spaces), I'm sure 
>>>>>>>>>>>>>>>>>>>>>> Eclipse has an equivalent.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> For blogs migrating from pre-5.1 versions, we can 
>>>>>>>>>>>>>>>>>>>>>> keep the position NULL by default (and when you 
>>>>>>>>>>>>>>>>>>>>>> order by position, with null values, they will 
>>>>>>>>>>>>>>>>>>>>>> come out in any order, like they do today.) 
>>>>>>>>>>>>>>>>>>>>>> Whenever a new blog is created with the default 
>>>>>>>>>>>>>>>>>>>>>> three categories, those can be assigned positions 
>>>>>>>>>>>>>>>>>>>>>> (probably 0-based for leftmost is best.) For 
>>>>>>>>>>>>>>>>>>>>>> migrated blogs, once the user goes to the 
>>>>>>>>>>>>>>>>>>>>>> category page and makes a change for the first 
>>>>>>>>>>>>>>>>>>>>>> time, numbers can be written for the very first 
>>>>>>>>>>>>>>>>>>>>>> time--no special extra UI is needed for this 
>>>>>>>>>>>>>>>>>>>>>> purpose. But like I was saying, this is such a 
>>>>>>>>>>>>>>>>>>>>>> lengthy patch you may wish to forget about the 
>>>>>>>>>>>>>>>>>>>>>> ordering right now--it doesn't work anyway in 
>>>>>>>>>>>>>>>>>>>>>> Roller right now. It may be best to get us to the 
>>>>>>>>>>>>>>>>>>>>>> new table and get rid of the paths, and once 
>>>>>>>>>>>>>>>>>>>>>> we're on that firmer foundation implementing 
>>>>>>>>>>>>>>>>>>>>>> positioning (on the Category page and in the 
>>>>>>>>>>>>>>>>>>>>>> templates) will be much simpler.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I will change the position to be integer, and 
>>>>>>>>>>>>>>>>>>>>>>> will exclude the category where parent null, but 
>>>>>>>>>>>>>>>>>>>>>>> still what can be done for the position as the 
>>>>>>>>>>>>>>>>>>>>>>> old data did not have position, so how and on 
>>>>>>>>>>>>>>>>>>>>>>> what basis we have to add position to it. I was 
>>>>>>>>>>>>>>>>>>>>>>> thinking that we can left it as null, and 
>>>>>>>>>>>>>>>>>>>>>>> provide some UI in backend where user can assign 
>>>>>>>>>>>>>>>>>>>>>>> position themselves.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I will take care of spacing, will search what I 
>>>>>>>>>>>>>>>>>>>>>>> am doing wrong. As, I am not sure is that you 
>>>>>>>>>>>>>>>>>>>>>>> are talking about formatting the code, or 
>>>>>>>>>>>>>>>>>>>>>>> anything else. As I use tab (with 4 spaces) in 
>>>>>>>>>>>>>>>>>>>>>>> Eclipse IDE.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>> BTW, not to be hated, but make sure any code 
>>>>>>>>>>>>>>>>>>>>>>>> you submit is space-padded (4 spaces), *not* 
>>>>>>>>>>>>>>>>>>>>>>>> tab-padded. Your IDE should be able to convert 
>>>>>>>>>>>>>>>>>>>>>>>> it for you if you've been doing tab-padding.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> I am confused on how to add and on what basis 
>>>>>>>>>>>>>>>>>>>>>>>>> we have to addd position to the new category 
>>>>>>>>>>>>>>>>>>>>>>>>> table. Below two sql commands can be used for 
>>>>>>>>>>>>>>>>>>>>>>>>> coping data and deleting the root categories.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> create table category (
>>>>>>>>>>>>>>>>>>>>>>>>>     id varchar(48) not null primary key,
>>>>>>>>>>>>>>>>>>>>>>>>>     name varchar(255) not null,
>>>>>>>>>>>>>>>>>>>>>>>>>     description varchar(255),
>>>>>>>>>>>>>>>>>>>>>>>>>     websiteid varchar(48) not null,
>>>>>>>>>>>>>>>>>>>>>>>>>     image varchar(255),
>>>>>>>>>>>>>>>>>>>>>>>>>     position varchar(48)
>>>>>>>>>>>>>>>>>>>>>>>>> );
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> insert into 
>>>>>>>>>>>>>>>>>>>>>>>>> category(id,name,description,websiteid,image) 
>>>>>>>>>>>>>>>>>>>>>>>>> select id,name,description,websiteid,image 
>>>>>>>>>>>>>>>>>>>>>>>>> from weblogcategory;
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> delete from category where name="root";
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> What do you suggest for this ?
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> Take your time, this is a messy change as it 
>>>>>>>>>>>>>>>>>>>>>>>>>> affects many areas of the code. But Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>> will be architecturally much more solid and 
>>>>>>>>>>>>>>>>>>>>>>>>>> simpler once this change is done.  I have 
>>>>>>>>>>>>>>>>>>>>>>>>>> your ROL-1616 and ROL-1982 on my plate for 
>>>>>>>>>>>>>>>>>>>>>>>>>> this weekend.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> I have deleted the path and all related 
>>>>>>>>>>>>>>>>>>>>>>>>>>> methods, but its seems to me that the path 
>>>>>>>>>>>>>>>>>>>>>>>>>>> methods like (getWeblogCategoryByPath) and 
>>>>>>>>>>>>>>>>>>>>>>>>>>> many other path and parent related methods, 
>>>>>>>>>>>>>>>>>>>>>>>>>>> are scattered over the whole roller. There 
>>>>>>>>>>>>>>>>>>>>>>>>>>> are many occurrence of these methods and I 
>>>>>>>>>>>>>>>>>>>>>>>>>>> have to sort out each piece of code as now 
>>>>>>>>>>>>>>>>>>>>>>>>>>> there is no path so, mostly we check for 
>>>>>>>>>>>>>>>>>>>>>>>>>>> categoryPath != null in if conditions, so 
>>>>>>>>>>>>>>>>>>>>>>>>>>> these are no longer needed.
>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, I as thinking after testing and 
>>>>>>>>>>>>>>>>>>>>>>>>>>> completing this we can delete the 
>>>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory and replace with Category 
>>>>>>>>>>>>>>>>>>>>>>>>>>> method, as it will be clean. I also figured 
>>>>>>>>>>>>>>>>>>>>>>>>>>> out why my tests are failing as during 
>>>>>>>>>>>>>>>>>>>>>>>>>>> creating of weblogentry it did not find the 
>>>>>>>>>>>>>>>>>>>>>>>>>>> categories, as that class was using old 
>>>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory table and using that class 
>>>>>>>>>>>>>>>>>>>>>>>>>>> methods. I think I will definitely will 
>>>>>>>>>>>>>>>>>>>>>>>>>>> figure out everything at the end and will 
>>>>>>>>>>>>>>>>>>>>>>>>>>> successfully test with the unit tests.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> I am now in the editor part so can display 
>>>>>>>>>>>>>>>>>>>>>>>>>>> the categories on front end, I am now all 
>>>>>>>>>>>>>>>>>>>>>>>>>>> over the 1-2-3-4 steps you mentioned. As 
>>>>>>>>>>>>>>>>>>>>>>>>>>> soon as I will able to display the 
>>>>>>>>>>>>>>>>>>>>>>>>>>> categories (small issues left) at the 
>>>>>>>>>>>>>>>>>>>>>>>>>>> backend, I will again go through my changes. 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, at this time I can only create patch 
>>>>>>>>>>>>>>>>>>>>>>>>>>> for new table and migration script, as all 
>>>>>>>>>>>>>>>>>>>>>>>>>>> other classes code are interrelated so can't 
>>>>>>>>>>>>>>>>>>>>>>>>>>> submit now. I will test every single thing 
>>>>>>>>>>>>>>>>>>>>>>>>>>> related to categories, then I will submit my 
>>>>>>>>>>>>>>>>>>>>>>>>>>> patches.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Although I have learned a lot new things, 
>>>>>>>>>>>>>>>>>>>>>>>>>>> just spent last two full days on this 
>>>>>>>>>>>>>>>>>>>>>>>>>>> sorting out things, many times ending up 
>>>>>>>>>>>>>>>>>>>>>>>>>>> nowhere from where I started. But I am 
>>>>>>>>>>>>>>>>>>>>>>>>>>> confident that I will definitely complete 
>>>>>>>>>>>>>>>>>>>>>>>>>>> this task. Just I am worrying that I must be 
>>>>>>>>>>>>>>>>>>>>>>>>>>> taking too much time.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> If there is something, you can advice me I 
>>>>>>>>>>>>>>>>>>>>>>>>>>> would happy to follow that also.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>> If it helps, you can provide interim 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> patches, so long as it doesn't break the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> current code base. You may want to create a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> patch just creating the new database table 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> (which will be ignored by the current code) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> and sql insert-select scripts to move from 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> the current table to the new one, then one 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> converting the code to using the new table 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> without sorting, then (finally) one that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> implements sorting of the categories.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created and updated all necessary 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> files in JPA and for database, I tried 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> compiling the code it gave me errors in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> test cases. As I am not sure that what I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> am wrong in this. Although I tried 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> compiling without running test cases, it 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> worked fine. I tested it with tomcat and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new table category is created and initial 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category (General, Finance and Technology) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> are created with the position 1,2,3. Still 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> there are many thing I have to clean up 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and sort out and will test it again.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Ok, got your point. I will check on other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller parts also if parent name and path 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> aren't be using in any other part of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller. I will go into the RSS and Atom 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> feeds later on, and see what changes it 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need. As, till now I have changed many 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> files and created some, so will first 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> test this part then go into that feeds part.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Sounds good, but may require more work 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to make sure all is good with the RSS 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and Atom feeds as a result (which I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> believe rely on path). Where path is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> used to check for equivalence, I guess 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> name (and blog/website ID, if necessary) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> alone will do now. We may need to check 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (if we aren't already) that no two 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories have the same name, where 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> prior we were checking that no two paths 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> are the same (i.e., allowing category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> paths USStates/Georgia and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Countries/Georgia but now needing to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> disallow two categories named "Georgia".)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am thinking of removing the path 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> coloumn also, as it does not make sense 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> now as there will no subcategories and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> all will have same path (like 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> /categoryname). WDYT ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I want to know as now all the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories will be top level, so the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> root category which is created by 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> default on addWeblog isn't needed. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> So, I can remove that code also ? I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> am in half completed with the 1-2 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> steps will soon submit some patched 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in jira issue. You can look on to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> them whenever you will get time from 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> other projects.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this, I understand your commitments. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> As this will give me more time on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> working on this issue. I will give 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> my 100% on this, as I also want to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> get into more and more open source 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> projects. For Now I am focusing on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller for starting my contributions 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in open source.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can't help much right now either, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as my other project JSPWiki has a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new release going out.) But please 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> be patient with us on your recent 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> submitted patches -- we haven't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> forgotten you and are happy with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> your efforts on this project so 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> far, we just have full-time jobs 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and, even after that, other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> obligations -- for open source 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> work, we usually have to beg, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> borrow and steal time to work on them.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am going through this having 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> some issues, although not major 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> till now. I have still working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1-2 steps, might be I am slow as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> get less time. (Wish we also have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> holidays of this festive season in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> India :P) Just want to know isn't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> there any hurry for completing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this asap ? Although, I am sure 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will definitely complete this as I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have understood the structure of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller completely. Just I have to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> go through the JPA more and read 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> about this.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> missing will become apparent to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you as you work along. The Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> installation guide and here 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can show you how to test also 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with Derby if you'd like. (It is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> usually simpler than MySQL, and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> another benefit of working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller is that you become 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> multiple-database-lingual very 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> quickly.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with this much deep information, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I can start working in it. I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have started working on this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Issue and have followed your steps.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb.vm and in migration 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> scripts also. I have for mow 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> stared working on MySQL.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> class, I have commented 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> now Category.orm.xml and enterd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> details of new table. A new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> class Category in weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created new files for now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and will work on this and add 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new position coloum and code 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> regarding this. Other than UI 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and template Layer, I think I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have covered all files on which 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have to work on the Database 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and JPA layers ? Please tell me 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> if I am wrong anywhere or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> following wrong workflow.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 04:59 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> our database scripts -- you see 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> a createdb.vm plus migration 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> scripts (5.0 to 5.1) -- we'll 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> want our change in both places 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (IIRC), new users have the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb run and Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> upgraders with their current 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DB's have the 5.0 to 5.1 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> migration script run.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and I'd like to get this done 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> right (I plan on helping out 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> where you'd like). Namely, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we've moved from a hierarchical 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category structure (categories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> having subcategories having 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> their own subcatorgories etc.) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to a flat single-level 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structure (all categories are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> top level) -- that was done a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> week or so back. Problem is, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the database tables are still 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> assuming hierarchical (they 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will work with flat structures 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> but are overkill--we don't need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> a parent ID column anymore.) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, the JPA objects are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> designed for hierarchical but 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can simplified a bit more to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat structure. Incidentally, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "sequenceNum" is ambiguous 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> about what it means, I would 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> say "position" or "ordering" 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (INT null, null for migrators 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> who don't yet have a position 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> defined) is clearer.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> handle this--for both new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> installers and upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table, say "category" designed 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> precisely as we need, and have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the migration scripts select 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> from the old weblogcategory and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> insert into the new category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table. (We then ignore the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory table.) We'll 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need to test the scripts with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at least two databases (2 of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> probably MySQL, Derby and/or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PostgreSQL) and guess for the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> others--if we're wrong the user 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> community can supply a patch 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> fixing it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> object (the old WeblogCategory) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> it's now flat-level. Indeed, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> think things will get a *lot* 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simpler here, as it may just be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the parent Weblog holding a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> list of some sort of Category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (or whatever it's called) and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> its Struts action class will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> now need to use the new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Category object (and table) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> instead of WeblogCategory. The 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> UI page will need two changes: 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (1) all new categories will be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> placed (and saved) at the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bottom of the category list 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (and as result, appear last 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (right-most) in the category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> list, and, later (2) probably 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have up and down buttons in the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table allowing users to easily 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> reorder the categories as they 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like. (Strictly speaking, 1 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> alone is all that's needed for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ordering, as you can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> remove/name/delete/recreate 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories to eventually get 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> them in the position you'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like, but (2) of course is much 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> looked into this): The 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> templates (probably just a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> macro or two) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> updating to ensure that they 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> output the category names per 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the new position order.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> advantage is that I'd like to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> do the same thing with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks/blogrolls (team 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discussion pending...), switch 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> from a hierarchical to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat-level for those too.  If 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we can do this for categories, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the logic/UI design, etc., will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> carry over 100% to bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getting to this myself, so am 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> available to work with you on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whatever parts you'd like. I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> think going in order 1-2-3-4 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and having separate commits may 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> be the cleanest way of doing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this. What's nice about using a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> brand new table and JPA object 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> is that the old objects can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> still work in the code while 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we're creating the new, we just 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> don't activate the new until 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the very end.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> members on the above ideas...?) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Or are there other Roller tasks 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you'd like to sink your teeth 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> into instead? I can look at 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this otherwise, but this looks 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like a very good exercise for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> someone wanting to get more 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> involved in Roller, as it 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> covers all the layers of the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> webapp.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ROL-1981, as discussed in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> previous discussion threads I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will add new column 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sequenceNum in weblogcategory 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table. Then we can assign 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sequenceNum to each category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> according to websideid. If 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> anyone have some ideas 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> regarding this, please help 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> me. Also, need some help on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> how to go with this issue, and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> how to add new coloum, I found 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .sql file, do I need to add 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> there new column. Also, Is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this possible that that when I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> restart the roller it will add 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new column to database ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>


Re: (another idea) Re: ROL-1981 Category ordering

Posted by Glen Mazza <gl...@gmail.com>.
Hi Gaurav, just looked at the code.  I don't understand why there is a 
getWeblogCategories() in WeblogEntryManager --- categories are 
associated with a  *Weblog* (the blog as a whole), not a *WeblogEntry* 
(a blog entry).  A WeblogEntry should have a getWeblogCategory() 
(singular) to identify the category the blog entry was placed in, but I 
would think getWeblogEntries() should be in the WeblogManager, and if 
temporarily necessary for the WeblogEntryManager to have a 
getWeblogCategories(), have it call a 
getWeblogManager().getWeblogCategories() to get that information.

I don't know if the present implementation was an attempt to work around 
any shortcomings in JPA.  Offhand, though, that last method you listed, 
Weblog.getWeblogCategories() should be the most important method to get 
working, (ideally), I would think the only method that needs to have a 
getWeblogCategories() is Weblog/WeblogManager.

Note, best to use parameterized types in new code (i.e., List<Blah> blah 
= new ArrayList<Blah>(); instead of just List blah) (see Bloch's book, 
Effective Java) and those println's are indicating you haven't gotten 
Tomcat webapp debugging set up in your IDE (what are you using, IntelliJ 
or Eclipse?) -- I would really recommend doing that, it's much faster to 
fix bugs when you can trace them. It's not too difficult, there should 
be enough 'Net sources on how to do that, but feel free to ask questions 
on that if necessary.

Regards,
Glen


On 01/12/2014 06:19 AM, Gaurav wrote:
> Hello Glen,
>
> Going through the test got another problem, as I told you I have 
> created a method getWeblogCategories(), and I was able to get the 
> categories listing on front-end (without changing anything in vm). 
> But, now when I call this method again from WeblogCategory class in 
> method hasCategory (for validating no duplicate category name), It did 
> not return the categories.
>
> Below is new getWeblogCategories() method I created and another 
> hasCategory method from where I call this.
>
> public List<WeblogCategory> getWeblogCategories(){
>         List categories = new ArrayList();
>         try {
>             WeblogEntryManager wmgr = 
> WebloggerFactory.getWeblogger().getWeblogEntryManager();
> System.out.println("getweblogcategories==========="+getWebsite());
>             categories = wmgr.getWeblogCategories(getWebsite());
>         } catch (WebloggerException e) {
>             log.error("ERROR: getting Categories", e);
>         }
>         return categories;
>     }
>
> public boolean hasCategory(String name) {
>         List<WeblogCategory> cats = getWeblogCategories();
> System.out.println("========="+cats); // Return null
>         for (WeblogCategory cat : cats) {
> System.out.println("=====hascategory====="+name+"========"+cat.getName()); 
>
>             if(name.equals(cat.getName())) {
>                 return true;
>             }
>         }
>         return false;
>     }
>
> Also, there is another method getWeblogCategories, in weblog.java this 
> also return me null categories. Although same call in 
> WeblogCategoryWrapper give results.
> public List getWeblogCategories() {
>         WeblogCategory website = new WeblogCategory();
> System.out.println("=====getWeblogCategories====WEBLOG====website==="+website); 
>
>         return website.getWeblogCategories();
>     }
>
> Thanks
> Gaurav
>
> On Sunday 12 January 2014 04:05 PM, Glen Mazza wrote:
>> Tests that are just testing that subcategories work can be removed, 
>> because we don't have subcategories anymore--this change is making 
>> the code simpler, and fewer tests are a consequence of simpler code.  
>> Tests that are testing that category name changes work, etc., should 
>> be rewritten to be able to iterate through a weblog's category 
>> objects as if the categories are in List or Set format, but no more 
>> hierarchical iteration as before.  Will that work for you?
>>
>> Regards,
>> Glen
>>
>> On 01/12/2014 03:21 AM, Gaurav wrote:
>>> Hello Glen,
>>>
>>> I am still not able to correct the maven tests, if I run the tests 
>>> they gave some errors, Actually as in many tests they are using root 
>>> category for testing, I have also changed and commented some test 
>>> cases still not successful in it.
>>>
>>> I am working and studying about the test cases (jUnit), what you 
>>> suggest I should do to correct the test cases ?
>>>
>>> Thanks
>>> Gaurav
>>>
>>> On Saturday 11 January 2014 05:01 PM, Glen Mazza wrote:
>>>> Great! Looking forward to seeing the patch.
>>>>
>>>> Glen
>>>>
>>>> On 01/11/2014 03:18 AM, Gaurav wrote:
>>>>> Hello Glen,
>>>>>
>>>>> I just got fixed that issue :). Thanks for all your help. I am 
>>>>> done with all the issues and into thee final testing of the weblog 
>>>>> all features.
>>>>>
>>>>> Thanks
>>>>> Gaurav
>>>>>
>>>>>
>>>>> On Saturday 11 January 2014 12:20 PM, Gaurav wrote:
>>>>>> Hello Glen,
>>>>>>
>>>>>> I still did not able to get what I should do next, as you told 
>>>>>> that showWeblogCategoryLinksList($rootCategory false false) only 
>>>>>> bring the toplevel categories, it because we specify the 
>>>>>> $rootCategory each time, so automatically rootCategory child will 
>>>>>> always going to be top level categories.
>>>>>>
>>>>>> Actually, my issue is that If I retain the method 
>>>>>> getWeblogCategories() in WeblogCategory.java and return a Set of 
>>>>>> type WeblogCategory then I have to do a mapping of that Set in 
>>>>>> orm.xml like it was previously done
>>>>>>
>>>>>> <one-to-many name="weblogCategories" mapped-by="parent" 
>>>>>> target-entity="org.apache.roller.weblogger.pojos.Weblog" 
>>>>>> fetch="LAZY"> </one-to-many>)
>>>>>>
>>>>>> So, it was previouly mapped by parent, and as now we did not have 
>>>>>> any parent, I tried with website but it gave me error as might be 
>>>>>> because its target-entity is different. I am really out of ideas.
>>>>>>
>>>>>> I was thinking of start submitting patches of my work till now, 
>>>>>> as just this issue of showing categories at blog is left.
>>>>>>
>>>>>> Thanks
>>>>>> Gaurav
>>>>>>
>>>>>> On Wednesday 08 January 2014 08:42 AM, Glen Mazza wrote:
>>>>>>> Hi Gaurav, weblog.weblogCategories should still exist as 
>>>>>>> probably a Set of some sort (Set because of no duplicate 
>>>>>>> Categories allowed), a List is another option.  A weblog does 
>>>>>>> own a collection of categories even with the change. What should 
>>>>>>> not exist is some child set of categories under each 
>>>>>>> category--any code asking for the latter can be removed because 
>>>>>>> there are never any subcategories under a category anymore.
>>>>>>>
>>>>>>> Might you be getting confused with this code?
>>>>>>>     #set($categories = $weblog.weblogCategories )
>>>>>>>     #foreach( $cat in $categories )
>>>>>>>
>>>>>>> The above should be fine, you're not for-eaching child 
>>>>>>> categories under the *category* but under the *weblog*.
>>>>>>>
>>>>>>> Grepping the code for "#showWeblogCategoryLinksList", is showing 
>>>>>>> that this is its most common usage:
>>>>>>>
>>>>>>> #showWeblogCategoryLinksList($rootCategory false false)
>>>>>>>
>>>>>>> I.e., just show the top-level categories with no subcategories. 
>>>>>>> With the new code, all three params are useless now.
>>>>>>>
>>>>>>> I think what we need to do is create a new macro:
>>>>>>>
>>>>>>> #showWeblogCategoryLinksList
>>>>>>> that does the same as
>>>>>>> #showWeblogCategoryLinksList($rootCategory false false)
>>>>>>>
>>>>>>> And, for backward compatibility (at least so it compiles), have 
>>>>>>> this macro:
>>>>>>>
>>>>>>> (A) #showWeblogCategoryLinksList($categoryObj $expanding $subcats)
>>>>>>> ignore all three of its arguments and just call
>>>>>>> (B) #showWeblogCategoryLinksList
>>>>>>>
>>>>>>> So (A) will be a deprecated method to be pulled out at a future 
>>>>>>> time (maybe in 5.1) -- we'll have to update each of our 
>>>>>>> templates that currently call (A) to have them call (B) instead 
>>>>>>> -- a simple change to make.
>>>>>>>
>>>>>>> I'm not sure if I'm answering your questions but I think this 
>>>>>>> might be what you're getting at.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Glen
>>>>>>>
>>>>>>>
>>>>>>> On 01/07/2014 04:35 PM, Gaurav wrote:
>>>>>>>> Hello Glen,
>>>>>>>>
>>>>>>>> I am completed with the Database, JPA, UI Layer. I have tested 
>>>>>>>> all possible ways by creating, deleting, updating entries, 
>>>>>>>> categories and also the complete weblog.
>>>>>>>> The only single issue left is in Template Layer. Actually in 
>>>>>>>> weblog.vm file for iterating categories list for menu and 
>>>>>>>> feeds, it uses ($weblog.weblogCategories). It try getting list 
>>>>>>>> from WeblogCategory method getWeblogCategories() and wrapping 
>>>>>>>> up with WeblogCategoryWrapper and WeblogWrapper classes. But as 
>>>>>>>> this method is no longer required, as it was for maintaining 
>>>>>>>> relations of parent-child, It did not get any list.
>>>>>>>>
>>>>>>>> I though of retaining getWeblogCategories() method in 
>>>>>>>> WeblogCategory class, and getting list of categories directly 
>>>>>>>> from JPAWeblogEntryManager but it seems wrong to me according 
>>>>>>>> to the structure. Can you please guide me what should be the 
>>>>>>>> best way to go ?
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Gaurav
>>>>>>>>
>>>>>>>> On Wednesday 08 January 2014 01:25 AM, Gaurav wrote:
>>>>>>>>> Hello Glen,
>>>>>>>>>
>>>>>>>>> I figured out that issues, as I told when I use 
>>>>>>>>> getWeblogCategories() method, then the error comes, actually 
>>>>>>>>> its due to  the reason that I have removed below one-to-many 
>>>>>>>>> mapping in orm file and still using the method. As you said, I 
>>>>>>>>> studied JPA and get some time into it and learned new things 
>>>>>>>>> about the mapping relationship. Now, I am thinking of 
>>>>>>>>> implementing the same way as getWeblogEntries are listed  as 
>>>>>>>>> it also come respect to the weblog/website.
>>>>>>>>>
>>>>>>>>> <one-to-many name="weblogCategories" mapped-by="parent" 
>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.WeblogCategory" 
>>>>>>>>> fetch="LAZY"></one-to-many>
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> Gaurav
>>>>>>>>>
>>>>>>>>> On Monday 06 January 2014 02:36 AM, Glen Mazza wrote:
>>>>>>>>>> I don't know, but I don't like that statement 
>>>>>>>>>> "c.getWeblogCategories().add(c); "  A WeblogCategory should 
>>>>>>>>>> no longer have child weblog categories (they are pure 
>>>>>>>>>> siblings of each other with no hierarchical relationship), so 
>>>>>>>>>> such an "add" shouldn't exist.  You can have 
>>>>>>>>>> -->Weblog<---.getWeblogCategories().add(c), that would make 
>>>>>>>>>> sense.
>>>>>>>>>>
>>>>>>>>>> Glen
>>>>>>>>>>
>>>>>>>>>> On 01/05/2014 03:32 PM, Gaurav wrote:
>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>
>>>>>>>>>>> I tried finding the that issues, but did not find anywhere. 
>>>>>>>>>>> Also it is created dynamically as I changed the entity name 
>>>>>>>>>>> to category1 then also sameerror come up with 
>>>>>>>>>>> "category1_category1" doesn't exist. I think this might be 
>>>>>>>>>>> something I am doing wrong with the code. As, Today I 
>>>>>>>>>>> cleaned up all the code and now everything is working good. 
>>>>>>>>>>> I am successful in creating, editing and deleting the 
>>>>>>>>>>> weblog, entries, categories and everything is showing good.
>>>>>>>>>>>
>>>>>>>>>>> Just single problem I am having now is showing the 
>>>>>>>>>>> categories list in feeds and in menu. I figured out after 
>>>>>>>>>>> checking that $categoryObject.getWeblogCategories() is 
>>>>>>>>>>> iterated in velocity file which check for the 
>>>>>>>>>>> getWeblogCategories() method of type Set in WeblogCategory 
>>>>>>>>>>> class, Initially I commented this method as the comments 
>>>>>>>>>>> over this method said "Get child categories of this 
>>>>>>>>>>> category". But I think this is neccasary as whenever a 
>>>>>>>>>>> category is created this is called to add a category to Set 
>>>>>>>>>>> "rootCat.getWeblogCategories().add(c);"
>>>>>>>>>>>
>>>>>>>>>>> Now, Problem is we did not have any parent or root category 
>>>>>>>>>>> now, so how it will going to add to that Set and Also I 
>>>>>>>>>>> tried creating a object of WeblogCategory Class and tried 
>>>>>>>>>>> adding it to getWeblogCategories() method then again. Now 
>>>>>>>>>>> When I tired adding category with this 
>>>>>>>>>>> "c.getWeblogCategories().add(c);" the same error comes up. 
>>>>>>>>>>> If I comment this line that add category, everything works 
>>>>>>>>>>> fine again, just did not get any list of categories in menu 
>>>>>>>>>>> and feed.
>>>>>>>>>>>
>>>>>>>>>>> Also, I am confused what setWeblogCategories() is doing as I 
>>>>>>>>>>> did not find anywhere where it is used for setting 
>>>>>>>>>>> categories. Just the getWeblogCategories() is used with .add 
>>>>>>>>>>> for adding child categories to parent/root.
>>>>>>>>>>>
>>>>>>>>>>> Below is what I done in addWeblogContents method of class 
>>>>>>>>>>> JPAWeblogManagerImpl.
>>>>>>>>>>>
>>>>>>>>>>> if (cats != null && cats.trim().length() > 0) {
>>>>>>>>>>>             String[] splitcats = cats.split(",");
>>>>>>>>>>>             for (int i=0; i<splitcats.length; i++) {
>>>>>>>>>>>                 WeblogCategory c = new WeblogCategory(
>>>>>>>>>>>                         newWeblog,       // newWeblog
>>>>>>>>>>>                         splitcats[i],    // name
>>>>>>>>>>>                         splitcats[i],    // description
>>>>>>>>>>>                         null );          // image
>>>>>>>>>>>                 if (i == 0) {
>>>>>>>>>>>                     firstCat = c;
>>>>>>>>>>>                 }
>>>>>>>>>>> System.out.println("====Cats==="+c);
>>>>>>>>>>> c.getWeblogCategories().add(c); //previously it was 
>>>>>>>>>>> root.getWeblogCategories.add(c);
>>>>>>>>>>>                 this.strategy.store(c);
>>>>>>>>>>>             }
>>>>>>>>>>>         }
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> [EL Warning]: 2014-01-05 
>>>>>>>>>>> 17:15:22.179--ClientSession(1956103136)--Exception 
>>>>>>>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>>>>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: 
>>>>>>>>>>> Table/View 'CATEGORY_CATEGORY' does not exist.
>>>>>>>>>>> Error Code: 20000
>>>>>>>>>>> Call: INSERT INTO category_category (weblogCategories_id, 
>>>>>>>>>>> WeblogCategory_id) VALUES (?, ?)
>>>>>>>>>>>     bind => [2 parameters bound]
>>>>>>>>>>> Query: DataModifyQuery(name="weblogCategories" sql="INSERT 
>>>>>>>>>>> INTO category_category (weblogCategories_id, 
>>>>>>>>>>> WeblogCategory_id) VALUES (?, ?)")
>>>>>>>>>>> *
>>>>>>>>>>>
>>>>>>>>>>> *Also I tried making new ArrayList and new getter setter in 
>>>>>>>>>>> WeblogCategory class, still I got same error.
>>>>>>>>>>>     List<WeblogCategory> catsss = new 
>>>>>>>>>>> ArrayList<WeblogCategory>();
>>>>>>>>>>>     catsss.add(c);
>>>>>>>>>>>     c.setList(catsss);
>>>>>>>>>>> System.out.println("======"+catsss+"============"+c.getList());
>>>>>>>>>>>
>>>>>>>>>>> Got this error, after adding Arraylist.
>>>>>>>>>>>
>>>>>>>>>>> [EL Warning]: 2014-01-05 
>>>>>>>>>>> 19:42:56.209--ClientSession(1732472947)--Exception 
>>>>>>>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>>>>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: 
>>>>>>>>>>> Table/View 'CATEGORY_CATEGORY' does not exist.
>>>>>>>>>>> Error Code: 20000
>>>>>>>>>>> Call: INSERT INTO category_category (list_id, 
>>>>>>>>>>> WeblogCategory_id) VALUES (?, ?)
>>>>>>>>>>>     bind => [2 parameters bound]
>>>>>>>>>>> Query: DataModifyQuery(name="list" sql="INSERT INTO 
>>>>>>>>>>> category_category (list_id, WeblogCategory_id) VALUES (?, ?)")
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>> Gaurav
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Sunday 05 January 2014 05:30 AM, Glen Mazza wrote:
>>>>>>>>>>>> Hi Gaurav, did you try a "control" with your file search 
>>>>>>>>>>>> method? I.e., you're saying you're case-insensitive 
>>>>>>>>>>>> searching on "category_category" but nothing is getting 
>>>>>>>>>>>> returned -- did you try also searching something that you 
>>>>>>>>>>>> *know* exists in the project (say, "class", "public", 
>>>>>>>>>>>> "return", etc.) and your IDE/search method indeed did 
>>>>>>>>>>>> return lots of matches?  Because if you get zero search 
>>>>>>>>>>>> results with the latter we know the problem is with the way 
>>>>>>>>>>>> you're configuring your search, not the non-existence of 
>>>>>>>>>>>> "category_category".  (Also are you searching on every type 
>>>>>>>>>>>> of file extension, not just .java files?)
>>>>>>>>>>>>
>>>>>>>>>>>> Somewhere in your code the JPA layer has decided to 
>>>>>>>>>>>> calculate "category_category" as a table name, I would 
>>>>>>>>>>>> guess because that's what is exactly in the code someplace 
>>>>>>>>>>>> (as you can see the query below generated "...FROM 
>>>>>>>>>>>> category_category t0, category t1..."). One useful 
>>>>>>>>>>>> experiment might be to rename the "category" table (t1) 
>>>>>>>>>>>> above to "category2" -- would the SQL above change to 
>>>>>>>>>>>> "category2_category2, category2..." or (I think) "...FROM 
>>>>>>>>>>>> category_category t0, category2 t1...") If the former, that 
>>>>>>>>>>>> would indicate that "category2_category2" is being 
>>>>>>>>>>>> dynamically generated from the "category2" table name. If 
>>>>>>>>>>>> the latter, that would mean "category_category" is 
>>>>>>>>>>>> hardcoded somewhere and not related to the "category" table 
>>>>>>>>>>>> name you've properly configured.
>>>>>>>>>>>>
>>>>>>>>>>>> I probably won't be able to get to this until next weekend 
>>>>>>>>>>>> anyway, so I'm going to have you finish it, also as a 
>>>>>>>>>>>> confidence-builder for you (if you let JPA push you around 
>>>>>>>>>>>> now, it's always going to bully you...  :)
>>>>>>>>>>>>
>>>>>>>>>>>> Regards,
>>>>>>>>>>>> Glen
>>>>>>>>>>>>
>>>>>>>>>>>> PS:  Just to clarify, when an pre-5.1-SNAPSHOT user 
>>>>>>>>>>>> installs Roller 5.1-SNAPSHOT, the Roller startup should 
>>>>>>>>>>>> automatically detect that the system is currently using an 
>>>>>>>>>>>> older Roller database and do the database upgrade (creating 
>>>>>>>>>>>> of new the "category" table and prepopulation of it). 
>>>>>>>>>>>> Roller has always done this as so long as you put the 
>>>>>>>>>>>> necessary migration scripts in the right place there should 
>>>>>>>>>>>> be no problem. However, those of us already on 5.1-SNAPSHOT 
>>>>>>>>>>>> like myself before your patch will need to manually create 
>>>>>>>>>>>> that table in our database (the Roller script won't notice 
>>>>>>>>>>>> 5.1-SNAPSHOT-->5.1-SNAPSHOT, so won't create "category" by 
>>>>>>>>>>>> itself.)  No problem, we'll just figure out the necessary 
>>>>>>>>>>>> SQL statements for Dave and he can add it to his Roller 
>>>>>>>>>>>> project blog.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 01/04/2014 04:47 PM, Gaurav wrote:
>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I searched whole project and did not find anywhere. I 
>>>>>>>>>>>>> think might be I have done something wrong, as when I 
>>>>>>>>>>>>> start with new database, everything work just deleting 
>>>>>>>>>>>>> gives me this error. If I work on old database it even did 
>>>>>>>>>>>>> not start up (localhost:8080/roller) gives my below error.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have checked almost everything I can, might be some 
>>>>>>>>>>>>> wrong java code and anything I done wrong that causes 
>>>>>>>>>>>>> this. Should I submit by work so you can look on to it, or 
>>>>>>>>>>>>> if we are not in any hurry than I can look into it again 
>>>>>>>>>>>>> step by step (I prefer second option if we have one more 
>>>>>>>>>>>>> week. Just another week or so, next week i have some tight 
>>>>>>>>>>>>> schedule). I know I am taking too much time, but I am new 
>>>>>>>>>>>>> to this level of Java code, as I worked maximum time at 
>>>>>>>>>>>>> client side. But I really loving java code and learned a 
>>>>>>>>>>>>> lot till now, before this I just worked with Java on small 
>>>>>>>>>>>>> projects. OpenSource Projects really are very powerful and 
>>>>>>>>>>>>> good way to learn new things.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Exception [EclipseLink-4002] (Eclipse Persistence Services 
>>>>>>>>>>>>> - 2.5.0.v20130507-3faac2b): 
>>>>>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException 
>>>>>>>>>>>>> Internal Exception: 
>>>>>>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
>>>>>>>>>>>>> 'roller.category_category' doesn't exist Error Code: 1146 
>>>>>>>>>>>>> Call: SELECT t1.id, t1.description, t1.image, t1.name, 
>>>>>>>>>>>>> t1.websiteid FROM category_category t0, category t1 WHERE 
>>>>>>>>>>>>> ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>>>>>>>>>>>> t0.weblogCategories_id)) bind => [1 parameter bound] 
>>>>>>>>>>>>> Query: ReadAllQuery(name="weblogCategories" 
>>>>>>>>>>>>> referenceClass=WeblogCategory sql="SELECT t1.id, 
>>>>>>>>>>>>> t1.description, t1.image, t1.name, t1.websiteid FROM 
>>>>>>>>>>>>> category_category t0, category t1 WHERE 
>>>>>>>>>>>>> ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>>>>>>>>>>>> t0.weblogCategories_id))")
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Sunday 05 January 2014 12:00 AM, Glen Mazza wrote:
>>>>>>>>>>>>>> Hi Gaurav, no, that relation shouldn't be needed anymore.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> As for the table name, at the top of your orm.xml file 
>>>>>>>>>>>>>> the table name the file maps against is declared -- 
>>>>>>>>>>>>>> perhaps you accidentally called it category_category. I 
>>>>>>>>>>>>>> would grep or use a file search from your IDE of your 
>>>>>>>>>>>>>> entire roller source code, looking for where 
>>>>>>>>>>>>>> category_category is being declared -- (probably) has to 
>>>>>>>>>>>>>> be there someplace. (More specifically, do a file search 
>>>>>>>>>>>>>> on "DataModifyQuery" -- that's probably exactly where the 
>>>>>>>>>>>>>> problem is.)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Once working, try to import the latest code changes into 
>>>>>>>>>>>>>> your code before submitting a patch (actually create a 
>>>>>>>>>>>>>> backup patch first just in case).  Not sure but I think a 
>>>>>>>>>>>>>> simple svn update will do -- svn will identify some files 
>>>>>>>>>>>>>> where it will need your assistance to resolve any 
>>>>>>>>>>>>>> differences -- it shouldn't be too hard or time-consuming 
>>>>>>>>>>>>>> to do.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 01/04/2014 08:55 AM, Gaurav wrote:
>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I just want to know that the below relations in 
>>>>>>>>>>>>>>> WeblogCategory.orm.xml are required or not as now the 
>>>>>>>>>>>>>>> parent is not used so, I don't think its needed now. I 
>>>>>>>>>>>>>>> have commented the below lines.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> <many-to-one name="parent" 
>>>>>>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category">
>>>>>>>>>>>>>>>                 <join-column name="parentid" 
>>>>>>>>>>>>>>> insertable="true" updatable="true" nullable="true"/>
>>>>>>>>>>>>>>>             </many-to-one>
>>>>>>>>>>>>>>>             <one-to-many name="weblogCategories" 
>>>>>>>>>>>>>>> mapped-by="parent" 
>>>>>>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category" 
>>>>>>>>>>>>>>> fetch="LAZY">
>>>>>>>>>>>>>>>                 <cascade>
>>>>>>>>>>>>>>> <cascade-remove/>
>>>>>>>>>>>>>>>                 </cascade>
>>>>>>>>>>>>>>>             </one-to-many>
>>>>>>>>>>>>>>>             <transient name="inUse"/>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I asked this because, getting categories giving me mysql 
>>>>>>>>>>>>>>> exception. The new table is 'roller.category' but it 
>>>>>>>>>>>>>>> executes for 'roller.category_category'.
>>>>>>>>>>>>>>> I am not able to get what I have done wrong.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Internal Exception: 
>>>>>>>>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 
>>>>>>>>>>>>>>> Table 'roller.category_category' doesn't exist
>>>>>>>>>>>>>>> Error Code: 1146
>>>>>>>>>>>>>>> Call: DELETE FROM category_category WHERE 
>>>>>>>>>>>>>>> (WeblogCategory_id = ?)
>>>>>>>>>>>>>>>     bind => [1 parameter bound]
>>>>>>>>>>>>>>> Query: DataModifyQuery(name="weblogCategories" 
>>>>>>>>>>>>>>> sql="DELETE FROM category_category WHERE 
>>>>>>>>>>>>>>> (WeblogCategory_id = ?)")
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Also, I have changed the getWeblogCategoryByPath to 
>>>>>>>>>>>>>>> getWeblogCategoryByName so feeds and other places work 
>>>>>>>>>>>>>>> fine. I have able to get catgeory list, new entries are 
>>>>>>>>>>>>>>> creating successfully. Just deleting the weblog is 
>>>>>>>>>>>>>>> giving me above error.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I have already deleted getPath and getParent and in the 
>>>>>>>>>>>>>>>> mid of everything. I hope I will be able to complete 
>>>>>>>>>>>>>>>> this by Monday. If still, I get some major issues due 
>>>>>>>>>>>>>>>> to this, I will switch to what you suggested. Just give 
>>>>>>>>>>>>>>>> me time till Monday, as I have done almost 80% of code 
>>>>>>>>>>>>>>>> cleaned regarding the path and parentcategory. I will 
>>>>>>>>>>>>>>>> get back to you soon with some patches and then you can 
>>>>>>>>>>>>>>>> test it.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Also, my ICLA have been filed, got the receipt of my ICLA.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>> Gaurav, sorry, it just occurred to me there's a 
>>>>>>>>>>>>>>>>> simpler intermediate step that can be done. While we 
>>>>>>>>>>>>>>>>> need the database table without a path column, and to 
>>>>>>>>>>>>>>>>> remove the "path" member *variable* from 
>>>>>>>>>>>>>>>>> WeblogCategory (or its replacement), we can still keep 
>>>>>>>>>>>>>>>>> indefinitely keep getPath(), just hardcode it to "/" + 
>>>>>>>>>>>>>>>>> categoryName, which is precisely what the old code 
>>>>>>>>>>>>>>>>> returns for any top-level category--the rest of the 
>>>>>>>>>>>>>>>>> system can stay just as it did before. Switching the 
>>>>>>>>>>>>>>>>> rest of the code from getPath() to using getName() can 
>>>>>>>>>>>>>>>>> be done at any time, bit by bit whenever, that's not 
>>>>>>>>>>>>>>>>> necessary to implement positioning, that's just a code 
>>>>>>>>>>>>>>>>> cleanup issue. Likewise, for 
>>>>>>>>>>>>>>>>> WeblogCategory.getParent(), it may be as simple as 
>>>>>>>>>>>>>>>>> adding a root category object as part of the Weblog's 
>>>>>>>>>>>>>>>>> constructor (but not saved to the database), and 
>>>>>>>>>>>>>>>>> having WeblogCategory.getParent() just return 
>>>>>>>>>>>>>>>>> website.getParentCategory()--that way all categories 
>>>>>>>>>>>>>>>>> for a weblog will have the same root category as 
>>>>>>>>>>>>>>>>> before, and the rest of the code base should function 
>>>>>>>>>>>>>>>>> fine. Once we're on the new table, then it's an issue 
>>>>>>>>>>>>>>>>> of implementing positioning--getting rid of 
>>>>>>>>>>>>>>>>> getParent() and getPath() can be done by anybody at a 
>>>>>>>>>>>>>>>>> later date.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>> No problem, I'm available to help (or finish it up) 
>>>>>>>>>>>>>>>>>> if needed. For a seemingly simple switch, you're 
>>>>>>>>>>>>>>>>>> certainly getting a *full* education of the Roller 
>>>>>>>>>>>>>>>>>> codebase.  :)
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> BTW, I hope you're not testing via mvn jetty:run, as 
>>>>>>>>>>>>>>>>>> that requires you to keep logging in for the first 
>>>>>>>>>>>>>>>>>> time, creating a blog for the first time, etc., 
>>>>>>>>>>>>>>>>>> whenever you start it. Very inefficient and tiring. 
>>>>>>>>>>>>>>>>>> Normally I just build (mvn clean install) and dump 
>>>>>>>>>>>>>>>>>> the WAR into standalone Tomcat on my local machine. 
>>>>>>>>>>>>>>>>>> The database & other configuration I keep permanently 
>>>>>>>>>>>>>>>>>> in roller-custom.properties in the Tomcat lib/ 
>>>>>>>>>>>>>>>>>> folder, so the new WAR just takes over with the same 
>>>>>>>>>>>>>>>>>> configuration, blogs, accounts, etc., that old WAR 
>>>>>>>>>>>>>>>>>> was using. (Check the Roller install guide for full 
>>>>>>>>>>>>>>>>>> instructions.)
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Also vital is that you know how to debug/trace Roller 
>>>>>>>>>>>>>>>>>> code in Eclipse or IntelliJ while it is running on 
>>>>>>>>>>>>>>>>>> Tomcat (or another servlet container). It's much 
>>>>>>>>>>>>>>>>>> simpler than it seems, and will save you a lot of 
>>>>>>>>>>>>>>>>>> time. These instructions are for Eclipse but Intellij 
>>>>>>>>>>>>>>>>>> (my preference) is basically the same: 
>>>>>>>>>>>>>>>>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>>>>>>>>>>>>>>>>>> Checking variable values while it's running will 
>>>>>>>>>>>>>>>>>> point you to where problems are much more quickly.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Happy New Year!
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> As, I previously told you that the test cases are 
>>>>>>>>>>>>>>>>>>> giving problem, actually I think we have to do some 
>>>>>>>>>>>>>>>>>>> changes in Test Cases also, as many of the methods 
>>>>>>>>>>>>>>>>>>> involving path and parent are removed so, many times 
>>>>>>>>>>>>>>>>>>> in test cases (it did not get correct values and 
>>>>>>>>>>>>>>>>>>> give errors).
>>>>>>>>>>>>>>>>>>> I have successfully showed the categories by website 
>>>>>>>>>>>>>>>>>>> till now in the admin section. Also, the entries are 
>>>>>>>>>>>>>>>>>>> saved just, I ran out of memory issue in happen when 
>>>>>>>>>>>>>>>>>>> I save an entry that entry, although it get saved 
>>>>>>>>>>>>>>>>>>> when I refresh the page.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Also, as their is not path now, we have to do some 
>>>>>>>>>>>>>>>>>>> changes in velocity files, as feeds are giving error 
>>>>>>>>>>>>>>>>>>> in showing, although if I direct enter the URL its 
>>>>>>>>>>>>>>>>>>> working fine. I have cleared many parts of the code, 
>>>>>>>>>>>>>>>>>>> just I have test of the roller parts which are 
>>>>>>>>>>>>>>>>>>> linked the path and parent. I am thinking of 
>>>>>>>>>>>>>>>>>>> correcting the test cases, as I can run them and if 
>>>>>>>>>>>>>>>>>>> test cases are fine then might be everything will 
>>>>>>>>>>>>>>>>>>> work fine.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I will return to work on this after 3 days, as I 
>>>>>>>>>>>>>>>>>>> will be and will get be to it during coming weekend 
>>>>>>>>>>>>>>>>>>> again. I will wrap this out asap for you to test and 
>>>>>>>>>>>>>>>>>>> will attach patches coming weekend.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>> Thanks for that info, I have changed my settings in 
>>>>>>>>>>>>>>>>>>>> the eclipse.
>>>>>>>>>>>>>>>>>>>> Yes, you are right I will leave the ordering part 
>>>>>>>>>>>>>>>>>>>> for now and work on clearing the code for now. For 
>>>>>>>>>>>>>>>>>>>> now I will just add a column in category table with 
>>>>>>>>>>>>>>>>>>>> position, leaving it null for now.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>> Your last ImprovedCreateUser.patch had some tab 
>>>>>>>>>>>>>>>>>>>>> characters in it, and our project uses spaces for 
>>>>>>>>>>>>>>>>>>>>> tabs (just have Eclipse insert 4 spaces whenever 
>>>>>>>>>>>>>>>>>>>>> you hit the tab key, with no tab characters.) Very 
>>>>>>>>>>>>>>>>>>>>> few Apache projects (any?) are tab-indented today. 
>>>>>>>>>>>>>>>>>>>>> It is a simple fix with IntelliJ IDEA (Edit -> 
>>>>>>>>>>>>>>>>>>>>> Convert Indents -> To Spaces), I'm sure Eclipse 
>>>>>>>>>>>>>>>>>>>>> has an equivalent.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> For blogs migrating from pre-5.1 versions, we can 
>>>>>>>>>>>>>>>>>>>>> keep the position NULL by default (and when you 
>>>>>>>>>>>>>>>>>>>>> order by position, with null values, they will 
>>>>>>>>>>>>>>>>>>>>> come out in any order, like they do today.) 
>>>>>>>>>>>>>>>>>>>>> Whenever a new blog is created with the default 
>>>>>>>>>>>>>>>>>>>>> three categories, those can be assigned positions 
>>>>>>>>>>>>>>>>>>>>> (probably 0-based for leftmost is best.) For 
>>>>>>>>>>>>>>>>>>>>> migrated blogs, once the user goes to the category 
>>>>>>>>>>>>>>>>>>>>> page and makes a change for the first time, 
>>>>>>>>>>>>>>>>>>>>> numbers can be written for the very first time--no 
>>>>>>>>>>>>>>>>>>>>> special extra UI is needed for this purpose. But 
>>>>>>>>>>>>>>>>>>>>> like I was saying, this is such a lengthy patch 
>>>>>>>>>>>>>>>>>>>>> you may wish to forget about the ordering right 
>>>>>>>>>>>>>>>>>>>>> now--it doesn't work anyway in Roller right now. 
>>>>>>>>>>>>>>>>>>>>> It may be best to get us to the new table and get 
>>>>>>>>>>>>>>>>>>>>> rid of the paths, and once we're on that firmer 
>>>>>>>>>>>>>>>>>>>>> foundation implementing positioning (on the 
>>>>>>>>>>>>>>>>>>>>> Category page and in the templates) will be much 
>>>>>>>>>>>>>>>>>>>>> simpler.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> I will change the position to be integer, and 
>>>>>>>>>>>>>>>>>>>>>> will exclude the category where parent null, but 
>>>>>>>>>>>>>>>>>>>>>> still what can be done for the position as the 
>>>>>>>>>>>>>>>>>>>>>> old data did not have position, so how and on 
>>>>>>>>>>>>>>>>>>>>>> what basis we have to add position to it. I was 
>>>>>>>>>>>>>>>>>>>>>> thinking that we can left it as null, and provide 
>>>>>>>>>>>>>>>>>>>>>> some UI in backend where user can assign position 
>>>>>>>>>>>>>>>>>>>>>> themselves.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> I will take care of spacing, will search what I 
>>>>>>>>>>>>>>>>>>>>>> am doing wrong. As, I am not sure is that you are 
>>>>>>>>>>>>>>>>>>>>>> talking about formatting the code, or anything 
>>>>>>>>>>>>>>>>>>>>>> else. As I use tab (with 4 spaces) in Eclipse IDE.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>> BTW, not to be hated, but make sure any code you 
>>>>>>>>>>>>>>>>>>>>>>> submit is space-padded (4 spaces), *not* 
>>>>>>>>>>>>>>>>>>>>>>> tab-padded. Your IDE should be able to convert 
>>>>>>>>>>>>>>>>>>>>>>> it for you if you've been doing tab-padding.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I am confused on how to add and on what basis 
>>>>>>>>>>>>>>>>>>>>>>>> we have to addd position to the new category 
>>>>>>>>>>>>>>>>>>>>>>>> table. Below two sql commands can be used for 
>>>>>>>>>>>>>>>>>>>>>>>> coping data and deleting the root categories.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> create table category (
>>>>>>>>>>>>>>>>>>>>>>>>     id varchar(48) not null primary key,
>>>>>>>>>>>>>>>>>>>>>>>>     name varchar(255) not null,
>>>>>>>>>>>>>>>>>>>>>>>>     description varchar(255),
>>>>>>>>>>>>>>>>>>>>>>>>     websiteid varchar(48) not null,
>>>>>>>>>>>>>>>>>>>>>>>>     image varchar(255),
>>>>>>>>>>>>>>>>>>>>>>>>     position varchar(48)
>>>>>>>>>>>>>>>>>>>>>>>> );
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> insert into 
>>>>>>>>>>>>>>>>>>>>>>>> category(id,name,description,websiteid,image) 
>>>>>>>>>>>>>>>>>>>>>>>> select id,name,description,websiteid,image from 
>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory;
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> delete from category where name="root";
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> What do you suggest for this ?
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> Take your time, this is a messy change as it 
>>>>>>>>>>>>>>>>>>>>>>>>> affects many areas of the code. But Roller 
>>>>>>>>>>>>>>>>>>>>>>>>> will be architecturally much more solid and 
>>>>>>>>>>>>>>>>>>>>>>>>> simpler once this change is done.  I have your 
>>>>>>>>>>>>>>>>>>>>>>>>> ROL-1616 and ROL-1982 on my plate for this 
>>>>>>>>>>>>>>>>>>>>>>>>> weekend.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> I have deleted the path and all related 
>>>>>>>>>>>>>>>>>>>>>>>>>> methods, but its seems to me that the path 
>>>>>>>>>>>>>>>>>>>>>>>>>> methods like (getWeblogCategoryByPath) and 
>>>>>>>>>>>>>>>>>>>>>>>>>> many other path and parent related methods, 
>>>>>>>>>>>>>>>>>>>>>>>>>> are scattered over the whole roller. There 
>>>>>>>>>>>>>>>>>>>>>>>>>> are many occurrence of these methods and I 
>>>>>>>>>>>>>>>>>>>>>>>>>> have to sort out each piece of code as now 
>>>>>>>>>>>>>>>>>>>>>>>>>> there is no path so, mostly we check for 
>>>>>>>>>>>>>>>>>>>>>>>>>> categoryPath != null in if conditions, so 
>>>>>>>>>>>>>>>>>>>>>>>>>> these are no longer needed.
>>>>>>>>>>>>>>>>>>>>>>>>>> Also, I as thinking after testing and 
>>>>>>>>>>>>>>>>>>>>>>>>>> completing this we can delete the 
>>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory and replace with Category 
>>>>>>>>>>>>>>>>>>>>>>>>>> method, as it will be clean. I also figured 
>>>>>>>>>>>>>>>>>>>>>>>>>> out why my tests are failing as during 
>>>>>>>>>>>>>>>>>>>>>>>>>> creating of weblogentry it did not find the 
>>>>>>>>>>>>>>>>>>>>>>>>>> categories, as that class was using old 
>>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory table and using that class 
>>>>>>>>>>>>>>>>>>>>>>>>>> methods. I think I will definitely will 
>>>>>>>>>>>>>>>>>>>>>>>>>> figure out everything at the end and will 
>>>>>>>>>>>>>>>>>>>>>>>>>> successfully test with the unit tests.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> I am now in the editor part so can display 
>>>>>>>>>>>>>>>>>>>>>>>>>> the categories on front end, I am now all 
>>>>>>>>>>>>>>>>>>>>>>>>>> over the 1-2-3-4 steps you mentioned. As soon 
>>>>>>>>>>>>>>>>>>>>>>>>>> as I will able to display the categories 
>>>>>>>>>>>>>>>>>>>>>>>>>> (small issues left) at the backend, I will 
>>>>>>>>>>>>>>>>>>>>>>>>>> again go through my changes. Also, at this 
>>>>>>>>>>>>>>>>>>>>>>>>>> time I can only create patch for new table 
>>>>>>>>>>>>>>>>>>>>>>>>>> and migration script, as all other classes 
>>>>>>>>>>>>>>>>>>>>>>>>>> code are interrelated so can't submit now. I 
>>>>>>>>>>>>>>>>>>>>>>>>>> will test every single thing related to 
>>>>>>>>>>>>>>>>>>>>>>>>>> categories, then I will submit my patches.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Although I have learned a lot new things, 
>>>>>>>>>>>>>>>>>>>>>>>>>> just spent last two full days on this sorting 
>>>>>>>>>>>>>>>>>>>>>>>>>> out things, many times ending up nowhere from 
>>>>>>>>>>>>>>>>>>>>>>>>>> where I started. But I am confident that I 
>>>>>>>>>>>>>>>>>>>>>>>>>> will definitely complete this task. Just I am 
>>>>>>>>>>>>>>>>>>>>>>>>>> worrying that I must be taking too much time.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> If there is something, you can advice me I 
>>>>>>>>>>>>>>>>>>>>>>>>>> would happy to follow that also.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> If it helps, you can provide interim 
>>>>>>>>>>>>>>>>>>>>>>>>>>> patches, so long as it doesn't break the 
>>>>>>>>>>>>>>>>>>>>>>>>>>> current code base. You may want to create a 
>>>>>>>>>>>>>>>>>>>>>>>>>>> patch just creating the new database table 
>>>>>>>>>>>>>>>>>>>>>>>>>>> (which will be ignored by the current code) 
>>>>>>>>>>>>>>>>>>>>>>>>>>> and sql insert-select scripts to move from 
>>>>>>>>>>>>>>>>>>>>>>>>>>> the current table to the new one, then one 
>>>>>>>>>>>>>>>>>>>>>>>>>>> converting the code to using the new table 
>>>>>>>>>>>>>>>>>>>>>>>>>>> without sorting, then (finally) one that 
>>>>>>>>>>>>>>>>>>>>>>>>>>> implements sorting of the categories.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created and updated all necessary 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> files in JPA and for database, I tried 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> compiling the code it gave me errors in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> test cases. As I am not sure that what I am 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> wrong in this. Although I tried compiling 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> without running test cases, it worked fine. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> I tested it with tomcat and new table 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> category is created and initial category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> (General, Finance and Technology) are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> created with the position 1,2,3. Still 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> there are many thing I have to clean up and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> sort out and will test it again.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Ok, got your point. I will check on other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller parts also if parent name and path 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> aren't be using in any other part of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller. I will go into the RSS and Atom 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> feeds later on, and see what changes it 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need. As, till now I have changed many 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> files and created some, so will first test 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this part then go into that feeds part.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Sounds good, but may require more work to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> make sure all is good with the RSS and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Atom feeds as a result (which I believe 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> rely on path). Where path is used to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> check for equivalence, I guess name (and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> blog/website ID, if necessary) alone will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> do now. We may need to check (if we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> aren't already) that no two categories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have the same name, where prior we were 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> checking that no two paths are the same 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (i.e., allowing category paths 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> USStates/Georgia and Countries/Georgia 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> but now needing to disallow two 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories named "Georgia".)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am thinking of removing the path 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> coloumn also, as it does not make sense 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> now as there will no subcategories and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> all will have same path (like 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> /categoryname). WDYT ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I want to know as now all the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories will be top level, so the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> root category which is created by 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> default on addWeblog isn't needed. So, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I can remove that code also ? I am in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> half completed with the 1-2 steps will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> soon submit some patched in jira 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> issue. You can look on to them 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whenever you will get time from other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> projects.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this, I understand your commitments. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> As this will give me more time on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> working on this issue. I will give my 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 100% on this, as I also want to get 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> into more and more open source 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> projects. For Now I am focusing on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller for starting my contributions 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in open source.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 AM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can't help much right now either, as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> my other project JSPWiki has a new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> release going out.) But please be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> patient with us on your recent 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> submitted patches -- we haven't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> forgotten you and are happy with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> your efforts on this project so far, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we just have full-time jobs and, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> even after that, other obligations 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -- for open source work, we usually 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have to beg, borrow and steal time 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to work on them.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am going through this having some 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> issues, although not major till 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> now. I have still working on 1-2 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> steps, might be I am slow as get 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> less time. (Wish we also have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> holidays of this festive season in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> India :P) Just want to know isn't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> there any hurry for completing this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> asap ? Although, I am sure will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> definitely complete this as I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> understood the structure of Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> completely. Just I have to go 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> through the JPA more and read about 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> missing will become apparent to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you as you work along. The Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> installation guide and here 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can show you how to test also with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Derby if you'd like. (It is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> usually simpler than MySQL, and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> another benefit of working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller is that you become 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> multiple-database-lingual very 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> quickly.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with this much deep information, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I can start working in it. I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> started working on this Issue and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have followed your steps.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb.vm and in migration 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> scripts also. I have for mow 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> stared working on MySQL.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> class, I have commented 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> now Category.orm.xml and enterd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> details of new table. A new class 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Category in weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created new files for now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and will work on this and add new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> position coloum and code 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> regarding this. Other than UI and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> template Layer, I think I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> covered all files on which I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to work on the Database and JPA 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> layers ? Please tell me if I am 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> wrong anywhere or following wrong 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> workflow.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 04:59 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> our database scripts -- you see 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> a createdb.vm plus migration 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> scripts (5.0 to 5.1) -- we'll 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> want our change in both places 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (IIRC), new users have the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb run and Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> upgraders with their current 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DB's have the 5.0 to 5.1 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> migration script run.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I'd like to get this done right 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (I plan on helping out where 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you'd like). Namely, we've moved 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> from a hierarchical category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structure (categories having 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> subcategories having their own 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> subcatorgories etc.) to a flat 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> single-level structure (all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories are top level) -- 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that was done a week or so back. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Problem is, the database tables 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> are still assuming hierarchical 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (they will work with flat 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structures but are overkill--we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> don't need a parent ID column 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> anymore.) Also, the JPA objects 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> are designed for hierarchical 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> but can simplified a bit more to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat structure. Incidentally, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "sequenceNum" is ambiguous about 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> what it means, I would say 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "position" or "ordering" (INT 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> null, null for migrators who 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> don't yet have a position 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> defined) is clearer.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> handle this--for both new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> installers and upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table, say "category" designed 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> precisely as we need, and have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the migration scripts select 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> from the old weblogcategory and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> insert into the new category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table. (We then ignore the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory table.) We'll 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need to test the scripts with at 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> least two databases (2 of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> probably MySQL, Derby and/or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PostgreSQL) and guess for the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> others--if we're wrong the user 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> community can supply a patch 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> fixing it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> object (the old WeblogCategory) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> it's now flat-level. Indeed, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> think things will get a *lot* 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simpler here, as it may just be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the parent Weblog holding a list 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> of some sort of Category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (or whatever it's called) and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> its Struts action class will now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need to use the new Category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> object (and table) instead of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory. The UI page will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need two changes: (1) all new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories will be placed (and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> saved) at the bottom of the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category list (and as result, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> appear last (right-most) in the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category list, and, later (2) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> probably have up and down 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> buttons in the table allowing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> users to easily reorder the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories as they like. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (Strictly speaking, 1 alone is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> all that's needed for ordering, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as you can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> remove/name/delete/recreate 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories to eventually get 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> them in the position you'd like, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> but (2) of course is much nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> looked into this): The templates 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (probably just a macro or two) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will need updating to ensure 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that they output the category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> names per the new position order.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> advantage is that I'd like to do 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the same thing with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks/blogrolls (team 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discussion pending...), switch 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> from a hierarchical to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat-level for those too.  If we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can do this for categories, the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> logic/UI design, etc., will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> carry over 100% to bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getting to this myself, so am 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> available to work with you on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whatever parts you'd like. I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> think going in order 1-2-3-4 and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> having separate commits may be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the cleanest way of doing this. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> What's nice about using a brand 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new table and JPA object is that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the old objects can still work 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in the code while we're creating 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the new, we just don't activate 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the new until the very end.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team members 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> on the above ideas...?) Or are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> there other Roller tasks you'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like to sink your teeth into 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> instead? I can look at this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> otherwise, but this looks like a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> very good exercise for someone 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> wanting to get more involved in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller, as it covers all the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> layers of the webapp.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ROL-1981, as discussed in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> previous discussion threads I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will add new column sequenceNum 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in weblogcategory table. Then 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we can assign sequenceNum to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> each category according to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> websideid. If anyone have some 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ideas regarding this, please 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> help me. Also, need some help 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> on how to go with this issue, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and how to add new coloum, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> found .sql file, do I need to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> add there new column. Also, Is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this possible that that when I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> restart the roller it will add 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new column to database ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>


Re: (another idea) Re: ROL-1981 Category ordering

Posted by Gaurav <ga...@gmail.com>.
Hello Glen,

Going through the test got another problem, as I told you I have created 
a method getWeblogCategories(), and I was able to get the categories 
listing on front-end (without changing anything in vm). But, now when I 
call this method again from WeblogCategory class in method hasCategory 
(for validating no duplicate category name), It did not return the 
categories.

Below is new getWeblogCategories() method I created and another 
hasCategory method from where I call this.

public List<WeblogCategory> getWeblogCategories(){
         List categories = new ArrayList();
         try {
             WeblogEntryManager wmgr = 
WebloggerFactory.getWeblogger().getWeblogEntryManager();
System.out.println("getweblogcategories==========="+getWebsite());
             categories = wmgr.getWeblogCategories(getWebsite());
         } catch (WebloggerException e) {
             log.error("ERROR: getting Categories", e);
         }
         return categories;
     }

public boolean hasCategory(String name) {
         List<WeblogCategory> cats = getWeblogCategories();
System.out.println("========="+cats); // Return null
         for (WeblogCategory cat : cats) {
System.out.println("=====hascategory====="+name+"========"+cat.getName());
             if(name.equals(cat.getName())) {
                 return true;
             }
         }
         return false;
     }

Also, there is another method getWeblogCategories, in weblog.java this 
also return me null categories. Although same call in 
WeblogCategoryWrapper give results.
public List getWeblogCategories() {
         WeblogCategory website = new WeblogCategory();
System.out.println("=====getWeblogCategories====WEBLOG====website==="+website);
         return website.getWeblogCategories();
     }

Thanks
Gaurav

On Sunday 12 January 2014 04:05 PM, Glen Mazza wrote:
> Tests that are just testing that subcategories work can be removed, 
> because we don't have subcategories anymore--this change is making the 
> code simpler, and fewer tests are a consequence of simpler code.  
> Tests that are testing that category name changes work, etc., should 
> be rewritten to be able to iterate through a weblog's category objects 
> as if the categories are in List or Set format, but no more 
> hierarchical iteration as before.  Will that work for you?
>
> Regards,
> Glen
>
> On 01/12/2014 03:21 AM, Gaurav wrote:
>> Hello Glen,
>>
>> I am still not able to correct the maven tests, if I run the tests 
>> they gave some errors, Actually as in many tests they are using root 
>> category for testing, I have also changed and commented some test 
>> cases still not successful in it.
>>
>> I am working and studying about the test cases (jUnit), what you 
>> suggest I should do to correct the test cases ?
>>
>> Thanks
>> Gaurav
>>
>> On Saturday 11 January 2014 05:01 PM, Glen Mazza wrote:
>>> Great! Looking forward to seeing the patch.
>>>
>>> Glen
>>>
>>> On 01/11/2014 03:18 AM, Gaurav wrote:
>>>> Hello Glen,
>>>>
>>>> I just got fixed that issue :). Thanks for all your help. I am done 
>>>> with all the issues and into thee final testing of the weblog all 
>>>> features.
>>>>
>>>> Thanks
>>>> Gaurav
>>>>
>>>>
>>>> On Saturday 11 January 2014 12:20 PM, Gaurav wrote:
>>>>> Hello Glen,
>>>>>
>>>>> I still did not able to get what I should do next, as you told 
>>>>> that showWeblogCategoryLinksList($rootCategory false false) only 
>>>>> bring the toplevel categories, it because we specify the 
>>>>> $rootCategory each time, so automatically rootCategory child will 
>>>>> always going to be top level categories.
>>>>>
>>>>> Actually, my issue is that If I retain the method 
>>>>> getWeblogCategories() in WeblogCategory.java and return a Set of 
>>>>> type WeblogCategory then I have to do a mapping of that Set in 
>>>>> orm.xml like it was previously done
>>>>>
>>>>> <one-to-many name="weblogCategories" mapped-by="parent" 
>>>>> target-entity="org.apache.roller.weblogger.pojos.Weblog" 
>>>>> fetch="LAZY"> </one-to-many>)
>>>>>
>>>>> So, it was previouly mapped by parent, and as now we did not have 
>>>>> any parent, I tried with website but it gave me error as might be 
>>>>> because its target-entity is different. I am really out of ideas.
>>>>>
>>>>> I was thinking of start submitting patches of my work till now, as 
>>>>> just this issue of showing categories at blog is left.
>>>>>
>>>>> Thanks
>>>>> Gaurav
>>>>>
>>>>> On Wednesday 08 January 2014 08:42 AM, Glen Mazza wrote:
>>>>>> Hi Gaurav, weblog.weblogCategories should still exist as probably 
>>>>>> a Set of some sort (Set because of no duplicate Categories 
>>>>>> allowed), a List is another option.  A weblog does own a 
>>>>>> collection of categories even with the change. What should not 
>>>>>> exist is some child set of categories under each category--any 
>>>>>> code asking for the latter can be removed because there are never 
>>>>>> any subcategories under a category anymore.
>>>>>>
>>>>>> Might you be getting confused with this code?
>>>>>>     #set($categories = $weblog.weblogCategories )
>>>>>>     #foreach( $cat in $categories )
>>>>>>
>>>>>> The above should be fine, you're not for-eaching child categories 
>>>>>> under the *category* but under the *weblog*.
>>>>>>
>>>>>> Grepping the code for "#showWeblogCategoryLinksList", is showing 
>>>>>> that this is its most common usage:
>>>>>>
>>>>>> #showWeblogCategoryLinksList($rootCategory false false)
>>>>>>
>>>>>> I.e., just show the top-level categories with no subcategories. 
>>>>>> With the new code, all three params are useless now.
>>>>>>
>>>>>> I think what we need to do is create a new macro:
>>>>>>
>>>>>> #showWeblogCategoryLinksList
>>>>>> that does the same as
>>>>>> #showWeblogCategoryLinksList($rootCategory false false)
>>>>>>
>>>>>> And, for backward compatibility (at least so it compiles), have 
>>>>>> this macro:
>>>>>>
>>>>>> (A) #showWeblogCategoryLinksList($categoryObj $expanding $subcats)
>>>>>> ignore all three of its arguments and just call
>>>>>> (B) #showWeblogCategoryLinksList
>>>>>>
>>>>>> So (A) will be a deprecated method to be pulled out at a future 
>>>>>> time (maybe in 5.1) -- we'll have to update each of our templates 
>>>>>> that currently call (A) to have them call (B) instead -- a simple 
>>>>>> change to make.
>>>>>>
>>>>>> I'm not sure if I'm answering your questions but I think this 
>>>>>> might be what you're getting at.
>>>>>>
>>>>>> Regards,
>>>>>> Glen
>>>>>>
>>>>>>
>>>>>> On 01/07/2014 04:35 PM, Gaurav wrote:
>>>>>>> Hello Glen,
>>>>>>>
>>>>>>> I am completed with the Database, JPA, UI Layer. I have tested 
>>>>>>> all possible ways by creating, deleting, updating entries, 
>>>>>>> categories and also the complete weblog.
>>>>>>> The only single issue left is in Template Layer. Actually in 
>>>>>>> weblog.vm file for iterating categories list for menu and feeds, 
>>>>>>> it uses ($weblog.weblogCategories). It try getting list from 
>>>>>>> WeblogCategory method getWeblogCategories() and wrapping up with 
>>>>>>> WeblogCategoryWrapper and WeblogWrapper classes. But as this 
>>>>>>> method is no longer required, as it was for maintaining 
>>>>>>> relations of parent-child, It did not get any list.
>>>>>>>
>>>>>>> I though of retaining getWeblogCategories() method in 
>>>>>>> WeblogCategory class, and getting list of categories directly 
>>>>>>> from JPAWeblogEntryManager but it seems wrong to me according to 
>>>>>>> the structure. Can you please guide me what should be the best 
>>>>>>> way to go ?
>>>>>>>
>>>>>>> Thanks
>>>>>>> Gaurav
>>>>>>>
>>>>>>> On Wednesday 08 January 2014 01:25 AM, Gaurav wrote:
>>>>>>>> Hello Glen,
>>>>>>>>
>>>>>>>> I figured out that issues, as I told when I use 
>>>>>>>> getWeblogCategories() method, then the error comes, actually 
>>>>>>>> its due to  the reason that I have removed below one-to-many 
>>>>>>>> mapping in orm file and still using the method. As you said, I 
>>>>>>>> studied JPA and get some time into it and learned new things 
>>>>>>>> about the mapping relationship. Now, I am thinking of 
>>>>>>>> implementing the same way as getWeblogEntries are listed  as it 
>>>>>>>> also come respect to the weblog/website.
>>>>>>>>
>>>>>>>> <one-to-many name="weblogCategories" mapped-by="parent" 
>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.WeblogCategory" fetch="LAZY"></one-to-many> 
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Gaurav
>>>>>>>>
>>>>>>>> On Monday 06 January 2014 02:36 AM, Glen Mazza wrote:
>>>>>>>>> I don't know, but I don't like that statement 
>>>>>>>>> "c.getWeblogCategories().add(c); "  A WeblogCategory should no 
>>>>>>>>> longer have child weblog categories (they are pure siblings of 
>>>>>>>>> each other with no hierarchical relationship), so such an 
>>>>>>>>> "add" shouldn't exist.  You can have 
>>>>>>>>> -->Weblog<---.getWeblogCategories().add(c), that would make 
>>>>>>>>> sense.
>>>>>>>>>
>>>>>>>>> Glen
>>>>>>>>>
>>>>>>>>> On 01/05/2014 03:32 PM, Gaurav wrote:
>>>>>>>>>> Hello Glen,
>>>>>>>>>>
>>>>>>>>>> I tried finding the that issues, but did not find anywhere. 
>>>>>>>>>> Also it is created dynamically as I changed the entity name 
>>>>>>>>>> to category1 then also sameerror come up with 
>>>>>>>>>> "category1_category1" doesn't exist. I think this might be 
>>>>>>>>>> something I am doing wrong with the code. As, Today I cleaned 
>>>>>>>>>> up all the code and now everything is working good. I am 
>>>>>>>>>> successful in creating, editing and deleting the weblog, 
>>>>>>>>>> entries, categories and everything is showing good.
>>>>>>>>>>
>>>>>>>>>> Just single problem I am having now is showing the categories 
>>>>>>>>>> list in feeds and in menu. I figured out after checking that 
>>>>>>>>>> $categoryObject.getWeblogCategories() is iterated in velocity 
>>>>>>>>>> file which check for the getWeblogCategories() method of type 
>>>>>>>>>> Set in WeblogCategory class, Initially I commented this 
>>>>>>>>>> method as the comments over this method said "Get child 
>>>>>>>>>> categories of this category". But I think this is neccasary 
>>>>>>>>>> as whenever a category is created this is called to add a 
>>>>>>>>>> category to Set "rootCat.getWeblogCategories().add(c);"
>>>>>>>>>>
>>>>>>>>>> Now, Problem is we did not have any parent or root category 
>>>>>>>>>> now, so how it will going to add to that Set and Also I tried 
>>>>>>>>>> creating a object of WeblogCategory Class and tried adding it 
>>>>>>>>>> to getWeblogCategories() method then again. Now When I tired 
>>>>>>>>>> adding category with this "c.getWeblogCategories().add(c);" 
>>>>>>>>>> the same error comes up. If I comment this line that add 
>>>>>>>>>> category, everything works fine again, just did not get any 
>>>>>>>>>> list of categories in menu and feed.
>>>>>>>>>>
>>>>>>>>>> Also, I am confused what setWeblogCategories() is doing as I 
>>>>>>>>>> did not find anywhere where it is used for setting 
>>>>>>>>>> categories. Just the getWeblogCategories() is used with .add 
>>>>>>>>>> for adding child categories to parent/root.
>>>>>>>>>>
>>>>>>>>>> Below is what I done in addWeblogContents method of class 
>>>>>>>>>> JPAWeblogManagerImpl.
>>>>>>>>>>
>>>>>>>>>> if (cats != null && cats.trim().length() > 0) {
>>>>>>>>>>             String[] splitcats = cats.split(",");
>>>>>>>>>>             for (int i=0; i<splitcats.length; i++) {
>>>>>>>>>>                 WeblogCategory c = new WeblogCategory(
>>>>>>>>>>                         newWeblog,       // newWeblog
>>>>>>>>>>                         splitcats[i],    // name
>>>>>>>>>>                         splitcats[i],    // description
>>>>>>>>>>                         null );          // image
>>>>>>>>>>                 if (i == 0) {
>>>>>>>>>>                     firstCat = c;
>>>>>>>>>>                 }
>>>>>>>>>> System.out.println("====Cats==="+c);
>>>>>>>>>>                 c.getWeblogCategories().add(c); //previously 
>>>>>>>>>> it was root.getWeblogCategories.add(c);
>>>>>>>>>>                 this.strategy.store(c);
>>>>>>>>>>             }
>>>>>>>>>>         }
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> [EL Warning]: 2014-01-05 
>>>>>>>>>> 17:15:22.179--ClientSession(1956103136)--Exception 
>>>>>>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>>>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: 
>>>>>>>>>> Table/View 'CATEGORY_CATEGORY' does not exist.
>>>>>>>>>> Error Code: 20000
>>>>>>>>>> Call: INSERT INTO category_category (weblogCategories_id, 
>>>>>>>>>> WeblogCategory_id) VALUES (?, ?)
>>>>>>>>>>     bind => [2 parameters bound]
>>>>>>>>>> Query: DataModifyQuery(name="weblogCategories" sql="INSERT 
>>>>>>>>>> INTO category_category (weblogCategories_id, 
>>>>>>>>>> WeblogCategory_id) VALUES (?, ?)")
>>>>>>>>>> *
>>>>>>>>>>
>>>>>>>>>> *Also I tried making new ArrayList and new getter setter in 
>>>>>>>>>> WeblogCategory class, still I got same error.
>>>>>>>>>>     List<WeblogCategory> catsss = new 
>>>>>>>>>> ArrayList<WeblogCategory>();
>>>>>>>>>>     catsss.add(c);
>>>>>>>>>>     c.setList(catsss);
>>>>>>>>>> System.out.println("======"+catsss+"============"+c.getList());
>>>>>>>>>>
>>>>>>>>>> Got this error, after adding Arraylist.
>>>>>>>>>>
>>>>>>>>>> [EL Warning]: 2014-01-05 
>>>>>>>>>> 19:42:56.209--ClientSession(1732472947)--Exception 
>>>>>>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>>>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: 
>>>>>>>>>> Table/View 'CATEGORY_CATEGORY' does not exist.
>>>>>>>>>> Error Code: 20000
>>>>>>>>>> Call: INSERT INTO category_category (list_id, 
>>>>>>>>>> WeblogCategory_id) VALUES (?, ?)
>>>>>>>>>>     bind => [2 parameters bound]
>>>>>>>>>> Query: DataModifyQuery(name="list" sql="INSERT INTO 
>>>>>>>>>> category_category (list_id, WeblogCategory_id) VALUES (?, ?)")
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> Gaurav
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Sunday 05 January 2014 05:30 AM, Glen Mazza wrote:
>>>>>>>>>>> Hi Gaurav, did you try a "control" with your file search 
>>>>>>>>>>> method? I.e., you're saying you're case-insensitive 
>>>>>>>>>>> searching on "category_category" but nothing is getting 
>>>>>>>>>>> returned -- did you try also searching something that you 
>>>>>>>>>>> *know* exists in the project (say, "class", "public", 
>>>>>>>>>>> "return", etc.) and your IDE/search method indeed did return 
>>>>>>>>>>> lots of matches?  Because if you get zero search results 
>>>>>>>>>>> with the latter we know the problem is with the way you're 
>>>>>>>>>>> configuring your search, not the non-existence of 
>>>>>>>>>>> "category_category".  (Also are you searching on every type 
>>>>>>>>>>> of file extension, not just .java files?)
>>>>>>>>>>>
>>>>>>>>>>> Somewhere in your code the JPA layer has decided to 
>>>>>>>>>>> calculate "category_category" as a table name, I would guess 
>>>>>>>>>>> because that's what is exactly in the code someplace (as you 
>>>>>>>>>>> can see the query below generated "...FROM category_category 
>>>>>>>>>>> t0, category t1..."). One useful experiment might be to 
>>>>>>>>>>> rename the "category" table (t1) above to "category2" -- 
>>>>>>>>>>> would the SQL above change to "category2_category2, 
>>>>>>>>>>> category2..." or (I think) "...FROM category_category t0, 
>>>>>>>>>>> category2 t1...") If the former, that would indicate that 
>>>>>>>>>>> "category2_category2" is being dynamically generated from 
>>>>>>>>>>> the "category2" table name. If the latter, that would mean 
>>>>>>>>>>> "category_category" is hardcoded somewhere and not related 
>>>>>>>>>>> to the "category" table name you've properly configured.
>>>>>>>>>>>
>>>>>>>>>>> I probably won't be able to get to this until next weekend 
>>>>>>>>>>> anyway, so I'm going to have you finish it, also as a 
>>>>>>>>>>> confidence-builder for you (if you let JPA push you around 
>>>>>>>>>>> now, it's always going to bully you...  :)
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Glen
>>>>>>>>>>>
>>>>>>>>>>> PS:  Just to clarify, when an pre-5.1-SNAPSHOT user installs 
>>>>>>>>>>> Roller 5.1-SNAPSHOT, the Roller startup should automatically 
>>>>>>>>>>> detect that the system is currently using an older Roller 
>>>>>>>>>>> database and do the database upgrade (creating of new the 
>>>>>>>>>>> "category" table and prepopulation of it).  Roller has 
>>>>>>>>>>> always done this as so long as you put the necessary 
>>>>>>>>>>> migration scripts in the right place there should be no 
>>>>>>>>>>> problem. However, those of us already on 5.1-SNAPSHOT like 
>>>>>>>>>>> myself before your patch will need to manually create that 
>>>>>>>>>>> table in our database (the Roller script won't notice 
>>>>>>>>>>> 5.1-SNAPSHOT-->5.1-SNAPSHOT, so won't create "category" by 
>>>>>>>>>>> itself.)  No problem, we'll just figure out the necessary 
>>>>>>>>>>> SQL statements for Dave and he can add it to his Roller 
>>>>>>>>>>> project blog.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 01/04/2014 04:47 PM, Gaurav wrote:
>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>
>>>>>>>>>>>> I searched whole project and did not find anywhere. I think 
>>>>>>>>>>>> might be I have done something wrong, as when I start with 
>>>>>>>>>>>> new database, everything work just deleting gives me this 
>>>>>>>>>>>> error. If I work on old database it even did not start up 
>>>>>>>>>>>> (localhost:8080/roller) gives my below error.
>>>>>>>>>>>>
>>>>>>>>>>>> I have checked almost everything I can, might be some wrong 
>>>>>>>>>>>> java code and anything I done wrong that causes this. 
>>>>>>>>>>>> Should I submit by work so you can look on to it, or if we 
>>>>>>>>>>>> are not in any hurry than I can look into it again step by 
>>>>>>>>>>>> step (I prefer second option if we have one more week. Just 
>>>>>>>>>>>> another week or so, next week i have some tight schedule). 
>>>>>>>>>>>> I know I am taking too much time, but I am new to this 
>>>>>>>>>>>> level of Java code, as I worked maximum time at client 
>>>>>>>>>>>> side. But I really loving java code and learned a lot till 
>>>>>>>>>>>> now, before this I just worked with Java on small projects. 
>>>>>>>>>>>> OpenSource Projects really are very powerful and good way 
>>>>>>>>>>>> to learn new things.
>>>>>>>>>>>>
>>>>>>>>>>>> Exception [EclipseLink-4002] (Eclipse Persistence Services 
>>>>>>>>>>>> - 2.5.0.v20130507-3faac2b): 
>>>>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException 
>>>>>>>>>>>> Internal Exception: 
>>>>>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
>>>>>>>>>>>> 'roller.category_category' doesn't exist Error Code: 1146 
>>>>>>>>>>>> Call: SELECT t1.id, t1.description, t1.image, t1.name, 
>>>>>>>>>>>> t1.websiteid FROM category_category t0, category t1 WHERE 
>>>>>>>>>>>> ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>>>>>>>>>>> t0.weblogCategories_id)) bind => [1 parameter bound] Query: 
>>>>>>>>>>>> ReadAllQuery(name="weblogCategories" 
>>>>>>>>>>>> referenceClass=WeblogCategory sql="SELECT t1.id, 
>>>>>>>>>>>> t1.description, t1.image, t1.name, t1.websiteid FROM 
>>>>>>>>>>>> category_category t0, category t1 WHERE 
>>>>>>>>>>>> ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>>>>>>>>>>> t0.weblogCategories_id))")
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>
>>>>>>>>>>>> On Sunday 05 January 2014 12:00 AM, Glen Mazza wrote:
>>>>>>>>>>>>> Hi Gaurav, no, that relation shouldn't be needed anymore.
>>>>>>>>>>>>>
>>>>>>>>>>>>> As for the table name, at the top of your orm.xml file the 
>>>>>>>>>>>>> table name the file maps against is declared -- perhaps 
>>>>>>>>>>>>> you accidentally called it category_category. I would grep 
>>>>>>>>>>>>> or use a file search from your IDE of your entire roller 
>>>>>>>>>>>>> source code, looking for where category_category is being 
>>>>>>>>>>>>> declared -- (probably) has to be there someplace. (More 
>>>>>>>>>>>>> specifically, do a file search on "DataModifyQuery" -- 
>>>>>>>>>>>>> that's probably exactly where the problem is.)
>>>>>>>>>>>>>
>>>>>>>>>>>>> Once working, try to import the latest code changes into 
>>>>>>>>>>>>> your code before submitting a patch (actually create a 
>>>>>>>>>>>>> backup patch first just in case).  Not sure but I think a 
>>>>>>>>>>>>> simple svn update will do -- svn will identify some files 
>>>>>>>>>>>>> where it will need your assistance to resolve any 
>>>>>>>>>>>>> differences -- it shouldn't be too hard or time-consuming 
>>>>>>>>>>>>> to do.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 01/04/2014 08:55 AM, Gaurav wrote:
>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I just want to know that the below relations in 
>>>>>>>>>>>>>> WeblogCategory.orm.xml are required or not as now the 
>>>>>>>>>>>>>> parent is not used so, I don't think its needed now. I 
>>>>>>>>>>>>>> have commented the below lines.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> <many-to-one name="parent" 
>>>>>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category">
>>>>>>>>>>>>>>                 <join-column name="parentid" 
>>>>>>>>>>>>>> insertable="true" updatable="true" nullable="true"/>
>>>>>>>>>>>>>>             </many-to-one>
>>>>>>>>>>>>>>             <one-to-many name="weblogCategories" 
>>>>>>>>>>>>>> mapped-by="parent" 
>>>>>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category" fetch="LAZY"> 
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>                 <cascade>
>>>>>>>>>>>>>> <cascade-remove/>
>>>>>>>>>>>>>>                 </cascade>
>>>>>>>>>>>>>>             </one-to-many>
>>>>>>>>>>>>>>             <transient name="inUse"/>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I asked this because, getting categories giving me mysql 
>>>>>>>>>>>>>> exception. The new table is 'roller.category' but it 
>>>>>>>>>>>>>> executes for 'roller.category_category'.
>>>>>>>>>>>>>> I am not able to get what I have done wrong.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Internal Exception: 
>>>>>>>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 
>>>>>>>>>>>>>> Table 'roller.category_category' doesn't exist
>>>>>>>>>>>>>> Error Code: 1146
>>>>>>>>>>>>>> Call: DELETE FROM category_category WHERE 
>>>>>>>>>>>>>> (WeblogCategory_id = ?)
>>>>>>>>>>>>>>     bind => [1 parameter bound]
>>>>>>>>>>>>>> Query: DataModifyQuery(name="weblogCategories" 
>>>>>>>>>>>>>> sql="DELETE FROM category_category WHERE 
>>>>>>>>>>>>>> (WeblogCategory_id = ?)")
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Also, I have changed the getWeblogCategoryByPath to 
>>>>>>>>>>>>>> getWeblogCategoryByName so feeds and other places work 
>>>>>>>>>>>>>> fine. I have able to get catgeory list, new entries are 
>>>>>>>>>>>>>> creating successfully. Just deleting the weblog is giving 
>>>>>>>>>>>>>> me above error.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I have already deleted getPath and getParent and in the 
>>>>>>>>>>>>>>> mid of everything. I hope I will be able to complete 
>>>>>>>>>>>>>>> this by Monday. If still, I get some major issues due to 
>>>>>>>>>>>>>>> this, I will switch to what you suggested. Just give me 
>>>>>>>>>>>>>>> time till Monday, as I have done almost 80% of code 
>>>>>>>>>>>>>>> cleaned regarding the path and parentcategory. I will 
>>>>>>>>>>>>>>> get back to you soon with some patches and then you can 
>>>>>>>>>>>>>>> test it.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Also, my ICLA have been filed, got the receipt of my ICLA.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>> Gaurav, sorry, it just occurred to me there's a simpler 
>>>>>>>>>>>>>>>> intermediate step that can be done. While we need the 
>>>>>>>>>>>>>>>> database table without a path column, and to remove the 
>>>>>>>>>>>>>>>> "path" member *variable* from WeblogCategory (or its 
>>>>>>>>>>>>>>>> replacement), we can still keep indefinitely keep 
>>>>>>>>>>>>>>>> getPath(), just hardcode it to "/" + categoryName, 
>>>>>>>>>>>>>>>> which is precisely what the old code returns for any 
>>>>>>>>>>>>>>>> top-level category--the rest of the system can stay 
>>>>>>>>>>>>>>>> just as it did before. Switching the rest of the code 
>>>>>>>>>>>>>>>> from getPath() to using getName() can be done at any 
>>>>>>>>>>>>>>>> time, bit by bit whenever, that's not necessary to 
>>>>>>>>>>>>>>>> implement positioning, that's just a code cleanup 
>>>>>>>>>>>>>>>> issue. Likewise, for WeblogCategory.getParent(), it may 
>>>>>>>>>>>>>>>> be as simple as adding a root category object as part 
>>>>>>>>>>>>>>>> of the Weblog's constructor (but not saved to the 
>>>>>>>>>>>>>>>> database), and having WeblogCategory.getParent() just 
>>>>>>>>>>>>>>>> return website.getParentCategory()--that way all 
>>>>>>>>>>>>>>>> categories for a weblog will have the same root 
>>>>>>>>>>>>>>>> category as before, and the rest of the code base 
>>>>>>>>>>>>>>>> should function fine.  Once we're on the new table, 
>>>>>>>>>>>>>>>> then it's an issue of implementing positioning--getting 
>>>>>>>>>>>>>>>> rid of getParent() and getPath() can be done by anybody 
>>>>>>>>>>>>>>>> at a later date.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>> No problem, I'm available to help (or finish it up) if 
>>>>>>>>>>>>>>>>> needed.  For a seemingly simple switch, you're 
>>>>>>>>>>>>>>>>> certainly getting a *full* education of the Roller 
>>>>>>>>>>>>>>>>> codebase.  :)
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> BTW, I hope you're not testing via mvn jetty:run, as 
>>>>>>>>>>>>>>>>> that requires you to keep logging in for the first 
>>>>>>>>>>>>>>>>> time, creating a blog for the first time, etc., 
>>>>>>>>>>>>>>>>> whenever you start it. Very inefficient and tiring. 
>>>>>>>>>>>>>>>>> Normally I just build (mvn clean install) and dump the 
>>>>>>>>>>>>>>>>> WAR into standalone Tomcat on my local machine. The 
>>>>>>>>>>>>>>>>> database & other configuration I keep permanently in 
>>>>>>>>>>>>>>>>> roller-custom.properties in the Tomcat lib/ folder, so 
>>>>>>>>>>>>>>>>> the new WAR just takes over with the same 
>>>>>>>>>>>>>>>>> configuration, blogs, accounts, etc., that old WAR was 
>>>>>>>>>>>>>>>>> using. (Check the Roller install guide for full 
>>>>>>>>>>>>>>>>> instructions.)
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Also vital is that you know how to debug/trace Roller 
>>>>>>>>>>>>>>>>> code in Eclipse or IntelliJ while it is running on 
>>>>>>>>>>>>>>>>> Tomcat (or another servlet container). It's much 
>>>>>>>>>>>>>>>>> simpler than it seems, and will save you a lot of 
>>>>>>>>>>>>>>>>> time. These instructions are for Eclipse but Intellij 
>>>>>>>>>>>>>>>>> (my preference) is basically the same: 
>>>>>>>>>>>>>>>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>>>>>>>>>>>>>>>>> Checking variable values while it's running will point 
>>>>>>>>>>>>>>>>> you to where problems are much more quickly.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Happy New Year!
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> As, I previously told you that the test cases are 
>>>>>>>>>>>>>>>>>> giving problem, actually I think we have to do some 
>>>>>>>>>>>>>>>>>> changes in Test Cases also, as many of the methods 
>>>>>>>>>>>>>>>>>> involving path and parent are removed so, many times 
>>>>>>>>>>>>>>>>>> in test cases (it did not get correct values and give 
>>>>>>>>>>>>>>>>>> errors).
>>>>>>>>>>>>>>>>>> I have successfully showed the categories by website 
>>>>>>>>>>>>>>>>>> till now in the admin section. Also, the entries are 
>>>>>>>>>>>>>>>>>> saved just, I ran out of memory issue in happen when 
>>>>>>>>>>>>>>>>>> I save an entry that entry, although it get saved 
>>>>>>>>>>>>>>>>>> when I refresh the page.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Also, as their is not path now, we have to do some 
>>>>>>>>>>>>>>>>>> changes in velocity files, as feeds are giving error 
>>>>>>>>>>>>>>>>>> in showing, although if I direct enter the URL its 
>>>>>>>>>>>>>>>>>> working fine. I have cleared many parts of the code, 
>>>>>>>>>>>>>>>>>> just I have test of the roller parts which are linked 
>>>>>>>>>>>>>>>>>> the path and parent. I am thinking of correcting the 
>>>>>>>>>>>>>>>>>> test cases, as I can run them and if test cases are 
>>>>>>>>>>>>>>>>>> fine then might be everything will work fine.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I will return to work on this after 3 days, as I will 
>>>>>>>>>>>>>>>>>> be and will get be to it during coming weekend again. 
>>>>>>>>>>>>>>>>>> I will wrap this out asap for you to test and will 
>>>>>>>>>>>>>>>>>> attach patches coming weekend.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>> Thanks for that info, I have changed my settings in 
>>>>>>>>>>>>>>>>>>> the eclipse.
>>>>>>>>>>>>>>>>>>> Yes, you are right I will leave the ordering part 
>>>>>>>>>>>>>>>>>>> for now and work on clearing the code for now. For 
>>>>>>>>>>>>>>>>>>> now I will just add a column in category table with 
>>>>>>>>>>>>>>>>>>> position, leaving it null for now.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>> Your last ImprovedCreateUser.patch had some tab 
>>>>>>>>>>>>>>>>>>>> characters in it, and our project uses spaces for 
>>>>>>>>>>>>>>>>>>>> tabs (just have Eclipse insert 4 spaces whenever 
>>>>>>>>>>>>>>>>>>>> you hit the tab key, with no tab characters.) Very 
>>>>>>>>>>>>>>>>>>>> few Apache projects (any?) are tab-indented today. 
>>>>>>>>>>>>>>>>>>>> It is a simple fix with IntelliJ IDEA (Edit -> 
>>>>>>>>>>>>>>>>>>>> Convert Indents -> To Spaces), I'm sure Eclipse has 
>>>>>>>>>>>>>>>>>>>> an equivalent.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> For blogs migrating from pre-5.1 versions, we can 
>>>>>>>>>>>>>>>>>>>> keep the position NULL by default (and when you 
>>>>>>>>>>>>>>>>>>>> order by position, with null values, they will come 
>>>>>>>>>>>>>>>>>>>> out in any order, like they do today.) Whenever a 
>>>>>>>>>>>>>>>>>>>> new blog is created with the default three 
>>>>>>>>>>>>>>>>>>>> categories, those can be assigned positions 
>>>>>>>>>>>>>>>>>>>> (probably 0-based for leftmost is best.) For 
>>>>>>>>>>>>>>>>>>>> migrated blogs, once the user goes to the category 
>>>>>>>>>>>>>>>>>>>> page and makes a change for the first time, numbers 
>>>>>>>>>>>>>>>>>>>> can be written for the very first time--no special 
>>>>>>>>>>>>>>>>>>>> extra UI is needed for this purpose. But like I was 
>>>>>>>>>>>>>>>>>>>> saying, this is such a lengthy patch you may wish 
>>>>>>>>>>>>>>>>>>>> to forget about the ordering right now--it doesn't 
>>>>>>>>>>>>>>>>>>>> work anyway in Roller right now. It may be best to 
>>>>>>>>>>>>>>>>>>>> get us to the new table and get rid of the paths, 
>>>>>>>>>>>>>>>>>>>> and once we're on that firmer foundation 
>>>>>>>>>>>>>>>>>>>> implementing positioning (on the Category page and 
>>>>>>>>>>>>>>>>>>>> in the templates) will be much simpler.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> I will change the position to be integer, and will 
>>>>>>>>>>>>>>>>>>>>> exclude the category where parent null, but still 
>>>>>>>>>>>>>>>>>>>>> what can be done for the position as the old data 
>>>>>>>>>>>>>>>>>>>>> did not have position, so how and on what basis we 
>>>>>>>>>>>>>>>>>>>>> have to add position to it. I was thinking that we 
>>>>>>>>>>>>>>>>>>>>> can left it as null, and provide some UI in 
>>>>>>>>>>>>>>>>>>>>> backend where user can assign position themselves.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> I will take care of spacing, will search what I am 
>>>>>>>>>>>>>>>>>>>>> doing wrong. As, I am not sure is that you are 
>>>>>>>>>>>>>>>>>>>>> talking about formatting the code, or anything 
>>>>>>>>>>>>>>>>>>>>> else. As I use tab (with 4 spaces) in Eclipse IDE.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>> BTW, not to be hated, but make sure any code you 
>>>>>>>>>>>>>>>>>>>>>> submit is space-padded (4 spaces), *not* 
>>>>>>>>>>>>>>>>>>>>>> tab-padded. Your IDE should be able to convert it 
>>>>>>>>>>>>>>>>>>>>>> for you if you've been doing tab-padding.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I am confused on how to add and on what basis we 
>>>>>>>>>>>>>>>>>>>>>>> have to addd position to the new category table. 
>>>>>>>>>>>>>>>>>>>>>>> Below two sql commands can be used for coping 
>>>>>>>>>>>>>>>>>>>>>>> data and deleting the root categories.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> create table category (
>>>>>>>>>>>>>>>>>>>>>>>     id varchar(48) not null primary key,
>>>>>>>>>>>>>>>>>>>>>>>     name varchar(255) not null,
>>>>>>>>>>>>>>>>>>>>>>>     description varchar(255),
>>>>>>>>>>>>>>>>>>>>>>>     websiteid varchar(48) not null,
>>>>>>>>>>>>>>>>>>>>>>>     image varchar(255),
>>>>>>>>>>>>>>>>>>>>>>>     position varchar(48)
>>>>>>>>>>>>>>>>>>>>>>> );
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> insert into 
>>>>>>>>>>>>>>>>>>>>>>> category(id,name,description,websiteid,image) 
>>>>>>>>>>>>>>>>>>>>>>> select id,name,description,websiteid,image from 
>>>>>>>>>>>>>>>>>>>>>>> weblogcategory;
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> delete from category where name="root";
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> What do you suggest for this ?
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>> Take your time, this is a messy change as it 
>>>>>>>>>>>>>>>>>>>>>>>> affects many areas of the code. But Roller will 
>>>>>>>>>>>>>>>>>>>>>>>> be architecturally much more solid and simpler 
>>>>>>>>>>>>>>>>>>>>>>>> once this change is done.  I have your ROL-1616 
>>>>>>>>>>>>>>>>>>>>>>>> and ROL-1982 on my plate for this weekend.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> I have deleted the path and all related 
>>>>>>>>>>>>>>>>>>>>>>>>> methods, but its seems to me that the path 
>>>>>>>>>>>>>>>>>>>>>>>>> methods like (getWeblogCategoryByPath) and 
>>>>>>>>>>>>>>>>>>>>>>>>> many other path and parent related methods, 
>>>>>>>>>>>>>>>>>>>>>>>>> are scattered over the whole roller. There are 
>>>>>>>>>>>>>>>>>>>>>>>>> many occurrence of these methods and I have to 
>>>>>>>>>>>>>>>>>>>>>>>>> sort out each piece of code as now there is no 
>>>>>>>>>>>>>>>>>>>>>>>>> path so, mostly we check for categoryPath != 
>>>>>>>>>>>>>>>>>>>>>>>>> null in if conditions, so these are no longer 
>>>>>>>>>>>>>>>>>>>>>>>>> needed.
>>>>>>>>>>>>>>>>>>>>>>>>> Also, I as thinking after testing and 
>>>>>>>>>>>>>>>>>>>>>>>>> completing this we can delete the 
>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory and replace with Category 
>>>>>>>>>>>>>>>>>>>>>>>>> method, as it will be clean. I also figured 
>>>>>>>>>>>>>>>>>>>>>>>>> out why my tests are failing as during 
>>>>>>>>>>>>>>>>>>>>>>>>> creating of weblogentry it did not find the 
>>>>>>>>>>>>>>>>>>>>>>>>> categories, as that class was using old 
>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory table and using that class 
>>>>>>>>>>>>>>>>>>>>>>>>> methods. I think I will definitely will figure 
>>>>>>>>>>>>>>>>>>>>>>>>> out everything at the end and will 
>>>>>>>>>>>>>>>>>>>>>>>>> successfully test with the unit tests.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> I am now in the editor part so can display the 
>>>>>>>>>>>>>>>>>>>>>>>>> categories on front end, I am now all over the 
>>>>>>>>>>>>>>>>>>>>>>>>> 1-2-3-4 steps you mentioned. As soon as I will 
>>>>>>>>>>>>>>>>>>>>>>>>> able to display the categories (small issues 
>>>>>>>>>>>>>>>>>>>>>>>>> left) at the backend, I will again go through 
>>>>>>>>>>>>>>>>>>>>>>>>> my changes. Also, at this time I can only 
>>>>>>>>>>>>>>>>>>>>>>>>> create patch for new table and migration 
>>>>>>>>>>>>>>>>>>>>>>>>> script, as all other classes code are 
>>>>>>>>>>>>>>>>>>>>>>>>> interrelated so can't submit now. I will test 
>>>>>>>>>>>>>>>>>>>>>>>>> every single thing related to categories, then 
>>>>>>>>>>>>>>>>>>>>>>>>> I will submit my patches.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Although I have learned a lot new things, just 
>>>>>>>>>>>>>>>>>>>>>>>>> spent last two full days on this sorting out 
>>>>>>>>>>>>>>>>>>>>>>>>> things, many times ending up nowhere from 
>>>>>>>>>>>>>>>>>>>>>>>>> where I started. But I am confident that I 
>>>>>>>>>>>>>>>>>>>>>>>>> will definitely complete this task. Just I am 
>>>>>>>>>>>>>>>>>>>>>>>>> worrying that I must be taking too much time.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> If there is something, you can advice me I 
>>>>>>>>>>>>>>>>>>>>>>>>> would happy to follow that also.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> If it helps, you can provide interim patches, 
>>>>>>>>>>>>>>>>>>>>>>>>>> so long as it doesn't break the current code 
>>>>>>>>>>>>>>>>>>>>>>>>>> base. You may want to create a patch just 
>>>>>>>>>>>>>>>>>>>>>>>>>> creating the new database table (which will 
>>>>>>>>>>>>>>>>>>>>>>>>>> be ignored by the current code) and sql 
>>>>>>>>>>>>>>>>>>>>>>>>>> insert-select scripts to move from the 
>>>>>>>>>>>>>>>>>>>>>>>>>> current table to the new one, then one 
>>>>>>>>>>>>>>>>>>>>>>>>>> converting the code to using the new table 
>>>>>>>>>>>>>>>>>>>>>>>>>> without sorting, then (finally) one that 
>>>>>>>>>>>>>>>>>>>>>>>>>> implements sorting of the categories.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created and updated all necessary 
>>>>>>>>>>>>>>>>>>>>>>>>>>> files in JPA and for database, I tried 
>>>>>>>>>>>>>>>>>>>>>>>>>>> compiling the code it gave me errors in test 
>>>>>>>>>>>>>>>>>>>>>>>>>>> cases. As I am not sure that what I am wrong 
>>>>>>>>>>>>>>>>>>>>>>>>>>> in this. Although I tried compiling without 
>>>>>>>>>>>>>>>>>>>>>>>>>>> running test cases, it worked fine. I tested 
>>>>>>>>>>>>>>>>>>>>>>>>>>> it with tomcat and new table category is 
>>>>>>>>>>>>>>>>>>>>>>>>>>> created and initial category (General, 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Finance and Technology) are created with the 
>>>>>>>>>>>>>>>>>>>>>>>>>>> position 1,2,3. Still there are many thing I 
>>>>>>>>>>>>>>>>>>>>>>>>>>> have to clean up and sort out and will test 
>>>>>>>>>>>>>>>>>>>>>>>>>>> it again.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Ok, got your point. I will check on other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller parts also if parent name and path 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> aren't be using in any other part of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller. I will go into the RSS and Atom 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> feeds later on, and see what changes it 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> need. As, till now I have changed many 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> files and created some, so will first test 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> this part then go into that feeds part.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Sounds good, but may require more work to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> make sure all is good with the RSS and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Atom feeds as a result (which I believe 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> rely on path). Where path is used to check 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for equivalence, I guess name (and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> blog/website ID, if necessary) alone will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> do now. We may need to check (if we aren't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> already) that no two categories have the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> same name, where prior we were checking 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that no two paths are the same (i.e., 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> allowing category paths USStates/Georgia 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and Countries/Georgia but now needing to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> disallow two categories named "Georgia".)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am thinking of removing the path 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> coloumn also, as it does not make sense 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> now as there will no subcategories and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> all will have same path (like 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> /categoryname). WDYT ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I want to know as now all the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories will be top level, so the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> root category which is created by 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> default on addWeblog isn't needed. So, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I can remove that code also ? I am in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> half completed with the 1-2 steps will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> soon submit some patched in jira issue. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> You can look on to them whenever you 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will get time from other projects.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this, I understand your commitments. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> As this will give me more time on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> working on this issue. I will give my 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 100% on this, as I also want to get 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> into more and more open source 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> projects. For Now I am focusing on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller for starting my contributions 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in open source.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 AM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I can't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> help much right now either, as my 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> other project JSPWiki has a new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> release going out.) But please be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> patient with us on your recent 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> submitted patches -- we haven't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> forgotten you and are happy with your 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> efforts on this project so far, we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> just have full-time jobs and, even 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> after that, other obligations -- for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> open source work, we usually have to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> beg, borrow and steal time to work on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> them.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am going through this having some 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> issues, although not major till now. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have still working on 1-2 steps, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> might be I am slow as get less time. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (Wish we also have holidays of this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> festive season in India :P) Just 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> want to know isn't there any hurry 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for completing this asap ? Although, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am sure will definitely complete 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this as I have understood the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structure of Roller completely. Just 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have to go through the JPA more 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and read about this.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> missing will become apparent to you 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as you work along. The Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> installation guide and here 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can show you how to test also with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Derby if you'd like. (It is usually 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simpler than MySQL, and another 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> benefit of working on Roller is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that you become 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> multiple-database-lingual very 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> quickly.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with this much deep information, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can start working in it. I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> started working on this Issue and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have followed your steps.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb.vm and in migration 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> scripts also. I have for mow 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> stared working on MySQL.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> class, I have commented 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> now Category.orm.xml and enterd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> details of new table. A new class 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Category in weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created new files for now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and will work on this and add new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> position coloum and code regarding 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this. Other than UI and template 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Layer, I think I have covered all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> files on which I have to work on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the Database and JPA layers ? 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Please tell me if I am wrong 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> anywhere or following wrong workflow.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> our database scripts -- you see a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb.vm plus migration 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> scripts (5.0 to 5.1) -- we'll 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> want our change in both places 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (IIRC), new users have the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb run and Roller upgraders 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with their current DB's have the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 5.0 to 5.1 migration script run.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I'd like to get this done right 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (I plan on helping out where 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you'd like). Namely, we've moved 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> from a hierarchical category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structure (categories having 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> subcategories having their own 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> subcatorgories etc.) to a flat 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> single-level structure (all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories are top level) -- that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> was done a week or so back. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Problem is, the database tables 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> are still assuming hierarchical 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (they will work with flat 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structures but are overkill--we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> don't need a parent ID column 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> anymore.) Also, the JPA objects 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> are designed for hierarchical but 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can simplified a bit more to flat 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structure. Incidentally, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "sequenceNum" is ambiguous about 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> what it means, I would say 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "position" or "ordering" (INT 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> null, null for migrators who 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> don't yet have a position 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> defined) is clearer.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> handle this--for both new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> installers and upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table, say "category" designed 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> precisely as we need, and have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the migration scripts select from 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the old weblogcategory and insert 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> into the new category table. (We 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> then ignore the weblogcategory 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table.) We'll need to test the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> scripts with at least two 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> databases (2 of probably MySQL, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Derby and/or PostgreSQL) and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> guess for the others--if we're 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> wrong the user community can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> supply a patch fixing it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> object (the old WeblogCategory) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as it's 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> now flat-level. Indeed, I think 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> things will get a *lot* simpler 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> here, as it may just be the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> parent Weblog holding a list of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> some sort of Category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (or whatever it's called) and its 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Struts action class will now need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to use the new Category object 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (and table) instead of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory. The UI page will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need two changes: (1) all new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories will be placed (and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> saved) at the bottom of the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category list (and as result, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> appear last (right-most) in the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category list, and, later (2) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> probably have up and down buttons 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in the table allowing users to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> easily reorder the categories as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> they like. (Strictly speaking, 1 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> alone is all that's needed for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ordering, as you can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> remove/name/delete/recreate 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories to eventually get them 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in the position you'd like, but 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (2) of course is much nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> looked into this): The templates 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (probably just a macro or two) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will need updating to ensure that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> they output the category names 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> per the new position order.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> advantage is that I'd like to do 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the same thing with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks/blogrolls (team 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discussion pending...), switch 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> from a hierarchical to flat-level 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for those too.  If we can do this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for categories, the logic/UI 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> design, etc., will carry over 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 100% to bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getting to this myself, so am 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> available to work with you on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whatever parts you'd like. I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> think going in order 1-2-3-4 and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> having separate commits may be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the cleanest way of doing this. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> What's nice about using a brand 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new table and JPA object is that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the old objects can still work in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the code while we're creating the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new, we just don't activate the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new until the very end.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team members 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> on the above ideas...?) Or are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> there other Roller tasks you'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like to sink your teeth into 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> instead? I can look at this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> otherwise, but this looks like a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> very good exercise for someone 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> wanting to get more involved in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller, as it covers all the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> layers of the webapp.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ROL-1981, as discussed in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> previous discussion threads I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will add new column sequenceNum 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in weblogcategory table. Then we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can assign sequenceNum to each 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category according to websideid. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> If anyone have some ideas 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> regarding this, please help me. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, need some help on how to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> go with this issue, and how to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> add new coloum, I found .sql 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> file, do I need to add there new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> column. Also, Is this possible 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that that when I restart the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> roller it will add new column to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> database ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>


Re: (another idea) Re: ROL-1981 Category ordering

Posted by Glen Mazza <gl...@gmail.com>.
Tests that are just testing that subcategories work can be removed, 
because we don't have subcategories anymore--this change is making the 
code simpler, and fewer tests are a consequence of simpler code.  Tests 
that are testing that category name changes work, etc., should be 
rewritten to be able to iterate through a weblog's category objects as 
if the categories are in List or Set format, but no more hierarchical 
iteration as before.  Will that work for you?

Regards,
Glen

On 01/12/2014 03:21 AM, Gaurav wrote:
> Hello Glen,
>
> I am still not able to correct the maven tests, if I run the tests 
> they gave some errors, Actually as in many tests they are using root 
> category for testing, I have also changed and commented some test 
> cases still not successful in it.
>
> I am working and studying about the test cases (jUnit), what you 
> suggest I should do to correct the test cases ?
>
> Thanks
> Gaurav
>
> On Saturday 11 January 2014 05:01 PM, Glen Mazza wrote:
>> Great! Looking forward to seeing the patch.
>>
>> Glen
>>
>> On 01/11/2014 03:18 AM, Gaurav wrote:
>>> Hello Glen,
>>>
>>> I just got fixed that issue :). Thanks for all your help. I am done 
>>> with all the issues and into thee final testing of the weblog all 
>>> features.
>>>
>>> Thanks
>>> Gaurav
>>>
>>>
>>> On Saturday 11 January 2014 12:20 PM, Gaurav wrote:
>>>> Hello Glen,
>>>>
>>>> I still did not able to get what I should do next, as you told that 
>>>> showWeblogCategoryLinksList($rootCategory false false) only bring 
>>>> the toplevel categories, it because we specify the $rootCategory 
>>>> each time, so automatically rootCategory child will always going to 
>>>> be top level categories.
>>>>
>>>> Actually, my issue is that If I retain the method 
>>>> getWeblogCategories() in WeblogCategory.java and return a Set of 
>>>> type WeblogCategory then I have to do a mapping of that Set in 
>>>> orm.xml like it was previously done
>>>>
>>>> <one-to-many name="weblogCategories" mapped-by="parent" 
>>>> target-entity="org.apache.roller.weblogger.pojos.Weblog" 
>>>> fetch="LAZY"> </one-to-many>)
>>>>
>>>> So, it was previouly mapped by parent, and as now we did not have 
>>>> any parent, I tried with website but it gave me error as might be 
>>>> because its target-entity is different. I am really out of ideas.
>>>>
>>>> I was thinking of start submitting patches of my work till now, as 
>>>> just this issue of showing categories at blog is left.
>>>>
>>>> Thanks
>>>> Gaurav
>>>>
>>>> On Wednesday 08 January 2014 08:42 AM, Glen Mazza wrote:
>>>>> Hi Gaurav, weblog.weblogCategories should still exist as probably 
>>>>> a Set of some sort (Set because of no duplicate Categories 
>>>>> allowed), a List is another option.  A weblog does own a 
>>>>> collection of categories even with the change. What should not 
>>>>> exist is some child set of categories under each category--any 
>>>>> code asking for the latter can be removed because there are never 
>>>>> any subcategories under a category anymore.
>>>>>
>>>>> Might you be getting confused with this code?
>>>>>     #set($categories = $weblog.weblogCategories )
>>>>>     #foreach( $cat in $categories )
>>>>>
>>>>> The above should be fine, you're not for-eaching child categories 
>>>>> under the *category* but under the *weblog*.
>>>>>
>>>>> Grepping the code for "#showWeblogCategoryLinksList", is showing 
>>>>> that this is its most common usage:
>>>>>
>>>>> #showWeblogCategoryLinksList($rootCategory false false)
>>>>>
>>>>> I.e., just show the top-level categories with no subcategories. 
>>>>> With the new code, all three params are useless now.
>>>>>
>>>>> I think what we need to do is create a new macro:
>>>>>
>>>>> #showWeblogCategoryLinksList
>>>>> that does the same as
>>>>> #showWeblogCategoryLinksList($rootCategory false false)
>>>>>
>>>>> And, for backward compatibility (at least so it compiles), have 
>>>>> this macro:
>>>>>
>>>>> (A) #showWeblogCategoryLinksList($categoryObj $expanding $subcats)
>>>>> ignore all three of its arguments and just call
>>>>> (B) #showWeblogCategoryLinksList
>>>>>
>>>>> So (A) will be a deprecated method to be pulled out at a future 
>>>>> time (maybe in 5.1) -- we'll have to update each of our templates 
>>>>> that currently call (A) to have them call (B) instead -- a simple 
>>>>> change to make.
>>>>>
>>>>> I'm not sure if I'm answering your questions but I think this 
>>>>> might be what you're getting at.
>>>>>
>>>>> Regards,
>>>>> Glen
>>>>>
>>>>>
>>>>> On 01/07/2014 04:35 PM, Gaurav wrote:
>>>>>> Hello Glen,
>>>>>>
>>>>>> I am completed with the Database, JPA, UI Layer. I have tested 
>>>>>> all possible ways by creating, deleting, updating entries, 
>>>>>> categories and also the complete weblog.
>>>>>> The only single issue left is in Template Layer. Actually in 
>>>>>> weblog.vm file for iterating categories list for menu and feeds, 
>>>>>> it uses ($weblog.weblogCategories). It try getting list from 
>>>>>> WeblogCategory method getWeblogCategories() and wrapping up with 
>>>>>> WeblogCategoryWrapper and WeblogWrapper classes. But as this 
>>>>>> method is no longer required, as it was for maintaining relations 
>>>>>> of parent-child, It did not get any list.
>>>>>>
>>>>>> I though of retaining getWeblogCategories() method in 
>>>>>> WeblogCategory class, and getting list of categories directly 
>>>>>> from JPAWeblogEntryManager but it seems wrong to me according to 
>>>>>> the structure. Can you please guide me what should be the best 
>>>>>> way to go ?
>>>>>>
>>>>>> Thanks
>>>>>> Gaurav
>>>>>>
>>>>>> On Wednesday 08 January 2014 01:25 AM, Gaurav wrote:
>>>>>>> Hello Glen,
>>>>>>>
>>>>>>> I figured out that issues, as I told when I use 
>>>>>>> getWeblogCategories() method, then the error comes, actually its 
>>>>>>> due to  the reason that I have removed below one-to-many mapping 
>>>>>>> in orm file and still using the method. As you said, I studied 
>>>>>>> JPA and get some time into it and learned new things about the 
>>>>>>> mapping relationship. Now, I am thinking of implementing the 
>>>>>>> same way as getWeblogEntries are listed  as it also come respect 
>>>>>>> to the weblog/website.
>>>>>>>
>>>>>>> <one-to-many name="weblogCategories" mapped-by="parent" 
>>>>>>> target-entity="org.apache.roller.weblogger.pojos.WeblogCategory" 
>>>>>>> fetch="LAZY"></one-to-many>
>>>>>>>
>>>>>>> Thanks
>>>>>>> Gaurav
>>>>>>>
>>>>>>> On Monday 06 January 2014 02:36 AM, Glen Mazza wrote:
>>>>>>>> I don't know, but I don't like that statement 
>>>>>>>> "c.getWeblogCategories().add(c); "  A WeblogCategory should no 
>>>>>>>> longer have child weblog categories (they are pure siblings of 
>>>>>>>> each other with no hierarchical relationship), so such an "add" 
>>>>>>>> shouldn't exist.  You can have 
>>>>>>>> -->Weblog<---.getWeblogCategories().add(c), that would make sense.
>>>>>>>>
>>>>>>>> Glen
>>>>>>>>
>>>>>>>> On 01/05/2014 03:32 PM, Gaurav wrote:
>>>>>>>>> Hello Glen,
>>>>>>>>>
>>>>>>>>> I tried finding the that issues, but did not find anywhere. 
>>>>>>>>> Also it is created dynamically as I changed the entity name to 
>>>>>>>>> category1 then also sameerror come up with 
>>>>>>>>> "category1_category1" doesn't exist. I think this might be 
>>>>>>>>> something I am doing wrong with the code. As, Today I cleaned 
>>>>>>>>> up all the code and now everything is working good. I am 
>>>>>>>>> successful in creating, editing and deleting the weblog, 
>>>>>>>>> entries, categories and everything is showing good.
>>>>>>>>>
>>>>>>>>> Just single problem I am having now is showing the categories 
>>>>>>>>> list in feeds and in menu. I figured out after checking that 
>>>>>>>>> $categoryObject.getWeblogCategories() is iterated in velocity 
>>>>>>>>> file which check for the getWeblogCategories() method of type 
>>>>>>>>> Set in WeblogCategory class, Initially I commented this method 
>>>>>>>>> as the comments over this method said "Get child categories of 
>>>>>>>>> this category". But I think this is neccasary as whenever a 
>>>>>>>>> category is created this is called to add a category to Set 
>>>>>>>>> "rootCat.getWeblogCategories().add(c);"
>>>>>>>>>
>>>>>>>>> Now, Problem is we did not have any parent or root category 
>>>>>>>>> now, so how it will going to add to that Set and Also I tried 
>>>>>>>>> creating a object of WeblogCategory Class and tried adding it 
>>>>>>>>> to getWeblogCategories() method then again. Now When I tired 
>>>>>>>>> adding category with this "c.getWeblogCategories().add(c);" 
>>>>>>>>> the same error comes up. If I comment this line that add 
>>>>>>>>> category, everything works fine again, just did not get any 
>>>>>>>>> list of categories in menu and feed.
>>>>>>>>>
>>>>>>>>> Also, I am confused what setWeblogCategories() is doing as I 
>>>>>>>>> did not find anywhere where it is used for setting categories. 
>>>>>>>>> Just the getWeblogCategories() is used with .add for adding 
>>>>>>>>> child categories to parent/root.
>>>>>>>>>
>>>>>>>>> Below is what I done in addWeblogContents method of class 
>>>>>>>>> JPAWeblogManagerImpl.
>>>>>>>>>
>>>>>>>>> if (cats != null && cats.trim().length() > 0) {
>>>>>>>>>             String[] splitcats = cats.split(",");
>>>>>>>>>             for (int i=0; i<splitcats.length; i++) {
>>>>>>>>>                 WeblogCategory c = new WeblogCategory(
>>>>>>>>>                         newWeblog,       // newWeblog
>>>>>>>>>                         splitcats[i],    // name
>>>>>>>>>                         splitcats[i],    // description
>>>>>>>>>                         null );          // image
>>>>>>>>>                 if (i == 0) {
>>>>>>>>>                     firstCat = c;
>>>>>>>>>                 }
>>>>>>>>> System.out.println("====Cats==="+c);
>>>>>>>>>                 c.getWeblogCategories().add(c); //previously 
>>>>>>>>> it was root.getWeblogCategories.add(c);
>>>>>>>>>                 this.strategy.store(c);
>>>>>>>>>             }
>>>>>>>>>         }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> [EL Warning]: 2014-01-05 
>>>>>>>>> 17:15:22.179--ClientSession(1956103136)--Exception 
>>>>>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: 
>>>>>>>>> Table/View 'CATEGORY_CATEGORY' does not exist.
>>>>>>>>> Error Code: 20000
>>>>>>>>> Call: INSERT INTO category_category (weblogCategories_id, 
>>>>>>>>> WeblogCategory_id) VALUES (?, ?)
>>>>>>>>>     bind => [2 parameters bound]
>>>>>>>>> Query: DataModifyQuery(name="weblogCategories" sql="INSERT 
>>>>>>>>> INTO category_category (weblogCategories_id, 
>>>>>>>>> WeblogCategory_id) VALUES (?, ?)")
>>>>>>>>> *
>>>>>>>>>
>>>>>>>>> *Also I tried making new ArrayList and new getter setter in 
>>>>>>>>> WeblogCategory class, still I got same error.
>>>>>>>>>     List<WeblogCategory> catsss = new 
>>>>>>>>> ArrayList<WeblogCategory>();
>>>>>>>>>     catsss.add(c);
>>>>>>>>>     c.setList(catsss);
>>>>>>>>> System.out.println("======"+catsss+"============"+c.getList());
>>>>>>>>>
>>>>>>>>> Got this error, after adding Arraylist.
>>>>>>>>>
>>>>>>>>> [EL Warning]: 2014-01-05 
>>>>>>>>> 19:42:56.209--ClientSession(1732472947)--Exception 
>>>>>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: 
>>>>>>>>> Table/View 'CATEGORY_CATEGORY' does not exist.
>>>>>>>>> Error Code: 20000
>>>>>>>>> Call: INSERT INTO category_category (list_id, 
>>>>>>>>> WeblogCategory_id) VALUES (?, ?)
>>>>>>>>>     bind => [2 parameters bound]
>>>>>>>>> Query: DataModifyQuery(name="list" sql="INSERT INTO 
>>>>>>>>> category_category (list_id, WeblogCategory_id) VALUES (?, ?)")
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> Gaurav
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Sunday 05 January 2014 05:30 AM, Glen Mazza wrote:
>>>>>>>>>> Hi Gaurav, did you try a "control" with your file search 
>>>>>>>>>> method? I.e., you're saying you're case-insensitive searching 
>>>>>>>>>> on "category_category" but nothing is getting returned -- did 
>>>>>>>>>> you try also searching something that you *know* exists in 
>>>>>>>>>> the project (say, "class", "public", "return", etc.) and your 
>>>>>>>>>> IDE/search method indeed did return lots of matches?  Because 
>>>>>>>>>> if you get zero search results with the latter we know the 
>>>>>>>>>> problem is with the way you're configuring your search, not 
>>>>>>>>>> the non-existence of "category_category".  (Also are you 
>>>>>>>>>> searching on every type of file extension, not just .java 
>>>>>>>>>> files?)
>>>>>>>>>>
>>>>>>>>>> Somewhere in your code the JPA layer has decided to calculate 
>>>>>>>>>> "category_category" as a table name, I would guess because 
>>>>>>>>>> that's what is exactly in the code someplace (as you can see 
>>>>>>>>>> the query below generated "...FROM category_category t0, 
>>>>>>>>>> category t1..."). One useful experiment might be to rename 
>>>>>>>>>> the "category" table (t1) above to "category2" -- would the 
>>>>>>>>>> SQL above change to "category2_category2, category2..." or (I 
>>>>>>>>>> think) "...FROM category_category t0, category2 t1...") If 
>>>>>>>>>> the former, that would indicate that "category2_category2" is 
>>>>>>>>>> being dynamically generated from the "category2" table name. 
>>>>>>>>>> If the latter, that would mean "category_category" is 
>>>>>>>>>> hardcoded somewhere and not related to the "category" table 
>>>>>>>>>> name you've properly configured.
>>>>>>>>>>
>>>>>>>>>> I probably won't be able to get to this until next weekend 
>>>>>>>>>> anyway, so I'm going to have you finish it, also as a 
>>>>>>>>>> confidence-builder for you (if you let JPA push you around 
>>>>>>>>>> now, it's always going to bully you...  :)
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Glen
>>>>>>>>>>
>>>>>>>>>> PS:  Just to clarify, when an pre-5.1-SNAPSHOT user installs 
>>>>>>>>>> Roller 5.1-SNAPSHOT, the Roller startup should automatically 
>>>>>>>>>> detect that the system is currently using an older Roller 
>>>>>>>>>> database and do the database upgrade (creating of new the 
>>>>>>>>>> "category" table and prepopulation of it).  Roller has always 
>>>>>>>>>> done this as so long as you put the necessary migration 
>>>>>>>>>> scripts in the right place there should be no problem. 
>>>>>>>>>> However, those of us already on 5.1-SNAPSHOT like myself 
>>>>>>>>>> before your patch will need to manually create that table in 
>>>>>>>>>> our database (the Roller script won't notice 
>>>>>>>>>> 5.1-SNAPSHOT-->5.1-SNAPSHOT, so won't create "category" by 
>>>>>>>>>> itself.)  No problem, we'll just figure out the necessary SQL 
>>>>>>>>>> statements for Dave and he can add it to his Roller project 
>>>>>>>>>> blog.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 01/04/2014 04:47 PM, Gaurav wrote:
>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>
>>>>>>>>>>> I searched whole project and did not find anywhere. I think 
>>>>>>>>>>> might be I have done something wrong, as when I start with 
>>>>>>>>>>> new database, everything work just deleting gives me this 
>>>>>>>>>>> error. If I work on old database it even did not start up 
>>>>>>>>>>> (localhost:8080/roller) gives my below error.
>>>>>>>>>>>
>>>>>>>>>>> I have checked almost everything I can, might be some wrong 
>>>>>>>>>>> java code and anything I done wrong that causes this. Should 
>>>>>>>>>>> I submit by work so you can look on to it, or if we are not 
>>>>>>>>>>> in any hurry than I can look into it again step by step (I 
>>>>>>>>>>> prefer second option if we have one more week. Just another 
>>>>>>>>>>> week or so, next week i have some tight schedule). I know I 
>>>>>>>>>>> am taking too much time, but I am new to this level of Java 
>>>>>>>>>>> code, as I worked maximum time at client side. But I really 
>>>>>>>>>>> loving java code and learned a lot till now, before this I 
>>>>>>>>>>> just worked with Java on small projects. OpenSource Projects 
>>>>>>>>>>> really are very powerful and good way to learn new things.
>>>>>>>>>>>
>>>>>>>>>>> Exception [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException 
>>>>>>>>>>> Internal Exception: 
>>>>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
>>>>>>>>>>> 'roller.category_category' doesn't exist Error Code: 1146 
>>>>>>>>>>> Call: SELECT t1.id, t1.description, t1.image, t1.name, 
>>>>>>>>>>> t1.websiteid FROM category_category t0, category t1 WHERE 
>>>>>>>>>>> ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>>>>>>>>>> t0.weblogCategories_id)) bind => [1 parameter bound] Query: 
>>>>>>>>>>> ReadAllQuery(name="weblogCategories" 
>>>>>>>>>>> referenceClass=WeblogCategory sql="SELECT t1.id, 
>>>>>>>>>>> t1.description, t1.image, t1.name, t1.websiteid FROM 
>>>>>>>>>>> category_category t0, category t1 WHERE 
>>>>>>>>>>> ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>>>>>>>>>> t0.weblogCategories_id))")
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>> Gaurav
>>>>>>>>>>>
>>>>>>>>>>> On Sunday 05 January 2014 12:00 AM, Glen Mazza wrote:
>>>>>>>>>>>> Hi Gaurav, no, that relation shouldn't be needed anymore.
>>>>>>>>>>>>
>>>>>>>>>>>> As for the table name, at the top of your orm.xml file the 
>>>>>>>>>>>> table name the file maps against is declared -- perhaps you 
>>>>>>>>>>>> accidentally called it category_category. I would grep or 
>>>>>>>>>>>> use a file search from your IDE of your entire roller 
>>>>>>>>>>>> source code, looking for where category_category is being 
>>>>>>>>>>>> declared -- (probably) has to be there someplace. (More 
>>>>>>>>>>>> specifically, do a file search on "DataModifyQuery" -- 
>>>>>>>>>>>> that's probably exactly where the problem is.)
>>>>>>>>>>>>
>>>>>>>>>>>> Once working, try to import the latest code changes into 
>>>>>>>>>>>> your code before submitting a patch (actually create a 
>>>>>>>>>>>> backup patch first just in case).  Not sure but I think a 
>>>>>>>>>>>> simple svn update will do -- svn will identify some files 
>>>>>>>>>>>> where it will need your assistance to resolve any 
>>>>>>>>>>>> differences -- it shouldn't be too hard or time-consuming 
>>>>>>>>>>>> to do.
>>>>>>>>>>>>
>>>>>>>>>>>> Regards,
>>>>>>>>>>>> Glen
>>>>>>>>>>>>
>>>>>>>>>>>> On 01/04/2014 08:55 AM, Gaurav wrote:
>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I just want to know that the below relations in 
>>>>>>>>>>>>> WeblogCategory.orm.xml are required or not as now the 
>>>>>>>>>>>>> parent is not used so, I don't think its needed now. I 
>>>>>>>>>>>>> have commented the below lines.
>>>>>>>>>>>>>
>>>>>>>>>>>>> <many-to-one name="parent" 
>>>>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category">
>>>>>>>>>>>>>                 <join-column name="parentid" 
>>>>>>>>>>>>> insertable="true" updatable="true" nullable="true"/>
>>>>>>>>>>>>>             </many-to-one>
>>>>>>>>>>>>>             <one-to-many name="weblogCategories" 
>>>>>>>>>>>>> mapped-by="parent" 
>>>>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category" 
>>>>>>>>>>>>> fetch="LAZY">
>>>>>>>>>>>>>                 <cascade>
>>>>>>>>>>>>> <cascade-remove/>
>>>>>>>>>>>>>                 </cascade>
>>>>>>>>>>>>>             </one-to-many>
>>>>>>>>>>>>>             <transient name="inUse"/>
>>>>>>>>>>>>>
>>>>>>>>>>>>> I asked this because, getting categories giving me mysql 
>>>>>>>>>>>>> exception. The new table is 'roller.category' but it 
>>>>>>>>>>>>> executes for 'roller.category_category'.
>>>>>>>>>>>>> I am not able to get what I have done wrong.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Internal Exception: 
>>>>>>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
>>>>>>>>>>>>> 'roller.category_category' doesn't exist
>>>>>>>>>>>>> Error Code: 1146
>>>>>>>>>>>>> Call: DELETE FROM category_category WHERE 
>>>>>>>>>>>>> (WeblogCategory_id = ?)
>>>>>>>>>>>>>     bind => [1 parameter bound]
>>>>>>>>>>>>> Query: DataModifyQuery(name="weblogCategories" sql="DELETE 
>>>>>>>>>>>>> FROM category_category WHERE (WeblogCategory_id = ?)")
>>>>>>>>>>>>>
>>>>>>>>>>>>> Also, I have changed the getWeblogCategoryByPath to 
>>>>>>>>>>>>> getWeblogCategoryByName so feeds and other places work 
>>>>>>>>>>>>> fine. I have able to get catgeory list, new entries are 
>>>>>>>>>>>>> creating successfully. Just deleting the weblog is giving 
>>>>>>>>>>>>> me above error.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I have already deleted getPath and getParent and in the 
>>>>>>>>>>>>>> mid of everything. I hope I will be able to complete this 
>>>>>>>>>>>>>> by Monday. If still, I get some major issues due to this, 
>>>>>>>>>>>>>> I will switch to what you suggested. Just give me time 
>>>>>>>>>>>>>> till Monday, as I have done almost 80% of code cleaned 
>>>>>>>>>>>>>> regarding the path and parentcategory. I will get back to 
>>>>>>>>>>>>>> you soon with some patches and then you can test it.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Also, my ICLA have been filed, got the receipt of my ICLA.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>> Gaurav, sorry, it just occurred to me there's a simpler 
>>>>>>>>>>>>>>> intermediate step that can be done. While we need the 
>>>>>>>>>>>>>>> database table without a path column, and to remove the 
>>>>>>>>>>>>>>> "path" member *variable* from WeblogCategory (or its 
>>>>>>>>>>>>>>> replacement), we can still keep indefinitely keep 
>>>>>>>>>>>>>>> getPath(), just hardcode it to "/" + categoryName, which 
>>>>>>>>>>>>>>> is precisely what the old code returns for any top-level 
>>>>>>>>>>>>>>> category--the rest of the system can stay just as it did 
>>>>>>>>>>>>>>> before. Switching the rest of the code from getPath() to 
>>>>>>>>>>>>>>> using getName() can be done at any time, bit by bit 
>>>>>>>>>>>>>>> whenever, that's not necessary to implement positioning, 
>>>>>>>>>>>>>>> that's just a code cleanup issue. Likewise, for 
>>>>>>>>>>>>>>> WeblogCategory.getParent(), it may be as simple as 
>>>>>>>>>>>>>>> adding a root category object as part of the Weblog's 
>>>>>>>>>>>>>>> constructor (but not saved to the database), and having 
>>>>>>>>>>>>>>> WeblogCategory.getParent() just return 
>>>>>>>>>>>>>>> website.getParentCategory()--that way all categories for 
>>>>>>>>>>>>>>> a weblog will have the same root category as before, and 
>>>>>>>>>>>>>>> the rest of the code base should function fine.  Once 
>>>>>>>>>>>>>>> we're on the new table, then it's an issue of 
>>>>>>>>>>>>>>> implementing positioning--getting rid of getParent() and 
>>>>>>>>>>>>>>> getPath() can be done by anybody at a later date.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>> No problem, I'm available to help (or finish it up) if 
>>>>>>>>>>>>>>>> needed.  For a seemingly simple switch, you're 
>>>>>>>>>>>>>>>> certainly getting a *full* education of the Roller 
>>>>>>>>>>>>>>>> codebase.  :)
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> BTW, I hope you're not testing via mvn jetty:run, as 
>>>>>>>>>>>>>>>> that requires you to keep logging in for the first 
>>>>>>>>>>>>>>>> time, creating a blog for the first time, etc., 
>>>>>>>>>>>>>>>> whenever you start it. Very inefficient and tiring. 
>>>>>>>>>>>>>>>> Normally I just build (mvn clean install) and dump the 
>>>>>>>>>>>>>>>> WAR into standalone Tomcat on my local machine. The 
>>>>>>>>>>>>>>>> database & other configuration I keep permanently in 
>>>>>>>>>>>>>>>> roller-custom.properties in the Tomcat lib/ folder, so 
>>>>>>>>>>>>>>>> the new WAR just takes over with the same 
>>>>>>>>>>>>>>>> configuration, blogs, accounts, etc., that old WAR was 
>>>>>>>>>>>>>>>> using. (Check the Roller install guide for full 
>>>>>>>>>>>>>>>> instructions.)
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Also vital is that you know how to debug/trace Roller 
>>>>>>>>>>>>>>>> code in Eclipse or IntelliJ while it is running on 
>>>>>>>>>>>>>>>> Tomcat (or another servlet container). It's much 
>>>>>>>>>>>>>>>> simpler than it seems, and will save you a lot of time. 
>>>>>>>>>>>>>>>> These instructions are for Eclipse but Intellij (my 
>>>>>>>>>>>>>>>> preference) is basically the same: 
>>>>>>>>>>>>>>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>>>>>>>>>>>>>>>> Checking variable values while it's running will point 
>>>>>>>>>>>>>>>> you to where problems are much more quickly.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Happy New Year!
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> As, I previously told you that the test cases are 
>>>>>>>>>>>>>>>>> giving problem, actually I think we have to do some 
>>>>>>>>>>>>>>>>> changes in Test Cases also, as many of the methods 
>>>>>>>>>>>>>>>>> involving path and parent are removed so, many times 
>>>>>>>>>>>>>>>>> in test cases (it did not get correct values and give 
>>>>>>>>>>>>>>>>> errors).
>>>>>>>>>>>>>>>>> I have successfully showed the categories by website 
>>>>>>>>>>>>>>>>> till now in the admin section. Also, the entries are 
>>>>>>>>>>>>>>>>> saved just, I ran out of memory issue in happen when I 
>>>>>>>>>>>>>>>>> save an entry that entry, although it get saved when I 
>>>>>>>>>>>>>>>>> refresh the page.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Also, as their is not path now, we have to do some 
>>>>>>>>>>>>>>>>> changes in velocity files, as feeds are giving error 
>>>>>>>>>>>>>>>>> in showing, although if I direct enter the URL its 
>>>>>>>>>>>>>>>>> working fine. I have cleared many parts of the code, 
>>>>>>>>>>>>>>>>> just I have test of the roller parts which are linked 
>>>>>>>>>>>>>>>>> the path and parent. I am thinking of correcting the 
>>>>>>>>>>>>>>>>> test cases, as I can run them and if test cases are 
>>>>>>>>>>>>>>>>> fine then might be everything will work fine.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I will return to work on this after 3 days, as I will 
>>>>>>>>>>>>>>>>> be and will get be to it during coming weekend again. 
>>>>>>>>>>>>>>>>> I will wrap this out asap for you to test and will 
>>>>>>>>>>>>>>>>> attach patches coming weekend.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>> Thanks for that info, I have changed my settings in 
>>>>>>>>>>>>>>>>>> the eclipse.
>>>>>>>>>>>>>>>>>> Yes, you are right I will leave the ordering part for 
>>>>>>>>>>>>>>>>>> now and work on clearing the code for now. For now I 
>>>>>>>>>>>>>>>>>> will just add a column in category table with 
>>>>>>>>>>>>>>>>>> position, leaving it null for now.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>> Your last ImprovedCreateUser.patch had some tab 
>>>>>>>>>>>>>>>>>>> characters in it, and our project uses spaces for 
>>>>>>>>>>>>>>>>>>> tabs (just have Eclipse insert 4 spaces whenever you 
>>>>>>>>>>>>>>>>>>> hit the tab key, with no tab characters.) Very few 
>>>>>>>>>>>>>>>>>>> Apache projects (any?) are tab-indented today. It is 
>>>>>>>>>>>>>>>>>>> a simple fix with IntelliJ IDEA (Edit -> Convert 
>>>>>>>>>>>>>>>>>>> Indents -> To Spaces), I'm sure Eclipse has an 
>>>>>>>>>>>>>>>>>>> equivalent.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> For blogs migrating from pre-5.1 versions, we can 
>>>>>>>>>>>>>>>>>>> keep the position NULL by default (and when you 
>>>>>>>>>>>>>>>>>>> order by position, with null values, they will come 
>>>>>>>>>>>>>>>>>>> out in any order, like they do today.) Whenever a 
>>>>>>>>>>>>>>>>>>> new blog is created with the default three 
>>>>>>>>>>>>>>>>>>> categories, those can be assigned positions 
>>>>>>>>>>>>>>>>>>> (probably 0-based for leftmost is best.) For 
>>>>>>>>>>>>>>>>>>> migrated blogs, once the user goes to the category 
>>>>>>>>>>>>>>>>>>> page and makes a change for the first time, numbers 
>>>>>>>>>>>>>>>>>>> can be written for the very first time--no special 
>>>>>>>>>>>>>>>>>>> extra UI is needed for this purpose. But like I was 
>>>>>>>>>>>>>>>>>>> saying, this is such a lengthy patch you may wish to 
>>>>>>>>>>>>>>>>>>> forget about the ordering right now--it doesn't work 
>>>>>>>>>>>>>>>>>>> anyway in Roller right now. It may be best to get us 
>>>>>>>>>>>>>>>>>>> to the new table and get rid of the paths, and once 
>>>>>>>>>>>>>>>>>>> we're on that firmer foundation implementing 
>>>>>>>>>>>>>>>>>>> positioning (on the Category page and in the 
>>>>>>>>>>>>>>>>>>> templates) will be much simpler.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> I will change the position to be integer, and will 
>>>>>>>>>>>>>>>>>>>> exclude the category where parent null, but still 
>>>>>>>>>>>>>>>>>>>> what can be done for the position as the old data 
>>>>>>>>>>>>>>>>>>>> did not have position, so how and on what basis we 
>>>>>>>>>>>>>>>>>>>> have to add position to it. I was thinking that we 
>>>>>>>>>>>>>>>>>>>> can left it as null, and provide some UI in backend 
>>>>>>>>>>>>>>>>>>>> where user can assign position themselves.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> I will take care of spacing, will search what I am 
>>>>>>>>>>>>>>>>>>>> doing wrong. As, I am not sure is that you are 
>>>>>>>>>>>>>>>>>>>> talking about formatting the code, or anything 
>>>>>>>>>>>>>>>>>>>> else. As I use tab (with 4 spaces) in Eclipse IDE.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>> BTW, not to be hated, but make sure any code you 
>>>>>>>>>>>>>>>>>>>>> submit is space-padded (4 spaces), *not* 
>>>>>>>>>>>>>>>>>>>>> tab-padded. Your IDE should be able to convert it 
>>>>>>>>>>>>>>>>>>>>> for you if you've been doing tab-padding.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> I am confused on how to add and on what basis we 
>>>>>>>>>>>>>>>>>>>>>> have to addd position to the new category table. 
>>>>>>>>>>>>>>>>>>>>>> Below two sql commands can be used for coping 
>>>>>>>>>>>>>>>>>>>>>> data and deleting the root categories.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> create table category (
>>>>>>>>>>>>>>>>>>>>>>     id varchar(48) not null primary key,
>>>>>>>>>>>>>>>>>>>>>>     name varchar(255) not null,
>>>>>>>>>>>>>>>>>>>>>>     description varchar(255),
>>>>>>>>>>>>>>>>>>>>>>     websiteid varchar(48) not null,
>>>>>>>>>>>>>>>>>>>>>>     image varchar(255),
>>>>>>>>>>>>>>>>>>>>>>     position varchar(48)
>>>>>>>>>>>>>>>>>>>>>> );
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> insert into 
>>>>>>>>>>>>>>>>>>>>>> category(id,name,description,websiteid,image) 
>>>>>>>>>>>>>>>>>>>>>> select id,name,description,websiteid,image from 
>>>>>>>>>>>>>>>>>>>>>> weblogcategory;
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> delete from category where name="root";
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> What do you suggest for this ?
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>> Take your time, this is a messy change as it 
>>>>>>>>>>>>>>>>>>>>>>> affects many areas of the code. But Roller will 
>>>>>>>>>>>>>>>>>>>>>>> be architecturally much more solid and simpler 
>>>>>>>>>>>>>>>>>>>>>>> once this change is done.  I have your ROL-1616 
>>>>>>>>>>>>>>>>>>>>>>> and ROL-1982 on my plate for this weekend.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I have deleted the path and all related 
>>>>>>>>>>>>>>>>>>>>>>>> methods, but its seems to me that the path 
>>>>>>>>>>>>>>>>>>>>>>>> methods like (getWeblogCategoryByPath) and many 
>>>>>>>>>>>>>>>>>>>>>>>> other path and parent related methods, are 
>>>>>>>>>>>>>>>>>>>>>>>> scattered over the whole roller. There are many 
>>>>>>>>>>>>>>>>>>>>>>>> occurrence of these methods and I have to sort 
>>>>>>>>>>>>>>>>>>>>>>>> out each piece of code as now there is no path 
>>>>>>>>>>>>>>>>>>>>>>>> so, mostly we check for categoryPath != null in 
>>>>>>>>>>>>>>>>>>>>>>>> if conditions, so these are no longer needed.
>>>>>>>>>>>>>>>>>>>>>>>> Also, I as thinking after testing and 
>>>>>>>>>>>>>>>>>>>>>>>> completing this we can delete the 
>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory and replace with Category 
>>>>>>>>>>>>>>>>>>>>>>>> method, as it will be clean. I also figured out 
>>>>>>>>>>>>>>>>>>>>>>>> why my tests are failing as during creating of 
>>>>>>>>>>>>>>>>>>>>>>>> weblogentry it did not find the categories, as 
>>>>>>>>>>>>>>>>>>>>>>>> that class was using old WeblogCategory table 
>>>>>>>>>>>>>>>>>>>>>>>> and using that class methods. I think I will 
>>>>>>>>>>>>>>>>>>>>>>>> definitely will figure out everything at the 
>>>>>>>>>>>>>>>>>>>>>>>> end and will successfully test with the unit 
>>>>>>>>>>>>>>>>>>>>>>>> tests.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I am now in the editor part so can display the 
>>>>>>>>>>>>>>>>>>>>>>>> categories on front end, I am now all over the 
>>>>>>>>>>>>>>>>>>>>>>>> 1-2-3-4 steps you mentioned. As soon as I will 
>>>>>>>>>>>>>>>>>>>>>>>> able to display the categories (small issues 
>>>>>>>>>>>>>>>>>>>>>>>> left) at the backend, I will again go through 
>>>>>>>>>>>>>>>>>>>>>>>> my changes. Also, at this time I can only 
>>>>>>>>>>>>>>>>>>>>>>>> create patch for new table and migration 
>>>>>>>>>>>>>>>>>>>>>>>> script, as all other classes code are 
>>>>>>>>>>>>>>>>>>>>>>>> interrelated so can't submit now. I will test 
>>>>>>>>>>>>>>>>>>>>>>>> every single thing related to categories, then 
>>>>>>>>>>>>>>>>>>>>>>>> I will submit my patches.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Although I have learned a lot new things, just 
>>>>>>>>>>>>>>>>>>>>>>>> spent last two full days on this sorting out 
>>>>>>>>>>>>>>>>>>>>>>>> things, many times ending up nowhere from where 
>>>>>>>>>>>>>>>>>>>>>>>> I started. But I am confident that I will 
>>>>>>>>>>>>>>>>>>>>>>>> definitely complete this task. Just I am 
>>>>>>>>>>>>>>>>>>>>>>>> worrying that I must be taking too much time.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> If there is something, you can advice me I 
>>>>>>>>>>>>>>>>>>>>>>>> would happy to follow that also.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> If it helps, you can provide interim patches, 
>>>>>>>>>>>>>>>>>>>>>>>>> so long as it doesn't break the current code 
>>>>>>>>>>>>>>>>>>>>>>>>> base. You may want to create a patch just 
>>>>>>>>>>>>>>>>>>>>>>>>> creating the new database table (which will be 
>>>>>>>>>>>>>>>>>>>>>>>>> ignored by the current code) and sql 
>>>>>>>>>>>>>>>>>>>>>>>>> insert-select scripts to move from the current 
>>>>>>>>>>>>>>>>>>>>>>>>> table to the new one, then one converting the 
>>>>>>>>>>>>>>>>>>>>>>>>> code to using the new table without sorting, 
>>>>>>>>>>>>>>>>>>>>>>>>> then (finally) one that implements sorting of 
>>>>>>>>>>>>>>>>>>>>>>>>> the categories.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> I have created and updated all necessary 
>>>>>>>>>>>>>>>>>>>>>>>>>> files in JPA and for database, I tried 
>>>>>>>>>>>>>>>>>>>>>>>>>> compiling the code it gave me errors in test 
>>>>>>>>>>>>>>>>>>>>>>>>>> cases. As I am not sure that what I am wrong 
>>>>>>>>>>>>>>>>>>>>>>>>>> in this. Although I tried compiling without 
>>>>>>>>>>>>>>>>>>>>>>>>>> running test cases, it worked fine. I tested 
>>>>>>>>>>>>>>>>>>>>>>>>>> it with tomcat and new table category is 
>>>>>>>>>>>>>>>>>>>>>>>>>> created and initial category (General, 
>>>>>>>>>>>>>>>>>>>>>>>>>> Finance and Technology) are created with the 
>>>>>>>>>>>>>>>>>>>>>>>>>> position 1,2,3. Still there are many thing I 
>>>>>>>>>>>>>>>>>>>>>>>>>> have to clean up and sort out and will test 
>>>>>>>>>>>>>>>>>>>>>>>>>> it again.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, Gaurav 
>>>>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> Ok, got your point. I will check on other 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller parts also if parent name and path 
>>>>>>>>>>>>>>>>>>>>>>>>>>> aren't be using in any other part of Roller. 
>>>>>>>>>>>>>>>>>>>>>>>>>>> I will go into the RSS and Atom feeds later 
>>>>>>>>>>>>>>>>>>>>>>>>>>> on, and see what changes it need. As, till 
>>>>>>>>>>>>>>>>>>>>>>>>>>> now I have changed many files and created 
>>>>>>>>>>>>>>>>>>>>>>>>>>> some, so will first test this part then go 
>>>>>>>>>>>>>>>>>>>>>>>>>>> into that feeds part.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Sounds good, but may require more work to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> make sure all is good with the RSS and Atom 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> feeds as a result (which I believe rely on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> path). Where path is used to check for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> equivalence, I guess name (and blog/website 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> ID, if necessary) alone will do now. We may 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> need to check (if we aren't already) that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> no two categories have the same name, where 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> prior we were checking that no two paths 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> are the same (i.e., allowing category paths 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> USStates/Georgia and Countries/Georgia but 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> now needing to disallow two categories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> named "Georgia".)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am thinking of removing the path coloumn 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> also, as it does not make sense now as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> there will no subcategories and all will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have same path (like /categoryname). WDYT ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I want to know as now all the categories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will be top level, so the root category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> which is created by default on addWeblog 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> isn't needed. So, I can remove that code 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> also ? I am in half completed with the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1-2 steps will soon submit some patched 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in jira issue. You can look on to them 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whenever you will get time from other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> projects.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on this, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I understand your commitments. As this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will give me more time on working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this issue. I will give my 100% on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this, as I also want to get into more 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and more open source projects. For Now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am focusing on Roller for starting my 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> contributions in open source.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 AM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I can't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> help much right now either, as my 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> other project JSPWiki has a new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> release going out.) But please be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> patient with us on your recent 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> submitted patches -- we haven't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> forgotten you and are happy with your 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> efforts on this project so far, we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> just have full-time jobs and, even 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> after that, other obligations -- for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> open source work, we usually have to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> beg, borrow and steal time to work on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> them.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am going through this having some 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> issues, although not major till now. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have still working on 1-2 steps, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> might be I am slow as get less time. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (Wish we also have holidays of this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> festive season in India :P) Just want 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to know isn't there any hurry for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> completing this asap ? Although, I am 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sure will definitely complete this as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have understood the structure of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller completely. Just I have to go 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> through the JPA more and read about 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> missing will become apparent to you 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as you work along. The Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> installation guide and here 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can show you how to test also with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Derby if you'd like. (It is usually 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simpler than MySQL, and another 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> benefit of working on Roller is that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you become multiple-database-lingual 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> very quickly.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with this much deep information, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can start working in it. I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> started working on this Issue and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have followed your steps.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb.vm and in migration 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> scripts also. I have for mow stared 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> working on MySQL.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> class, I have commented 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> now Category.orm.xml and enterd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> details of new table. A new class 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Category in weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created new files for now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and will work on this and add new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> position coloum and code regarding 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this. Other than UI and template 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Layer, I think I have covered all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> files on which I have to work on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the Database and JPA layers ? 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Please tell me if I am wrong 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> anywhere or following wrong workflow.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for our 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> database scripts -- you see a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb.vm plus migration scripts 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (5.0 to 5.1) -- we'll want our 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> change in both places (IIRC), new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> users have the createdb run and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller upgraders with their 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> current DB's have the 5.0 to 5.1 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> migration script run.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I'd like to get this done right (I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> plan on helping out where you'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like). Namely, we've moved from a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical category structure 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (categories having subcategories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> having their own subcatorgories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> etc.) to a flat single-level 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structure (all categories are top 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> level) -- that was done a week or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> so back. Problem is, the database 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tables are still assuming 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical (they will work with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat structures but are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> overkill--we don't need a parent 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ID column anymore.) Also, the JPA 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> objects are designed for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical but can simplified a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bit more to flat structure. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Incidentally, "sequenceNum" is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ambiguous about what it means, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> would say "position" or "ordering" 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (INT null, null for migrators who 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> don't yet have a position defined) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> is clearer.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to handle 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this--for both new installers and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table, say "category" designed 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> precisely as we need, and have the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> migration scripts select from the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> old weblogcategory and insert into 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the new category table. (We then 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ignore the weblogcategory table.) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We'll need to test the scripts 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with at least two databases (2 of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> probably MySQL, Derby and/or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PostgreSQL) and guess for the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> others--if we're wrong the user 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> community can supply a patch 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> fixing it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> object (the old WeblogCategory) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as it's 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> now flat-level. Indeed, I think 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> things will get a *lot* simpler 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> here, as it may just be the parent 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Weblog holding a list of some sort 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> of Category objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp (or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whatever it's called) and its 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Struts action class will now need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to use the new Category object 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (and table) instead of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory. The UI page will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need two changes: (1) all new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories will be placed (and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> saved) at the bottom of the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category list (and as result, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> appear last (right-most) in the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category list, and, later (2) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> probably have up and down buttons 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in the table allowing users to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> easily reorder the categories as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> they like. (Strictly speaking, 1 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> alone is all that's needed for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ordering, as you can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> remove/name/delete/recreate 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories to eventually get them 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in the position you'd like, but 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (2) of course is much nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't looked 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> into this): The templates 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (probably just a macro or two) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will need updating to ensure that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> they output the category names per 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the new position order.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> advantage is that I'd like to do 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the same thing with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks/blogrolls (team 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discussion pending...), switch 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> from a hierarchical to flat-level 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for those too.  If we can do this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for categories, the logic/UI 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> design, etc., will carry over 100% 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getting to this myself, so am 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> available to work with you on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whatever parts you'd like. I think 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> going in order 1-2-3-4 and having 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> separate commits may be the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> cleanest way of doing this. What's 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> nice about using a brand new table 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and JPA object is that the old 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> objects can still work in the code 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> while we're creating the new, we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> just don't activate the new until 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the very end.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team members 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> on the above ideas...?) Or are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> there other Roller tasks you'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like to sink your teeth into 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> instead? I can look at this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> otherwise, but this looks like a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> very good exercise for someone 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> wanting to get more involved in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller, as it covers all the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> layers of the webapp.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ROL-1981, as discussed in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> previous discussion threads I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will add new column sequenceNum 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in weblogcategory table. Then we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can assign sequenceNum to each 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category according to websideid. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> If anyone have some ideas 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> regarding this, please help me. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, need some help on how to go 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with this issue, and how to add 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new coloum, I found .sql file, do 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I need to add there new column. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, Is this possible that that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> when I restart the roller it will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> add new column to database ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>


Re: (another idea) Re: ROL-1981 Category ordering

Posted by Gaurav <ga...@gmail.com>.
Hello Glen,

I am still not able to correct the maven tests, if I run the tests they 
gave some errors, Actually as in many tests they are using root category 
for testing, I have also changed and commented some test cases still not 
successful in it.

I am working and studying about the test cases (jUnit), what you suggest 
I should do to correct the test cases ?

Thanks
Gaurav

On Saturday 11 January 2014 05:01 PM, Glen Mazza wrote:
> Great! Looking forward to seeing the patch.
>
> Glen
>
> On 01/11/2014 03:18 AM, Gaurav wrote:
>> Hello Glen,
>>
>> I just got fixed that issue :). Thanks for all your help. I am done 
>> with all the issues and into thee final testing of the weblog all 
>> features.
>>
>> Thanks
>> Gaurav
>>
>>
>> On Saturday 11 January 2014 12:20 PM, Gaurav wrote:
>>> Hello Glen,
>>>
>>> I still did not able to get what I should do next, as you told that 
>>> showWeblogCategoryLinksList($rootCategory false false) only bring 
>>> the toplevel categories, it because we specify the $rootCategory 
>>> each time, so automatically rootCategory child will always going to 
>>> be top level categories.
>>>
>>> Actually, my issue is that If I retain the method 
>>> getWeblogCategories() in WeblogCategory.java and return a Set of 
>>> type WeblogCategory then I have to do a mapping of that Set in 
>>> orm.xml like it was previously done
>>>
>>> <one-to-many name="weblogCategories" mapped-by="parent" 
>>> target-entity="org.apache.roller.weblogger.pojos.Weblog" 
>>> fetch="LAZY"> </one-to-many>)
>>>
>>> So, it was previouly mapped by parent, and as now we did not have 
>>> any parent, I tried with website but it gave me error as might be 
>>> because its target-entity is different. I am really out of ideas.
>>>
>>> I was thinking of start submitting patches of my work till now, as 
>>> just this issue of showing categories at blog is left.
>>>
>>> Thanks
>>> Gaurav
>>>
>>> On Wednesday 08 January 2014 08:42 AM, Glen Mazza wrote:
>>>> Hi Gaurav, weblog.weblogCategories should still exist as probably a 
>>>> Set of some sort (Set because of no duplicate Categories allowed), 
>>>> a List is another option.  A weblog does own a collection of 
>>>> categories even with the change. What should not exist is some 
>>>> child set of categories under each category--any code asking for 
>>>> the latter can be removed because there are never any subcategories 
>>>> under a category anymore.
>>>>
>>>> Might you be getting confused with this code?
>>>>     #set($categories = $weblog.weblogCategories )
>>>>     #foreach( $cat in $categories )
>>>>
>>>> The above should be fine, you're not for-eaching child categories 
>>>> under the *category* but under the *weblog*.
>>>>
>>>> Grepping the code for "#showWeblogCategoryLinksList", is showing 
>>>> that this is its most common usage:
>>>>
>>>> #showWeblogCategoryLinksList($rootCategory false false)
>>>>
>>>> I.e., just show the top-level categories with no subcategories. 
>>>> With the new code, all three params are useless now.
>>>>
>>>> I think what we need to do is create a new macro:
>>>>
>>>> #showWeblogCategoryLinksList
>>>> that does the same as
>>>> #showWeblogCategoryLinksList($rootCategory false false)
>>>>
>>>> And, for backward compatibility (at least so it compiles), have 
>>>> this macro:
>>>>
>>>> (A) #showWeblogCategoryLinksList($categoryObj $expanding $subcats)
>>>> ignore all three of its arguments and just call
>>>> (B) #showWeblogCategoryLinksList
>>>>
>>>> So (A) will be a deprecated method to be pulled out at a future 
>>>> time (maybe in 5.1) -- we'll have to update each of our templates 
>>>> that currently call (A) to have them call (B) instead -- a simple 
>>>> change to make.
>>>>
>>>> I'm not sure if I'm answering your questions but I think this might 
>>>> be what you're getting at.
>>>>
>>>> Regards,
>>>> Glen
>>>>
>>>>
>>>> On 01/07/2014 04:35 PM, Gaurav wrote:
>>>>> Hello Glen,
>>>>>
>>>>> I am completed with the Database, JPA, UI Layer. I have tested all 
>>>>> possible ways by creating, deleting, updating entries, categories 
>>>>> and also the complete weblog.
>>>>> The only single issue left is in Template Layer. Actually in 
>>>>> weblog.vm file for iterating categories list for menu and feeds, 
>>>>> it uses ($weblog.weblogCategories). It try getting list from 
>>>>> WeblogCategory method getWeblogCategories() and wrapping up with 
>>>>> WeblogCategoryWrapper and WeblogWrapper classes. But as this 
>>>>> method is no longer required, as it was for maintaining relations 
>>>>> of parent-child, It did not get any list.
>>>>>
>>>>> I though of retaining getWeblogCategories() method in 
>>>>> WeblogCategory class, and getting list of categories directly from 
>>>>> JPAWeblogEntryManager but it seems wrong to me according to the 
>>>>> structure. Can you please guide me what should be the best way to 
>>>>> go ?
>>>>>
>>>>> Thanks
>>>>> Gaurav
>>>>>
>>>>> On Wednesday 08 January 2014 01:25 AM, Gaurav wrote:
>>>>>> Hello Glen,
>>>>>>
>>>>>> I figured out that issues, as I told when I use 
>>>>>> getWeblogCategories() method, then the error comes, actually its 
>>>>>> due to  the reason that I have removed below one-to-many mapping 
>>>>>> in orm file and still using the method. As you said, I studied 
>>>>>> JPA and get some time into it and learned new things about the 
>>>>>> mapping relationship. Now, I am thinking of implementing the same 
>>>>>> way as getWeblogEntries are listed  as it also come respect to 
>>>>>> the weblog/website.
>>>>>>
>>>>>> <one-to-many name="weblogCategories" mapped-by="parent" 
>>>>>> target-entity="org.apache.roller.weblogger.pojos.WeblogCategory" 
>>>>>> fetch="LAZY"></one-to-many>
>>>>>>
>>>>>> Thanks
>>>>>> Gaurav
>>>>>>
>>>>>> On Monday 06 January 2014 02:36 AM, Glen Mazza wrote:
>>>>>>> I don't know, but I don't like that statement 
>>>>>>> "c.getWeblogCategories().add(c); "  A WeblogCategory should no 
>>>>>>> longer have child weblog categories (they are pure siblings of 
>>>>>>> each other with no hierarchical relationship), so such an "add" 
>>>>>>> shouldn't exist.  You can have 
>>>>>>> -->Weblog<---.getWeblogCategories().add(c), that would make sense.
>>>>>>>
>>>>>>> Glen
>>>>>>>
>>>>>>> On 01/05/2014 03:32 PM, Gaurav wrote:
>>>>>>>> Hello Glen,
>>>>>>>>
>>>>>>>> I tried finding the that issues, but did not find anywhere. 
>>>>>>>> Also it is created dynamically as I changed the entity name to 
>>>>>>>> category1 then also sameerror come up with 
>>>>>>>> "category1_category1" doesn't exist. I think this might be 
>>>>>>>> something I am doing wrong with the code. As, Today I cleaned 
>>>>>>>> up all the code and now everything is working good. I am 
>>>>>>>> successful in creating, editing and deleting the weblog, 
>>>>>>>> entries, categories and everything is showing good.
>>>>>>>>
>>>>>>>> Just single problem I am having now is showing the categories 
>>>>>>>> list in feeds and in menu. I figured out after checking that 
>>>>>>>> $categoryObject.getWeblogCategories() is iterated in velocity 
>>>>>>>> file which check for the getWeblogCategories() method of type 
>>>>>>>> Set in WeblogCategory class, Initially I commented this method 
>>>>>>>> as the comments over this method said "Get child categories of 
>>>>>>>> this category". But I think this is neccasary as whenever a 
>>>>>>>> category is created this is called to add a category to Set 
>>>>>>>> "rootCat.getWeblogCategories().add(c);"
>>>>>>>>
>>>>>>>> Now, Problem is we did not have any parent or root category 
>>>>>>>> now, so how it will going to add to that Set and Also I tried 
>>>>>>>> creating a object of WeblogCategory Class and tried adding it 
>>>>>>>> to getWeblogCategories() method then again. Now When I tired 
>>>>>>>> adding category with this "c.getWeblogCategories().add(c);" the 
>>>>>>>> same error comes up. If I comment this line that add category, 
>>>>>>>> everything works fine again, just did not get any list of 
>>>>>>>> categories in menu and feed.
>>>>>>>>
>>>>>>>> Also, I am confused what setWeblogCategories() is doing as I 
>>>>>>>> did not find anywhere where it is used for setting categories. 
>>>>>>>> Just the getWeblogCategories() is used with .add for adding 
>>>>>>>> child categories to parent/root.
>>>>>>>>
>>>>>>>> Below is what I done in addWeblogContents method of class 
>>>>>>>> JPAWeblogManagerImpl.
>>>>>>>>
>>>>>>>> if (cats != null && cats.trim().length() > 0) {
>>>>>>>>             String[] splitcats = cats.split(",");
>>>>>>>>             for (int i=0; i<splitcats.length; i++) {
>>>>>>>>                 WeblogCategory c = new WeblogCategory(
>>>>>>>>                         newWeblog,       // newWeblog
>>>>>>>>                         splitcats[i],    // name
>>>>>>>>                         splitcats[i],    // description
>>>>>>>>                         null );          // image
>>>>>>>>                 if (i == 0) {
>>>>>>>>                     firstCat = c;
>>>>>>>>                 }
>>>>>>>>                 System.out.println("====Cats==="+c);
>>>>>>>>                 c.getWeblogCategories().add(c); //previously it 
>>>>>>>> was root.getWeblogCategories.add(c);
>>>>>>>>                 this.strategy.store(c);
>>>>>>>>             }
>>>>>>>>         }
>>>>>>>>
>>>>>>>>
>>>>>>>> [EL Warning]: 2014-01-05 
>>>>>>>> 17:15:22.179--ClientSession(1956103136)--Exception 
>>>>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: 
>>>>>>>> Table/View 'CATEGORY_CATEGORY' does not exist.
>>>>>>>> Error Code: 20000
>>>>>>>> Call: INSERT INTO category_category (weblogCategories_id, 
>>>>>>>> WeblogCategory_id) VALUES (?, ?)
>>>>>>>>     bind => [2 parameters bound]
>>>>>>>> Query: DataModifyQuery(name="weblogCategories" sql="INSERT INTO 
>>>>>>>> category_category (weblogCategories_id, WeblogCategory_id) 
>>>>>>>> VALUES (?, ?)")
>>>>>>>> *
>>>>>>>>
>>>>>>>> *Also I tried making new ArrayList and new getter setter in 
>>>>>>>> WeblogCategory class, still I got same error.
>>>>>>>>     List<WeblogCategory> catsss = new ArrayList<WeblogCategory>();
>>>>>>>>     catsss.add(c);
>>>>>>>>     c.setList(catsss);
>>>>>>>> System.out.println("======"+catsss+"============"+c.getList());
>>>>>>>>
>>>>>>>> Got this error, after adding Arraylist.
>>>>>>>>
>>>>>>>> [EL Warning]: 2014-01-05 
>>>>>>>> 19:42:56.209--ClientSession(1732472947)--Exception 
>>>>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: 
>>>>>>>> Table/View 'CATEGORY_CATEGORY' does not exist.
>>>>>>>> Error Code: 20000
>>>>>>>> Call: INSERT INTO category_category (list_id, 
>>>>>>>> WeblogCategory_id) VALUES (?, ?)
>>>>>>>>     bind => [2 parameters bound]
>>>>>>>> Query: DataModifyQuery(name="list" sql="INSERT INTO 
>>>>>>>> category_category (list_id, WeblogCategory_id) VALUES (?, ?)")
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Gaurav
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sunday 05 January 2014 05:30 AM, Glen Mazza wrote:
>>>>>>>>> Hi Gaurav, did you try a "control" with your file search 
>>>>>>>>> method? I.e., you're saying you're case-insensitive searching 
>>>>>>>>> on "category_category" but nothing is getting returned -- did 
>>>>>>>>> you try also searching something that you *know* exists in the 
>>>>>>>>> project (say, "class", "public", "return", etc.) and your 
>>>>>>>>> IDE/search method indeed did return lots of matches?  Because 
>>>>>>>>> if you get zero search results with the latter we know the 
>>>>>>>>> problem is with the way you're configuring your search, not 
>>>>>>>>> the non-existence of "category_category".  (Also are you 
>>>>>>>>> searching on every type of file extension, not just .java files?)
>>>>>>>>>
>>>>>>>>> Somewhere in your code the JPA layer has decided to calculate 
>>>>>>>>> "category_category" as a table name, I would guess because 
>>>>>>>>> that's what is exactly in the code someplace (as you can see 
>>>>>>>>> the query below generated "...FROM category_category t0, 
>>>>>>>>> category t1..."). One useful experiment might be to rename the 
>>>>>>>>> "category" table (t1) above to "category2" -- would the SQL 
>>>>>>>>> above change to "category2_category2, category2..." or (I 
>>>>>>>>> think) "...FROM category_category t0, category2 t1...") If the 
>>>>>>>>> former, that would indicate that "category2_category2" is 
>>>>>>>>> being dynamically generated from the "category2" table name. 
>>>>>>>>> If the latter, that would mean "category_category" is 
>>>>>>>>> hardcoded somewhere and not related to the "category" table 
>>>>>>>>> name you've properly configured.
>>>>>>>>>
>>>>>>>>> I probably won't be able to get to this until next weekend 
>>>>>>>>> anyway, so I'm going to have you finish it, also as a 
>>>>>>>>> confidence-builder for you (if you let JPA push you around 
>>>>>>>>> now, it's always going to bully you...  :)
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Glen
>>>>>>>>>
>>>>>>>>> PS:  Just to clarify, when an pre-5.1-SNAPSHOT user installs 
>>>>>>>>> Roller 5.1-SNAPSHOT, the Roller startup should automatically 
>>>>>>>>> detect that the system is currently using an older Roller 
>>>>>>>>> database and do the database upgrade (creating of new the 
>>>>>>>>> "category" table and prepopulation of it).  Roller has always 
>>>>>>>>> done this as so long as you put the necessary migration 
>>>>>>>>> scripts in the right place there should be no problem. 
>>>>>>>>> However, those of us already on 5.1-SNAPSHOT like myself 
>>>>>>>>> before your patch will need to manually create that table in 
>>>>>>>>> our database (the Roller script won't notice 
>>>>>>>>> 5.1-SNAPSHOT-->5.1-SNAPSHOT, so won't create "category" by 
>>>>>>>>> itself.)  No problem, we'll just figure out the necessary SQL 
>>>>>>>>> statements for Dave and he can add it to his Roller project blog.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 01/04/2014 04:47 PM, Gaurav wrote:
>>>>>>>>>> Hello Glen,
>>>>>>>>>>
>>>>>>>>>> I searched whole project and did not find anywhere. I think 
>>>>>>>>>> might be I have done something wrong, as when I start with 
>>>>>>>>>> new database, everything work just deleting gives me this 
>>>>>>>>>> error. If I work on old database it even did not start up 
>>>>>>>>>> (localhost:8080/roller) gives my below error.
>>>>>>>>>>
>>>>>>>>>> I have checked almost everything I can, might be some wrong 
>>>>>>>>>> java code and anything I done wrong that causes this. Should 
>>>>>>>>>> I submit by work so you can look on to it, or if we are not 
>>>>>>>>>> in any hurry than I can look into it again step by step (I 
>>>>>>>>>> prefer second option if we have one more week. Just another 
>>>>>>>>>> week or so, next week i have some tight schedule). I know I 
>>>>>>>>>> am taking too much time, but I am new to this level of Java 
>>>>>>>>>> code, as I worked maximum time at client side. But I really 
>>>>>>>>>> loving java code and learned a lot till now, before this I 
>>>>>>>>>> just worked with Java on small projects. OpenSource Projects 
>>>>>>>>>> really are very powerful and good way to learn new things.
>>>>>>>>>>
>>>>>>>>>> Exception [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException Internal 
>>>>>>>>>> Exception: 
>>>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
>>>>>>>>>> 'roller.category_category' doesn't exist Error Code: 1146 
>>>>>>>>>> Call: SELECT t1.id, t1.description, t1.image, t1.name, 
>>>>>>>>>> t1.websiteid FROM category_category t0, category t1 WHERE 
>>>>>>>>>> ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>>>>>>>>> t0.weblogCategories_id)) bind => [1 parameter bound] Query: 
>>>>>>>>>> ReadAllQuery(name="weblogCategories" 
>>>>>>>>>> referenceClass=WeblogCategory sql="SELECT t1.id, 
>>>>>>>>>> t1.description, t1.image, t1.name, t1.websiteid FROM 
>>>>>>>>>> category_category t0, category t1 WHERE 
>>>>>>>>>> ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>>>>>>>>> t0.weblogCategories_id))")
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> Gaurav
>>>>>>>>>>
>>>>>>>>>> On Sunday 05 January 2014 12:00 AM, Glen Mazza wrote:
>>>>>>>>>>> Hi Gaurav, no, that relation shouldn't be needed anymore.
>>>>>>>>>>>
>>>>>>>>>>> As for the table name, at the top of your orm.xml file the 
>>>>>>>>>>> table name the file maps against is declared -- perhaps you 
>>>>>>>>>>> accidentally called it category_category. I would grep or 
>>>>>>>>>>> use a file search from your IDE of your entire roller source 
>>>>>>>>>>> code, looking for where category_category is being declared 
>>>>>>>>>>> -- (probably) has to be there someplace. (More specifically, 
>>>>>>>>>>> do a file search on "DataModifyQuery" -- that's probably 
>>>>>>>>>>> exactly where the problem is.)
>>>>>>>>>>>
>>>>>>>>>>> Once working, try to import the latest code changes into 
>>>>>>>>>>> your code before submitting a patch (actually create a 
>>>>>>>>>>> backup patch first just in case).  Not sure but I think a 
>>>>>>>>>>> simple svn update will do -- svn will identify some files 
>>>>>>>>>>> where it will need your assistance to resolve any 
>>>>>>>>>>> differences -- it shouldn't be too hard or time-consuming to 
>>>>>>>>>>> do.
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Glen
>>>>>>>>>>>
>>>>>>>>>>> On 01/04/2014 08:55 AM, Gaurav wrote:
>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>
>>>>>>>>>>>> I just want to know that the below relations in 
>>>>>>>>>>>> WeblogCategory.orm.xml are required or not as now the 
>>>>>>>>>>>> parent is not used so, I don't think its needed now. I have 
>>>>>>>>>>>> commented the below lines.
>>>>>>>>>>>>
>>>>>>>>>>>> <many-to-one name="parent" 
>>>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category">
>>>>>>>>>>>>                 <join-column name="parentid" 
>>>>>>>>>>>> insertable="true" updatable="true" nullable="true"/>
>>>>>>>>>>>>             </many-to-one>
>>>>>>>>>>>>             <one-to-many name="weblogCategories" 
>>>>>>>>>>>> mapped-by="parent" 
>>>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category" 
>>>>>>>>>>>> fetch="LAZY">
>>>>>>>>>>>>                 <cascade>
>>>>>>>>>>>>                     <cascade-remove/>
>>>>>>>>>>>>                 </cascade>
>>>>>>>>>>>>             </one-to-many>
>>>>>>>>>>>>             <transient name="inUse"/>
>>>>>>>>>>>>
>>>>>>>>>>>> I asked this because, getting categories giving me mysql 
>>>>>>>>>>>> exception. The new table is 'roller.category' but it 
>>>>>>>>>>>> executes for 'roller.category_category'.
>>>>>>>>>>>> I am not able to get what I have done wrong.
>>>>>>>>>>>>
>>>>>>>>>>>> Internal Exception: 
>>>>>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
>>>>>>>>>>>> 'roller.category_category' doesn't exist
>>>>>>>>>>>> Error Code: 1146
>>>>>>>>>>>> Call: DELETE FROM category_category WHERE 
>>>>>>>>>>>> (WeblogCategory_id = ?)
>>>>>>>>>>>>     bind => [1 parameter bound]
>>>>>>>>>>>> Query: DataModifyQuery(name="weblogCategories" sql="DELETE 
>>>>>>>>>>>> FROM category_category WHERE (WeblogCategory_id = ?)")
>>>>>>>>>>>>
>>>>>>>>>>>> Also, I have changed the getWeblogCategoryByPath to 
>>>>>>>>>>>> getWeblogCategoryByName so feeds and other places work 
>>>>>>>>>>>> fine. I have able to get catgeory list, new entries are 
>>>>>>>>>>>> creating successfully. Just deleting the weblog is giving 
>>>>>>>>>>>> me above error.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have already deleted getPath and getParent and in the 
>>>>>>>>>>>>> mid of everything. I hope I will be able to complete this 
>>>>>>>>>>>>> by Monday. If still, I get some major issues due to this, 
>>>>>>>>>>>>> I will switch to what you suggested. Just give me time 
>>>>>>>>>>>>> till Monday, as I have done almost 80% of code cleaned 
>>>>>>>>>>>>> regarding the path and parentcategory. I will get back to 
>>>>>>>>>>>>> you soon with some patches and then you can test it.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Also, my ICLA have been filed, got the receipt of my ICLA.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
>>>>>>>>>>>>>> Gaurav, sorry, it just occurred to me there's a simpler 
>>>>>>>>>>>>>> intermediate step that can be done. While we need the 
>>>>>>>>>>>>>> database table without a path column, and to remove the 
>>>>>>>>>>>>>> "path" member *variable* from WeblogCategory (or its 
>>>>>>>>>>>>>> replacement), we can still keep indefinitely keep 
>>>>>>>>>>>>>> getPath(), just hardcode it to "/" + categoryName, which 
>>>>>>>>>>>>>> is precisely what the old code returns for any top-level 
>>>>>>>>>>>>>> category--the rest of the system can stay just as it did 
>>>>>>>>>>>>>> before. Switching the rest of the code from getPath() to 
>>>>>>>>>>>>>> using getName() can be done at any time, bit by bit 
>>>>>>>>>>>>>> whenever, that's not necessary to implement positioning, 
>>>>>>>>>>>>>> that's just a code cleanup issue. Likewise, for 
>>>>>>>>>>>>>> WeblogCategory.getParent(), it may be as simple as adding 
>>>>>>>>>>>>>> a root category object as part of the Weblog's 
>>>>>>>>>>>>>> constructor (but not saved to the database), and having 
>>>>>>>>>>>>>> WeblogCategory.getParent() just return 
>>>>>>>>>>>>>> website.getParentCategory()--that way all categories for 
>>>>>>>>>>>>>> a weblog will have the same root category as before, and 
>>>>>>>>>>>>>> the rest of the code base should function fine.  Once 
>>>>>>>>>>>>>> we're on the new table, then it's an issue of 
>>>>>>>>>>>>>> implementing positioning--getting rid of getParent() and 
>>>>>>>>>>>>>> getPath() can be done by anybody at a later date.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>> No problem, I'm available to help (or finish it up) if 
>>>>>>>>>>>>>>> needed.  For a seemingly simple switch, you're certainly 
>>>>>>>>>>>>>>> getting a *full* education of the Roller codebase.  :)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> BTW, I hope you're not testing via mvn jetty:run, as 
>>>>>>>>>>>>>>> that requires you to keep logging in for the first time, 
>>>>>>>>>>>>>>> creating a blog for the first time, etc., whenever you 
>>>>>>>>>>>>>>> start it. Very inefficient and tiring. Normally I just 
>>>>>>>>>>>>>>> build (mvn clean install) and dump the WAR into 
>>>>>>>>>>>>>>> standalone Tomcat on my local machine. The database & 
>>>>>>>>>>>>>>> other configuration I keep permanently in 
>>>>>>>>>>>>>>> roller-custom.properties in the Tomcat lib/ folder, so 
>>>>>>>>>>>>>>> the new WAR just takes over with the same configuration, 
>>>>>>>>>>>>>>> blogs, accounts, etc., that old WAR was using. (Check 
>>>>>>>>>>>>>>> the Roller install guide for full instructions.)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Also vital is that you know how to debug/trace Roller 
>>>>>>>>>>>>>>> code in Eclipse or IntelliJ while it is running on 
>>>>>>>>>>>>>>> Tomcat (or another servlet container). It's much simpler 
>>>>>>>>>>>>>>> than it seems, and will save you a lot of time. These 
>>>>>>>>>>>>>>> instructions are for Eclipse but Intellij (my 
>>>>>>>>>>>>>>> preference) is basically the same: 
>>>>>>>>>>>>>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>>>>>>>>>>>>>>> Checking variable values while it's running will point 
>>>>>>>>>>>>>>> you to where problems are much more quickly.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Happy New Year!
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> As, I previously told you that the test cases are 
>>>>>>>>>>>>>>>> giving problem, actually I think we have to do some 
>>>>>>>>>>>>>>>> changes in Test Cases also, as many of the methods 
>>>>>>>>>>>>>>>> involving path and parent are removed so, many times in 
>>>>>>>>>>>>>>>> test cases (it did not get correct values and give 
>>>>>>>>>>>>>>>> errors).
>>>>>>>>>>>>>>>> I have successfully showed the categories by website 
>>>>>>>>>>>>>>>> till now in the admin section. Also, the entries are 
>>>>>>>>>>>>>>>> saved just, I ran out of memory issue in happen when I 
>>>>>>>>>>>>>>>> save an entry that entry, although it get saved when I 
>>>>>>>>>>>>>>>> refresh the page.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Also, as their is not path now, we have to do some 
>>>>>>>>>>>>>>>> changes in velocity files, as feeds are giving error in 
>>>>>>>>>>>>>>>> showing, although if I direct enter the URL its working 
>>>>>>>>>>>>>>>> fine. I have cleared many parts of the code, just I 
>>>>>>>>>>>>>>>> have test of the roller parts which are linked the path 
>>>>>>>>>>>>>>>> and parent. I am thinking of correcting the test cases, 
>>>>>>>>>>>>>>>> as I can run them and if test cases are fine then might 
>>>>>>>>>>>>>>>> be everything will work fine.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I will return to work on this after 3 days, as I will 
>>>>>>>>>>>>>>>> be and will get be to it during coming weekend again. I 
>>>>>>>>>>>>>>>> will wrap this out asap for you to test and will attach 
>>>>>>>>>>>>>>>> patches coming weekend.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>> Thanks for that info, I have changed my settings in 
>>>>>>>>>>>>>>>>> the eclipse.
>>>>>>>>>>>>>>>>> Yes, you are right I will leave the ordering part for 
>>>>>>>>>>>>>>>>> now and work on clearing the code for now. For now I 
>>>>>>>>>>>>>>>>> will just add a column in category table with 
>>>>>>>>>>>>>>>>> position, leaving it null for now.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>> Your last ImprovedCreateUser.patch had some tab 
>>>>>>>>>>>>>>>>>> characters in it, and our project uses spaces for 
>>>>>>>>>>>>>>>>>> tabs (just have Eclipse insert 4 spaces whenever you 
>>>>>>>>>>>>>>>>>> hit the tab key, with no tab characters.) Very few 
>>>>>>>>>>>>>>>>>> Apache projects (any?) are tab-indented today. It is 
>>>>>>>>>>>>>>>>>> a simple fix with IntelliJ IDEA (Edit -> Convert 
>>>>>>>>>>>>>>>>>> Indents -> To Spaces), I'm sure Eclipse has an 
>>>>>>>>>>>>>>>>>> equivalent.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> For blogs migrating from pre-5.1 versions, we can 
>>>>>>>>>>>>>>>>>> keep the position NULL by default (and when you order 
>>>>>>>>>>>>>>>>>> by position, with null values, they will come out in 
>>>>>>>>>>>>>>>>>> any order, like they do today.) Whenever a new blog 
>>>>>>>>>>>>>>>>>> is created with the default three categories, those 
>>>>>>>>>>>>>>>>>> can be assigned positions (probably 0-based for 
>>>>>>>>>>>>>>>>>> leftmost is best.) For migrated blogs, once the user 
>>>>>>>>>>>>>>>>>> goes to the category page and makes a change for the 
>>>>>>>>>>>>>>>>>> first time, numbers can be written for the very first 
>>>>>>>>>>>>>>>>>> time--no special extra UI is needed for this purpose. 
>>>>>>>>>>>>>>>>>> But like I was saying, this is such a lengthy patch 
>>>>>>>>>>>>>>>>>> you may wish to forget about the ordering right 
>>>>>>>>>>>>>>>>>> now--it doesn't work anyway in Roller right now. It 
>>>>>>>>>>>>>>>>>> may be best to get us to the new table and get rid of 
>>>>>>>>>>>>>>>>>> the paths, and once we're on that firmer foundation 
>>>>>>>>>>>>>>>>>> implementing positioning (on the Category page and in 
>>>>>>>>>>>>>>>>>> the templates) will be much simpler.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I will change the position to be integer, and will 
>>>>>>>>>>>>>>>>>>> exclude the category where parent null, but still 
>>>>>>>>>>>>>>>>>>> what can be done for the position as the old data 
>>>>>>>>>>>>>>>>>>> did not have position, so how and on what basis we 
>>>>>>>>>>>>>>>>>>> have to add position to it. I was thinking that we 
>>>>>>>>>>>>>>>>>>> can left it as null, and provide some UI in backend 
>>>>>>>>>>>>>>>>>>> where user can assign position themselves.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I will take care of spacing, will search what I am 
>>>>>>>>>>>>>>>>>>> doing wrong. As, I am not sure is that you are 
>>>>>>>>>>>>>>>>>>> talking about formatting the code, or anything else. 
>>>>>>>>>>>>>>>>>>> As I use tab (with 4 spaces) in Eclipse IDE.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>> BTW, not to be hated, but make sure any code you 
>>>>>>>>>>>>>>>>>>>> submit is space-padded (4 spaces), *not* 
>>>>>>>>>>>>>>>>>>>> tab-padded. Your IDE should be able to convert it 
>>>>>>>>>>>>>>>>>>>> for you if you've been doing tab-padding.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> I am confused on how to add and on what basis we 
>>>>>>>>>>>>>>>>>>>>> have to addd position to the new category table. 
>>>>>>>>>>>>>>>>>>>>> Below two sql commands can be used for coping data 
>>>>>>>>>>>>>>>>>>>>> and deleting the root categories.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> create table category (
>>>>>>>>>>>>>>>>>>>>>     id varchar(48) not null primary key,
>>>>>>>>>>>>>>>>>>>>>     name varchar(255) not null,
>>>>>>>>>>>>>>>>>>>>>     description varchar(255),
>>>>>>>>>>>>>>>>>>>>>     websiteid varchar(48) not null,
>>>>>>>>>>>>>>>>>>>>>     image varchar(255),
>>>>>>>>>>>>>>>>>>>>>     position varchar(48)
>>>>>>>>>>>>>>>>>>>>> );
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> insert into 
>>>>>>>>>>>>>>>>>>>>> category(id,name,description,websiteid,image) 
>>>>>>>>>>>>>>>>>>>>> select id,name,description,websiteid,image from 
>>>>>>>>>>>>>>>>>>>>> weblogcategory;
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> delete from category where name="root";
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> What do you suggest for this ?
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>> Take your time, this is a messy change as it 
>>>>>>>>>>>>>>>>>>>>>> affects many areas of the code. But Roller will 
>>>>>>>>>>>>>>>>>>>>>> be architecturally much more solid and simpler 
>>>>>>>>>>>>>>>>>>>>>> once this change is done.  I have your ROL-1616 
>>>>>>>>>>>>>>>>>>>>>> and ROL-1982 on my plate for this weekend.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I have deleted the path and all related methods, 
>>>>>>>>>>>>>>>>>>>>>>> but its seems to me that the path methods like 
>>>>>>>>>>>>>>>>>>>>>>> (getWeblogCategoryByPath) and many other path 
>>>>>>>>>>>>>>>>>>>>>>> and parent related methods, are scattered over 
>>>>>>>>>>>>>>>>>>>>>>> the whole roller. There are many occurrence of 
>>>>>>>>>>>>>>>>>>>>>>> these methods and I have to sort out each piece 
>>>>>>>>>>>>>>>>>>>>>>> of code as now there is no path so, mostly we 
>>>>>>>>>>>>>>>>>>>>>>> check for categoryPath != null in if conditions, 
>>>>>>>>>>>>>>>>>>>>>>> so these are no longer needed.
>>>>>>>>>>>>>>>>>>>>>>> Also, I as thinking after testing and completing 
>>>>>>>>>>>>>>>>>>>>>>> this we can delete the WeblogCategory and 
>>>>>>>>>>>>>>>>>>>>>>> replace with Category method, as it will be 
>>>>>>>>>>>>>>>>>>>>>>> clean. I also figured out why my tests are 
>>>>>>>>>>>>>>>>>>>>>>> failing as during creating of weblogentry it did 
>>>>>>>>>>>>>>>>>>>>>>> not find the categories, as that class was using 
>>>>>>>>>>>>>>>>>>>>>>> old WeblogCategory table and using that class 
>>>>>>>>>>>>>>>>>>>>>>> methods. I think I will definitely will figure 
>>>>>>>>>>>>>>>>>>>>>>> out everything at the end and will successfully 
>>>>>>>>>>>>>>>>>>>>>>> test with the unit tests.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I am now in the editor part so can display the 
>>>>>>>>>>>>>>>>>>>>>>> categories on front end, I am now all over the 
>>>>>>>>>>>>>>>>>>>>>>> 1-2-3-4 steps you mentioned. As soon as I will 
>>>>>>>>>>>>>>>>>>>>>>> able to display the categories (small issues 
>>>>>>>>>>>>>>>>>>>>>>> left) at the backend, I will again go through my 
>>>>>>>>>>>>>>>>>>>>>>> changes. Also, at this time I can only create 
>>>>>>>>>>>>>>>>>>>>>>> patch for new table and migration script, as all 
>>>>>>>>>>>>>>>>>>>>>>> other classes code are interrelated so can't 
>>>>>>>>>>>>>>>>>>>>>>> submit now. I will test every single thing 
>>>>>>>>>>>>>>>>>>>>>>> related to categories, then I will submit my 
>>>>>>>>>>>>>>>>>>>>>>> patches.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Although I have learned a lot new things, just 
>>>>>>>>>>>>>>>>>>>>>>> spent last two full days on this sorting out 
>>>>>>>>>>>>>>>>>>>>>>> things, many times ending up nowhere from where 
>>>>>>>>>>>>>>>>>>>>>>> I started. But I am confident that I will 
>>>>>>>>>>>>>>>>>>>>>>> definitely complete this task. Just I am 
>>>>>>>>>>>>>>>>>>>>>>> worrying that I must be taking too much time.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> If there is something, you can advice me I would 
>>>>>>>>>>>>>>>>>>>>>>> happy to follow that also.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>> If it helps, you can provide interim patches, 
>>>>>>>>>>>>>>>>>>>>>>>> so long as it doesn't break the current code 
>>>>>>>>>>>>>>>>>>>>>>>> base. You may want to create a patch just 
>>>>>>>>>>>>>>>>>>>>>>>> creating the new database table (which will be 
>>>>>>>>>>>>>>>>>>>>>>>> ignored by the current code) and sql 
>>>>>>>>>>>>>>>>>>>>>>>> insert-select scripts to move from the current 
>>>>>>>>>>>>>>>>>>>>>>>> table to the new one, then one converting the 
>>>>>>>>>>>>>>>>>>>>>>>> code to using the new table without sorting, 
>>>>>>>>>>>>>>>>>>>>>>>> then (finally) one that implements sorting of 
>>>>>>>>>>>>>>>>>>>>>>>> the categories.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> I have created and updated all necessary files 
>>>>>>>>>>>>>>>>>>>>>>>>> in JPA and for database, I tried compiling the 
>>>>>>>>>>>>>>>>>>>>>>>>> code it gave me errors in test cases. As I am 
>>>>>>>>>>>>>>>>>>>>>>>>> not sure that what I am wrong in this. 
>>>>>>>>>>>>>>>>>>>>>>>>> Although I tried compiling without running 
>>>>>>>>>>>>>>>>>>>>>>>>> test cases, it worked fine. I tested it with 
>>>>>>>>>>>>>>>>>>>>>>>>> tomcat and new table category is created and 
>>>>>>>>>>>>>>>>>>>>>>>>> initial category (General, Finance and 
>>>>>>>>>>>>>>>>>>>>>>>>> Technology) are created with the position 
>>>>>>>>>>>>>>>>>>>>>>>>> 1,2,3. Still there are many thing I have to 
>>>>>>>>>>>>>>>>>>>>>>>>> clean up and sort out and will test it again.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, Gaurav 
>>>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> Ok, got your point. I will check on other 
>>>>>>>>>>>>>>>>>>>>>>>>>> Roller parts also if parent name and path 
>>>>>>>>>>>>>>>>>>>>>>>>>> aren't be using in any other part of Roller. 
>>>>>>>>>>>>>>>>>>>>>>>>>> I will go into the RSS and Atom feeds later 
>>>>>>>>>>>>>>>>>>>>>>>>>> on, and see what changes it need. As, till 
>>>>>>>>>>>>>>>>>>>>>>>>>> now I have changed many files and created 
>>>>>>>>>>>>>>>>>>>>>>>>>> some, so will first test this part then go 
>>>>>>>>>>>>>>>>>>>>>>>>>> into that feeds part.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> Sounds good, but may require more work to 
>>>>>>>>>>>>>>>>>>>>>>>>>>> make sure all is good with the RSS and Atom 
>>>>>>>>>>>>>>>>>>>>>>>>>>> feeds as a result (which I believe rely on 
>>>>>>>>>>>>>>>>>>>>>>>>>>> path). Where path is used to check for 
>>>>>>>>>>>>>>>>>>>>>>>>>>> equivalence, I guess name (and blog/website 
>>>>>>>>>>>>>>>>>>>>>>>>>>> ID, if necessary) alone will do now. We may 
>>>>>>>>>>>>>>>>>>>>>>>>>>> need to check (if we aren't already) that no 
>>>>>>>>>>>>>>>>>>>>>>>>>>> two categories have the same name, where 
>>>>>>>>>>>>>>>>>>>>>>>>>>> prior we were checking that no two paths are 
>>>>>>>>>>>>>>>>>>>>>>>>>>> the same (i.e., allowing category paths 
>>>>>>>>>>>>>>>>>>>>>>>>>>> USStates/Georgia and Countries/Georgia but 
>>>>>>>>>>>>>>>>>>>>>>>>>>> now needing to disallow two categories named 
>>>>>>>>>>>>>>>>>>>>>>>>>>> "Georgia".)
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am thinking of removing the path coloumn 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> also, as it does not make sense now as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> there will no subcategories and all will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> have same path (like /categoryname). WDYT ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I want to know as now all the categories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will be top level, so the root category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> which is created by default on addWeblog 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> isn't needed. So, I can remove that code 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> also ? I am in half completed with the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1-2 steps will soon submit some patched 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in jira issue. You can look on to them 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whenever you will get time from other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> projects.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on this, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I understand your commitments. As this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will give me more time on working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this issue. I will give my 100% on this, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as I also want to get into more and more 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> open source projects. For Now I am 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> focusing on Roller for starting my 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> contributions in open source.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 AM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I can't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> help much right now either, as my other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> project JSPWiki has a new release going 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> out.) But please be patient with us on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> your recent submitted patches -- we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> haven't forgotten you and are happy 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with your efforts on this project so 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> far, we just have full-time jobs and, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> even after that, other obligations -- 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for open source work, we usually have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to beg, borrow and steal time to work 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> on them.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am going through this having some 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> issues, although not major till now. I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have still working on 1-2 steps, might 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> be I am slow as get less time. (Wish 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we also have holidays of this festive 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> season in India :P) Just want to know 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> isn't there any hurry for completing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this asap ? Although, I am sure will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> definitely complete this as I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> understood the structure of Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> completely. Just I have to go through 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the JPA more and read about this.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're missing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will become apparent to you as you 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> work along. The Roller installation 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> guide and here 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can show you how to test also with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Derby if you'd like. (It is usually 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simpler than MySQL, and another 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> benefit of working on Roller is that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you become multiple-database-lingual 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> very quickly.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with this much deep information, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can start working in it. I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> started working on this Issue and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have followed your steps.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb.vm and in migration scripts 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> also. I have for mow stared working 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> on MySQL.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> class, I have commented 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Category.orm.xml and enterd details 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> of new table. A new class Category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created new files for now and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will work on this and add new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> position coloum and code regarding 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this. Other than UI and template 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Layer, I think I have covered all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> files on which I have to work on the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Database and JPA layers ? Please 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tell me if I am wrong anywhere or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> following wrong workflow.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for our 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> database scripts -- you see a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb.vm plus migration scripts 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (5.0 to 5.1) -- we'll want our 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> change in both places (IIRC), new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> users have the createdb run and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller upgraders with their current 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DB's have the 5.0 to 5.1 migration 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> script run.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I'd like to get this done right (I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> plan on helping out where you'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like). Namely, we've moved from a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical category structure 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (categories having subcategories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> having their own subcatorgories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> etc.) to a flat single-level 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structure (all categories are top 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> level) -- that was done a week or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> so back. Problem is, the database 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tables are still assuming 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical (they will work with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat structures but are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> overkill--we don't need a parent ID 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> column anymore.) Also, the JPA 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> objects are designed for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical but can simplified a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bit more to flat structure. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Incidentally, "sequenceNum" is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ambiguous about what it means, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> would say "position" or "ordering" 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (INT null, null for migrators who 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> don't yet have a position defined) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> is clearer.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to handle 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this--for both new installers and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table, say "category" designed 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> precisely as we need, and have the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> migration scripts select from the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> old weblogcategory and insert into 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the new category table. (We then 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ignore the weblogcategory table.) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We'll need to test the scripts with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at least two databases (2 of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> probably MySQL, Derby and/or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PostgreSQL) and guess for the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> others--if we're wrong the user 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> community can supply a patch fixing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence object 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (the old WeblogCategory) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as it's 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> now flat-level. Indeed, I think 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> things will get a *lot* simpler 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> here, as it may just be the parent 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Weblog holding a list of some sort 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> of Category objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp (or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whatever it's called) and its 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Struts action class will now need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to use the new Category object (and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table) instead of WeblogCategory. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> The UI page will need two changes: 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (1) all new categories will be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> placed (and saved) at the bottom of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the category list (and as result, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> appear last (right-most) in the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category list, and, later (2) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> probably have up and down buttons 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in the table allowing users to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> easily reorder the categories as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> they like. (Strictly speaking, 1 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> alone is all that's needed for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ordering, as you can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> remove/name/delete/recreate 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories to eventually get them 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in the position you'd like, but (2) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> of course is much nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't looked 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> into this): The templates (probably 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> just a macro or two) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> updating to ensure that they output 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the category names per the new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> position order.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> advantage is that I'd like to do 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the same thing with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks/blogrolls (team 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discussion pending...), switch from 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> a hierarchical to flat-level for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> those too.  If we can do this for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories, the logic/UI design, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> etc., will carry over 100% to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getting to this myself, so am 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> available to work with you on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whatever parts you'd like. I think 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> going in order 1-2-3-4 and having 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> separate commits may be the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> cleanest way of doing this. What's 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> nice about using a brand new table 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and JPA object is that the old 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> objects can still work in the code 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> while we're creating the new, we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> just don't activate the new until 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the very end.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team members on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the above ideas...?) Or are there 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> other Roller tasks you'd like to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sink your teeth into instead? I can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> look at this otherwise, but this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> looks like a very good exercise for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> someone wanting to get more 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> involved in Roller, as it covers 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> all the layers of the webapp.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ROL-1981, as discussed in previous 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discussion threads I will add new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> column sequenceNum in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory table. Then we can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> assign sequenceNum to each 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category according to websideid. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> If anyone have some ideas 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> regarding this, please help me. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, need some help on how to go 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with this issue, and how to add 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new coloum, I found .sql file, do 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I need to add there new column. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, Is this possible that that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> when I restart the roller it will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> add new column to database ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>


Re: (another idea) Re: ROL-1981 Category ordering

Posted by Glen Mazza <gl...@gmail.com>.
Great!  Looking forward to seeing the patch.

Glen

On 01/11/2014 03:18 AM, Gaurav wrote:
> Hello Glen,
>
> I just got fixed that issue :). Thanks for all your help. I am done 
> with all the issues and into thee final testing of the weblog all 
> features.
>
> Thanks
> Gaurav
>
>
> On Saturday 11 January 2014 12:20 PM, Gaurav wrote:
>> Hello Glen,
>>
>> I still did not able to get what I should do next, as you told that 
>> showWeblogCategoryLinksList($rootCategory false false) only bring the 
>> toplevel categories, it because we specify the $rootCategory each 
>> time, so automatically rootCategory child will always going to be top 
>> level categories.
>>
>> Actually, my issue is that If I retain the method 
>> getWeblogCategories() in WeblogCategory.java and return a Set of type 
>> WeblogCategory then I have to do a mapping of that Set in orm.xml 
>> like it was previously done
>>
>> <one-to-many name="weblogCategories" mapped-by="parent" 
>> target-entity="org.apache.roller.weblogger.pojos.Weblog" 
>> fetch="LAZY"> </one-to-many>)
>>
>> So, it was previouly mapped by parent, and as now we did not have any 
>> parent, I tried with website but it gave me error as might be because 
>> its target-entity is different. I am really out of ideas.
>>
>> I was thinking of start submitting patches of my work till now, as 
>> just this issue of showing categories at blog is left.
>>
>> Thanks
>> Gaurav
>>
>> On Wednesday 08 January 2014 08:42 AM, Glen Mazza wrote:
>>> Hi Gaurav, weblog.weblogCategories should still exist as probably a 
>>> Set of some sort (Set because of no duplicate Categories allowed), a 
>>> List is another option.  A weblog does own a collection of 
>>> categories even with the change. What should not exist is some child 
>>> set of categories under each category--any code asking for the 
>>> latter can be removed because there are never any subcategories 
>>> under a category anymore.
>>>
>>> Might you be getting confused with this code?
>>>     #set($categories = $weblog.weblogCategories )
>>>     #foreach( $cat in $categories )
>>>
>>> The above should be fine, you're not for-eaching child categories 
>>> under the *category* but under the *weblog*.
>>>
>>> Grepping the code for "#showWeblogCategoryLinksList", is showing 
>>> that this is its most common usage:
>>>
>>> #showWeblogCategoryLinksList($rootCategory false false)
>>>
>>> I.e., just show the top-level categories with no subcategories. With 
>>> the new code, all three params are useless now.
>>>
>>> I think what we need to do is create a new macro:
>>>
>>> #showWeblogCategoryLinksList
>>> that does the same as
>>> #showWeblogCategoryLinksList($rootCategory false false)
>>>
>>> And, for backward compatibility (at least so it compiles), have this 
>>> macro:
>>>
>>> (A) #showWeblogCategoryLinksList($categoryObj $expanding $subcats)
>>> ignore all three of its arguments and just call
>>> (B) #showWeblogCategoryLinksList
>>>
>>> So (A) will be a deprecated method to be pulled out at a future time 
>>> (maybe in 5.1) -- we'll have to update each of our templates that 
>>> currently call (A) to have them call (B) instead -- a simple change 
>>> to make.
>>>
>>> I'm not sure if I'm answering your questions but I think this might 
>>> be what you're getting at.
>>>
>>> Regards,
>>> Glen
>>>
>>>
>>> On 01/07/2014 04:35 PM, Gaurav wrote:
>>>> Hello Glen,
>>>>
>>>> I am completed with the Database, JPA, UI Layer. I have tested all 
>>>> possible ways by creating, deleting, updating entries, categories 
>>>> and also the complete weblog.
>>>> The only single issue left is in Template Layer. Actually in 
>>>> weblog.vm file for iterating categories list for menu and feeds, it 
>>>> uses ($weblog.weblogCategories). It try getting list from 
>>>> WeblogCategory method getWeblogCategories() and wrapping up with 
>>>> WeblogCategoryWrapper and WeblogWrapper classes. But as this method 
>>>> is no longer required, as it was for maintaining relations of 
>>>> parent-child, It did not get any list.
>>>>
>>>> I though of retaining getWeblogCategories() method in 
>>>> WeblogCategory class, and getting list of categories directly from 
>>>> JPAWeblogEntryManager but it seems wrong to me according to the 
>>>> structure. Can you please guide me what should be the best way to go ?
>>>>
>>>> Thanks
>>>> Gaurav
>>>>
>>>> On Wednesday 08 January 2014 01:25 AM, Gaurav wrote:
>>>>> Hello Glen,
>>>>>
>>>>> I figured out that issues, as I told when I use 
>>>>> getWeblogCategories() method, then the error comes, actually its 
>>>>> due to  the reason that I have removed below one-to-many mapping 
>>>>> in orm file and still using the method. As you said, I studied JPA 
>>>>> and get some time into it and learned new things about the mapping 
>>>>> relationship. Now, I am thinking of implementing the same way as 
>>>>> getWeblogEntries are listed  as it also come respect to the 
>>>>> weblog/website.
>>>>>
>>>>> <one-to-many name="weblogCategories" mapped-by="parent" 
>>>>> target-entity="org.apache.roller.weblogger.pojos.WeblogCategory" 
>>>>> fetch="LAZY"></one-to-many>
>>>>>
>>>>> Thanks
>>>>> Gaurav
>>>>>
>>>>> On Monday 06 January 2014 02:36 AM, Glen Mazza wrote:
>>>>>> I don't know, but I don't like that statement 
>>>>>> "c.getWeblogCategories().add(c); "  A WeblogCategory should no 
>>>>>> longer have child weblog categories (they are pure siblings of 
>>>>>> each other with no hierarchical relationship), so such an "add" 
>>>>>> shouldn't exist.  You can have 
>>>>>> -->Weblog<---.getWeblogCategories().add(c), that would make sense.
>>>>>>
>>>>>> Glen
>>>>>>
>>>>>> On 01/05/2014 03:32 PM, Gaurav wrote:
>>>>>>> Hello Glen,
>>>>>>>
>>>>>>> I tried finding the that issues, but did not find anywhere. Also 
>>>>>>> it is created dynamically as I changed the entity name to 
>>>>>>> category1 then also sameerror come up with "category1_category1" 
>>>>>>> doesn't exist. I think this might be something I am doing wrong 
>>>>>>> with the code. As, Today I cleaned up all the code and now 
>>>>>>> everything is working good. I am successful in creating, editing 
>>>>>>> and deleting the weblog, entries, categories and everything is 
>>>>>>> showing good.
>>>>>>>
>>>>>>> Just single problem I am having now is showing the categories 
>>>>>>> list in feeds and in menu. I figured out after checking that 
>>>>>>> $categoryObject.getWeblogCategories() is iterated in velocity 
>>>>>>> file which check for the getWeblogCategories() method of type 
>>>>>>> Set in WeblogCategory class, Initially I commented this method 
>>>>>>> as the comments over this method said "Get child categories of 
>>>>>>> this category". But I think this is neccasary as whenever a 
>>>>>>> category is created this is called to add a category to Set 
>>>>>>> "rootCat.getWeblogCategories().add(c);"
>>>>>>>
>>>>>>> Now, Problem is we did not have any parent or root category now, 
>>>>>>> so how it will going to add to that Set and Also I tried 
>>>>>>> creating a object of WeblogCategory Class and tried adding it to 
>>>>>>> getWeblogCategories() method then again. Now When I tired adding 
>>>>>>> category with this "c.getWeblogCategories().add(c);" the same 
>>>>>>> error comes up. If I comment this line that add category, 
>>>>>>> everything works fine again, just did not get any list of 
>>>>>>> categories in menu and feed.
>>>>>>>
>>>>>>> Also, I am confused what setWeblogCategories() is doing as I did 
>>>>>>> not find anywhere where it is used for setting categories. Just 
>>>>>>> the getWeblogCategories() is used with .add for adding child 
>>>>>>> categories to parent/root.
>>>>>>>
>>>>>>> Below is what I done in addWeblogContents method of class 
>>>>>>> JPAWeblogManagerImpl.
>>>>>>>
>>>>>>> if (cats != null && cats.trim().length() > 0) {
>>>>>>>             String[] splitcats = cats.split(",");
>>>>>>>             for (int i=0; i<splitcats.length; i++) {
>>>>>>>                 WeblogCategory c = new WeblogCategory(
>>>>>>>                         newWeblog,       // newWeblog
>>>>>>>                         splitcats[i],    // name
>>>>>>>                         splitcats[i],    // description
>>>>>>>                         null );          // image
>>>>>>>                 if (i == 0) {
>>>>>>>                     firstCat = c;
>>>>>>>                 }
>>>>>>>                 System.out.println("====Cats==="+c);
>>>>>>>                 c.getWeblogCategories().add(c); //previously it 
>>>>>>> was root.getWeblogCategories.add(c);
>>>>>>>                 this.strategy.store(c);
>>>>>>>             }
>>>>>>>         }
>>>>>>>
>>>>>>>
>>>>>>> [EL Warning]: 2014-01-05 
>>>>>>> 17:15:22.179--ClientSession(1956103136)--Exception 
>>>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 
>>>>>>> 'CATEGORY_CATEGORY' does not exist.
>>>>>>> Error Code: 20000
>>>>>>> Call: INSERT INTO category_category (weblogCategories_id, 
>>>>>>> WeblogCategory_id) VALUES (?, ?)
>>>>>>>     bind => [2 parameters bound]
>>>>>>> Query: DataModifyQuery(name="weblogCategories" sql="INSERT INTO 
>>>>>>> category_category (weblogCategories_id, WeblogCategory_id) 
>>>>>>> VALUES (?, ?)")
>>>>>>> *
>>>>>>>
>>>>>>> *Also I tried making new ArrayList and new getter setter in 
>>>>>>> WeblogCategory class, still I got same error.
>>>>>>>     List<WeblogCategory> catsss = new ArrayList<WeblogCategory>();
>>>>>>>     catsss.add(c);
>>>>>>>     c.setList(catsss);
>>>>>>> System.out.println("======"+catsss+"============"+c.getList());
>>>>>>>
>>>>>>> Got this error, after adding Arraylist.
>>>>>>>
>>>>>>> [EL Warning]: 2014-01-05 
>>>>>>> 19:42:56.209--ClientSession(1732472947)--Exception 
>>>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 
>>>>>>> 'CATEGORY_CATEGORY' does not exist.
>>>>>>> Error Code: 20000
>>>>>>> Call: INSERT INTO category_category (list_id, WeblogCategory_id) 
>>>>>>> VALUES (?, ?)
>>>>>>>     bind => [2 parameters bound]
>>>>>>> Query: DataModifyQuery(name="list" sql="INSERT INTO 
>>>>>>> category_category (list_id, WeblogCategory_id) VALUES (?, ?)")
>>>>>>>
>>>>>>> Thanks
>>>>>>> Gaurav
>>>>>>>
>>>>>>>
>>>>>>> On Sunday 05 January 2014 05:30 AM, Glen Mazza wrote:
>>>>>>>> Hi Gaurav, did you try a "control" with your file search 
>>>>>>>> method? I.e., you're saying you're case-insensitive searching 
>>>>>>>> on "category_category" but nothing is getting returned -- did 
>>>>>>>> you try also searching something that you *know* exists in the 
>>>>>>>> project (say, "class", "public", "return", etc.) and your 
>>>>>>>> IDE/search method indeed did return lots of matches?  Because 
>>>>>>>> if you get zero search results with the latter we know the 
>>>>>>>> problem is with the way you're configuring your search, not the 
>>>>>>>> non-existence of "category_category".  (Also are you searching 
>>>>>>>> on every type of file extension, not just .java files?)
>>>>>>>>
>>>>>>>> Somewhere in your code the JPA layer has decided to calculate 
>>>>>>>> "category_category" as a table name, I would guess because 
>>>>>>>> that's what is exactly in the code someplace (as you can see 
>>>>>>>> the query below generated "...FROM category_category t0, 
>>>>>>>> category t1..."). One useful experiment might be to rename the 
>>>>>>>> "category" table (t1) above to "category2" -- would the SQL 
>>>>>>>> above change to "category2_category2, category2..." or (I 
>>>>>>>> think) "...FROM category_category t0, category2 t1...") If the 
>>>>>>>> former, that would indicate that "category2_category2" is being 
>>>>>>>> dynamically generated from the "category2" table name. If the 
>>>>>>>> latter, that would mean "category_category" is hardcoded 
>>>>>>>> somewhere and not related to the "category" table name you've 
>>>>>>>> properly configured.
>>>>>>>>
>>>>>>>> I probably won't be able to get to this until next weekend 
>>>>>>>> anyway, so I'm going to have you finish it, also as a 
>>>>>>>> confidence-builder for you (if you let JPA push you around now, 
>>>>>>>> it's always going to bully you...  :)
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Glen
>>>>>>>>
>>>>>>>> PS:  Just to clarify, when an pre-5.1-SNAPSHOT user installs 
>>>>>>>> Roller 5.1-SNAPSHOT, the Roller startup should automatically 
>>>>>>>> detect that the system is currently using an older Roller 
>>>>>>>> database and do the database upgrade (creating of new the 
>>>>>>>> "category" table and prepopulation of it).  Roller has always 
>>>>>>>> done this as so long as you put the necessary migration scripts 
>>>>>>>> in the right place there should be no problem. However, those 
>>>>>>>> of us already on 5.1-SNAPSHOT like myself before your patch 
>>>>>>>> will need to manually create that table in our database (the 
>>>>>>>> Roller script won't notice 5.1-SNAPSHOT-->5.1-SNAPSHOT, so 
>>>>>>>> won't create "category" by itself.)  No problem, we'll just 
>>>>>>>> figure out the necessary SQL statements for Dave and he can add 
>>>>>>>> it to his Roller project blog.
>>>>>>>>
>>>>>>>>
>>>>>>>> On 01/04/2014 04:47 PM, Gaurav wrote:
>>>>>>>>> Hello Glen,
>>>>>>>>>
>>>>>>>>> I searched whole project and did not find anywhere. I think 
>>>>>>>>> might be I have done something wrong, as when I start with new 
>>>>>>>>> database, everything work just deleting gives me this error. 
>>>>>>>>> If I work on old database it even did not start up 
>>>>>>>>> (localhost:8080/roller) gives my below error.
>>>>>>>>>
>>>>>>>>> I have checked almost everything I can, might be some wrong 
>>>>>>>>> java code and anything I done wrong that causes this. Should I 
>>>>>>>>> submit by work so you can look on to it, or if we are not in 
>>>>>>>>> any hurry than I can look into it again step by step (I prefer 
>>>>>>>>> second option if we have one more week. Just another week or 
>>>>>>>>> so, next week i have some tight schedule). I know I am taking 
>>>>>>>>> too much time, but I am new to this level of Java code, as I 
>>>>>>>>> worked maximum time at client side. But I really loving java 
>>>>>>>>> code and learned a lot till now, before this I just worked 
>>>>>>>>> with Java on small projects. OpenSource Projects really are 
>>>>>>>>> very powerful and good way to learn new things.
>>>>>>>>>
>>>>>>>>> Exception [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException Internal 
>>>>>>>>> Exception: 
>>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
>>>>>>>>> 'roller.category_category' doesn't exist Error Code: 1146 
>>>>>>>>> Call: SELECT t1.id, t1.description, t1.image, t1.name, 
>>>>>>>>> t1.websiteid FROM category_category t0, category t1 WHERE 
>>>>>>>>> ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>>>>>>>> t0.weblogCategories_id)) bind => [1 parameter bound] Query: 
>>>>>>>>> ReadAllQuery(name="weblogCategories" 
>>>>>>>>> referenceClass=WeblogCategory sql="SELECT t1.id, 
>>>>>>>>> t1.description, t1.image, t1.name, t1.websiteid FROM 
>>>>>>>>> category_category t0, category t1 WHERE ((t0.WeblogCategory_id 
>>>>>>>>> = ?) AND (t1.id = t0.weblogCategories_id))")
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> Gaurav
>>>>>>>>>
>>>>>>>>> On Sunday 05 January 2014 12:00 AM, Glen Mazza wrote:
>>>>>>>>>> Hi Gaurav, no, that relation shouldn't be needed anymore.
>>>>>>>>>>
>>>>>>>>>> As for the table name, at the top of your orm.xml file the 
>>>>>>>>>> table name the file maps against is declared -- perhaps you 
>>>>>>>>>> accidentally called it category_category. I would grep or use 
>>>>>>>>>> a file search from your IDE of your entire roller source 
>>>>>>>>>> code, looking for where category_category is being declared 
>>>>>>>>>> -- (probably) has to be there someplace. (More specifically, 
>>>>>>>>>> do a file search on "DataModifyQuery" -- that's probably 
>>>>>>>>>> exactly where the problem is.)
>>>>>>>>>>
>>>>>>>>>> Once working, try to import the latest code changes into your 
>>>>>>>>>> code before submitting a patch (actually create a backup 
>>>>>>>>>> patch first just in case).  Not sure but I think a simple svn 
>>>>>>>>>> update will do -- svn will identify some files where it will 
>>>>>>>>>> need your assistance to resolve any differences -- it 
>>>>>>>>>> shouldn't be too hard or time-consuming to do.
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Glen
>>>>>>>>>>
>>>>>>>>>> On 01/04/2014 08:55 AM, Gaurav wrote:
>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>
>>>>>>>>>>> I just want to know that the below relations in 
>>>>>>>>>>> WeblogCategory.orm.xml are required or not as now the parent 
>>>>>>>>>>> is not used so, I don't think its needed now. I have 
>>>>>>>>>>> commented the below lines.
>>>>>>>>>>>
>>>>>>>>>>> <many-to-one name="parent" 
>>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category">
>>>>>>>>>>>                 <join-column name="parentid" 
>>>>>>>>>>> insertable="true" updatable="true" nullable="true"/>
>>>>>>>>>>>             </many-to-one>
>>>>>>>>>>>             <one-to-many name="weblogCategories" 
>>>>>>>>>>> mapped-by="parent" 
>>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category" 
>>>>>>>>>>> fetch="LAZY">
>>>>>>>>>>>                 <cascade>
>>>>>>>>>>>                     <cascade-remove/>
>>>>>>>>>>>                 </cascade>
>>>>>>>>>>>             </one-to-many>
>>>>>>>>>>>             <transient name="inUse"/>
>>>>>>>>>>>
>>>>>>>>>>> I asked this because, getting categories giving me mysql 
>>>>>>>>>>> exception. The new table is 'roller.category' but it 
>>>>>>>>>>> executes for 'roller.category_category'.
>>>>>>>>>>> I am not able to get what I have done wrong.
>>>>>>>>>>>
>>>>>>>>>>> Internal Exception: 
>>>>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
>>>>>>>>>>> 'roller.category_category' doesn't exist
>>>>>>>>>>> Error Code: 1146
>>>>>>>>>>> Call: DELETE FROM category_category WHERE (WeblogCategory_id 
>>>>>>>>>>> = ?)
>>>>>>>>>>>     bind => [1 parameter bound]
>>>>>>>>>>> Query: DataModifyQuery(name="weblogCategories" sql="DELETE 
>>>>>>>>>>> FROM category_category WHERE (WeblogCategory_id = ?)")
>>>>>>>>>>>
>>>>>>>>>>> Also, I have changed the getWeblogCategoryByPath to 
>>>>>>>>>>> getWeblogCategoryByName so feeds and other places work fine. 
>>>>>>>>>>> I have able to get catgeory list, new entries are creating 
>>>>>>>>>>> successfully. Just deleting the weblog is giving me above 
>>>>>>>>>>> error.
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>> Gaurav
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>
>>>>>>>>>>>> I have already deleted getPath and getParent and in the mid 
>>>>>>>>>>>> of everything. I hope I will be able to complete this by 
>>>>>>>>>>>> Monday. If still, I get some major issues due to this, I 
>>>>>>>>>>>> will switch to what you suggested. Just give me time till 
>>>>>>>>>>>> Monday, as I have done almost 80% of code cleaned regarding 
>>>>>>>>>>>> the path and parentcategory. I will get back to you soon 
>>>>>>>>>>>> with some patches and then you can test it.
>>>>>>>>>>>>
>>>>>>>>>>>> Also, my ICLA have been filed, got the receipt of my ICLA.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
>>>>>>>>>>>>> Gaurav, sorry, it just occurred to me there's a simpler 
>>>>>>>>>>>>> intermediate step that can be done. While we need the 
>>>>>>>>>>>>> database table without a path column, and to remove the 
>>>>>>>>>>>>> "path" member *variable* from WeblogCategory (or its 
>>>>>>>>>>>>> replacement), we can still keep indefinitely keep 
>>>>>>>>>>>>> getPath(), just hardcode it to "/" + categoryName, which 
>>>>>>>>>>>>> is precisely what the old code returns for any top-level 
>>>>>>>>>>>>> category--the rest of the system can stay just as it did 
>>>>>>>>>>>>> before. Switching the rest of the code from getPath() to 
>>>>>>>>>>>>> using getName() can be done at any time, bit by bit 
>>>>>>>>>>>>> whenever, that's not necessary to implement positioning, 
>>>>>>>>>>>>> that's just a code cleanup issue. Likewise, for 
>>>>>>>>>>>>> WeblogCategory.getParent(), it may be as simple as adding 
>>>>>>>>>>>>> a root category object as part of the Weblog's constructor 
>>>>>>>>>>>>> (but not saved to the database), and having 
>>>>>>>>>>>>> WeblogCategory.getParent() just return 
>>>>>>>>>>>>> website.getParentCategory()--that way all categories for a 
>>>>>>>>>>>>> weblog will have the same root category as before, and the 
>>>>>>>>>>>>> rest of the code base should function fine.  Once we're on 
>>>>>>>>>>>>> the new table, then it's an issue of implementing 
>>>>>>>>>>>>> positioning--getting rid of getParent() and getPath() can 
>>>>>>>>>>>>> be done by anybody at a later date.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>>>>>>>>>>>>> No problem, I'm available to help (or finish it up) if 
>>>>>>>>>>>>>> needed.  For a seemingly simple switch, you're certainly 
>>>>>>>>>>>>>> getting a *full* education of the Roller codebase.  :)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> BTW, I hope you're not testing via mvn jetty:run, as that 
>>>>>>>>>>>>>> requires you to keep logging in for the first time, 
>>>>>>>>>>>>>> creating a blog for the first time, etc., whenever you 
>>>>>>>>>>>>>> start it. Very inefficient and tiring. Normally I just 
>>>>>>>>>>>>>> build (mvn clean install) and dump the WAR into 
>>>>>>>>>>>>>> standalone Tomcat on my local machine. The database & 
>>>>>>>>>>>>>> other configuration I keep permanently in 
>>>>>>>>>>>>>> roller-custom.properties in the Tomcat lib/ folder, so 
>>>>>>>>>>>>>> the new WAR just takes over with the same configuration, 
>>>>>>>>>>>>>> blogs, accounts, etc., that old WAR was using. (Check the 
>>>>>>>>>>>>>> Roller install guide for full instructions.)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Also vital is that you know how to debug/trace Roller 
>>>>>>>>>>>>>> code in Eclipse or IntelliJ while it is running on Tomcat 
>>>>>>>>>>>>>> (or another servlet container). It's much simpler than it 
>>>>>>>>>>>>>> seems, and will save you a lot of time. These 
>>>>>>>>>>>>>> instructions are for Eclipse but Intellij (my preference) 
>>>>>>>>>>>>>> is basically the same: 
>>>>>>>>>>>>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>>>>>>>>>>>>>> Checking variable values while it's running will point 
>>>>>>>>>>>>>> you to where problems are much more quickly.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Happy New Year!
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> As, I previously told you that the test cases are giving 
>>>>>>>>>>>>>>> problem, actually I think we have to do some changes in 
>>>>>>>>>>>>>>> Test Cases also, as many of the methods involving path 
>>>>>>>>>>>>>>> and parent are removed so, many times in test cases (it 
>>>>>>>>>>>>>>> did not get correct values and give errors).
>>>>>>>>>>>>>>> I have successfully showed the categories by website 
>>>>>>>>>>>>>>> till now in the admin section. Also, the entries are 
>>>>>>>>>>>>>>> saved just, I ran out of memory issue in happen when I 
>>>>>>>>>>>>>>> save an entry that entry, although it get saved when I 
>>>>>>>>>>>>>>> refresh the page.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Also, as their is not path now, we have to do some 
>>>>>>>>>>>>>>> changes in velocity files, as feeds are giving error in 
>>>>>>>>>>>>>>> showing, although if I direct enter the URL its working 
>>>>>>>>>>>>>>> fine. I have cleared many parts of the code, just I have 
>>>>>>>>>>>>>>> test of the roller parts which are linked the path and 
>>>>>>>>>>>>>>> parent. I am thinking of correcting the test cases, as I 
>>>>>>>>>>>>>>> can run them and if test cases are fine then might be 
>>>>>>>>>>>>>>> everything will work fine.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I will return to work on this after 3 days, as I will be 
>>>>>>>>>>>>>>> and will get be to it during coming weekend again. I 
>>>>>>>>>>>>>>> will wrap this out asap for you to test and will attach 
>>>>>>>>>>>>>>> patches coming weekend.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>>>>>>>>>>>>> Thanks for that info, I have changed my settings in the 
>>>>>>>>>>>>>>>> eclipse.
>>>>>>>>>>>>>>>> Yes, you are right I will leave the ordering part for 
>>>>>>>>>>>>>>>> now and work on clearing the code for now. For now I 
>>>>>>>>>>>>>>>> will just add a column in category table with position, 
>>>>>>>>>>>>>>>> leaving it null for now.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>> Your last ImprovedCreateUser.patch had some tab 
>>>>>>>>>>>>>>>>> characters in it, and our project uses spaces for tabs 
>>>>>>>>>>>>>>>>> (just have Eclipse insert 4 spaces whenever you hit 
>>>>>>>>>>>>>>>>> the tab key, with no tab characters.) Very few Apache 
>>>>>>>>>>>>>>>>> projects (any?) are tab-indented today. It is a simple 
>>>>>>>>>>>>>>>>> fix with IntelliJ IDEA (Edit -> Convert Indents -> To 
>>>>>>>>>>>>>>>>> Spaces), I'm sure Eclipse has an equivalent.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> For blogs migrating from pre-5.1 versions, we can keep 
>>>>>>>>>>>>>>>>> the position NULL by default (and when you order by 
>>>>>>>>>>>>>>>>> position, with null values, they will come out in any 
>>>>>>>>>>>>>>>>> order, like they do today.) Whenever a new blog is 
>>>>>>>>>>>>>>>>> created with the default three categories, those can 
>>>>>>>>>>>>>>>>> be assigned positions (probably 0-based for leftmost 
>>>>>>>>>>>>>>>>> is best.)  For migrated blogs, once the user goes to 
>>>>>>>>>>>>>>>>> the category page and makes a change for the first 
>>>>>>>>>>>>>>>>> time, numbers can be written for the very first 
>>>>>>>>>>>>>>>>> time--no special extra UI is needed for this purpose. 
>>>>>>>>>>>>>>>>> But like I was saying, this is such a lengthy patch 
>>>>>>>>>>>>>>>>> you may wish to forget about the ordering right 
>>>>>>>>>>>>>>>>> now--it doesn't work anyway in Roller right now. It 
>>>>>>>>>>>>>>>>> may be best to get us to the new table and get rid of 
>>>>>>>>>>>>>>>>> the paths, and once we're on that firmer foundation 
>>>>>>>>>>>>>>>>> implementing positioning (on the Category page and in 
>>>>>>>>>>>>>>>>> the templates) will be much simpler.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I will change the position to be integer, and will 
>>>>>>>>>>>>>>>>>> exclude the category where parent null, but still 
>>>>>>>>>>>>>>>>>> what can be done for the position as the old data did 
>>>>>>>>>>>>>>>>>> not have position, so how and on what basis we have 
>>>>>>>>>>>>>>>>>> to add position to it. I was thinking that we can 
>>>>>>>>>>>>>>>>>> left it as null, and provide some UI in backend where 
>>>>>>>>>>>>>>>>>> user can assign position themselves.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I will take care of spacing, will search what I am 
>>>>>>>>>>>>>>>>>> doing wrong. As, I am not sure is that you are 
>>>>>>>>>>>>>>>>>> talking about formatting the code, or anything else. 
>>>>>>>>>>>>>>>>>> As I use tab (with 4 spaces) in Eclipse IDE.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>> BTW, not to be hated, but make sure any code you 
>>>>>>>>>>>>>>>>>>> submit is space-padded (4 spaces), *not* tab-padded. 
>>>>>>>>>>>>>>>>>>> Your IDE should be able to convert it for you if 
>>>>>>>>>>>>>>>>>>> you've been doing tab-padding.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> I am confused on how to add and on what basis we 
>>>>>>>>>>>>>>>>>>>> have to addd position to the new category table. 
>>>>>>>>>>>>>>>>>>>> Below two sql commands can be used for coping data 
>>>>>>>>>>>>>>>>>>>> and deleting the root categories.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> create table category (
>>>>>>>>>>>>>>>>>>>>     id varchar(48) not null primary key,
>>>>>>>>>>>>>>>>>>>>     name varchar(255) not null,
>>>>>>>>>>>>>>>>>>>>     description varchar(255),
>>>>>>>>>>>>>>>>>>>>     websiteid varchar(48) not null,
>>>>>>>>>>>>>>>>>>>>     image varchar(255),
>>>>>>>>>>>>>>>>>>>>     position varchar(48)
>>>>>>>>>>>>>>>>>>>> );
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> insert into 
>>>>>>>>>>>>>>>>>>>> category(id,name,description,websiteid,image) 
>>>>>>>>>>>>>>>>>>>> select id,name,description,websiteid,image from 
>>>>>>>>>>>>>>>>>>>> weblogcategory;
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> delete from category where name="root";
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> What do you suggest for this ?
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>> Take your time, this is a messy change as it 
>>>>>>>>>>>>>>>>>>>>> affects many areas of the code. But Roller will be 
>>>>>>>>>>>>>>>>>>>>> architecturally much more solid and simpler once 
>>>>>>>>>>>>>>>>>>>>> this change is done.  I have your ROL-1616 and 
>>>>>>>>>>>>>>>>>>>>> ROL-1982 on my plate for this weekend.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> I have deleted the path and all related methods, 
>>>>>>>>>>>>>>>>>>>>>> but its seems to me that the path methods like 
>>>>>>>>>>>>>>>>>>>>>> (getWeblogCategoryByPath) and many other path and 
>>>>>>>>>>>>>>>>>>>>>> parent related methods, are scattered over the 
>>>>>>>>>>>>>>>>>>>>>> whole roller. There are many occurrence of these 
>>>>>>>>>>>>>>>>>>>>>> methods and I have to sort out each piece of code 
>>>>>>>>>>>>>>>>>>>>>> as now there is no path so, mostly we check for 
>>>>>>>>>>>>>>>>>>>>>> categoryPath != null in if conditions, so these 
>>>>>>>>>>>>>>>>>>>>>> are no longer needed.
>>>>>>>>>>>>>>>>>>>>>> Also, I as thinking after testing and completing 
>>>>>>>>>>>>>>>>>>>>>> this we can delete the WeblogCategory and replace 
>>>>>>>>>>>>>>>>>>>>>> with Category method, as it will be clean. I also 
>>>>>>>>>>>>>>>>>>>>>> figured out why my tests are failing as during 
>>>>>>>>>>>>>>>>>>>>>> creating of weblogentry it did not find the 
>>>>>>>>>>>>>>>>>>>>>> categories, as that class was using old 
>>>>>>>>>>>>>>>>>>>>>> WeblogCategory table and using that class 
>>>>>>>>>>>>>>>>>>>>>> methods. I think I will definitely will figure 
>>>>>>>>>>>>>>>>>>>>>> out everything at the end and will successfully 
>>>>>>>>>>>>>>>>>>>>>> test with the unit tests.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> I am now in the editor part so can display the 
>>>>>>>>>>>>>>>>>>>>>> categories on front end, I am now all over the 
>>>>>>>>>>>>>>>>>>>>>> 1-2-3-4 steps you mentioned. As soon as I will 
>>>>>>>>>>>>>>>>>>>>>> able to display the categories (small issues 
>>>>>>>>>>>>>>>>>>>>>> left) at the backend, I will again go through my 
>>>>>>>>>>>>>>>>>>>>>> changes. Also, at this time I can only create 
>>>>>>>>>>>>>>>>>>>>>> patch for new table and migration script, as all 
>>>>>>>>>>>>>>>>>>>>>> other classes code are interrelated so can't 
>>>>>>>>>>>>>>>>>>>>>> submit now. I will test every single thing 
>>>>>>>>>>>>>>>>>>>>>> related to categories, then I will submit my 
>>>>>>>>>>>>>>>>>>>>>> patches.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Although I have learned a lot new things, just 
>>>>>>>>>>>>>>>>>>>>>> spent last two full days on this sorting out 
>>>>>>>>>>>>>>>>>>>>>> things, many times ending up nowhere from where I 
>>>>>>>>>>>>>>>>>>>>>> started. But I am confident that I will 
>>>>>>>>>>>>>>>>>>>>>> definitely complete this task. Just I am worrying 
>>>>>>>>>>>>>>>>>>>>>> that I must be taking too much time.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> If there is something, you can advice me I would 
>>>>>>>>>>>>>>>>>>>>>> happy to follow that also.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>> If it helps, you can provide interim patches, so 
>>>>>>>>>>>>>>>>>>>>>>> long as it doesn't break the current code base. 
>>>>>>>>>>>>>>>>>>>>>>> You may want to create a patch just creating the 
>>>>>>>>>>>>>>>>>>>>>>> new database table (which will be ignored by the 
>>>>>>>>>>>>>>>>>>>>>>> current code) and sql insert-select scripts to 
>>>>>>>>>>>>>>>>>>>>>>> move from the current table to the new one, then 
>>>>>>>>>>>>>>>>>>>>>>> one converting the code to using the new table 
>>>>>>>>>>>>>>>>>>>>>>> without sorting, then (finally) one that 
>>>>>>>>>>>>>>>>>>>>>>> implements sorting of the categories.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I have created and updated all necessary files 
>>>>>>>>>>>>>>>>>>>>>>>> in JPA and for database, I tried compiling the 
>>>>>>>>>>>>>>>>>>>>>>>> code it gave me errors in test cases. As I am 
>>>>>>>>>>>>>>>>>>>>>>>> not sure that what I am wrong in this. Although 
>>>>>>>>>>>>>>>>>>>>>>>> I tried compiling without running test cases, 
>>>>>>>>>>>>>>>>>>>>>>>> it worked fine. I tested it with tomcat and new 
>>>>>>>>>>>>>>>>>>>>>>>> table category is created and initial category 
>>>>>>>>>>>>>>>>>>>>>>>> (General, Finance and Technology) are created 
>>>>>>>>>>>>>>>>>>>>>>>> with the position 1,2,3. Still there are many 
>>>>>>>>>>>>>>>>>>>>>>>> thing I have to clean up and sort out and will 
>>>>>>>>>>>>>>>>>>>>>>>> test it again.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, Gaurav 
>>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> Ok, got your point. I will check on other 
>>>>>>>>>>>>>>>>>>>>>>>>> Roller parts also if parent name and path 
>>>>>>>>>>>>>>>>>>>>>>>>> aren't be using in any other part of Roller. I 
>>>>>>>>>>>>>>>>>>>>>>>>> will go into the RSS and Atom feeds later on, 
>>>>>>>>>>>>>>>>>>>>>>>>> and see what changes it need. As, till now I 
>>>>>>>>>>>>>>>>>>>>>>>>> have changed many files and created some, so 
>>>>>>>>>>>>>>>>>>>>>>>>> will first test this part then go into that 
>>>>>>>>>>>>>>>>>>>>>>>>> feeds part.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> Sounds good, but may require more work to 
>>>>>>>>>>>>>>>>>>>>>>>>>> make sure all is good with the RSS and Atom 
>>>>>>>>>>>>>>>>>>>>>>>>>> feeds as a result (which I believe rely on 
>>>>>>>>>>>>>>>>>>>>>>>>>> path). Where path is used to check for 
>>>>>>>>>>>>>>>>>>>>>>>>>> equivalence, I guess name (and blog/website 
>>>>>>>>>>>>>>>>>>>>>>>>>> ID, if necessary) alone will do now. We may 
>>>>>>>>>>>>>>>>>>>>>>>>>> need to check (if we aren't already) that no 
>>>>>>>>>>>>>>>>>>>>>>>>>> two categories have the same name, where 
>>>>>>>>>>>>>>>>>>>>>>>>>> prior we were checking that no two paths are 
>>>>>>>>>>>>>>>>>>>>>>>>>> the same (i.e., allowing category paths 
>>>>>>>>>>>>>>>>>>>>>>>>>> USStates/Georgia and Countries/Georgia but 
>>>>>>>>>>>>>>>>>>>>>>>>>> now needing to disallow two categories named 
>>>>>>>>>>>>>>>>>>>>>>>>>> "Georgia".)
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> I am thinking of removing the path coloumn 
>>>>>>>>>>>>>>>>>>>>>>>>>>> also, as it does not make sense now as there 
>>>>>>>>>>>>>>>>>>>>>>>>>>> will no subcategories and all will have same 
>>>>>>>>>>>>>>>>>>>>>>>>>>> path (like /categoryname). WDYT ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I want to know as now all the categories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will be top level, so the root category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> which is created by default on addWeblog 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> isn't needed. So, I can remove that code 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> also ? I am in half completed with the 1-2 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> steps will soon submit some patched in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> jira issue. You can look on to them 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whenever you will get time from other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> projects.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on this, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> understand your commitments. As this will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> give me more time on working on this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> issue. I will give my 100% on this, as I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> also want to get into more and more open 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> source projects. For Now I am focusing on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller for starting my contributions in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> open source.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 AM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I can't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> help much right now either, as my other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> project JSPWiki has a new release going 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> out.) But please be patient with us on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> your recent submitted patches -- we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> haven't forgotten you and are happy with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> your efforts on this project so far, we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> just have full-time jobs and, even after 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that, other obligations -- for open 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> source work, we usually have to beg, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> borrow and steal time to work on them.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am going through this having some 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> issues, although not major till now. I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have still working on 1-2 steps, might 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> be I am slow as get less time. (Wish we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> also have holidays of this festive 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> season in India :P) Just want to know 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> isn't there any hurry for completing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this asap ? Although, I am sure will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> definitely complete this as I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> understood the structure of Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> completely. Just I have to go through 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the JPA more and read about this.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're missing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will become apparent to you as you 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> work along. The Roller installation 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> guide and here 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can show you how to test also with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Derby if you'd like. (It is usually 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simpler than MySQL, and another 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> benefit of working on Roller is that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you become multiple-database-lingual 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> very quickly.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this much deep information, I can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> start working in it. I have started 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> working on this Issue and have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> followed your steps.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in createdb.vm 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and in migration scripts also. I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for mow stared working on MySQL.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> class, I have commented 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Category.orm.xml and enterd details 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> of new table. A new class Category in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created new files for now and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will work on this and add new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> position coloum and code regarding 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this. Other than UI and template 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Layer, I think I have covered all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> files on which I have to work on the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Database and JPA layers ? Please tell 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> me if I am wrong anywhere or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> following wrong workflow.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for our 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> database scripts -- you see a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb.vm plus migration scripts 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (5.0 to 5.1) -- we'll want our 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> change in both places (IIRC), new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> users have the createdb run and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller upgraders with their current 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DB's have the 5.0 to 5.1 migration 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> script run.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here and I'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like to get this done right (I plan 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> on helping out where you'd like). 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Namely, we've moved from a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical category structure 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (categories having subcategories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> having their own subcatorgories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> etc.) to a flat single-level 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structure (all categories are top 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> level) -- that was done a week or so 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> back. Problem is, the database 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tables are still assuming 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical (they will work with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat structures but are overkill--we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> don't need a parent ID column 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> anymore.) Also, the JPA objects are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> designed for hierarchical but can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplified a bit more to flat 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structure. Incidentally, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "sequenceNum" is ambiguous about 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> what it means, I would say 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "position" or "ordering" (INT null, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> null for migrators who don't yet 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have a position defined) is clearer.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to handle 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this--for both new installers and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table, say "category" designed 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> precisely as we need, and have the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> migration scripts select from the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> old weblogcategory and insert into 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the new category table. (We then 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ignore the weblogcategory table.) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We'll need to test the scripts with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at least two databases (2 of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> probably MySQL, Derby and/or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PostgreSQL) and guess for the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> others--if we're wrong the user 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> community can supply a patch fixing it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence object 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (the old WeblogCategory) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as it's 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> now flat-level. Indeed, I think 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> things will get a *lot* simpler 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> here, as it may just be the parent 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Weblog holding a list of some sort 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> of Category objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp (or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whatever it's called) and its Struts 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> action class will now need to use 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the new Category object (and table) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> instead of WeblogCategory. The UI 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> page will need two changes: (1) all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new categories will be placed (and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> saved) at the bottom of the category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> list (and as result, appear last 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (right-most) in the category list, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and, later (2) probably have up and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> down buttons in the table allowing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> users to easily reorder the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories as they like. (Strictly 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> speaking, 1 alone is all that's 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> needed for ordering, as you can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> remove/name/delete/recreate 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories to eventually get them in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the position you'd like, but (2) of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> course is much nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't looked 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> into this): The templates (probably 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> just a macro or two) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> updating to ensure that they output 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the category names per the new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> position order.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> advantage is that I'd like to do the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> same thing with bookmarks/blogrolls 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (team discussion pending...), switch 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> from a hierarchical to flat-level 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for those too.  If we can do this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for categories, the logic/UI design, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> etc., will carry over 100% to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually getting 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to this myself, so am available to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> work with you on whatever parts 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you'd like. I think going in order 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1-2-3-4 and having separate commits 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> may be the cleanest way of doing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this. What's nice about using a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> brand new table and JPA object is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that the old objects can still work 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in the code while we're creating the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new, we just don't activate the new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> until the very end.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team members on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the above ideas...?) Or are there 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> other Roller tasks you'd like to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sink your teeth into instead? I can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> look at this otherwise, but this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> looks like a very good exercise for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> someone wanting to get more involved 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in Roller, as it covers all the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> layers of the webapp.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on ROL-1981, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as discussed in previous discussion 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> threads I will add new column 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sequenceNum in weblogcategory 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table. Then we can assign 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sequenceNum to each category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> according to websideid. If anyone 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have some ideas regarding this, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> please help me. Also, need some 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> help on how to go with this issue, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and how to add new coloum, I found 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .sql file, do I need to add there 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new column. Also, Is this possible 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that that when I restart the roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> it will add new column to database ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>


Re: (another idea) Re: ROL-1981 Category ordering

Posted by Gaurav <ga...@gmail.com>.
Hello Glen,

I just got fixed that issue :). Thanks for all your help. I am done with 
all the issues and into thee final testing of the weblog all features.

Thanks
Gaurav


On Saturday 11 January 2014 12:20 PM, Gaurav wrote:
> Hello Glen,
>
> I still did not able to get what I should do next, as you told that 
> showWeblogCategoryLinksList($rootCategory false false) only bring the 
> toplevel categories, it because we specify the $rootCategory each 
> time, so automatically rootCategory child will always going to be top 
> level categories.
>
> Actually, my issue is that If I retain the method 
> getWeblogCategories() in WeblogCategory.java and return a Set of type 
> WeblogCategory then I have to do a mapping of that Set in orm.xml like 
> it was previously done
>
> <one-to-many name="weblogCategories" mapped-by="parent" 
> target-entity="org.apache.roller.weblogger.pojos.Weblog" fetch="LAZY"> 
> </one-to-many>)
>
> So, it was previouly mapped by parent, and as now we did not have any 
> parent, I tried with website but it gave me error as might be because 
> its target-entity is different. I am really out of ideas.
>
> I was thinking of start submitting patches of my work till now, as 
> just this issue of showing categories at blog is left.
>
> Thanks
> Gaurav
>
> On Wednesday 08 January 2014 08:42 AM, Glen Mazza wrote:
>> Hi Gaurav, weblog.weblogCategories should still exist as probably a 
>> Set of some sort (Set because of no duplicate Categories allowed), a 
>> List is another option.  A weblog does own a collection of categories 
>> even with the change. What should not exist is some child set of 
>> categories under each category--any code asking for the latter can be 
>> removed because there are never any subcategories under a category 
>> anymore.
>>
>> Might you be getting confused with this code?
>>     #set($categories = $weblog.weblogCategories )
>>     #foreach( $cat in $categories )
>>
>> The above should be fine, you're not for-eaching child categories 
>> under the *category* but under the *weblog*.
>>
>> Grepping the code for "#showWeblogCategoryLinksList", is showing that 
>> this is its most common usage:
>>
>> #showWeblogCategoryLinksList($rootCategory false false)
>>
>> I.e., just show the top-level categories with no subcategories. With 
>> the new code, all three params are useless now.
>>
>> I think what we need to do is create a new macro:
>>
>> #showWeblogCategoryLinksList
>> that does the same as
>> #showWeblogCategoryLinksList($rootCategory false false)
>>
>> And, for backward compatibility (at least so it compiles), have this 
>> macro:
>>
>> (A) #showWeblogCategoryLinksList($categoryObj $expanding $subcats)
>> ignore all three of its arguments and just call
>> (B) #showWeblogCategoryLinksList
>>
>> So (A) will be a deprecated method to be pulled out at a future time 
>> (maybe in 5.1) -- we'll have to update each of our templates that 
>> currently call (A) to have them call (B) instead -- a simple change 
>> to make.
>>
>> I'm not sure if I'm answering your questions but I think this might 
>> be what you're getting at.
>>
>> Regards,
>> Glen
>>
>>
>> On 01/07/2014 04:35 PM, Gaurav wrote:
>>> Hello Glen,
>>>
>>> I am completed with the Database, JPA, UI Layer. I have tested all 
>>> possible ways by creating, deleting, updating entries, categories 
>>> and also the complete weblog.
>>> The only single issue left is in Template Layer. Actually in 
>>> weblog.vm file for iterating categories list for menu and feeds, it 
>>> uses ($weblog.weblogCategories). It try getting list from 
>>> WeblogCategory method getWeblogCategories() and wrapping up with 
>>> WeblogCategoryWrapper and WeblogWrapper classes. But as this method 
>>> is no longer required, as it was for maintaining relations of 
>>> parent-child, It did not get any list.
>>>
>>> I though of retaining getWeblogCategories() method in WeblogCategory 
>>> class, and getting list of categories directly from 
>>> JPAWeblogEntryManager but it seems wrong to me according to the 
>>> structure. Can you please guide me what should be the best way to go ?
>>>
>>> Thanks
>>> Gaurav
>>>
>>> On Wednesday 08 January 2014 01:25 AM, Gaurav wrote:
>>>> Hello Glen,
>>>>
>>>> I figured out that issues, as I told when I use 
>>>> getWeblogCategories() method, then the error comes, actually its 
>>>> due to  the reason that I have removed below one-to-many mapping in 
>>>> orm file and still using the method. As you said, I studied JPA and 
>>>> get some time into it and learned new things about the mapping 
>>>> relationship. Now, I am thinking of implementing the same way as 
>>>> getWeblogEntries are listed  as it also come respect to the 
>>>> weblog/website.
>>>>
>>>> <one-to-many name="weblogCategories" mapped-by="parent" 
>>>> target-entity="org.apache.roller.weblogger.pojos.WeblogCategory" 
>>>> fetch="LAZY"></one-to-many>
>>>>
>>>> Thanks
>>>> Gaurav
>>>>
>>>> On Monday 06 January 2014 02:36 AM, Glen Mazza wrote:
>>>>> I don't know, but I don't like that statement 
>>>>> "c.getWeblogCategories().add(c); "  A WeblogCategory should no 
>>>>> longer have child weblog categories (they are pure siblings of 
>>>>> each other with no hierarchical relationship), so such an "add" 
>>>>> shouldn't exist.  You can have 
>>>>> -->Weblog<---.getWeblogCategories().add(c), that would make sense.
>>>>>
>>>>> Glen
>>>>>
>>>>> On 01/05/2014 03:32 PM, Gaurav wrote:
>>>>>> Hello Glen,
>>>>>>
>>>>>> I tried finding the that issues, but did not find anywhere. Also 
>>>>>> it is created dynamically as I changed the entity name to 
>>>>>> category1 then also sameerror come up with "category1_category1" 
>>>>>> doesn't exist. I think this might be something I am doing wrong 
>>>>>> with the code. As, Today I cleaned up all the code and now 
>>>>>> everything is working good. I am successful in creating, editing 
>>>>>> and deleting the weblog, entries, categories and everything is 
>>>>>> showing good.
>>>>>>
>>>>>> Just single problem I am having now is showing the categories 
>>>>>> list in feeds and in menu. I figured out after checking that 
>>>>>> $categoryObject.getWeblogCategories() is iterated in velocity 
>>>>>> file which check for the getWeblogCategories() method of type Set 
>>>>>> in WeblogCategory class, Initially I commented this method as the 
>>>>>> comments over this method said "Get child categories of this 
>>>>>> category". But I think this is neccasary as whenever a category 
>>>>>> is created this is called to add a category to Set 
>>>>>> "rootCat.getWeblogCategories().add(c);"
>>>>>>
>>>>>> Now, Problem is we did not have any parent or root category now, 
>>>>>> so how it will going to add to that Set and Also I tried creating 
>>>>>> a object of WeblogCategory Class and tried adding it to 
>>>>>> getWeblogCategories() method then again. Now When I tired adding 
>>>>>> category with this "c.getWeblogCategories().add(c);" the same 
>>>>>> error comes up. If I comment this line that add category, 
>>>>>> everything works fine again, just did not get any list of 
>>>>>> categories in menu and feed.
>>>>>>
>>>>>> Also, I am confused what setWeblogCategories() is doing as I did 
>>>>>> not find anywhere where it is used for setting categories. Just 
>>>>>> the getWeblogCategories() is used with .add for adding child 
>>>>>> categories to parent/root.
>>>>>>
>>>>>> Below is what I done in addWeblogContents method of class 
>>>>>> JPAWeblogManagerImpl.
>>>>>>
>>>>>> if (cats != null && cats.trim().length() > 0) {
>>>>>>             String[] splitcats = cats.split(",");
>>>>>>             for (int i=0; i<splitcats.length; i++) {
>>>>>>                 WeblogCategory c = new WeblogCategory(
>>>>>>                         newWeblog,       // newWeblog
>>>>>>                         splitcats[i],    // name
>>>>>>                         splitcats[i],    // description
>>>>>>                         null );          // image
>>>>>>                 if (i == 0) {
>>>>>>                     firstCat = c;
>>>>>>                 }
>>>>>>                 System.out.println("====Cats==="+c);
>>>>>>                 c.getWeblogCategories().add(c); //previously it 
>>>>>> was root.getWeblogCategories.add(c);
>>>>>>                 this.strategy.store(c);
>>>>>>             }
>>>>>>         }
>>>>>>
>>>>>>
>>>>>> [EL Warning]: 2014-01-05 
>>>>>> 17:15:22.179--ClientSession(1956103136)--Exception 
>>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 
>>>>>> 'CATEGORY_CATEGORY' does not exist.
>>>>>> Error Code: 20000
>>>>>> Call: INSERT INTO category_category (weblogCategories_id, 
>>>>>> WeblogCategory_id) VALUES (?, ?)
>>>>>>     bind => [2 parameters bound]
>>>>>> Query: DataModifyQuery(name="weblogCategories" sql="INSERT INTO 
>>>>>> category_category (weblogCategories_id, WeblogCategory_id) VALUES 
>>>>>> (?, ?)")
>>>>>> *
>>>>>>
>>>>>> *Also I tried making new ArrayList and new getter setter in 
>>>>>> WeblogCategory class, still I got same error.
>>>>>>     List<WeblogCategory> catsss = new ArrayList<WeblogCategory>();
>>>>>>     catsss.add(c);
>>>>>>     c.setList(catsss);
>>>>>> System.out.println("======"+catsss+"============"+c.getList());
>>>>>>
>>>>>> Got this error, after adding Arraylist.
>>>>>>
>>>>>> [EL Warning]: 2014-01-05 
>>>>>> 19:42:56.209--ClientSession(1732472947)--Exception 
>>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 
>>>>>> 'CATEGORY_CATEGORY' does not exist.
>>>>>> Error Code: 20000
>>>>>> Call: INSERT INTO category_category (list_id, WeblogCategory_id) 
>>>>>> VALUES (?, ?)
>>>>>>     bind => [2 parameters bound]
>>>>>> Query: DataModifyQuery(name="list" sql="INSERT INTO 
>>>>>> category_category (list_id, WeblogCategory_id) VALUES (?, ?)")
>>>>>>
>>>>>> Thanks
>>>>>> Gaurav
>>>>>>
>>>>>>
>>>>>> On Sunday 05 January 2014 05:30 AM, Glen Mazza wrote:
>>>>>>> Hi Gaurav, did you try a "control" with your file search method? 
>>>>>>> I.e., you're saying you're case-insensitive searching on 
>>>>>>> "category_category" but nothing is getting returned -- did you 
>>>>>>> try also searching something that you *know* exists in the 
>>>>>>> project (say, "class", "public", "return", etc.) and your 
>>>>>>> IDE/search method indeed did return lots of matches?  Because if 
>>>>>>> you get zero search results with the latter we know the problem 
>>>>>>> is with the way you're configuring your search, not the 
>>>>>>> non-existence of "category_category".  (Also are you searching 
>>>>>>> on every type of file extension, not just .java files?)
>>>>>>>
>>>>>>> Somewhere in your code the JPA layer has decided to calculate 
>>>>>>> "category_category" as a table name, I would guess because 
>>>>>>> that's what is exactly in the code someplace (as you can see the 
>>>>>>> query below generated "...FROM category_category t0, category 
>>>>>>> t1..."). One useful experiment might be to rename the "category" 
>>>>>>> table (t1) above to "category2" -- would the SQL above change to 
>>>>>>> "category2_category2, category2..." or (I think) "...FROM 
>>>>>>> category_category t0, category2 t1...") If the former, that 
>>>>>>> would indicate that "category2_category2" is being dynamically 
>>>>>>> generated from the "category2" table name. If the latter, that 
>>>>>>> would mean "category_category" is hardcoded somewhere and not 
>>>>>>> related to the "category" table name you've properly configured.
>>>>>>>
>>>>>>> I probably won't be able to get to this until next weekend 
>>>>>>> anyway, so I'm going to have you finish it, also as a 
>>>>>>> confidence-builder for you (if you let JPA push you around now, 
>>>>>>> it's always going to bully you...  :)
>>>>>>>
>>>>>>> Regards,
>>>>>>> Glen
>>>>>>>
>>>>>>> PS:  Just to clarify, when an pre-5.1-SNAPSHOT user installs 
>>>>>>> Roller 5.1-SNAPSHOT, the Roller startup should automatically 
>>>>>>> detect that the system is currently using an older Roller 
>>>>>>> database and do the database upgrade (creating of new the 
>>>>>>> "category" table and prepopulation of it).  Roller has always 
>>>>>>> done this as so long as you put the necessary migration scripts 
>>>>>>> in the right place there should be no problem. However, those of 
>>>>>>> us already on 5.1-SNAPSHOT like myself before your patch will 
>>>>>>> need to manually create that table in our database (the Roller 
>>>>>>> script won't notice 5.1-SNAPSHOT-->5.1-SNAPSHOT, so won't create 
>>>>>>> "category" by itself.)  No problem, we'll just figure out the 
>>>>>>> necessary SQL statements for Dave and he can add it to his 
>>>>>>> Roller project blog.
>>>>>>>
>>>>>>>
>>>>>>> On 01/04/2014 04:47 PM, Gaurav wrote:
>>>>>>>> Hello Glen,
>>>>>>>>
>>>>>>>> I searched whole project and did not find anywhere. I think 
>>>>>>>> might be I have done something wrong, as when I start with new 
>>>>>>>> database, everything work just deleting gives me this error. If 
>>>>>>>> I work on old database it even did not start up 
>>>>>>>> (localhost:8080/roller) gives my below error.
>>>>>>>>
>>>>>>>> I have checked almost everything I can, might be some wrong 
>>>>>>>> java code and anything I done wrong that causes this. Should I 
>>>>>>>> submit by work so you can look on to it, or if we are not in 
>>>>>>>> any hurry than I can look into it again step by step (I prefer 
>>>>>>>> second option if we have one more week. Just another week or 
>>>>>>>> so, next week i have some tight schedule). I know I am taking 
>>>>>>>> too much time, but I am new to this level of Java code, as I 
>>>>>>>> worked maximum time at client side. But I really loving java 
>>>>>>>> code and learned a lot till now, before this I just worked with 
>>>>>>>> Java on small projects. OpenSource Projects really are very 
>>>>>>>> powerful and good way to learn new things.
>>>>>>>>
>>>>>>>> Exception [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>>> org.eclipse.persistence.exceptions.DatabaseException Internal 
>>>>>>>> Exception: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 
>>>>>>>> Table 'roller.category_category' doesn't exist Error Code: 1146 
>>>>>>>> Call: SELECT t1.id, t1.description, t1.image, t1.name, 
>>>>>>>> t1.websiteid FROM category_category t0, category t1 WHERE 
>>>>>>>> ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>>>>>>> t0.weblogCategories_id)) bind => [1 parameter bound] Query: 
>>>>>>>> ReadAllQuery(name="weblogCategories" 
>>>>>>>> referenceClass=WeblogCategory sql="SELECT t1.id, 
>>>>>>>> t1.description, t1.image, t1.name, t1.websiteid FROM 
>>>>>>>> category_category t0, category t1 WHERE ((t0.WeblogCategory_id 
>>>>>>>> = ?) AND (t1.id = t0.weblogCategories_id))")
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Gaurav
>>>>>>>>
>>>>>>>> On Sunday 05 January 2014 12:00 AM, Glen Mazza wrote:
>>>>>>>>> Hi Gaurav, no, that relation shouldn't be needed anymore.
>>>>>>>>>
>>>>>>>>> As for the table name, at the top of your orm.xml file the 
>>>>>>>>> table name the file maps against is declared -- perhaps you 
>>>>>>>>> accidentally called it category_category. I would grep or use 
>>>>>>>>> a file search from your IDE of your entire roller source code, 
>>>>>>>>> looking for where category_category is being declared -- 
>>>>>>>>> (probably) has to be there someplace. (More specifically, do a 
>>>>>>>>> file search on "DataModifyQuery" -- that's probably exactly 
>>>>>>>>> where the problem is.)
>>>>>>>>>
>>>>>>>>> Once working, try to import the latest code changes into your 
>>>>>>>>> code before submitting a patch (actually create a backup patch 
>>>>>>>>> first just in case).  Not sure but I think a simple svn update 
>>>>>>>>> will do -- svn will identify some files where it will need 
>>>>>>>>> your assistance to resolve any differences -- it shouldn't be 
>>>>>>>>> too hard or time-consuming to do.
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Glen
>>>>>>>>>
>>>>>>>>> On 01/04/2014 08:55 AM, Gaurav wrote:
>>>>>>>>>> Hello Glen,
>>>>>>>>>>
>>>>>>>>>> I just want to know that the below relations in 
>>>>>>>>>> WeblogCategory.orm.xml are required or not as now the parent 
>>>>>>>>>> is not used so, I don't think its needed now. I have 
>>>>>>>>>> commented the below lines.
>>>>>>>>>>
>>>>>>>>>> <many-to-one name="parent" 
>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category">
>>>>>>>>>>                 <join-column name="parentid" 
>>>>>>>>>> insertable="true" updatable="true" nullable="true"/>
>>>>>>>>>>             </many-to-one>
>>>>>>>>>>             <one-to-many name="weblogCategories" 
>>>>>>>>>> mapped-by="parent" 
>>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category" 
>>>>>>>>>> fetch="LAZY">
>>>>>>>>>>                 <cascade>
>>>>>>>>>>                     <cascade-remove/>
>>>>>>>>>>                 </cascade>
>>>>>>>>>>             </one-to-many>
>>>>>>>>>>             <transient name="inUse"/>
>>>>>>>>>>
>>>>>>>>>> I asked this because, getting categories giving me mysql 
>>>>>>>>>> exception. The new table is 'roller.category' but it executes 
>>>>>>>>>> for 'roller.category_category'.
>>>>>>>>>> I am not able to get what I have done wrong.
>>>>>>>>>>
>>>>>>>>>> Internal Exception: 
>>>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
>>>>>>>>>> 'roller.category_category' doesn't exist
>>>>>>>>>> Error Code: 1146
>>>>>>>>>> Call: DELETE FROM category_category WHERE (WeblogCategory_id 
>>>>>>>>>> = ?)
>>>>>>>>>>     bind => [1 parameter bound]
>>>>>>>>>> Query: DataModifyQuery(name="weblogCategories" sql="DELETE 
>>>>>>>>>> FROM category_category WHERE (WeblogCategory_id = ?)")
>>>>>>>>>>
>>>>>>>>>> Also, I have changed the getWeblogCategoryByPath to 
>>>>>>>>>> getWeblogCategoryByName so feeds and other places work fine. 
>>>>>>>>>> I have able to get catgeory list, new entries are creating 
>>>>>>>>>> successfully. Just deleting the weblog is giving me above error.
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> Gaurav
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>
>>>>>>>>>>> I have already deleted getPath and getParent and in the mid 
>>>>>>>>>>> of everything. I hope I will be able to complete this by 
>>>>>>>>>>> Monday. If still, I get some major issues due to this, I 
>>>>>>>>>>> will switch to what you suggested. Just give me time till 
>>>>>>>>>>> Monday, as I have done almost 80% of code cleaned regarding 
>>>>>>>>>>> the path and parentcategory. I will get back to you soon 
>>>>>>>>>>> with some patches and then you can test it.
>>>>>>>>>>>
>>>>>>>>>>> Also, my ICLA have been filed, got the receipt of my ICLA.
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>> Gaurav
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
>>>>>>>>>>>> Gaurav, sorry, it just occurred to me there's a simpler 
>>>>>>>>>>>> intermediate step that can be done. While we need the 
>>>>>>>>>>>> database table without a path column, and to remove the 
>>>>>>>>>>>> "path" member *variable* from WeblogCategory (or its 
>>>>>>>>>>>> replacement), we can still keep indefinitely keep 
>>>>>>>>>>>> getPath(), just hardcode it to "/" + categoryName, which is 
>>>>>>>>>>>> precisely what the old code returns for any top-level 
>>>>>>>>>>>> category--the rest of the system can stay just as it did 
>>>>>>>>>>>> before.  Switching the rest of the code from getPath() to 
>>>>>>>>>>>> using getName() can be done at any time, bit by bit 
>>>>>>>>>>>> whenever, that's not necessary to implement positioning, 
>>>>>>>>>>>> that's just a code cleanup issue. Likewise, for 
>>>>>>>>>>>> WeblogCategory.getParent(), it may be as simple as adding a 
>>>>>>>>>>>> root category object as part of the Weblog's constructor 
>>>>>>>>>>>> (but not saved to the database), and having 
>>>>>>>>>>>> WeblogCategory.getParent() just return 
>>>>>>>>>>>> website.getParentCategory()--that way all categories for a 
>>>>>>>>>>>> weblog will have the same root category as before, and the 
>>>>>>>>>>>> rest of the code base should function fine.  Once we're on 
>>>>>>>>>>>> the new table, then it's an issue of implementing 
>>>>>>>>>>>> positioning--getting rid of getParent() and getPath() can 
>>>>>>>>>>>> be done by anybody at a later date.
>>>>>>>>>>>>
>>>>>>>>>>>> Regards,
>>>>>>>>>>>> Glen
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>>>>>>>>>>>> No problem, I'm available to help (or finish it up) if 
>>>>>>>>>>>>> needed.  For a seemingly simple switch, you're certainly 
>>>>>>>>>>>>> getting a *full* education of the Roller codebase.  :)
>>>>>>>>>>>>>
>>>>>>>>>>>>> BTW, I hope you're not testing via mvn jetty:run, as that 
>>>>>>>>>>>>> requires you to keep logging in for the first time, 
>>>>>>>>>>>>> creating a blog for the first time, etc., whenever you 
>>>>>>>>>>>>> start it. Very inefficient and tiring. Normally I just 
>>>>>>>>>>>>> build (mvn clean install) and dump the WAR into standalone 
>>>>>>>>>>>>> Tomcat on my local machine. The database & other 
>>>>>>>>>>>>> configuration I keep permanently in 
>>>>>>>>>>>>> roller-custom.properties in the Tomcat lib/ folder, so the 
>>>>>>>>>>>>> new WAR just takes over with the same configuration, 
>>>>>>>>>>>>> blogs, accounts, etc., that old WAR was using. (Check the 
>>>>>>>>>>>>> Roller install guide for full instructions.)
>>>>>>>>>>>>>
>>>>>>>>>>>>> Also vital is that you know how to debug/trace Roller code 
>>>>>>>>>>>>> in Eclipse or IntelliJ while it is running on Tomcat (or 
>>>>>>>>>>>>> another servlet container). It's much simpler than it 
>>>>>>>>>>>>> seems, and will save you a lot of time. These instructions 
>>>>>>>>>>>>> are for Eclipse but Intellij (my preference) is basically 
>>>>>>>>>>>>> the same: 
>>>>>>>>>>>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>>>>>>>>>>>>> Checking variable values while it's running will point you 
>>>>>>>>>>>>> to where problems are much more quickly.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Happy New Year!
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> As, I previously told you that the test cases are giving 
>>>>>>>>>>>>>> problem, actually I think we have to do some changes in 
>>>>>>>>>>>>>> Test Cases also, as many of the methods involving path 
>>>>>>>>>>>>>> and parent are removed so, many times in test cases (it 
>>>>>>>>>>>>>> did not get correct values and give errors).
>>>>>>>>>>>>>> I have successfully showed the categories by website till 
>>>>>>>>>>>>>> now in the admin section. Also, the entries are saved 
>>>>>>>>>>>>>> just, I ran out of memory issue in happen when I save an 
>>>>>>>>>>>>>> entry that entry, although it get saved when I refresh 
>>>>>>>>>>>>>> the page.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Also, as their is not path now, we have to do some 
>>>>>>>>>>>>>> changes in velocity files, as feeds are giving error in 
>>>>>>>>>>>>>> showing, although if I direct enter the URL its working 
>>>>>>>>>>>>>> fine. I have cleared many parts of the code, just I have 
>>>>>>>>>>>>>> test of the roller parts which are linked the path and 
>>>>>>>>>>>>>> parent. I am thinking of correcting the test cases, as I 
>>>>>>>>>>>>>> can run them and if test cases are fine then might be 
>>>>>>>>>>>>>> everything will work fine.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I will return to work on this after 3 days, as I will be 
>>>>>>>>>>>>>> and will get be to it during coming weekend again. I will 
>>>>>>>>>>>>>> wrap this out asap for you to test and will attach 
>>>>>>>>>>>>>> patches coming weekend.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>>>>>>>>>>>> Thanks for that info, I have changed my settings in the 
>>>>>>>>>>>>>>> eclipse.
>>>>>>>>>>>>>>> Yes, you are right I will leave the ordering part for 
>>>>>>>>>>>>>>> now and work on clearing the code for now. For now I 
>>>>>>>>>>>>>>> will just add a column in category table with position, 
>>>>>>>>>>>>>>> leaving it null for now.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>> Your last ImprovedCreateUser.patch had some tab 
>>>>>>>>>>>>>>>> characters in it, and our project uses spaces for tabs 
>>>>>>>>>>>>>>>> (just have Eclipse insert 4 spaces whenever you hit the 
>>>>>>>>>>>>>>>> tab key, with no tab characters.) Very few Apache 
>>>>>>>>>>>>>>>> projects (any?) are tab-indented today. It is a simple 
>>>>>>>>>>>>>>>> fix with IntelliJ IDEA (Edit -> Convert Indents -> To 
>>>>>>>>>>>>>>>> Spaces), I'm sure Eclipse has an equivalent.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> For blogs migrating from pre-5.1 versions, we can keep 
>>>>>>>>>>>>>>>> the position NULL by default (and when you order by 
>>>>>>>>>>>>>>>> position, with null values, they will come out in any 
>>>>>>>>>>>>>>>> order, like they do today.) Whenever a new blog is 
>>>>>>>>>>>>>>>> created with the default three categories, those can be 
>>>>>>>>>>>>>>>> assigned positions (probably 0-based for leftmost is 
>>>>>>>>>>>>>>>> best.)  For migrated blogs, once the user goes to the 
>>>>>>>>>>>>>>>> category page and makes a change for the first time, 
>>>>>>>>>>>>>>>> numbers can be written for the very first time--no 
>>>>>>>>>>>>>>>> special extra UI is needed for this purpose. But like I 
>>>>>>>>>>>>>>>> was saying, this is such a lengthy patch you may wish 
>>>>>>>>>>>>>>>> to forget about the ordering right now--it doesn't work 
>>>>>>>>>>>>>>>> anyway in Roller right now. It may be best to get us to 
>>>>>>>>>>>>>>>> the new table and get rid of the paths, and once we're 
>>>>>>>>>>>>>>>> on that firmer foundation implementing positioning (on 
>>>>>>>>>>>>>>>> the Category page and in the templates) will be much 
>>>>>>>>>>>>>>>> simpler.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I will change the position to be integer, and will 
>>>>>>>>>>>>>>>>> exclude the category where parent null, but still what 
>>>>>>>>>>>>>>>>> can be done for the position as the old data did not 
>>>>>>>>>>>>>>>>> have position, so how and on what basis we have to add 
>>>>>>>>>>>>>>>>> position to it. I was thinking that we can left it as 
>>>>>>>>>>>>>>>>> null, and provide some UI in backend where user can 
>>>>>>>>>>>>>>>>> assign position themselves.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I will take care of spacing, will search what I am 
>>>>>>>>>>>>>>>>> doing wrong. As, I am not sure is that you are talking 
>>>>>>>>>>>>>>>>> about formatting the code, or anything else. As I use 
>>>>>>>>>>>>>>>>> tab (with 4 spaces) in Eclipse IDE.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>> BTW, not to be hated, but make sure any code you 
>>>>>>>>>>>>>>>>>> submit is space-padded (4 spaces), *not* tab-padded. 
>>>>>>>>>>>>>>>>>> Your IDE should be able to convert it for you if 
>>>>>>>>>>>>>>>>>> you've been doing tab-padding.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I am confused on how to add and on what basis we 
>>>>>>>>>>>>>>>>>>> have to addd position to the new category table. 
>>>>>>>>>>>>>>>>>>> Below two sql commands can be used for coping data 
>>>>>>>>>>>>>>>>>>> and deleting the root categories.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> create table category (
>>>>>>>>>>>>>>>>>>>     id varchar(48) not null primary key,
>>>>>>>>>>>>>>>>>>>     name varchar(255) not null,
>>>>>>>>>>>>>>>>>>>     description varchar(255),
>>>>>>>>>>>>>>>>>>>     websiteid varchar(48) not null,
>>>>>>>>>>>>>>>>>>>     image varchar(255),
>>>>>>>>>>>>>>>>>>>     position varchar(48)
>>>>>>>>>>>>>>>>>>> );
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> insert into 
>>>>>>>>>>>>>>>>>>> category(id,name,description,websiteid,image) select 
>>>>>>>>>>>>>>>>>>> id,name,description,websiteid,image from 
>>>>>>>>>>>>>>>>>>> weblogcategory;
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> delete from category where name="root";
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> What do you suggest for this ?
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen Mazza 
>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>> Take your time, this is a messy change as it 
>>>>>>>>>>>>>>>>>>>> affects many areas of the code. But Roller will be 
>>>>>>>>>>>>>>>>>>>> architecturally much more solid and simpler once 
>>>>>>>>>>>>>>>>>>>> this change is done.  I have your ROL-1616 and 
>>>>>>>>>>>>>>>>>>>> ROL-1982 on my plate for this weekend.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> I have deleted the path and all related methods, 
>>>>>>>>>>>>>>>>>>>>> but its seems to me that the path methods like 
>>>>>>>>>>>>>>>>>>>>> (getWeblogCategoryByPath) and many other path and 
>>>>>>>>>>>>>>>>>>>>> parent related methods, are scattered over the 
>>>>>>>>>>>>>>>>>>>>> whole roller. There are many occurrence of these 
>>>>>>>>>>>>>>>>>>>>> methods and I have to sort out each piece of code 
>>>>>>>>>>>>>>>>>>>>> as now there is no path so, mostly we check for 
>>>>>>>>>>>>>>>>>>>>> categoryPath != null in if conditions, so these 
>>>>>>>>>>>>>>>>>>>>> are no longer needed.
>>>>>>>>>>>>>>>>>>>>> Also, I as thinking after testing and completing 
>>>>>>>>>>>>>>>>>>>>> this we can delete the WeblogCategory and replace 
>>>>>>>>>>>>>>>>>>>>> with Category method, as it will be clean. I also 
>>>>>>>>>>>>>>>>>>>>> figured out why my tests are failing as during 
>>>>>>>>>>>>>>>>>>>>> creating of weblogentry it did not find the 
>>>>>>>>>>>>>>>>>>>>> categories, as that class was using old 
>>>>>>>>>>>>>>>>>>>>> WeblogCategory table and using that class methods. 
>>>>>>>>>>>>>>>>>>>>> I think I will definitely will figure out 
>>>>>>>>>>>>>>>>>>>>> everything at the end and will successfully test 
>>>>>>>>>>>>>>>>>>>>> with the unit tests.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> I am now in the editor part so can display the 
>>>>>>>>>>>>>>>>>>>>> categories on front end, I am now all over the 
>>>>>>>>>>>>>>>>>>>>> 1-2-3-4 steps you mentioned. As soon as I will 
>>>>>>>>>>>>>>>>>>>>> able to display the categories (small issues left) 
>>>>>>>>>>>>>>>>>>>>> at the backend, I will again go through my 
>>>>>>>>>>>>>>>>>>>>> changes. Also, at this time I can only create 
>>>>>>>>>>>>>>>>>>>>> patch for new table and migration script, as all 
>>>>>>>>>>>>>>>>>>>>> other classes code are interrelated so can't 
>>>>>>>>>>>>>>>>>>>>> submit now. I will test every single thing related 
>>>>>>>>>>>>>>>>>>>>> to categories, then I will submit my patches.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Although I have learned a lot new things, just 
>>>>>>>>>>>>>>>>>>>>> spent last two full days on this sorting out 
>>>>>>>>>>>>>>>>>>>>> things, many times ending up nowhere from where I 
>>>>>>>>>>>>>>>>>>>>> started. But I am confident that I will definitely 
>>>>>>>>>>>>>>>>>>>>> complete this task. Just I am worrying that I must 
>>>>>>>>>>>>>>>>>>>>> be taking too much time.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> If there is something, you can advice me I would 
>>>>>>>>>>>>>>>>>>>>> happy to follow that also.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>> If it helps, you can provide interim patches, so 
>>>>>>>>>>>>>>>>>>>>>> long as it doesn't break the current code base. 
>>>>>>>>>>>>>>>>>>>>>> You may want to create a patch just creating the 
>>>>>>>>>>>>>>>>>>>>>> new database table (which will be ignored by the 
>>>>>>>>>>>>>>>>>>>>>> current code) and sql insert-select scripts to 
>>>>>>>>>>>>>>>>>>>>>> move from the current table to the new one, then 
>>>>>>>>>>>>>>>>>>>>>> one converting the code to using the new table 
>>>>>>>>>>>>>>>>>>>>>> without sorting, then (finally) one that 
>>>>>>>>>>>>>>>>>>>>>> implements sorting of the categories.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I have created and updated all necessary files 
>>>>>>>>>>>>>>>>>>>>>>> in JPA and for database, I tried compiling the 
>>>>>>>>>>>>>>>>>>>>>>> code it gave me errors in test cases. As I am 
>>>>>>>>>>>>>>>>>>>>>>> not sure that what I am wrong in this. Although 
>>>>>>>>>>>>>>>>>>>>>>> I tried compiling without running test cases, it 
>>>>>>>>>>>>>>>>>>>>>>> worked fine. I tested it with tomcat and new 
>>>>>>>>>>>>>>>>>>>>>>> table category is created and initial category 
>>>>>>>>>>>>>>>>>>>>>>> (General, Finance and Technology) are created 
>>>>>>>>>>>>>>>>>>>>>>> with the position 1,2,3. Still there are many 
>>>>>>>>>>>>>>>>>>>>>>> thing I have to clean up and sort out and will 
>>>>>>>>>>>>>>>>>>>>>>> test it again.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, Gaurav 
>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>> Ok, got your point. I will check on other 
>>>>>>>>>>>>>>>>>>>>>>>> Roller parts also if parent name and path 
>>>>>>>>>>>>>>>>>>>>>>>> aren't be using in any other part of Roller. I 
>>>>>>>>>>>>>>>>>>>>>>>> will go into the RSS and Atom feeds later on, 
>>>>>>>>>>>>>>>>>>>>>>>> and see what changes it need. As, till now I 
>>>>>>>>>>>>>>>>>>>>>>>> have changed many files and created some, so 
>>>>>>>>>>>>>>>>>>>>>>>> will first test this part then go into that 
>>>>>>>>>>>>>>>>>>>>>>>> feeds part.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> Sounds good, but may require more work to make 
>>>>>>>>>>>>>>>>>>>>>>>>> sure all is good with the RSS and Atom feeds 
>>>>>>>>>>>>>>>>>>>>>>>>> as a result (which I believe rely on path). 
>>>>>>>>>>>>>>>>>>>>>>>>> Where path is used to check for equivalence, I 
>>>>>>>>>>>>>>>>>>>>>>>>> guess name (and blog/website ID, if necessary) 
>>>>>>>>>>>>>>>>>>>>>>>>> alone will do now. We may need to check (if we 
>>>>>>>>>>>>>>>>>>>>>>>>> aren't already) that no two categories have 
>>>>>>>>>>>>>>>>>>>>>>>>> the same name, where prior we were checking 
>>>>>>>>>>>>>>>>>>>>>>>>> that no two paths are the same (i.e., allowing 
>>>>>>>>>>>>>>>>>>>>>>>>> category paths USStates/Georgia and 
>>>>>>>>>>>>>>>>>>>>>>>>> Countries/Georgia but now needing to disallow 
>>>>>>>>>>>>>>>>>>>>>>>>> two categories named "Georgia".)
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> I am thinking of removing the path coloumn 
>>>>>>>>>>>>>>>>>>>>>>>>>> also, as it does not make sense now as there 
>>>>>>>>>>>>>>>>>>>>>>>>>> will no subcategories and all will have same 
>>>>>>>>>>>>>>>>>>>>>>>>>> path (like /categoryname). WDYT ?
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> I want to know as now all the categories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> will be top level, so the root category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> which is created by default on addWeblog 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> isn't needed. So, I can remove that code 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> also ? I am in half completed with the 1-2 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> steps will soon submit some patched in jira 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> issue. You can look on to them whenever you 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> will get time from other projects.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on this, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> understand your commitments. As this will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> give me more time on working on this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> issue. I will give my 100% on this, as I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> also want to get into more and more open 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> source projects. For Now I am focusing on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller for starting my contributions in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> open source.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I can't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> help much right now either, as my other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> project JSPWiki has a new release going 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> out.) But please be patient with us on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> your recent submitted patches -- we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> haven't forgotten you and are happy with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> your efforts on this project so far, we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> just have full-time jobs and, even after 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that, other obligations -- for open 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> source work, we usually have to beg, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> borrow and steal time to work on them.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am going through this having some 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> issues, although not major till now. I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have still working on 1-2 steps, might 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> be I am slow as get less time. (Wish we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> also have holidays of this festive 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> season in India :P) Just want to know 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> isn't there any hurry for completing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this asap ? Although, I am sure will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> definitely complete this as I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> understood the structure of Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> completely. Just I have to go through 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the JPA more and read about this.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're missing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will become apparent to you as you work 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> along. The Roller installation guide 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and here 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can show you how to test also with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Derby if you'd like. (It is usually 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simpler than MySQL, and another benefit 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> of working on Roller is that you become 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> multiple-database-lingual very quickly.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this much deep information, I can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> start working in it. I have started 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> working on this Issue and have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> followed your steps.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in createdb.vm 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and in migration scripts also. I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for mow stared working on MySQL.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl class, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have commented updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Category.orm.xml and enterd details of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new table. A new class Category in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created new files for now and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will work on this and add new position 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> coloum and code regarding this. Other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> than UI and template Layer, I think I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have covered all files on which I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to work on the Database and JPA layers 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ? Please tell me if I am wrong 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> anywhere or following wrong workflow.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 AM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for our 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> database scripts -- you see a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb.vm plus migration scripts 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (5.0 to 5.1) -- we'll want our change 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in both places (IIRC), new users have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the createdb run and Roller upgraders 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with their current DB's have the 5.0 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to 5.1 migration script run.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here and I'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like to get this done right (I plan 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> on helping out where you'd like). 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Namely, we've moved from a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical category structure 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (categories having subcategories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> having their own subcatorgories etc.) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to a flat single-level structure (all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories are top level) -- that was 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> done a week or so back. Problem is, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the database tables are still 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> assuming hierarchical (they will work 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with flat structures but are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> overkill--we don't need a parent ID 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> column anymore.) Also, the JPA 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> objects are designed for hierarchical 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> but can simplified a bit more to flat 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structure. Incidentally, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "sequenceNum" is ambiguous about what 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> it means, I would say "position" or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "ordering" (INT null, null for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> migrators who don't yet have a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> position defined) is clearer.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to handle 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this--for both new installers and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new table, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> say "category" designed precisely as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we need, and have the migration 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> scripts select from the old 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory and insert into the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new category table. (We then ignore 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the weblogcategory table.) We'll need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to test the scripts with at least two 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> databases (2 of probably MySQL, Derby 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and/or PostgreSQL) and guess for the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> others--if we're wrong the user 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> community can supply a patch fixing it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence object 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (the old WeblogCategory) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as it's now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat-level. Indeed, I think things 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will get a *lot* simpler here, as it 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> may just be the parent Weblog holding 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> a list of some sort of Category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp (or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whatever it's called) and its Struts 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> action class will now need to use the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new Category object (and table) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> instead of WeblogCategory. The UI 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> page will need two changes: (1) all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new categories will be placed (and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> saved) at the bottom of the category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> list (and as result, appear last 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (right-most) in the category list, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and, later (2) probably have up and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> down buttons in the table allowing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> users to easily reorder the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories as they like. (Strictly 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> speaking, 1 alone is all that's 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> needed for ordering, as you can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> remove/name/delete/recreate 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories to eventually get them in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the position you'd like, but (2) of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> course is much nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't looked 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> into this): The templates (probably 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> just a macro or two) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> updating to ensure that they output 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the category names per the new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> position order.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one advantage 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> is that I'd like to do the same thing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with bookmarks/blogrolls (team 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discussion pending...), switch from a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical to flat-level for those 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> too.  If we can do this for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories, the logic/UI design, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> etc., will carry over 100% to bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually getting 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to this myself, so am available to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> work with you on whatever parts you'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like. I think going in order 1-2-3-4 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and having separate commits may be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the cleanest way of doing this. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> What's nice about using a brand new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table and JPA object is that the old 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> objects can still work in the code 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> while we're creating the new, we just 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> don't activate the new until the very 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> end.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team members on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the above ideas...?) Or are there 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> other Roller tasks you'd like to sink 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> your teeth into instead? I can look 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at this otherwise, but this looks 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like a very good exercise for someone 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> wanting to get more involved in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller, as it covers all the layers 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> of the webapp.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on ROL-1981, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as discussed in previous discussion 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> threads I will add new column 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sequenceNum in weblogcategory table. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Then we can assign sequenceNum to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> each category according to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> websideid. If anyone have some ideas 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> regarding this, please help me. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, need some help on how to go 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with this issue, and how to add new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> coloum, I found .sql file, do I need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to add there new column. Also, Is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this possible that that when I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> restart the roller it will add new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> column to database ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>


Re: (another idea) Re: ROL-1981 Category ordering

Posted by Gaurav <ga...@gmail.com>.
Hello Glen,

I still did not able to get what I should do next, as you told that 
showWeblogCategoryLinksList($rootCategory false false) only bring the 
toplevel categories, it because we specify the $rootCategory each time, 
so automatically rootCategory child will always going to be top level 
categories.

Actually, my issue is that If I retain the method getWeblogCategories() 
in WeblogCategory.java and return a Set of type WeblogCategory then I 
have to do a mapping of that Set in orm.xml like it was previously done

<one-to-many name="weblogCategories" mapped-by="parent" 
target-entity="org.apache.roller.weblogger.pojos.Weblog" fetch="LAZY"> 
</one-to-many>)

So, it was previouly mapped by parent, and as now we did not have any 
parent, I tried with website but it gave me error as might be because 
its target-entity is different. I am really out of ideas.

I was thinking of start submitting patches of my work till now, as just 
this issue of showing categories at blog is left.

Thanks
Gaurav

On Wednesday 08 January 2014 08:42 AM, Glen Mazza wrote:
> Hi Gaurav, weblog.weblogCategories should still exist as probably a 
> Set of some sort (Set because of no duplicate Categories allowed), a 
> List is another option.  A weblog does own a collection of categories 
> even with the change. What should not exist is some child set of 
> categories under each category--any code asking for the latter can be 
> removed because there are never any subcategories under a category 
> anymore.
>
> Might you be getting confused with this code?
>     #set($categories = $weblog.weblogCategories )
>     #foreach( $cat in $categories )
>
> The above should be fine, you're not for-eaching child categories 
> under the *category* but under the *weblog*.
>
> Grepping the code for "#showWeblogCategoryLinksList", is showing that 
> this is its most common usage:
>
> #showWeblogCategoryLinksList($rootCategory false false)
>
> I.e., just show the top-level categories with no subcategories. With 
> the new code, all three params are useless now.
>
> I think what we need to do is create a new macro:
>
> #showWeblogCategoryLinksList
> that does the same as
> #showWeblogCategoryLinksList($rootCategory false false)
>
> And, for backward compatibility (at least so it compiles), have this 
> macro:
>
> (A) #showWeblogCategoryLinksList($categoryObj $expanding $subcats)
> ignore all three of its arguments and just call
> (B) #showWeblogCategoryLinksList
>
> So (A) will be a deprecated method to be pulled out at a future time 
> (maybe in 5.1) -- we'll have to update each of our templates that 
> currently call (A) to have them call (B) instead -- a simple change to 
> make.
>
> I'm not sure if I'm answering your questions but I think this might be 
> what you're getting at.
>
> Regards,
> Glen
>
>
> On 01/07/2014 04:35 PM, Gaurav wrote:
>> Hello Glen,
>>
>> I am completed with the Database, JPA, UI Layer. I have tested all 
>> possible ways by creating, deleting, updating entries, categories and 
>> also the complete weblog.
>> The only single issue left is in Template Layer. Actually in 
>> weblog.vm file for iterating categories list for menu and feeds, it 
>> uses ($weblog.weblogCategories). It try getting list from 
>> WeblogCategory method getWeblogCategories() and wrapping up with 
>> WeblogCategoryWrapper and WeblogWrapper classes. But as this method 
>> is no longer required, as it was for maintaining relations of 
>> parent-child, It did not get any list.
>>
>> I though of retaining getWeblogCategories() method in WeblogCategory 
>> class, and getting list of categories directly from 
>> JPAWeblogEntryManager but it seems wrong to me according to the 
>> structure. Can you please guide me what should be the best way to go ?
>>
>> Thanks
>> Gaurav
>>
>> On Wednesday 08 January 2014 01:25 AM, Gaurav wrote:
>>> Hello Glen,
>>>
>>> I figured out that issues, as I told when I use 
>>> getWeblogCategories() method, then the error comes, actually its due 
>>> to  the reason that I have removed below one-to-many mapping in orm 
>>> file and still using the method. As you said, I studied JPA and get 
>>> some time into it and learned new things about the mapping 
>>> relationship. Now, I am thinking of implementing the same way as 
>>> getWeblogEntries are listed  as it also come respect to the 
>>> weblog/website.
>>>
>>> <one-to-many name="weblogCategories" mapped-by="parent" 
>>> target-entity="org.apache.roller.weblogger.pojos.WeblogCategory" 
>>> fetch="LAZY"></one-to-many>
>>>
>>> Thanks
>>> Gaurav
>>>
>>> On Monday 06 January 2014 02:36 AM, Glen Mazza wrote:
>>>> I don't know, but I don't like that statement 
>>>> "c.getWeblogCategories().add(c); "  A WeblogCategory should no 
>>>> longer have child weblog categories (they are pure siblings of each 
>>>> other with no hierarchical relationship), so such an "add" 
>>>> shouldn't exist.  You can have 
>>>> -->Weblog<---.getWeblogCategories().add(c), that would make sense.
>>>>
>>>> Glen
>>>>
>>>> On 01/05/2014 03:32 PM, Gaurav wrote:
>>>>> Hello Glen,
>>>>>
>>>>> I tried finding the that issues, but did not find anywhere. Also 
>>>>> it is created dynamically as I changed the entity name to 
>>>>> category1 then also sameerror come up with "category1_category1" 
>>>>> doesn't exist. I think this might be something I am doing wrong 
>>>>> with the code. As, Today I cleaned up all the code and now 
>>>>> everything is working good. I am successful in creating, editing 
>>>>> and deleting the weblog, entries, categories and everything is 
>>>>> showing good.
>>>>>
>>>>> Just single problem I am having now is showing the categories list 
>>>>> in feeds and in menu. I figured out after checking that 
>>>>> $categoryObject.getWeblogCategories() is iterated in velocity file 
>>>>> which check for the getWeblogCategories() method of type Set in 
>>>>> WeblogCategory class, Initially I commented this method as the 
>>>>> comments over this method said "Get child categories of this 
>>>>> category". But I think this is neccasary as whenever a category is 
>>>>> created this is called to add a category to Set 
>>>>> "rootCat.getWeblogCategories().add(c);"
>>>>>
>>>>> Now, Problem is we did not have any parent or root category now, 
>>>>> so how it will going to add to that Set and Also I tried creating 
>>>>> a object of WeblogCategory Class and tried adding it to 
>>>>> getWeblogCategories() method then again. Now When I tired adding 
>>>>> category with this "c.getWeblogCategories().add(c);" the same 
>>>>> error comes up. If I comment this line that add category, 
>>>>> everything works fine again, just did not get any list of 
>>>>> categories in menu and feed.
>>>>>
>>>>> Also, I am confused what setWeblogCategories() is doing as I did 
>>>>> not find anywhere where it is used for setting categories. Just 
>>>>> the getWeblogCategories() is used with .add for adding child 
>>>>> categories to parent/root.
>>>>>
>>>>> Below is what I done in addWeblogContents method of class 
>>>>> JPAWeblogManagerImpl.
>>>>>
>>>>> if (cats != null && cats.trim().length() > 0) {
>>>>>             String[] splitcats = cats.split(",");
>>>>>             for (int i=0; i<splitcats.length; i++) {
>>>>>                 WeblogCategory c = new WeblogCategory(
>>>>>                         newWeblog,       // newWeblog
>>>>>                         splitcats[i],    // name
>>>>>                         splitcats[i],    // description
>>>>>                         null );          // image
>>>>>                 if (i == 0) {
>>>>>                     firstCat = c;
>>>>>                 }
>>>>>                 System.out.println("====Cats==="+c);
>>>>>                 c.getWeblogCategories().add(c); //previously it 
>>>>> was root.getWeblogCategories.add(c);
>>>>>                 this.strategy.store(c);
>>>>>             }
>>>>>         }
>>>>>
>>>>>
>>>>> [EL Warning]: 2014-01-05 
>>>>> 17:15:22.179--ClientSession(1956103136)--Exception 
>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>> 2.5.0.v20130507-3faac2b): 
>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 
>>>>> 'CATEGORY_CATEGORY' does not exist.
>>>>> Error Code: 20000
>>>>> Call: INSERT INTO category_category (weblogCategories_id, 
>>>>> WeblogCategory_id) VALUES (?, ?)
>>>>>     bind => [2 parameters bound]
>>>>> Query: DataModifyQuery(name="weblogCategories" sql="INSERT INTO 
>>>>> category_category (weblogCategories_id, WeblogCategory_id) VALUES 
>>>>> (?, ?)")
>>>>> *
>>>>>
>>>>> *Also I tried making new ArrayList and new getter setter in 
>>>>> WeblogCategory class, still I got same error.
>>>>>     List<WeblogCategory> catsss = new ArrayList<WeblogCategory>();
>>>>>     catsss.add(c);
>>>>>     c.setList(catsss);
>>>>> System.out.println("======"+catsss+"============"+c.getList());
>>>>>
>>>>> Got this error, after adding Arraylist.
>>>>>
>>>>> [EL Warning]: 2014-01-05 
>>>>> 19:42:56.209--ClientSession(1732472947)--Exception 
>>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>> 2.5.0.v20130507-3faac2b): 
>>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>>> Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 
>>>>> 'CATEGORY_CATEGORY' does not exist.
>>>>> Error Code: 20000
>>>>> Call: INSERT INTO category_category (list_id, WeblogCategory_id) 
>>>>> VALUES (?, ?)
>>>>>     bind => [2 parameters bound]
>>>>> Query: DataModifyQuery(name="list" sql="INSERT INTO 
>>>>> category_category (list_id, WeblogCategory_id) VALUES (?, ?)")
>>>>>
>>>>> Thanks
>>>>> Gaurav
>>>>>
>>>>>
>>>>> On Sunday 05 January 2014 05:30 AM, Glen Mazza wrote:
>>>>>> Hi Gaurav, did you try a "control" with your file search method? 
>>>>>> I.e., you're saying you're case-insensitive searching on 
>>>>>> "category_category" but nothing is getting returned  -- did you 
>>>>>> try also searching something that you *know* exists in the 
>>>>>> project (say, "class", "public", "return", etc.) and your 
>>>>>> IDE/search method indeed did return lots of matches?  Because if 
>>>>>> you get zero search results with the latter we know the problem 
>>>>>> is with the way you're configuring your search, not the 
>>>>>> non-existence of "category_category".  (Also are you searching on 
>>>>>> every type of file extension, not just .java files?)
>>>>>>
>>>>>> Somewhere in your code the JPA layer has decided to calculate 
>>>>>> "category_category" as a table name, I would guess because that's 
>>>>>> what is exactly in the code someplace (as you can see the query 
>>>>>> below generated "...FROM category_category t0, category t1..."). 
>>>>>> One useful experiment might be to rename the "category" table 
>>>>>> (t1) above to "category2" -- would the SQL above change to 
>>>>>> "category2_category2, category2..." or (I think) "...FROM 
>>>>>> category_category t0, category2 t1...") If the former, that would 
>>>>>> indicate that "category2_category2" is being dynamically 
>>>>>> generated from the "category2" table name. If the latter, that 
>>>>>> would mean "category_category" is hardcoded somewhere and not 
>>>>>> related to the "category" table name you've properly configured.
>>>>>>
>>>>>> I probably won't be able to get to this until next weekend 
>>>>>> anyway, so I'm going to have you finish it, also as a 
>>>>>> confidence-builder for you (if you let JPA push you around now, 
>>>>>> it's always going to bully you...  :)
>>>>>>
>>>>>> Regards,
>>>>>> Glen
>>>>>>
>>>>>> PS:  Just to clarify, when an pre-5.1-SNAPSHOT user installs 
>>>>>> Roller 5.1-SNAPSHOT, the Roller startup should automatically 
>>>>>> detect that the system is currently using an older Roller 
>>>>>> database and do the database upgrade (creating of new the 
>>>>>> "category" table and prepopulation of it).  Roller has always 
>>>>>> done this as so long as you put the necessary migration scripts 
>>>>>> in the right place there should be no problem. However, those of 
>>>>>> us already on 5.1-SNAPSHOT like myself before your patch will 
>>>>>> need to manually create that table in our database (the Roller 
>>>>>> script won't notice 5.1-SNAPSHOT-->5.1-SNAPSHOT, so won't create 
>>>>>> "category" by itself.)  No problem, we'll just figure out the 
>>>>>> necessary SQL statements for Dave and he can add it to his Roller 
>>>>>> project blog.
>>>>>>
>>>>>>
>>>>>> On 01/04/2014 04:47 PM, Gaurav wrote:
>>>>>>> Hello Glen,
>>>>>>>
>>>>>>> I searched whole project and did not find anywhere. I think 
>>>>>>> might be I have done something wrong, as when I start with new 
>>>>>>> database, everything work just deleting gives me this error. If 
>>>>>>> I work on old database it even did not start up 
>>>>>>> (localhost:8080/roller) gives my below error.
>>>>>>>
>>>>>>> I have checked almost everything I can, might be some wrong java 
>>>>>>> code and anything I done wrong that causes this. Should I submit 
>>>>>>> by work so you can look on to it, or if we are not in any hurry 
>>>>>>> than I can look into it again step by step (I prefer second 
>>>>>>> option if we have one more week. Just another week or so, next 
>>>>>>> week i have some tight schedule). I know I am taking too much 
>>>>>>> time, but I am new to this level of Java code, as I worked 
>>>>>>> maximum time at client side. But I really loving java code and 
>>>>>>> learned a lot till now, before this I just worked with Java on 
>>>>>>> small projects. OpenSource Projects really are very powerful and 
>>>>>>> good way to learn new things.
>>>>>>>
>>>>>>> Exception [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>>> org.eclipse.persistence.exceptions.DatabaseException Internal 
>>>>>>> Exception: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 
>>>>>>> Table 'roller.category_category' doesn't exist Error Code: 1146 
>>>>>>> Call: SELECT t1.id, t1.description, t1.image, t1.name, 
>>>>>>> t1.websiteid FROM category_category t0, category t1 WHERE 
>>>>>>> ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>>>>>> t0.weblogCategories_id)) bind => [1 parameter bound] Query: 
>>>>>>> ReadAllQuery(name="weblogCategories" 
>>>>>>> referenceClass=WeblogCategory sql="SELECT t1.id, t1.description, 
>>>>>>> t1.image, t1.name, t1.websiteid FROM category_category t0, 
>>>>>>> category t1 WHERE ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>>>>>> t0.weblogCategories_id))")
>>>>>>>
>>>>>>> Thanks
>>>>>>> Gaurav
>>>>>>>
>>>>>>> On Sunday 05 January 2014 12:00 AM, Glen Mazza wrote:
>>>>>>>> Hi Gaurav, no, that relation shouldn't be needed anymore.
>>>>>>>>
>>>>>>>> As for the table name, at the top of your orm.xml file the 
>>>>>>>> table name the file maps against is declared -- perhaps you 
>>>>>>>> accidentally called it category_category. I would grep or use a 
>>>>>>>> file search from your IDE of your entire roller source code, 
>>>>>>>> looking for where category_category is being declared -- 
>>>>>>>> (probably) has to be there someplace. (More specifically, do a 
>>>>>>>> file search on "DataModifyQuery" -- that's probably exactly 
>>>>>>>> where the problem is.)
>>>>>>>>
>>>>>>>> Once working, try to import the latest code changes into your 
>>>>>>>> code before submitting a patch (actually create a backup patch 
>>>>>>>> first just in case).  Not sure but I think a simple svn update 
>>>>>>>> will do -- svn will identify some files where it will need your 
>>>>>>>> assistance to resolve any differences -- it shouldn't be too 
>>>>>>>> hard or time-consuming to do.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Glen
>>>>>>>>
>>>>>>>> On 01/04/2014 08:55 AM, Gaurav wrote:
>>>>>>>>> Hello Glen,
>>>>>>>>>
>>>>>>>>> I just want to know that the below relations in 
>>>>>>>>> WeblogCategory.orm.xml are required or not as now the parent 
>>>>>>>>> is not used so, I don't think its needed now. I have commented 
>>>>>>>>> the below lines.
>>>>>>>>>
>>>>>>>>> <many-to-one name="parent" 
>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category">
>>>>>>>>>                 <join-column name="parentid" insertable="true" 
>>>>>>>>> updatable="true" nullable="true"/>
>>>>>>>>>             </many-to-one>
>>>>>>>>>             <one-to-many name="weblogCategories" 
>>>>>>>>> mapped-by="parent" 
>>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category" 
>>>>>>>>> fetch="LAZY">
>>>>>>>>>                 <cascade>
>>>>>>>>>                     <cascade-remove/>
>>>>>>>>>                 </cascade>
>>>>>>>>>             </one-to-many>
>>>>>>>>>             <transient name="inUse"/>
>>>>>>>>>
>>>>>>>>> I asked this because, getting categories giving me mysql 
>>>>>>>>> exception. The new table is 'roller.category' but it executes 
>>>>>>>>> for 'roller.category_category'.
>>>>>>>>> I am not able to get what I have done wrong.
>>>>>>>>>
>>>>>>>>> Internal Exception: 
>>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
>>>>>>>>> 'roller.category_category' doesn't exist
>>>>>>>>> Error Code: 1146
>>>>>>>>> Call: DELETE FROM category_category WHERE (WeblogCategory_id = ?)
>>>>>>>>>     bind => [1 parameter bound]
>>>>>>>>> Query: DataModifyQuery(name="weblogCategories" sql="DELETE 
>>>>>>>>> FROM category_category WHERE (WeblogCategory_id = ?)")
>>>>>>>>>
>>>>>>>>> Also, I have changed the getWeblogCategoryByPath to 
>>>>>>>>> getWeblogCategoryByName so feeds and other places work fine. I 
>>>>>>>>> have able to get catgeory list, new entries are creating 
>>>>>>>>> successfully. Just deleting the weblog is giving me above error.
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> Gaurav
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
>>>>>>>>>> Hello Glen,
>>>>>>>>>>
>>>>>>>>>> I have already deleted getPath and getParent and in the mid 
>>>>>>>>>> of everything. I hope I will be able to complete this by 
>>>>>>>>>> Monday. If still, I get some major issues due to this, I will 
>>>>>>>>>> switch to what you suggested. Just give me time till Monday, 
>>>>>>>>>> as I have done almost 80% of code cleaned regarding the path 
>>>>>>>>>> and parentcategory. I will get back to you soon with some 
>>>>>>>>>> patches and then you can test it.
>>>>>>>>>>
>>>>>>>>>> Also, my ICLA have been filed, got the receipt of my ICLA.
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> Gaurav
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
>>>>>>>>>>> Gaurav, sorry, it just occurred to me there's a simpler 
>>>>>>>>>>> intermediate step that can be done. While we need the 
>>>>>>>>>>> database table without a path column, and to remove the 
>>>>>>>>>>> "path" member *variable* from WeblogCategory (or its 
>>>>>>>>>>> replacement), we can still keep indefinitely keep getPath(), 
>>>>>>>>>>> just hardcode it to "/" + categoryName, which is precisely 
>>>>>>>>>>> what the old code returns for any top-level category--the 
>>>>>>>>>>> rest of the system can stay just as it did before.  
>>>>>>>>>>> Switching the rest of the code from getPath() to using 
>>>>>>>>>>> getName() can be done at any time, bit by bit whenever, 
>>>>>>>>>>> that's not necessary to implement positioning, that's just a 
>>>>>>>>>>> code cleanup issue. Likewise, for 
>>>>>>>>>>> WeblogCategory.getParent(), it may be as simple as adding a 
>>>>>>>>>>> root category object as part of the Weblog's constructor 
>>>>>>>>>>> (but not saved to the database), and having 
>>>>>>>>>>> WeblogCategory.getParent() just return 
>>>>>>>>>>> website.getParentCategory()--that way all categories for a 
>>>>>>>>>>> weblog will have the same root category as before, and the 
>>>>>>>>>>> rest of the code base should function fine.  Once we're on 
>>>>>>>>>>> the new table, then it's an issue of implementing 
>>>>>>>>>>> positioning--getting rid of getParent() and getPath() can be 
>>>>>>>>>>> done by anybody at a later date.
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Glen
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>>>>>>>>>>> No problem, I'm available to help (or finish it up) if 
>>>>>>>>>>>> needed.  For a seemingly simple switch, you're certainly 
>>>>>>>>>>>> getting a *full* education of the Roller codebase.  :)
>>>>>>>>>>>>
>>>>>>>>>>>> BTW, I hope you're not testing via mvn jetty:run, as that 
>>>>>>>>>>>> requires you to keep logging in for the first time, 
>>>>>>>>>>>> creating a blog for the first time, etc., whenever you 
>>>>>>>>>>>> start it. Very inefficient and tiring. Normally I just 
>>>>>>>>>>>> build (mvn clean install) and dump the WAR into standalone 
>>>>>>>>>>>> Tomcat on my local machine. The database & other 
>>>>>>>>>>>> configuration I keep permanently in 
>>>>>>>>>>>> roller-custom.properties in the Tomcat lib/ folder, so the 
>>>>>>>>>>>> new WAR just takes over with the same configuration, blogs, 
>>>>>>>>>>>> accounts, etc., that old WAR was using. (Check the Roller 
>>>>>>>>>>>> install guide for full instructions.)
>>>>>>>>>>>>
>>>>>>>>>>>> Also vital is that you know how to debug/trace Roller code 
>>>>>>>>>>>> in Eclipse or IntelliJ while it is running on Tomcat (or 
>>>>>>>>>>>> another servlet container). It's much simpler than it 
>>>>>>>>>>>> seems, and will save you a lot of time. These instructions 
>>>>>>>>>>>> are for Eclipse but Intellij (my preference) is basically 
>>>>>>>>>>>> the same: 
>>>>>>>>>>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>>>>>>>>>>>> Checking variable values while it's running will point you 
>>>>>>>>>>>> to where problems are much more quickly.
>>>>>>>>>>>>
>>>>>>>>>>>> Happy New Year!
>>>>>>>>>>>>
>>>>>>>>>>>> Regards,
>>>>>>>>>>>> Glen
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>
>>>>>>>>>>>>> As, I previously told you that the test cases are giving 
>>>>>>>>>>>>> problem, actually I think we have to do some changes in 
>>>>>>>>>>>>> Test Cases also, as many of the methods involving path and 
>>>>>>>>>>>>> parent are removed so, many times in test cases (it did 
>>>>>>>>>>>>> not get correct values and give errors).
>>>>>>>>>>>>> I have successfully showed the categories by website till 
>>>>>>>>>>>>> now in the admin section. Also, the entries are saved 
>>>>>>>>>>>>> just, I ran out of memory issue in happen when I save an 
>>>>>>>>>>>>> entry that entry, although it get saved when I refresh the 
>>>>>>>>>>>>> page.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Also, as their is not path now, we have to do some changes 
>>>>>>>>>>>>> in velocity files, as feeds are giving error in showing, 
>>>>>>>>>>>>> although if I direct enter the URL its working fine. I 
>>>>>>>>>>>>> have cleared many parts of the code, just I have test of 
>>>>>>>>>>>>> the roller parts which are linked the path and parent. I 
>>>>>>>>>>>>> am thinking of correcting the test cases, as I can run 
>>>>>>>>>>>>> them and if test cases are fine then might be everything 
>>>>>>>>>>>>> will work fine.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I will return to work on this after 3 days, as I will be 
>>>>>>>>>>>>> and will get be to it during coming weekend again. I will 
>>>>>>>>>>>>> wrap this out asap for you to test and will attach patches 
>>>>>>>>>>>>> coming weekend.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>>>>>>>>>>> Thanks for that info, I have changed my settings in the 
>>>>>>>>>>>>>> eclipse.
>>>>>>>>>>>>>> Yes, you are right I will leave the ordering part for now 
>>>>>>>>>>>>>> and work on clearing the code for now. For now I will 
>>>>>>>>>>>>>> just add a column in category table with position, 
>>>>>>>>>>>>>> leaving it null for now.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>> Your last ImprovedCreateUser.patch had some tab 
>>>>>>>>>>>>>>> characters in it, and our project uses spaces for tabs 
>>>>>>>>>>>>>>> (just have Eclipse insert 4 spaces whenever you hit the 
>>>>>>>>>>>>>>> tab key, with no tab characters.) Very few Apache 
>>>>>>>>>>>>>>> projects (any?) are tab-indented today. It is a simple 
>>>>>>>>>>>>>>> fix with IntelliJ IDEA (Edit -> Convert Indents -> To 
>>>>>>>>>>>>>>> Spaces), I'm sure Eclipse has an equivalent.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> For blogs migrating from pre-5.1 versions, we can keep 
>>>>>>>>>>>>>>> the position NULL by default (and when you order by 
>>>>>>>>>>>>>>> position, with null values, they will come out in any 
>>>>>>>>>>>>>>> order, like they do today.) Whenever a new blog is 
>>>>>>>>>>>>>>> created with the default three categories, those can be 
>>>>>>>>>>>>>>> assigned positions (probably 0-based for leftmost is 
>>>>>>>>>>>>>>> best.)  For migrated blogs, once the user goes to the 
>>>>>>>>>>>>>>> category page and makes a change for the first time, 
>>>>>>>>>>>>>>> numbers can be written for the very first time--no 
>>>>>>>>>>>>>>> special extra UI is needed for this purpose. But like I 
>>>>>>>>>>>>>>> was saying, this is such a lengthy patch you may wish to 
>>>>>>>>>>>>>>> forget about the ordering right now--it doesn't work 
>>>>>>>>>>>>>>> anyway in Roller right now. It may be best to get us to 
>>>>>>>>>>>>>>> the new table and get rid of the paths, and once we're 
>>>>>>>>>>>>>>> on that firmer foundation implementing positioning (on 
>>>>>>>>>>>>>>> the Category page and in the templates) will be much 
>>>>>>>>>>>>>>> simpler.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I will change the position to be integer, and will 
>>>>>>>>>>>>>>>> exclude the category where parent null, but still what 
>>>>>>>>>>>>>>>> can be done for the position as the old data did not 
>>>>>>>>>>>>>>>> have position, so how and on what basis we have to add 
>>>>>>>>>>>>>>>> position to it. I was thinking that we can left it as 
>>>>>>>>>>>>>>>> null, and provide some UI in backend where user can 
>>>>>>>>>>>>>>>> assign position themselves.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I will take care of spacing, will search what I am 
>>>>>>>>>>>>>>>> doing wrong. As, I am not sure is that you are talking 
>>>>>>>>>>>>>>>> about formatting the code, or anything else. As I use 
>>>>>>>>>>>>>>>> tab (with 4 spaces) in Eclipse IDE.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>> BTW, not to be hated, but make sure any code you 
>>>>>>>>>>>>>>>>> submit is space-padded (4 spaces), *not* tab-padded. 
>>>>>>>>>>>>>>>>> Your IDE should be able to convert it for you if 
>>>>>>>>>>>>>>>>> you've been doing tab-padding.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I am confused on how to add and on what basis we have 
>>>>>>>>>>>>>>>>>> to addd position to the new category table. Below two 
>>>>>>>>>>>>>>>>>> sql commands can be used for coping data and deleting 
>>>>>>>>>>>>>>>>>> the root categories.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> create table category (
>>>>>>>>>>>>>>>>>>     id               varchar(48) not null primary key,
>>>>>>>>>>>>>>>>>>     name varchar(255) not null,
>>>>>>>>>>>>>>>>>>     description varchar(255),
>>>>>>>>>>>>>>>>>>     websiteid        varchar(48) not null,
>>>>>>>>>>>>>>>>>>     image varchar(255),
>>>>>>>>>>>>>>>>>>     position         varchar(48)
>>>>>>>>>>>>>>>>>> );
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> insert into 
>>>>>>>>>>>>>>>>>> category(id,name,description,websiteid,image) select 
>>>>>>>>>>>>>>>>>> id,name,description,websiteid,image from weblogcategory;
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> delete from category where name="root";
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> What do you suggest for this ?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>> Take your time, this is a messy change as it affects 
>>>>>>>>>>>>>>>>>>> many areas of the code. But Roller will be 
>>>>>>>>>>>>>>>>>>> architecturally much more solid and simpler once 
>>>>>>>>>>>>>>>>>>> this change is done.  I have your ROL-1616 and 
>>>>>>>>>>>>>>>>>>> ROL-1982 on my plate for this weekend.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> I have deleted the path and all related methods, 
>>>>>>>>>>>>>>>>>>>> but its seems to me that the path methods like 
>>>>>>>>>>>>>>>>>>>> (getWeblogCategoryByPath) and many other path and 
>>>>>>>>>>>>>>>>>>>> parent related methods, are scattered over the 
>>>>>>>>>>>>>>>>>>>> whole roller. There are many occurrence of these 
>>>>>>>>>>>>>>>>>>>> methods and I have to sort out each piece of code 
>>>>>>>>>>>>>>>>>>>> as now there is no path so, mostly we check for 
>>>>>>>>>>>>>>>>>>>> categoryPath != null in if conditions, so these are 
>>>>>>>>>>>>>>>>>>>> no longer needed.
>>>>>>>>>>>>>>>>>>>> Also, I as thinking after testing and completing 
>>>>>>>>>>>>>>>>>>>> this we can delete the WeblogCategory and replace 
>>>>>>>>>>>>>>>>>>>> with Category method, as it will be clean. I also 
>>>>>>>>>>>>>>>>>>>> figured out why my tests are failing as during 
>>>>>>>>>>>>>>>>>>>> creating of weblogentry it did not find the 
>>>>>>>>>>>>>>>>>>>> categories, as that class was using old 
>>>>>>>>>>>>>>>>>>>> WeblogCategory table and using that class methods. 
>>>>>>>>>>>>>>>>>>>> I think I will definitely will figure out 
>>>>>>>>>>>>>>>>>>>> everything at the end and will successfully test 
>>>>>>>>>>>>>>>>>>>> with the unit tests.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> I am now in the editor part so can display the 
>>>>>>>>>>>>>>>>>>>> categories on front end, I am now all over the 
>>>>>>>>>>>>>>>>>>>> 1-2-3-4 steps you mentioned. As soon as I will able 
>>>>>>>>>>>>>>>>>>>> to display the categories (small issues left) at 
>>>>>>>>>>>>>>>>>>>> the backend, I will again go through my changes. 
>>>>>>>>>>>>>>>>>>>> Also, at this time I can only create patch for new 
>>>>>>>>>>>>>>>>>>>> table and migration script, as all other classes 
>>>>>>>>>>>>>>>>>>>> code are interrelated so can't submit now. I will 
>>>>>>>>>>>>>>>>>>>> test every single thing related to categories, then 
>>>>>>>>>>>>>>>>>>>> I will submit my patches.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Although I have learned a lot new things, just 
>>>>>>>>>>>>>>>>>>>> spent last two full days on this sorting out 
>>>>>>>>>>>>>>>>>>>> things, many times ending up nowhere from where I 
>>>>>>>>>>>>>>>>>>>> started. But I am confident that I will definitely 
>>>>>>>>>>>>>>>>>>>> complete this task. Just I am worrying that I must 
>>>>>>>>>>>>>>>>>>>> be taking too much time.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> If there is something, you can advice me I would 
>>>>>>>>>>>>>>>>>>>> happy to follow that also.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>> If it helps, you can provide interim patches, so 
>>>>>>>>>>>>>>>>>>>>> long as it doesn't break the current code base. 
>>>>>>>>>>>>>>>>>>>>> You may want to create a patch just creating the 
>>>>>>>>>>>>>>>>>>>>> new database table (which will be ignored by the 
>>>>>>>>>>>>>>>>>>>>> current code) and sql insert-select scripts to 
>>>>>>>>>>>>>>>>>>>>> move from the current table to the new one, then 
>>>>>>>>>>>>>>>>>>>>> one converting the code to using the new table 
>>>>>>>>>>>>>>>>>>>>> without sorting, then (finally) one that 
>>>>>>>>>>>>>>>>>>>>> implements sorting of the categories.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> I have created and updated all necessary files in 
>>>>>>>>>>>>>>>>>>>>>> JPA and for database, I tried compiling the code 
>>>>>>>>>>>>>>>>>>>>>> it gave me errors in test cases. As I am not sure 
>>>>>>>>>>>>>>>>>>>>>> that what I am wrong in this. Although I tried 
>>>>>>>>>>>>>>>>>>>>>> compiling without running test cases, it worked 
>>>>>>>>>>>>>>>>>>>>>> fine. I tested it with tomcat and new table 
>>>>>>>>>>>>>>>>>>>>>> category is created and initial category 
>>>>>>>>>>>>>>>>>>>>>> (General, Finance and Technology) are created 
>>>>>>>>>>>>>>>>>>>>>> with the position 1,2,3. Still there are many 
>>>>>>>>>>>>>>>>>>>>>> thing I have to clean up and sort out and will 
>>>>>>>>>>>>>>>>>>>>>> test it again.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>> Ok, got your point. I will check on other Roller 
>>>>>>>>>>>>>>>>>>>>>>> parts also if parent name and path aren't be 
>>>>>>>>>>>>>>>>>>>>>>> using in any other part of Roller. I will go 
>>>>>>>>>>>>>>>>>>>>>>> into the RSS and Atom feeds later on, and see 
>>>>>>>>>>>>>>>>>>>>>>> what changes it need. As, till now I have 
>>>>>>>>>>>>>>>>>>>>>>> changed many files and created some, so will 
>>>>>>>>>>>>>>>>>>>>>>> first test this part then go into that feeds part.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>> Sounds good, but may require more work to make 
>>>>>>>>>>>>>>>>>>>>>>>> sure all is good with the RSS and Atom feeds as 
>>>>>>>>>>>>>>>>>>>>>>>> a result (which I believe rely on path). Where 
>>>>>>>>>>>>>>>>>>>>>>>> path is used to check for equivalence, I guess 
>>>>>>>>>>>>>>>>>>>>>>>> name (and blog/website ID, if necessary) alone 
>>>>>>>>>>>>>>>>>>>>>>>> will do now. We may need to check (if we aren't 
>>>>>>>>>>>>>>>>>>>>>>>> already) that no two categories have the same 
>>>>>>>>>>>>>>>>>>>>>>>> name, where prior we were checking that no two 
>>>>>>>>>>>>>>>>>>>>>>>> paths are the same (i.e., allowing category 
>>>>>>>>>>>>>>>>>>>>>>>> paths USStates/Georgia and Countries/Georgia 
>>>>>>>>>>>>>>>>>>>>>>>> but now needing to disallow two categories 
>>>>>>>>>>>>>>>>>>>>>>>> named "Georgia".)
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> I am thinking of removing the path coloumn 
>>>>>>>>>>>>>>>>>>>>>>>>> also, as it does not make sense now as there 
>>>>>>>>>>>>>>>>>>>>>>>>> will no subcategories and all will have same 
>>>>>>>>>>>>>>>>>>>>>>>>> path (like /categoryname). WDYT ?
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> I want to know as now all the categories 
>>>>>>>>>>>>>>>>>>>>>>>>>>> will be top level, so the root category 
>>>>>>>>>>>>>>>>>>>>>>>>>>> which is created by default on addWeblog 
>>>>>>>>>>>>>>>>>>>>>>>>>>> isn't needed. So, I can remove that code 
>>>>>>>>>>>>>>>>>>>>>>>>>>> also ? I am in half completed with the 1-2 
>>>>>>>>>>>>>>>>>>>>>>>>>>> steps will soon submit some patched in jira 
>>>>>>>>>>>>>>>>>>>>>>>>>>> issue. You can look on to them whenever you 
>>>>>>>>>>>>>>>>>>>>>>>>>>> will get time from other projects.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, Gaurav 
>>>>>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on this, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> understand your commitments. As this will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> give me more time on working on this issue. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> I will give my 100% on this, as I also want 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> to get into more and more open source 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> projects. For Now I am focusing on Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> for starting my contributions in open source.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I can't help 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> much right now either, as my other project 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> JSPWiki has a new release going out.) But 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> please be patient with us on your recent 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> submitted patches -- we haven't forgotten 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you and are happy with your efforts on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this project so far, we just have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> full-time jobs and, even after that, other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> obligations -- for open source work, we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> usually have to beg, borrow and steal time 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to work on them.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am going through this having some 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> issues, although not major till now. I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have still working on 1-2 steps, might be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am slow as get less time. (Wish we also 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have holidays of this festive season in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> India :P) Just want to know isn't there 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> any hurry for completing this asap ? 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Although, I am sure will definitely 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> complete this as I have understood the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structure of Roller completely. Just I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have to go through the JPA more and read 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> about this.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're missing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will become apparent to you as you work 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> along. The Roller installation guide and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> here 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can show you how to test also with Derby 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> if you'd like. (It is usually simpler 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> than MySQL, and another benefit of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> working on Roller is that you become 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> multiple-database-lingual very quickly.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this much deep information, I can start 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> working in it. I have started working 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> on this Issue and have followed your 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> steps.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in createdb.vm 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and in migration scripts also. I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for mow stared working on MySQL.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl class, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have commented updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Category.orm.xml and enterd details of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new table. A new class Category in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created new files for now and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will work on this and add new position 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> coloum and code regarding this. Other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> than UI and template Layer, I think I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have covered all files on which I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to work on the Database and JPA layers 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ? Please tell me if I am wrong anywhere 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> or following wrong workflow.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 AM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for our 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> database scripts -- you see a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb.vm plus migration scripts 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (5.0 to 5.1) -- we'll want our change 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in both places (IIRC), new users have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the createdb run and Roller upgraders 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with their current DB's have the 5.0 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to 5.1 migration script run.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here and I'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like to get this done right (I plan on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> helping out where you'd like). Namely, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we've moved from a hierarchical 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category structure (categories having 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> subcategories having their own 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> subcatorgories etc.) to a flat 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> single-level structure (all categories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> are top level) -- that was done a week 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> or so back. Problem is, the database 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tables are still assuming hierarchical 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (they will work with flat structures 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> but are overkill--we don't need a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> parent ID column anymore.) Also, the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> JPA objects are designed for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical but can simplified a bit 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> more to flat structure. Incidentally, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "sequenceNum" is ambiguous about what 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> it means, I would say "position" or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "ordering" (INT null, null for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> migrators who don't yet have a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> position defined) is clearer.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to handle 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this--for both new installers and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new table, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> say "category" designed precisely as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we need, and have the migration 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> scripts select from the old 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory and insert into the new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category table. (We then ignore the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory table.) We'll need to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> test the scripts with at least two 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> databases (2 of probably MySQL, Derby 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and/or PostgreSQL) and guess for the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> others--if we're wrong the user 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> community can supply a patch fixing it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence object 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (the old WeblogCategory) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as it's now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat-level. Indeed, I think things 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will get a *lot* simpler here, as it 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> may just be the parent Weblog holding 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> a list of some sort of Category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp (or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whatever it's called) and its Struts 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> action class will now need to use the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new Category object (and table) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> instead of WeblogCategory. The UI page 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will need two changes: (1) all new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories will be placed (and saved) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at the bottom of the category list 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (and as result, appear last 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (right-most) in the category list, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and, later (2) probably have up and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> down buttons in the table allowing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> users to easily reorder the categories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as they like. (Strictly speaking, 1 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> alone is all that's needed for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ordering, as you can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> remove/name/delete/recreate categories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to eventually get them in the position 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you'd like, but (2) of course is much 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't looked 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> into this): The templates (probably 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> just a macro or two) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> updating to ensure that they output 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the category names per the new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> position order.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one advantage 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> is that I'd like to do the same thing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with bookmarks/blogrolls (team 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discussion pending...), switch from a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical to flat-level for those 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> too.  If we can do this for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories, the logic/UI design, etc., 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will carry over 100% to bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually getting 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to this myself, so am available to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> work with you on whatever parts you'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like. I think going in order 1-2-3-4 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and having separate commits may be the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> cleanest way of doing this. What's 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> nice about using a brand new table and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> JPA object is that the old objects can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> still work in the code while we're 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> creating the new, we just don't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> activate the new until the very end.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team members on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the above ideas...?) Or are there 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> other Roller tasks you'd like to sink 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> your teeth into instead? I can look at 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this otherwise, but this looks like a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> very good exercise for someone wanting 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to get more involved in Roller, as it 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> covers all the layers of the webapp.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on ROL-1981, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as discussed in previous discussion 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> threads I will add new column 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sequenceNum in weblogcategory table. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Then we can assign sequenceNum to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> each category according to websideid. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> If anyone have some ideas regarding 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this, please help me. Also, need some 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> help on how to go with this issue, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and how to add new coloum, I found 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .sql file, do I need to add there new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> column. Also, Is this possible that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that when I restart the roller it 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will add new column to database ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>


Re: (another idea) Re: ROL-1981 Category ordering

Posted by Glen Mazza <gl...@gmail.com>.
Hi Gaurav, weblog.weblogCategories should still exist as probably a Set 
of some sort (Set because of no duplicate Categories allowed), a List is 
another option.  A weblog does own a collection of categories even with 
the change. What should not exist is some child set of categories under 
each category--any code asking for the latter can be removed because 
there are never any subcategories under a category anymore.

Might you be getting confused with this code?
     #set($categories = $weblog.weblogCategories )
     #foreach( $cat in $categories )

The above should be fine, you're not for-eaching child categories under 
the *category* but under the *weblog*.

Grepping the code for "#showWeblogCategoryLinksList", is showing that 
this is its most common usage:

#showWeblogCategoryLinksList($rootCategory false false)

I.e., just show the top-level categories with no subcategories. With the 
new code, all three params are useless now.

I think what we need to do is create a new macro:

#showWeblogCategoryLinksList
that does the same as
#showWeblogCategoryLinksList($rootCategory false false)

And, for backward compatibility (at least so it compiles), have this macro:

(A) #showWeblogCategoryLinksList($categoryObj $expanding $subcats)
ignore all three of its arguments and just call
(B) #showWeblogCategoryLinksList

So (A) will be a deprecated method to be pulled out at a future time 
(maybe in 5.1) -- we'll have to update each of our templates that 
currently call (A) to have them call (B) instead -- a simple change to make.

I'm not sure if I'm answering your questions but I think this might be 
what you're getting at.

Regards,
Glen


On 01/07/2014 04:35 PM, Gaurav wrote:
> Hello Glen,
>
> I am completed with the Database, JPA, UI Layer. I have tested all 
> possible ways by creating, deleting, updating entries, categories and 
> also the complete weblog.
> The only single issue left is in Template Layer. Actually in weblog.vm 
> file for iterating categories list for menu and feeds, it uses 
> ($weblog.weblogCategories). It try getting list from WeblogCategory 
> method getWeblogCategories() and wrapping up with 
> WeblogCategoryWrapper and WeblogWrapper classes. But as this method is 
> no longer required, as it was for maintaining relations of 
> parent-child, It did not get any list.
>
> I though of retaining getWeblogCategories() method in WeblogCategory 
> class, and getting list of categories directly from 
> JPAWeblogEntryManager but it seems wrong to me according to the 
> structure. Can you please guide me what should be the best way to go ?
>
> Thanks
> Gaurav
>
> On Wednesday 08 January 2014 01:25 AM, Gaurav wrote:
>> Hello Glen,
>>
>> I figured out that issues, as I told when I use getWeblogCategories() 
>> method, then the error comes, actually its due to  the reason that I 
>> have removed below one-to-many mapping in orm file and still using 
>> the method. As you said, I studied JPA and get some time into it and 
>> learned new things about the mapping relationship. Now, I am thinking 
>> of implementing the same way as getWeblogEntries are listed  as it 
>> also come respect to the weblog/website.
>>
>> <one-to-many name="weblogCategories" mapped-by="parent" 
>> target-entity="org.apache.roller.weblogger.pojos.WeblogCategory" 
>> fetch="LAZY"></one-to-many>
>>
>> Thanks
>> Gaurav
>>
>> On Monday 06 January 2014 02:36 AM, Glen Mazza wrote:
>>> I don't know, but I don't like that statement 
>>> "c.getWeblogCategories().add(c); "  A WeblogCategory should no 
>>> longer have child weblog categories (they are pure siblings of each 
>>> other with no hierarchical relationship), so such an "add" shouldn't 
>>> exist.  You can have -->Weblog<---.getWeblogCategories().add(c), 
>>> that would make sense.
>>>
>>> Glen
>>>
>>> On 01/05/2014 03:32 PM, Gaurav wrote:
>>>> Hello Glen,
>>>>
>>>> I tried finding the that issues, but did not find anywhere. Also it 
>>>> is created dynamically as I changed the entity name to category1 
>>>> then also sameerror come up with "category1_category1" doesn't 
>>>> exist. I think this might be something I am doing wrong with the 
>>>> code. As, Today I cleaned up all the code and now everything is 
>>>> working good. I am successful in creating, editing and deleting the 
>>>> weblog, entries, categories and everything is showing good.
>>>>
>>>> Just single problem I am having now is showing the categories list 
>>>> in feeds and in menu. I figured out after checking that 
>>>> $categoryObject.getWeblogCategories() is iterated in velocity file 
>>>> which check for the getWeblogCategories() method of type Set in 
>>>> WeblogCategory class, Initially I commented this method as the 
>>>> comments over this method said "Get child categories of this 
>>>> category". But I think this is neccasary as whenever a category is 
>>>> created this is called to add a category to Set 
>>>> "rootCat.getWeblogCategories().add(c);"
>>>>
>>>> Now, Problem is we did not have any parent or root category now, so 
>>>> how it will going to add to that Set and Also I tried creating a 
>>>> object of WeblogCategory Class and tried adding it to 
>>>> getWeblogCategories() method then again. Now When I tired adding 
>>>> category with this "c.getWeblogCategories().add(c);" the same error 
>>>> comes up. If I comment this line that add category, everything 
>>>> works fine again, just did not get any list of categories in menu 
>>>> and feed.
>>>>
>>>> Also, I am confused what setWeblogCategories() is doing as I did 
>>>> not find anywhere where it is used for setting categories. Just the 
>>>> getWeblogCategories() is used with .add for adding child categories 
>>>> to parent/root.
>>>>
>>>> Below is what I done in addWeblogContents method of class 
>>>> JPAWeblogManagerImpl.
>>>>
>>>> if (cats != null && cats.trim().length() > 0) {
>>>>             String[] splitcats = cats.split(",");
>>>>             for (int i=0; i<splitcats.length; i++) {
>>>>                 WeblogCategory c = new WeblogCategory(
>>>>                         newWeblog,       // newWeblog
>>>>                         splitcats[i],    // name
>>>>                         splitcats[i],    // description
>>>>                         null );          // image
>>>>                 if (i == 0) {
>>>>                     firstCat = c;
>>>>                 }
>>>>                 System.out.println("====Cats==="+c);
>>>>                 c.getWeblogCategories().add(c); //previously it was 
>>>> root.getWeblogCategories.add(c);
>>>>                 this.strategy.store(c);
>>>>             }
>>>>         }
>>>>
>>>>
>>>> [EL Warning]: 2014-01-05 
>>>> 17:15:22.179--ClientSession(1956103136)--Exception 
>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>> 2.5.0.v20130507-3faac2b): 
>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>> Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 
>>>> 'CATEGORY_CATEGORY' does not exist.
>>>> Error Code: 20000
>>>> Call: INSERT INTO category_category (weblogCategories_id, 
>>>> WeblogCategory_id) VALUES (?, ?)
>>>>     bind => [2 parameters bound]
>>>> Query: DataModifyQuery(name="weblogCategories" sql="INSERT INTO 
>>>> category_category (weblogCategories_id, WeblogCategory_id) VALUES 
>>>> (?, ?)")
>>>> *
>>>>
>>>> *Also I tried making new ArrayList and new getter setter in 
>>>> WeblogCategory class, still I got same error.
>>>>     List<WeblogCategory> catsss = new ArrayList<WeblogCategory>();
>>>>     catsss.add(c);
>>>>     c.setList(catsss);
>>>> System.out.println("======"+catsss+"============"+c.getList());
>>>>
>>>> Got this error, after adding Arraylist.
>>>>
>>>> [EL Warning]: 2014-01-05 
>>>> 19:42:56.209--ClientSession(1732472947)--Exception 
>>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>>> 2.5.0.v20130507-3faac2b): 
>>>> org.eclipse.persistence.exceptions.DatabaseException
>>>> Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 
>>>> 'CATEGORY_CATEGORY' does not exist.
>>>> Error Code: 20000
>>>> Call: INSERT INTO category_category (list_id, WeblogCategory_id) 
>>>> VALUES (?, ?)
>>>>     bind => [2 parameters bound]
>>>> Query: DataModifyQuery(name="list" sql="INSERT INTO 
>>>> category_category (list_id, WeblogCategory_id) VALUES (?, ?)")
>>>>
>>>> Thanks
>>>> Gaurav
>>>>
>>>>
>>>> On Sunday 05 January 2014 05:30 AM, Glen Mazza wrote:
>>>>> Hi Gaurav, did you try a "control" with your file search method? 
>>>>> I.e., you're saying you're case-insensitive searching on 
>>>>> "category_category" but nothing is getting returned  -- did you 
>>>>> try also searching something that you *know* exists in the project 
>>>>> (say, "class", "public", "return", etc.) and your IDE/search 
>>>>> method indeed did return lots of matches?  Because if you get zero 
>>>>> search results with the latter we know the problem is with the way 
>>>>> you're configuring your search, not the non-existence of 
>>>>> "category_category".  (Also are you searching on every type of 
>>>>> file extension, not just .java files?)
>>>>>
>>>>> Somewhere in your code the JPA layer has decided to calculate 
>>>>> "category_category" as a table name, I would guess because that's 
>>>>> what is exactly in the code someplace (as you can see the query 
>>>>> below generated "...FROM category_category t0, category t1..."). 
>>>>> One useful experiment might be to rename the "category" table (t1) 
>>>>> above to "category2" -- would the SQL above change to 
>>>>> "category2_category2, category2..." or (I think) "...FROM 
>>>>> category_category t0, category2 t1...")  If the former, that would 
>>>>> indicate that "category2_category2" is being dynamically generated 
>>>>> from the "category2" table name. If the latter, that would mean 
>>>>> "category_category" is hardcoded somewhere and not related to the 
>>>>> "category" table name you've properly configured.
>>>>>
>>>>> I probably won't be able to get to this until next weekend anyway, 
>>>>> so I'm going to have you finish it, also as a confidence-builder 
>>>>> for you (if you let JPA push you around now, it's always going to 
>>>>> bully you...  :)
>>>>>
>>>>> Regards,
>>>>> Glen
>>>>>
>>>>> PS:  Just to clarify, when an pre-5.1-SNAPSHOT user installs 
>>>>> Roller 5.1-SNAPSHOT, the Roller startup should automatically 
>>>>> detect that the system is currently using an older Roller database 
>>>>> and do the database upgrade (creating of new the "category" table 
>>>>> and prepopulation of it).  Roller has always done this as so long 
>>>>> as you put the necessary migration scripts in the right place 
>>>>> there should be no problem. However, those of us already on 
>>>>> 5.1-SNAPSHOT like myself before your patch will need to manually 
>>>>> create that table in our database (the Roller script won't notice 
>>>>> 5.1-SNAPSHOT-->5.1-SNAPSHOT, so won't create "category" by 
>>>>> itself.)  No problem, we'll just figure out the necessary SQL 
>>>>> statements for Dave and he can add it to his Roller project blog.
>>>>>
>>>>>
>>>>> On 01/04/2014 04:47 PM, Gaurav wrote:
>>>>>> Hello Glen,
>>>>>>
>>>>>> I searched whole project and did not find anywhere. I think might 
>>>>>> be I have done something wrong, as when I start with new 
>>>>>> database, everything work just deleting gives me this error. If I 
>>>>>> work on old database it even did not start up 
>>>>>> (localhost:8080/roller) gives my below error.
>>>>>>
>>>>>> I have checked almost everything I can, might be some wrong java 
>>>>>> code and anything I done wrong that causes this. Should I submit 
>>>>>> by work so you can look on to it, or if we are not in any hurry 
>>>>>> than I can look into it again step by step (I prefer second 
>>>>>> option if we have one more week. Just another week or so, next 
>>>>>> week i have some tight schedule). I know I am taking too much 
>>>>>> time, but I am new to this level of Java code, as I worked 
>>>>>> maximum time at client side. But I really loving java code and 
>>>>>> learned a lot till now, before this I just worked with Java on 
>>>>>> small projects. OpenSource Projects really are very powerful and 
>>>>>> good way to learn new things.
>>>>>>
>>>>>> Exception [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>>> 2.5.0.v20130507-3faac2b): 
>>>>>> org.eclipse.persistence.exceptions.DatabaseException Internal 
>>>>>> Exception: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 
>>>>>> Table 'roller.category_category' doesn't exist Error Code: 1146 
>>>>>> Call: SELECT t1.id, t1.description, t1.image, t1.name, 
>>>>>> t1.websiteid FROM category_category t0, category t1 WHERE 
>>>>>> ((t0.WeblogCategory_id = ?) AND (t1.id = t0.weblogCategories_id)) 
>>>>>> bind => [1 parameter bound] Query: 
>>>>>> ReadAllQuery(name="weblogCategories" 
>>>>>> referenceClass=WeblogCategory sql="SELECT t1.id, t1.description, 
>>>>>> t1.image, t1.name, t1.websiteid FROM category_category t0, 
>>>>>> category t1 WHERE ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>>>>> t0.weblogCategories_id))")
>>>>>>
>>>>>> Thanks
>>>>>> Gaurav
>>>>>>
>>>>>> On Sunday 05 January 2014 12:00 AM, Glen Mazza wrote:
>>>>>>> Hi Gaurav, no, that relation shouldn't be needed anymore.
>>>>>>>
>>>>>>> As for the table name, at the top of your orm.xml file the table 
>>>>>>> name the file maps against is declared -- perhaps you 
>>>>>>> accidentally called it category_category. I would grep or use a 
>>>>>>> file search from your IDE of your entire roller source code, 
>>>>>>> looking for where category_category is being declared -- 
>>>>>>> (probably) has to be there someplace. (More specifically, do a 
>>>>>>> file search on "DataModifyQuery" -- that's probably exactly 
>>>>>>> where the problem is.)
>>>>>>>
>>>>>>> Once working, try to import the latest code changes into your 
>>>>>>> code before submitting a patch (actually create a backup patch 
>>>>>>> first just in case).  Not sure but I think a simple svn update 
>>>>>>> will do -- svn will identify some files where it will need your 
>>>>>>> assistance to resolve any differences -- it shouldn't be too 
>>>>>>> hard or time-consuming to do.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Glen
>>>>>>>
>>>>>>> On 01/04/2014 08:55 AM, Gaurav wrote:
>>>>>>>> Hello Glen,
>>>>>>>>
>>>>>>>> I just want to know that the below relations in 
>>>>>>>> WeblogCategory.orm.xml are required or not as now the parent is 
>>>>>>>> not used so, I don't think its needed now. I have commented the 
>>>>>>>> below lines.
>>>>>>>>
>>>>>>>> <many-to-one name="parent" 
>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category">
>>>>>>>>                 <join-column name="parentid" insertable="true" 
>>>>>>>> updatable="true" nullable="true"/>
>>>>>>>>             </many-to-one>
>>>>>>>>             <one-to-many name="weblogCategories" 
>>>>>>>> mapped-by="parent" 
>>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category" 
>>>>>>>> fetch="LAZY">
>>>>>>>>                 <cascade>
>>>>>>>>                     <cascade-remove/>
>>>>>>>>                 </cascade>
>>>>>>>>             </one-to-many>
>>>>>>>>             <transient name="inUse"/>
>>>>>>>>
>>>>>>>> I asked this because, getting categories giving me mysql 
>>>>>>>> exception. The new table is 'roller.category' but it executes 
>>>>>>>> for 'roller.category_category'.
>>>>>>>> I am not able to get what I have done wrong.
>>>>>>>>
>>>>>>>> Internal Exception: 
>>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
>>>>>>>> 'roller.category_category' doesn't exist
>>>>>>>> Error Code: 1146
>>>>>>>> Call: DELETE FROM category_category WHERE (WeblogCategory_id = ?)
>>>>>>>>     bind => [1 parameter bound]
>>>>>>>> Query: DataModifyQuery(name="weblogCategories" sql="DELETE FROM 
>>>>>>>> category_category WHERE (WeblogCategory_id = ?)")
>>>>>>>>
>>>>>>>> Also, I have changed the getWeblogCategoryByPath to 
>>>>>>>> getWeblogCategoryByName so feeds and other places work fine. I 
>>>>>>>> have able to get catgeory list, new entries are creating 
>>>>>>>> successfully. Just deleting the weblog is giving me above error.
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Gaurav
>>>>>>>>
>>>>>>>>
>>>>>>>> On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
>>>>>>>>> Hello Glen,
>>>>>>>>>
>>>>>>>>> I have already deleted getPath and getParent and in the mid of 
>>>>>>>>> everything. I hope I will be able to complete this by Monday. 
>>>>>>>>> If still, I get some major issues due to this, I will switch 
>>>>>>>>> to what you suggested. Just give me time till Monday, as I 
>>>>>>>>> have done almost 80% of code cleaned regarding the path and 
>>>>>>>>> parentcategory. I will get back to you soon with some patches 
>>>>>>>>> and then you can test it.
>>>>>>>>>
>>>>>>>>> Also, my ICLA have been filed, got the receipt of my ICLA.
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> Gaurav
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
>>>>>>>>>> Gaurav, sorry, it just occurred to me there's a simpler 
>>>>>>>>>> intermediate step that can be done. While we need the 
>>>>>>>>>> database table without a path column, and to remove the 
>>>>>>>>>> "path" member *variable* from WeblogCategory (or its 
>>>>>>>>>> replacement), we can still keep indefinitely keep getPath(), 
>>>>>>>>>> just hardcode it to "/" + categoryName, which is precisely 
>>>>>>>>>> what the old code returns for any top-level category--the 
>>>>>>>>>> rest of the system can stay just as it did before.  Switching 
>>>>>>>>>> the rest of the code from getPath() to using getName() can be 
>>>>>>>>>> done at any time, bit by bit whenever, that's not necessary 
>>>>>>>>>> to implement positioning, that's just a code cleanup issue. 
>>>>>>>>>> Likewise, for WeblogCategory.getParent(), it may be as simple 
>>>>>>>>>> as adding a root category object as part of the Weblog's 
>>>>>>>>>> constructor (but not saved to the database), and having 
>>>>>>>>>> WeblogCategory.getParent() just return 
>>>>>>>>>> website.getParentCategory()--that way all categories for a 
>>>>>>>>>> weblog will have the same root category as before, and the 
>>>>>>>>>> rest of the code base should function fine.  Once we're on 
>>>>>>>>>> the new table, then it's an issue of implementing 
>>>>>>>>>> positioning--getting rid of getParent() and getPath() can be 
>>>>>>>>>> done by anybody at a later date.
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Glen
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>>>>>>>>>> No problem, I'm available to help (or finish it up) if 
>>>>>>>>>>> needed.  For a seemingly simple switch, you're certainly 
>>>>>>>>>>> getting a *full* education of the Roller codebase.  :)
>>>>>>>>>>>
>>>>>>>>>>> BTW, I hope you're not testing via mvn jetty:run, as that 
>>>>>>>>>>> requires you to keep logging in for the first time, creating 
>>>>>>>>>>> a blog for the first time, etc., whenever you start it. Very 
>>>>>>>>>>> inefficient and tiring. Normally I just build (mvn clean 
>>>>>>>>>>> install) and dump the WAR into standalone Tomcat on my local 
>>>>>>>>>>> machine. The database & other configuration I keep 
>>>>>>>>>>> permanently in roller-custom.properties in the Tomcat lib/ 
>>>>>>>>>>> folder, so the new WAR just takes over with the same 
>>>>>>>>>>> configuration, blogs, accounts, etc., that old WAR was 
>>>>>>>>>>> using. (Check the Roller install guide for full instructions.)
>>>>>>>>>>>
>>>>>>>>>>> Also vital is that you know how to debug/trace Roller code 
>>>>>>>>>>> in Eclipse or IntelliJ while it is running on Tomcat (or 
>>>>>>>>>>> another servlet container). It's much simpler than it seems, 
>>>>>>>>>>> and will save you a lot of time. These instructions are for 
>>>>>>>>>>> Eclipse but Intellij (my preference) is basically the same: 
>>>>>>>>>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>>>>>>>>>>> Checking variable values while it's running will point you 
>>>>>>>>>>> to where problems are much more quickly.
>>>>>>>>>>>
>>>>>>>>>>> Happy New Year!
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Glen
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>
>>>>>>>>>>>> As, I previously told you that the test cases are giving 
>>>>>>>>>>>> problem, actually I think we have to do some changes in 
>>>>>>>>>>>> Test Cases also, as many of the methods involving path and 
>>>>>>>>>>>> parent are removed so, many times in test cases (it did not 
>>>>>>>>>>>> get correct values and give errors).
>>>>>>>>>>>> I have successfully showed the categories by website till 
>>>>>>>>>>>> now in the admin section. Also, the entries are saved just, 
>>>>>>>>>>>> I ran out of memory issue in happen when I save an entry 
>>>>>>>>>>>> that entry, although it get saved when I refresh the page.
>>>>>>>>>>>>
>>>>>>>>>>>> Also, as their is not path now, we have to do some changes 
>>>>>>>>>>>> in velocity files, as feeds are giving error in showing, 
>>>>>>>>>>>> although if I direct enter the URL its working fine. I have 
>>>>>>>>>>>> cleared many parts of the code, just I have test of the 
>>>>>>>>>>>> roller parts which are linked the path and parent. I am 
>>>>>>>>>>>> thinking of correcting the test cases, as I can run them 
>>>>>>>>>>>> and if test cases are fine then might be everything will 
>>>>>>>>>>>> work fine.
>>>>>>>>>>>>
>>>>>>>>>>>> I will return to work on this after 3 days, as I will be 
>>>>>>>>>>>> and will get be to it during coming weekend again. I will 
>>>>>>>>>>>> wrap this out asap for you to test and will attach patches 
>>>>>>>>>>>> coming weekend.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>
>>>>>>>>>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>>>>>>>>>> Thanks for that info, I have changed my settings in the 
>>>>>>>>>>>>> eclipse.
>>>>>>>>>>>>> Yes, you are right I will leave the ordering part for now 
>>>>>>>>>>>>> and work on clearing the code for now. For now I will just 
>>>>>>>>>>>>> add a column in category table with position, leaving it 
>>>>>>>>>>>>> null for now.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza wrote:
>>>>>>>>>>>>>> Your last ImprovedCreateUser.patch had some tab 
>>>>>>>>>>>>>> characters in it, and our project uses spaces for tabs 
>>>>>>>>>>>>>> (just have Eclipse insert 4 spaces whenever you hit the 
>>>>>>>>>>>>>> tab key, with no tab characters.) Very few Apache 
>>>>>>>>>>>>>> projects (any?) are tab-indented today. It is a simple 
>>>>>>>>>>>>>> fix with IntelliJ IDEA (Edit -> Convert Indents -> To 
>>>>>>>>>>>>>> Spaces), I'm sure Eclipse has an equivalent.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> For blogs migrating from pre-5.1 versions, we can keep 
>>>>>>>>>>>>>> the position NULL by default (and when you order by 
>>>>>>>>>>>>>> position, with null values, they will come out in any 
>>>>>>>>>>>>>> order, like they do today.) Whenever a new blog is 
>>>>>>>>>>>>>> created with the default three categories, those can be 
>>>>>>>>>>>>>> assigned positions (probably 0-based for leftmost is 
>>>>>>>>>>>>>> best.)  For migrated blogs, once the user goes to the 
>>>>>>>>>>>>>> category page and makes a change for the first time, 
>>>>>>>>>>>>>> numbers can be written for the very first time--no 
>>>>>>>>>>>>>> special extra UI is needed for this purpose. But like I 
>>>>>>>>>>>>>> was saying, this is such a lengthy patch you may wish to 
>>>>>>>>>>>>>> forget about the ordering right now--it doesn't work 
>>>>>>>>>>>>>> anyway in Roller right now. It may be best to get us to 
>>>>>>>>>>>>>> the new table and get rid of the paths, and once we're on 
>>>>>>>>>>>>>> that firmer foundation implementing positioning (on the 
>>>>>>>>>>>>>> Category page and in the templates) will be much simpler.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I will change the position to be integer, and will 
>>>>>>>>>>>>>>> exclude the category where parent null, but still what 
>>>>>>>>>>>>>>> can be done for the position as the old data did not 
>>>>>>>>>>>>>>> have position, so how and on what basis we have to add 
>>>>>>>>>>>>>>> position to it. I was thinking that we can left it as 
>>>>>>>>>>>>>>> null, and provide some UI in backend where user can 
>>>>>>>>>>>>>>> assign position themselves.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I will take care of spacing, will search what I am doing 
>>>>>>>>>>>>>>> wrong. As, I am not sure is that you are talking about 
>>>>>>>>>>>>>>> formatting the code, or anything else. As I use tab 
>>>>>>>>>>>>>>> (with 4 spaces) in Eclipse IDE.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>> BTW, not to be hated, but make sure any code you submit 
>>>>>>>>>>>>>>>> is space-padded (4 spaces), *not* tab-padded. Your IDE 
>>>>>>>>>>>>>>>> should be able to convert it for you if you've been 
>>>>>>>>>>>>>>>> doing tab-padding.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I am confused on how to add and on what basis we have 
>>>>>>>>>>>>>>>>> to addd position to the new category table. Below two 
>>>>>>>>>>>>>>>>> sql commands can be used for coping data and deleting 
>>>>>>>>>>>>>>>>> the root categories.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> create table category (
>>>>>>>>>>>>>>>>>     id               varchar(48) not null primary key,
>>>>>>>>>>>>>>>>>     name             varchar(255) not null,
>>>>>>>>>>>>>>>>>     description      varchar(255),
>>>>>>>>>>>>>>>>>     websiteid        varchar(48) not null,
>>>>>>>>>>>>>>>>>     image            varchar(255),
>>>>>>>>>>>>>>>>>     position         varchar(48)
>>>>>>>>>>>>>>>>> );
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> insert into 
>>>>>>>>>>>>>>>>> category(id,name,description,websiteid,image) select 
>>>>>>>>>>>>>>>>> id,name,description,websiteid,image from weblogcategory;
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> delete from category where name="root";
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> What do you suggest for this ?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>> Take your time, this is a messy change as it affects 
>>>>>>>>>>>>>>>>>> many areas of the code. But Roller will be 
>>>>>>>>>>>>>>>>>> architecturally much more solid and simpler once this 
>>>>>>>>>>>>>>>>>> change is done.  I have your ROL-1616 and ROL-1982 on 
>>>>>>>>>>>>>>>>>> my plate for this weekend.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I have deleted the path and all related methods, but 
>>>>>>>>>>>>>>>>>>> its seems to me that the path methods like 
>>>>>>>>>>>>>>>>>>> (getWeblogCategoryByPath) and many other path and 
>>>>>>>>>>>>>>>>>>> parent related methods, are scattered over the whole 
>>>>>>>>>>>>>>>>>>> roller. There are many occurrence of these methods 
>>>>>>>>>>>>>>>>>>> and I have to sort out each piece of code as now 
>>>>>>>>>>>>>>>>>>> there is no path so, mostly we check for 
>>>>>>>>>>>>>>>>>>> categoryPath != null in if conditions, so these are 
>>>>>>>>>>>>>>>>>>> no longer needed.
>>>>>>>>>>>>>>>>>>> Also, I as thinking after testing and completing 
>>>>>>>>>>>>>>>>>>> this we can delete the WeblogCategory and replace 
>>>>>>>>>>>>>>>>>>> with Category method, as it will be clean. I also 
>>>>>>>>>>>>>>>>>>> figured out why my tests are failing as during 
>>>>>>>>>>>>>>>>>>> creating of weblogentry it did not find the 
>>>>>>>>>>>>>>>>>>> categories, as that class was using old 
>>>>>>>>>>>>>>>>>>> WeblogCategory table and using that class methods. I 
>>>>>>>>>>>>>>>>>>> think I will definitely will figure out everything 
>>>>>>>>>>>>>>>>>>> at the end and will successfully test with the unit 
>>>>>>>>>>>>>>>>>>> tests.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I am now in the editor part so can display the 
>>>>>>>>>>>>>>>>>>> categories on front end, I am now all over the 
>>>>>>>>>>>>>>>>>>> 1-2-3-4 steps you mentioned. As soon as I will able 
>>>>>>>>>>>>>>>>>>> to display the categories (small issues left) at the 
>>>>>>>>>>>>>>>>>>> backend, I will again go through my changes. Also, 
>>>>>>>>>>>>>>>>>>> at this time I can only create patch for new table 
>>>>>>>>>>>>>>>>>>> and migration script, as all other classes code are 
>>>>>>>>>>>>>>>>>>> interrelated so can't submit now. I will test every 
>>>>>>>>>>>>>>>>>>> single thing related to categories, then I will 
>>>>>>>>>>>>>>>>>>> submit my patches.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Although I have learned a lot new things, just spent 
>>>>>>>>>>>>>>>>>>> last two full days on this sorting out things, many 
>>>>>>>>>>>>>>>>>>> times ending up nowhere from where I started. But I 
>>>>>>>>>>>>>>>>>>> am confident that I will definitely complete this 
>>>>>>>>>>>>>>>>>>> task. Just I am worrying that I must be taking too 
>>>>>>>>>>>>>>>>>>> much time.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> If there is something, you can advice me I would 
>>>>>>>>>>>>>>>>>>> happy to follow that also.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>> If it helps, you can provide interim patches, so 
>>>>>>>>>>>>>>>>>>>> long as it doesn't break the current code base. You 
>>>>>>>>>>>>>>>>>>>> may want to create a patch just creating the new 
>>>>>>>>>>>>>>>>>>>> database table (which will be ignored by the 
>>>>>>>>>>>>>>>>>>>> current code) and sql insert-select scripts to move 
>>>>>>>>>>>>>>>>>>>> from the current table to the new one, then one 
>>>>>>>>>>>>>>>>>>>> converting the code to using the new table without 
>>>>>>>>>>>>>>>>>>>> sorting, then (finally) one that implements sorting 
>>>>>>>>>>>>>>>>>>>> of the categories.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> I have created and updated all necessary files in 
>>>>>>>>>>>>>>>>>>>>> JPA and for database, I tried compiling the code 
>>>>>>>>>>>>>>>>>>>>> it gave me errors in test cases. As I am not sure 
>>>>>>>>>>>>>>>>>>>>> that what I am wrong in this. Although I tried 
>>>>>>>>>>>>>>>>>>>>> compiling without running test cases, it worked 
>>>>>>>>>>>>>>>>>>>>> fine. I tested it with tomcat and new table 
>>>>>>>>>>>>>>>>>>>>> category is created and initial category (General, 
>>>>>>>>>>>>>>>>>>>>> Finance and Technology) are created with the 
>>>>>>>>>>>>>>>>>>>>> position 1,2,3. Still there are many thing I have 
>>>>>>>>>>>>>>>>>>>>> to clean up and sort out and will test it again.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>> Ok, got your point. I will check on other Roller 
>>>>>>>>>>>>>>>>>>>>>> parts also if parent name and path aren't be 
>>>>>>>>>>>>>>>>>>>>>> using in any other part of Roller. I will go into 
>>>>>>>>>>>>>>>>>>>>>> the RSS and Atom feeds later on, and see what 
>>>>>>>>>>>>>>>>>>>>>> changes it need. As, till now I have changed many 
>>>>>>>>>>>>>>>>>>>>>> files and created some, so will first test this 
>>>>>>>>>>>>>>>>>>>>>> part then go into that feeds part.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>> Sounds good, but may require more work to make 
>>>>>>>>>>>>>>>>>>>>>>> sure all is good with the RSS and Atom feeds as 
>>>>>>>>>>>>>>>>>>>>>>> a result (which I believe rely on path). Where 
>>>>>>>>>>>>>>>>>>>>>>> path is used to check for equivalence, I guess 
>>>>>>>>>>>>>>>>>>>>>>> name (and blog/website ID, if necessary) alone 
>>>>>>>>>>>>>>>>>>>>>>> will do now. We may need to check (if we aren't 
>>>>>>>>>>>>>>>>>>>>>>> already) that no two categories have the same 
>>>>>>>>>>>>>>>>>>>>>>> name, where prior we were checking that no two 
>>>>>>>>>>>>>>>>>>>>>>> paths are the same (i.e., allowing category 
>>>>>>>>>>>>>>>>>>>>>>> paths USStates/Georgia and Countries/Georgia but 
>>>>>>>>>>>>>>>>>>>>>>> now needing to disallow two categories named 
>>>>>>>>>>>>>>>>>>>>>>> "Georgia".)
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I am thinking of removing the path coloumn 
>>>>>>>>>>>>>>>>>>>>>>>> also, as it does not make sense now as there 
>>>>>>>>>>>>>>>>>>>>>>>> will no subcategories and all will have same 
>>>>>>>>>>>>>>>>>>>>>>>> path (like /categoryname). WDYT ?
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> I want to know as now all the categories will 
>>>>>>>>>>>>>>>>>>>>>>>>>> be top level, so the root category which is 
>>>>>>>>>>>>>>>>>>>>>>>>>> created by default on addWeblog isn't needed. 
>>>>>>>>>>>>>>>>>>>>>>>>>> So, I can remove that code also ? I am in 
>>>>>>>>>>>>>>>>>>>>>>>>>> half completed with the 1-2 steps will soon 
>>>>>>>>>>>>>>>>>>>>>>>>>> submit some patched in jira issue. You can 
>>>>>>>>>>>>>>>>>>>>>>>>>> look on to them whenever you will get time 
>>>>>>>>>>>>>>>>>>>>>>>>>> from other projects.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, Gaurav 
>>>>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on this, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>> understand your commitments. As this will 
>>>>>>>>>>>>>>>>>>>>>>>>>>> give me more time on working on this issue. 
>>>>>>>>>>>>>>>>>>>>>>>>>>> I will give my 100% on this, as I also want 
>>>>>>>>>>>>>>>>>>>>>>>>>>> to get into more and more open source 
>>>>>>>>>>>>>>>>>>>>>>>>>>> projects. For Now I am focusing on Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>> for starting my contributions in open source.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I can't help 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> much right now either, as my other project 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> JSPWiki has a new release going out.) But 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> please be patient with us on your recent 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> submitted patches -- we haven't forgotten 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> you and are happy with your efforts on this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> project so far, we just have full-time jobs 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> and, even after that, other obligations -- 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> for open source work, we usually have to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> beg, borrow and steal time to work on them.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am going through this having some 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> issues, although not major till now. I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have still working on 1-2 steps, might be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am slow as get less time. (Wish we also 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have holidays of this festive season in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> India :P) Just want to know isn't there 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> any hurry for completing this asap ? 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Although, I am sure will definitely 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> complete this as I have understood the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structure of Roller completely. Just I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have to go through the JPA more and read 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> about this.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 PM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're missing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will become apparent to you as you work 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> along. The Roller installation guide and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> here 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can show you how to test also with Derby 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> if you'd like. (It is usually simpler 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> than MySQL, and another benefit of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> working on Roller is that you become 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> multiple-database-lingual very quickly.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this much deep information, I can start 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> working in it. I have started working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this Issue and have followed your steps.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in createdb.vm 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and in migration scripts also. I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for mow stared working on MySQL.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl class, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have commented updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Category.orm.xml and enterd details of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new table. A new class Category in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created new files for now and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will work on this and add new position 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> coloum and code regarding this. Other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> than UI and template Layer, I think I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have covered all files on which I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to work on the Database and JPA layers ? 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Please tell me if I am wrong anywhere or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> following wrong workflow.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 AM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for our 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> database scripts -- you see a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb.vm plus migration scripts (5.0 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to 5.1) -- we'll want our change in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> both places (IIRC), new users have the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb run and Roller upgraders with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> their current DB's have the 5.0 to 5.1 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> migration script run.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here and I'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like to get this done right (I plan on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> helping out where you'd like). Namely, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we've moved from a hierarchical 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category structure (categories having 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> subcategories having their own 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> subcatorgories etc.) to a flat 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> single-level structure (all categories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> are top level) -- that was done a week 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> or so back. Problem is, the database 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tables are still assuming hierarchical 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (they will work with flat structures 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> but are overkill--we don't need a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> parent ID column anymore.) Also, the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> JPA objects are designed for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical but can simplified a bit 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> more to flat structure. Incidentally, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "sequenceNum" is ambiguous about what 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> it means, I would say "position" or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "ordering" (INT null, null for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> migrators who don't yet have a position 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> defined) is clearer.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to handle 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this--for both new installers and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new table, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> say "category" designed precisely as we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need, and have the migration scripts 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> select from the old weblogcategory and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> insert into the new category table. (We 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> then ignore the weblogcategory table.) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We'll need to test the scripts with at 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> least two databases (2 of probably 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> MySQL, Derby and/or PostgreSQL) and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> guess for the others--if we're wrong 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the user community can supply a patch 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> fixing it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence object 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (the old WeblogCategory) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as it's now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat-level. Indeed, I think things will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> get a *lot* simpler here, as it may 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> just be the parent Weblog holding a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> list of some sort of Category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp (or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whatever it's called) and its Struts 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> action class will now need to use the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new Category object (and table) instead 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> of WeblogCategory. The UI page will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need two changes: (1) all new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> categories will be placed (and saved) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at the bottom of the category list (and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as result, appear last (right-most) in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the category list, and, later (2) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> probably have up and down buttons in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the table allowing users to easily 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> reorder the categories as they like. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (Strictly speaking, 1 alone is all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that's needed for ordering, as you can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> remove/name/delete/recreate categories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to eventually get them in the position 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you'd like, but (2) of course is much 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't looked into 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this): The templates (probably just a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> macro or two) will need updating to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ensure that they output the category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> names per the new position order.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one advantage 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> is that I'd like to do the same thing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with bookmarks/blogrolls (team 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discussion pending...), switch from a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical to flat-level for those 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> too.  If we can do this for categories, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the logic/UI design, etc., will carry 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> over 100% to bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually getting to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this myself, so am available to work 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with you on whatever parts you'd like. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I think going in order 1-2-3-4 and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> having separate commits may be the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> cleanest way of doing this. What's nice 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> about using a brand new table and JPA 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> object is that the old objects can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> still work in the code while we're 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> creating the new, we just don't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> activate the new until the very end.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team members on the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> above ideas...?) Or are there other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller tasks you'd like to sink your 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> teeth into instead? I can look at this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> otherwise, but this looks like a very 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> good exercise for someone wanting to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> get more involved in Roller, as it 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> covers all the layers of the webapp.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on ROL-1981, as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discussed in previous discussion 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> threads I will add new column 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sequenceNum in weblogcategory table. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Then we can assign sequenceNum to each 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category according to websideid. If 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> anyone have some ideas regarding this, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> please help me. Also, need some help 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> on how to go with this issue, and how 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to add new coloum, I found .sql file, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> do I need to add there new column. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, Is this possible that that when 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I restart the roller it will add new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> column to database ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>


Re: (another idea) Re: ROL-1981 Category ordering

Posted by Gaurav <ga...@gmail.com>.
Hello Glen,

I am completed with the Database, JPA, UI Layer. I have tested all 
possible ways by creating, deleting, updating entries, categories and 
also the complete weblog.
The only single issue left is in Template Layer. Actually in weblog.vm 
file for iterating categories list for menu and feeds, it uses 
($weblog.weblogCategories). It try getting list from WeblogCategory 
method getWeblogCategories() and wrapping up with WeblogCategoryWrapper 
and WeblogWrapper classes. But as this method is no longer required, as 
it was for maintaining relations of parent-child, It did not get any list.

I though of retaining getWeblogCategories() method in WeblogCategory 
class, and getting list of categories directly from 
JPAWeblogEntryManager but it seems wrong to me according to the 
structure. Can you please guide me what should be the best way to go ?

Thanks
Gaurav

On Wednesday 08 January 2014 01:25 AM, Gaurav wrote:
> Hello Glen,
>
> I figured out that issues, as I told when I use getWeblogCategories() 
> method, then the error comes, actually its due to  the reason that I 
> have removed below one-to-many mapping in orm file and still using the 
> method. As you said, I studied JPA and get some time into it and 
> learned new things about the mapping relationship. Now, I am thinking 
> of implementing the same way as getWeblogEntries are listed  as it 
> also come respect to the weblog/website.
>
> <one-to-many name="weblogCategories" mapped-by="parent" 
> target-entity="org.apache.roller.weblogger.pojos.WeblogCategory" 
> fetch="LAZY"></one-to-many>
>
> Thanks
> Gaurav
>
> On Monday 06 January 2014 02:36 AM, Glen Mazza wrote:
>> I don't know, but I don't like that statement 
>> "c.getWeblogCategories().add(c); "  A WeblogCategory should no longer 
>> have child weblog categories (they are pure siblings of each other 
>> with no hierarchical relationship), so such an "add" shouldn't 
>> exist.  You can have -->Weblog<---.getWeblogCategories().add(c), that 
>> would make sense.
>>
>> Glen
>>
>> On 01/05/2014 03:32 PM, Gaurav wrote:
>>> Hello Glen,
>>>
>>> I tried finding the that issues, but did not find anywhere. Also it 
>>> is created dynamically as I changed the entity name to category1 
>>> then also sameerror come up with "category1_category1" doesn't 
>>> exist. I think this might be something I am doing wrong with the 
>>> code. As, Today I cleaned up all the code and now everything is 
>>> working good. I am successful in creating, editing and deleting the 
>>> weblog, entries, categories and everything is showing good.
>>>
>>> Just single problem I am having now is showing the categories list 
>>> in feeds and in menu. I figured out after checking that 
>>> $categoryObject.getWeblogCategories() is iterated in velocity file 
>>> which check for the getWeblogCategories() method of type Set in 
>>> WeblogCategory class, Initially I commented this method as the 
>>> comments over this method said "Get child categories of this 
>>> category". But I think this is neccasary as whenever a category is 
>>> created this is called to add a category to Set 
>>> "rootCat.getWeblogCategories().add(c);"
>>>
>>> Now, Problem is we did not have any parent or root category now, so 
>>> how it will going to add to that Set and Also I tried creating a 
>>> object of WeblogCategory Class and tried adding it to 
>>> getWeblogCategories() method then again. Now When I tired adding 
>>> category with this "c.getWeblogCategories().add(c);" the same error 
>>> comes up. If I comment this line that add category, everything works 
>>> fine again, just did not get any list of categories in menu and feed.
>>>
>>> Also, I am confused what setWeblogCategories() is doing as I did not 
>>> find anywhere where it is used for setting categories. Just the 
>>> getWeblogCategories() is used with .add for adding child categories 
>>> to parent/root.
>>>
>>> Below is what I done in addWeblogContents method of class 
>>> JPAWeblogManagerImpl.
>>>
>>> if (cats != null && cats.trim().length() > 0) {
>>>             String[] splitcats = cats.split(",");
>>>             for (int i=0; i<splitcats.length; i++) {
>>>                 WeblogCategory c = new WeblogCategory(
>>>                         newWeblog,       // newWeblog
>>>                         splitcats[i],    // name
>>>                         splitcats[i],    // description
>>>                         null );          // image
>>>                 if (i == 0) {
>>>                     firstCat = c;
>>>                 }
>>>                 System.out.println("====Cats==="+c);
>>>                 c.getWeblogCategories().add(c); //previously it was 
>>> root.getWeblogCategories.add(c);
>>>                 this.strategy.store(c);
>>>             }
>>>         }
>>>
>>>
>>> [EL Warning]: 2014-01-05 
>>> 17:15:22.179--ClientSession(1956103136)--Exception 
>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>> 2.5.0.v20130507-3faac2b): 
>>> org.eclipse.persistence.exceptions.DatabaseException
>>> Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 
>>> 'CATEGORY_CATEGORY' does not exist.
>>> Error Code: 20000
>>> Call: INSERT INTO category_category (weblogCategories_id, 
>>> WeblogCategory_id) VALUES (?, ?)
>>>     bind => [2 parameters bound]
>>> Query: DataModifyQuery(name="weblogCategories" sql="INSERT INTO 
>>> category_category (weblogCategories_id, WeblogCategory_id) VALUES 
>>> (?, ?)")
>>> *
>>>
>>> *Also I tried making new ArrayList and new getter setter in 
>>> WeblogCategory class, still I got same error.
>>>     List<WeblogCategory> catsss = new ArrayList<WeblogCategory>();
>>>     catsss.add(c);
>>>     c.setList(catsss);
>>> System.out.println("======"+catsss+"============"+c.getList());
>>>
>>> Got this error, after adding Arraylist.
>>>
>>> [EL Warning]: 2014-01-05 
>>> 19:42:56.209--ClientSession(1732472947)--Exception 
>>> [EclipseLink-4002] (Eclipse Persistence Services - 
>>> 2.5.0.v20130507-3faac2b): 
>>> org.eclipse.persistence.exceptions.DatabaseException
>>> Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 
>>> 'CATEGORY_CATEGORY' does not exist.
>>> Error Code: 20000
>>> Call: INSERT INTO category_category (list_id, WeblogCategory_id) 
>>> VALUES (?, ?)
>>>     bind => [2 parameters bound]
>>> Query: DataModifyQuery(name="list" sql="INSERT INTO 
>>> category_category (list_id, WeblogCategory_id) VALUES (?, ?)")
>>>
>>> Thanks
>>> Gaurav
>>>
>>>
>>> On Sunday 05 January 2014 05:30 AM, Glen Mazza wrote:
>>>> Hi Gaurav, did you try a "control" with your file search method? 
>>>> I.e., you're saying you're case-insensitive searching on 
>>>> "category_category" but nothing is getting returned  -- did you try 
>>>> also searching something that you *know* exists in the project 
>>>> (say, "class", "public", "return", etc.) and your IDE/search method 
>>>> indeed did return lots of matches?  Because if you get zero search 
>>>> results with the latter we know the problem is with the way you're 
>>>> configuring your search, not the non-existence of 
>>>> "category_category".  (Also are you searching on every type of file 
>>>> extension, not just .java files?)
>>>>
>>>> Somewhere in your code the JPA layer has decided to calculate 
>>>> "category_category" as a table name, I would guess because that's 
>>>> what is exactly in the code someplace (as you can see the query 
>>>> below generated "...FROM category_category t0, category t1..."). 
>>>> One useful experiment might be to rename the "category" table (t1) 
>>>> above to "category2" -- would the SQL above change to 
>>>> "category2_category2, category2..." or (I think) "...FROM 
>>>> category_category t0, category2 t1...")  If the former, that would 
>>>> indicate that "category2_category2" is being dynamically generated 
>>>> from the "category2" table name. If the latter, that would mean 
>>>> "category_category" is hardcoded somewhere and not related to the 
>>>> "category" table name you've properly configured.
>>>>
>>>> I probably won't be able to get to this until next weekend anyway, 
>>>> so I'm going to have you finish it, also as a confidence-builder 
>>>> for you (if you let JPA push you around now, it's always going to 
>>>> bully you...  :)
>>>>
>>>> Regards,
>>>> Glen
>>>>
>>>> PS:  Just to clarify, when an pre-5.1-SNAPSHOT user installs Roller 
>>>> 5.1-SNAPSHOT, the Roller startup should automatically detect that 
>>>> the system is currently using an older Roller database and do the 
>>>> database upgrade (creating of new the "category" table and 
>>>> prepopulation of it).  Roller has always done this as so long as 
>>>> you put the necessary migration scripts in the right place there 
>>>> should be no problem. However, those of us already on 5.1-SNAPSHOT 
>>>> like myself before your patch will need to manually create that 
>>>> table in our database (the Roller script won't notice 
>>>> 5.1-SNAPSHOT-->5.1-SNAPSHOT, so won't create "category" by 
>>>> itself.)  No problem, we'll just figure out the necessary SQL 
>>>> statements for Dave and he can add it to his Roller project blog.
>>>>
>>>>
>>>> On 01/04/2014 04:47 PM, Gaurav wrote:
>>>>> Hello Glen,
>>>>>
>>>>> I searched whole project and did not find anywhere. I think might 
>>>>> be I have done something wrong, as when I start with new database, 
>>>>> everything work just deleting gives me this error. If I work on 
>>>>> old database it even did not start up (localhost:8080/roller) 
>>>>> gives my below error.
>>>>>
>>>>> I have checked almost everything I can, might be some wrong java 
>>>>> code and anything I done wrong that causes this. Should I submit 
>>>>> by work so you can look on to it, or if we are not in any hurry 
>>>>> than I can look into it again step by step (I prefer second option 
>>>>> if we have one more week. Just another week or so, next week i 
>>>>> have some tight schedule). I know I am taking too much time, but I 
>>>>> am new to this level of Java code, as I worked maximum time at 
>>>>> client side. But I really loving java code and learned a lot till 
>>>>> now, before this I just worked with Java on small projects. 
>>>>> OpenSource Projects really are very powerful and good way to learn 
>>>>> new things.
>>>>>
>>>>> Exception [EclipseLink-4002] (Eclipse Persistence Services - 
>>>>> 2.5.0.v20130507-3faac2b): 
>>>>> org.eclipse.persistence.exceptions.DatabaseException Internal 
>>>>> Exception: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 
>>>>> Table 'roller.category_category' doesn't exist Error Code: 1146 
>>>>> Call: SELECT t1.id, t1.description, t1.image, t1.name, 
>>>>> t1.websiteid FROM category_category t0, category t1 WHERE 
>>>>> ((t0.WeblogCategory_id = ?) AND (t1.id = t0.weblogCategories_id)) 
>>>>> bind => [1 parameter bound] Query: 
>>>>> ReadAllQuery(name="weblogCategories" referenceClass=WeblogCategory 
>>>>> sql="SELECT t1.id, t1.description, t1.image, t1.name, t1.websiteid 
>>>>> FROM category_category t0, category t1 WHERE 
>>>>> ((t0.WeblogCategory_id = ?) AND (t1.id = t0.weblogCategories_id))")
>>>>>
>>>>> Thanks
>>>>> Gaurav
>>>>>
>>>>> On Sunday 05 January 2014 12:00 AM, Glen Mazza wrote:
>>>>>> Hi Gaurav, no, that relation shouldn't be needed anymore.
>>>>>>
>>>>>> As for the table name, at the top of your orm.xml file the table 
>>>>>> name the file maps against is declared -- perhaps you 
>>>>>> accidentally called it category_category.  I would grep or use a 
>>>>>> file search from your IDE of your entire roller source code, 
>>>>>> looking for where category_category is being declared -- 
>>>>>> (probably) has to be there someplace. (More specifically, do a 
>>>>>> file search on "DataModifyQuery" -- that's probably exactly where 
>>>>>> the problem is.)
>>>>>>
>>>>>> Once working, try to import the latest code changes into your 
>>>>>> code before submitting a patch (actually create a backup patch 
>>>>>> first just in case).  Not sure but I think a simple svn update 
>>>>>> will do -- svn will identify some files where it will need your 
>>>>>> assistance to resolve any differences -- it shouldn't be too hard 
>>>>>> or time-consuming to do.
>>>>>>
>>>>>> Regards,
>>>>>> Glen
>>>>>>
>>>>>> On 01/04/2014 08:55 AM, Gaurav wrote:
>>>>>>> Hello Glen,
>>>>>>>
>>>>>>> I just want to know that the below relations in 
>>>>>>> WeblogCategory.orm.xml are required or not as now the parent is 
>>>>>>> not used so, I don't think its needed now. I have commented the 
>>>>>>> below lines.
>>>>>>>
>>>>>>> <many-to-one name="parent" 
>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category">
>>>>>>>                 <join-column name="parentid" insertable="true" 
>>>>>>> updatable="true" nullable="true"/>
>>>>>>>             </many-to-one>
>>>>>>>             <one-to-many name="weblogCategories" 
>>>>>>> mapped-by="parent" 
>>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category" 
>>>>>>> fetch="LAZY">
>>>>>>>                 <cascade>
>>>>>>>                     <cascade-remove/>
>>>>>>>                 </cascade>
>>>>>>>             </one-to-many>
>>>>>>>             <transient name="inUse"/>
>>>>>>>
>>>>>>> I asked this because, getting categories giving me mysql 
>>>>>>> exception. The new table is 'roller.category' but it executes 
>>>>>>> for 'roller.category_category'.
>>>>>>> I am not able to get what I have done wrong.
>>>>>>>
>>>>>>> Internal Exception: 
>>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
>>>>>>> 'roller.category_category' doesn't exist
>>>>>>> Error Code: 1146
>>>>>>> Call: DELETE FROM category_category WHERE (WeblogCategory_id = ?)
>>>>>>>     bind => [1 parameter bound]
>>>>>>> Query: DataModifyQuery(name="weblogCategories" sql="DELETE FROM 
>>>>>>> category_category WHERE (WeblogCategory_id = ?)")
>>>>>>>
>>>>>>> Also, I have changed the getWeblogCategoryByPath to 
>>>>>>> getWeblogCategoryByName so feeds and other places work fine. I 
>>>>>>> have able to get catgeory list, new entries are creating 
>>>>>>> successfully. Just deleting the weblog is giving me above error.
>>>>>>>
>>>>>>> Thanks
>>>>>>> Gaurav
>>>>>>>
>>>>>>>
>>>>>>> On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
>>>>>>>> Hello Glen,
>>>>>>>>
>>>>>>>> I have already deleted getPath and getParent and in the mid of 
>>>>>>>> everything. I hope I will be able to complete this by Monday. 
>>>>>>>> If still, I get some major issues due to this, I will switch to 
>>>>>>>> what you suggested. Just give me time till Monday, as I have 
>>>>>>>> done almost 80% of code cleaned regarding the path and 
>>>>>>>> parentcategory. I will get back to you soon with some patches 
>>>>>>>> and then you can test it.
>>>>>>>>
>>>>>>>> Also, my ICLA have been filed, got the receipt of my ICLA.
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Gaurav
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
>>>>>>>>> Gaurav, sorry, it just occurred to me there's a simpler 
>>>>>>>>> intermediate step that can be done. While we need the database 
>>>>>>>>> table without a path column, and to remove the "path" member 
>>>>>>>>> *variable* from WeblogCategory (or its replacement), we can 
>>>>>>>>> still keep indefinitely keep getPath(), just hardcode it to 
>>>>>>>>> "/" + categoryName, which is precisely what the old code 
>>>>>>>>> returns for any top-level category--the rest of the system can 
>>>>>>>>> stay just as it did before.  Switching the rest of the code 
>>>>>>>>> from getPath() to using getName() can be done at any time, bit 
>>>>>>>>> by bit whenever, that's not necessary to implement 
>>>>>>>>> positioning, that's just a code cleanup issue. Likewise, for 
>>>>>>>>> WeblogCategory.getParent(), it may be as simple as adding a 
>>>>>>>>> root category object as part of the Weblog's constructor (but 
>>>>>>>>> not saved to the database), and having 
>>>>>>>>> WeblogCategory.getParent() just return 
>>>>>>>>> website.getParentCategory()--that way all categories for a 
>>>>>>>>> weblog will have the same root category as before, and the 
>>>>>>>>> rest of the code base should function fine.  Once we're on the 
>>>>>>>>> new table, then it's an issue of implementing 
>>>>>>>>> positioning--getting rid of getParent() and getPath() can be 
>>>>>>>>> done by anybody at a later date.
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Glen
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>>>>>>>>> No problem, I'm available to help (or finish it up) if 
>>>>>>>>>> needed.  For a seemingly simple switch, you're certainly 
>>>>>>>>>> getting a *full* education of the Roller codebase.  :)
>>>>>>>>>>
>>>>>>>>>> BTW, I hope you're not testing via mvn jetty:run, as that 
>>>>>>>>>> requires you to keep logging in for the first time, creating 
>>>>>>>>>> a blog for the first time, etc., whenever you start it. Very 
>>>>>>>>>> inefficient and tiring. Normally I just build (mvn clean 
>>>>>>>>>> install) and dump the WAR into standalone Tomcat on my local 
>>>>>>>>>> machine. The database & other configuration I keep 
>>>>>>>>>> permanently in roller-custom.properties in the Tomcat lib/ 
>>>>>>>>>> folder, so the new WAR just takes over with the same 
>>>>>>>>>> configuration, blogs, accounts, etc., that old WAR was using. 
>>>>>>>>>> (Check the Roller install guide for full instructions.)
>>>>>>>>>>
>>>>>>>>>> Also vital is that you know how to debug/trace Roller code in 
>>>>>>>>>> Eclipse or IntelliJ while it is running on Tomcat (or another 
>>>>>>>>>> servlet container). It's much simpler than it seems, and will 
>>>>>>>>>> save you a lot of time. These instructions are for Eclipse 
>>>>>>>>>> but Intellij (my preference) is basically the same: 
>>>>>>>>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>>>>>>>>>> Checking variable values while it's running will point you to 
>>>>>>>>>> where problems are much more quickly.
>>>>>>>>>>
>>>>>>>>>> Happy New Year!
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Glen
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>
>>>>>>>>>>> As, I previously told you that the test cases are giving 
>>>>>>>>>>> problem, actually I think we have to do some changes in Test 
>>>>>>>>>>> Cases also, as many of the methods involving path and parent 
>>>>>>>>>>> are removed so, many times in test cases (it did not get 
>>>>>>>>>>> correct values and give errors).
>>>>>>>>>>> I have successfully showed the categories by website till 
>>>>>>>>>>> now in the admin section. Also, the entries are saved just, 
>>>>>>>>>>> I ran out of memory issue in happen when I save an entry 
>>>>>>>>>>> that entry, although it get saved when I refresh the page.
>>>>>>>>>>>
>>>>>>>>>>> Also, as their is not path now, we have to do some changes 
>>>>>>>>>>> in velocity files, as feeds are giving error in showing, 
>>>>>>>>>>> although if I direct enter the URL its working fine. I have 
>>>>>>>>>>> cleared many parts of the code, just I have test of the 
>>>>>>>>>>> roller parts which are linked the path and parent. I am 
>>>>>>>>>>> thinking of correcting the test cases, as I can run them and 
>>>>>>>>>>> if test cases are fine then might be everything will work fine.
>>>>>>>>>>>
>>>>>>>>>>> I will return to work on this after 3 days, as I will be and 
>>>>>>>>>>> will get be to it during coming weekend again. I will wrap 
>>>>>>>>>>> this out asap for you to test and will attach patches coming 
>>>>>>>>>>> weekend.
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>> Gaurav
>>>>>>>>>>>
>>>>>>>>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>>>>>>>>> Thanks for that info, I have changed my settings in the 
>>>>>>>>>>>> eclipse.
>>>>>>>>>>>> Yes, you are right I will leave the ordering part for now 
>>>>>>>>>>>> and work on clearing the code for now. For now I will just 
>>>>>>>>>>>> add a column in category table with position, leaving it 
>>>>>>>>>>>> null for now.
>>>>>>>>>>>>
>>>>>>>>>>>> Regards,
>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>
>>>>>>>>>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza wrote:
>>>>>>>>>>>>> Your last ImprovedCreateUser.patch had some tab characters 
>>>>>>>>>>>>> in it, and our project uses spaces for tabs (just have 
>>>>>>>>>>>>> Eclipse insert 4 spaces whenever you hit the tab key, with 
>>>>>>>>>>>>> no tab characters.) Very few Apache projects (any?) are 
>>>>>>>>>>>>> tab-indented today. It is a simple fix with IntelliJ IDEA 
>>>>>>>>>>>>> (Edit -> Convert Indents -> To Spaces), I'm sure Eclipse 
>>>>>>>>>>>>> has an equivalent.
>>>>>>>>>>>>>
>>>>>>>>>>>>> For blogs migrating from pre-5.1 versions, we can keep the 
>>>>>>>>>>>>> position NULL by default (and when you order by position, 
>>>>>>>>>>>>> with null values, they will come out in any order, like 
>>>>>>>>>>>>> they do today.) Whenever a new blog is created with the 
>>>>>>>>>>>>> default three categories, those can be assigned positions 
>>>>>>>>>>>>> (probably 0-based for leftmost is best.)  For migrated 
>>>>>>>>>>>>> blogs, once the user goes to the category page and makes a 
>>>>>>>>>>>>> change for the first time, numbers can be written for the 
>>>>>>>>>>>>> very first time--no special extra UI is needed for this 
>>>>>>>>>>>>> purpose. But like I was saying, this is such a lengthy 
>>>>>>>>>>>>> patch you may wish to forget about the ordering right 
>>>>>>>>>>>>> now--it doesn't work anyway in Roller right now. It may be 
>>>>>>>>>>>>> best to get us to the new table and get rid of the paths, 
>>>>>>>>>>>>> and once we're on that firmer foundation implementing 
>>>>>>>>>>>>> positioning (on the Category page and in the templates) 
>>>>>>>>>>>>> will be much simpler.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I will change the position to be integer, and will 
>>>>>>>>>>>>>> exclude the category where parent null, but still what 
>>>>>>>>>>>>>> can be done for the position as the old data did not have 
>>>>>>>>>>>>>> position, so how and on what basis we have to add 
>>>>>>>>>>>>>> position to it. I was thinking that we can left it as 
>>>>>>>>>>>>>> null, and provide some UI in backend where user can 
>>>>>>>>>>>>>> assign position themselves.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I will take care of spacing, will search what I am doing 
>>>>>>>>>>>>>> wrong. As, I am not sure is that you are talking about 
>>>>>>>>>>>>>> formatting the code, or anything else. As I use tab (with 
>>>>>>>>>>>>>> 4 spaces) in Eclipse IDE.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>> BTW, not to be hated, but make sure any code you submit 
>>>>>>>>>>>>>>> is space-padded (4 spaces), *not* tab-padded. Your IDE 
>>>>>>>>>>>>>>> should be able to convert it for you if you've been 
>>>>>>>>>>>>>>> doing tab-padding.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I am confused on how to add and on what basis we have 
>>>>>>>>>>>>>>>> to addd position to the new category table. Below two 
>>>>>>>>>>>>>>>> sql commands can be used for coping data and deleting 
>>>>>>>>>>>>>>>> the root categories.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> create table category (
>>>>>>>>>>>>>>>>     id               varchar(48) not null primary key,
>>>>>>>>>>>>>>>>     name             varchar(255) not null,
>>>>>>>>>>>>>>>>     description      varchar(255),
>>>>>>>>>>>>>>>>     websiteid        varchar(48) not null,
>>>>>>>>>>>>>>>>     image            varchar(255),
>>>>>>>>>>>>>>>>     position         varchar(48)
>>>>>>>>>>>>>>>> );
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> insert into 
>>>>>>>>>>>>>>>> category(id,name,description,websiteid,image) select 
>>>>>>>>>>>>>>>> id,name,description,websiteid,image from weblogcategory;
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> delete from category where name="root";
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> What do you suggest for this ?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>> Take your time, this is a messy change as it affects 
>>>>>>>>>>>>>>>>> many areas of the code. But Roller will be 
>>>>>>>>>>>>>>>>> architecturally much more solid and simpler once this 
>>>>>>>>>>>>>>>>> change is done.  I have your ROL-1616 and ROL-1982 on 
>>>>>>>>>>>>>>>>> my plate for this weekend.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I have deleted the path and all related methods, but 
>>>>>>>>>>>>>>>>>> its seems to me that the path methods like 
>>>>>>>>>>>>>>>>>> (getWeblogCategoryByPath) and many other path and 
>>>>>>>>>>>>>>>>>> parent related methods, are scattered over the whole 
>>>>>>>>>>>>>>>>>> roller. There are many occurrence of these methods 
>>>>>>>>>>>>>>>>>> and I have to sort out each piece of code as now 
>>>>>>>>>>>>>>>>>> there is no path so, mostly we check for categoryPath 
>>>>>>>>>>>>>>>>>> != null in if conditions, so these are no longer needed.
>>>>>>>>>>>>>>>>>> Also, I as thinking after testing and completing this 
>>>>>>>>>>>>>>>>>> we can delete the WeblogCategory and replace with 
>>>>>>>>>>>>>>>>>> Category method, as it will be clean. I also figured 
>>>>>>>>>>>>>>>>>> out why my tests are failing as during creating of 
>>>>>>>>>>>>>>>>>> weblogentry it did not find the categories, as that 
>>>>>>>>>>>>>>>>>> class was using old WeblogCategory table and using 
>>>>>>>>>>>>>>>>>> that class methods. I think I will definitely will 
>>>>>>>>>>>>>>>>>> figure out everything at the end and will 
>>>>>>>>>>>>>>>>>> successfully test with the unit tests.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I am now in the editor part so can display the 
>>>>>>>>>>>>>>>>>> categories on front end, I am now all over the 
>>>>>>>>>>>>>>>>>> 1-2-3-4 steps you mentioned. As soon as I will able 
>>>>>>>>>>>>>>>>>> to display the categories (small issues left) at the 
>>>>>>>>>>>>>>>>>> backend, I will again go through my changes. Also, at 
>>>>>>>>>>>>>>>>>> this time I can only create patch for new table and 
>>>>>>>>>>>>>>>>>> migration script, as all other classes code are 
>>>>>>>>>>>>>>>>>> interrelated so can't submit now. I will test every 
>>>>>>>>>>>>>>>>>> single thing related to categories, then I will 
>>>>>>>>>>>>>>>>>> submit my patches.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Although I have learned a lot new things, just spent 
>>>>>>>>>>>>>>>>>> last two full days on this sorting out things, many 
>>>>>>>>>>>>>>>>>> times ending up nowhere from where I started. But I 
>>>>>>>>>>>>>>>>>> am confident that I will definitely complete this 
>>>>>>>>>>>>>>>>>> task. Just I am worrying that I must be taking too 
>>>>>>>>>>>>>>>>>> much time.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> If there is something, you can advice me I would 
>>>>>>>>>>>>>>>>>> happy to follow that also.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>> If it helps, you can provide interim patches, so 
>>>>>>>>>>>>>>>>>>> long as it doesn't break the current code base. You 
>>>>>>>>>>>>>>>>>>> may want to create a patch just creating the new 
>>>>>>>>>>>>>>>>>>> database table (which will be ignored by the current 
>>>>>>>>>>>>>>>>>>> code) and sql insert-select scripts to move from the 
>>>>>>>>>>>>>>>>>>> current table to the new one, then one converting 
>>>>>>>>>>>>>>>>>>> the code to using the new table without sorting, 
>>>>>>>>>>>>>>>>>>> then (finally) one that implements sorting of the 
>>>>>>>>>>>>>>>>>>> categories.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> I have created and updated all necessary files in 
>>>>>>>>>>>>>>>>>>>> JPA and for database, I tried compiling the code it 
>>>>>>>>>>>>>>>>>>>> gave me errors in test cases. As I am not sure that 
>>>>>>>>>>>>>>>>>>>> what I am wrong in this. Although I tried compiling 
>>>>>>>>>>>>>>>>>>>> without running test cases, it worked fine. I 
>>>>>>>>>>>>>>>>>>>> tested it with tomcat and new table category is 
>>>>>>>>>>>>>>>>>>>> created and initial category (General, Finance and 
>>>>>>>>>>>>>>>>>>>> Technology) are created with the position 1,2,3. 
>>>>>>>>>>>>>>>>>>>> Still there are many thing I have to clean up and 
>>>>>>>>>>>>>>>>>>>> sort out and will test it again.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>> Ok, got your point. I will check on other Roller 
>>>>>>>>>>>>>>>>>>>>> parts also if parent name and path aren't be using 
>>>>>>>>>>>>>>>>>>>>> in any other part of Roller. I will go into the 
>>>>>>>>>>>>>>>>>>>>> RSS and Atom feeds later on, and see what changes 
>>>>>>>>>>>>>>>>>>>>> it need. As, till now I have changed many files 
>>>>>>>>>>>>>>>>>>>>> and created some, so will first test this part 
>>>>>>>>>>>>>>>>>>>>> then go into that feeds part.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>> Sounds good, but may require more work to make 
>>>>>>>>>>>>>>>>>>>>>> sure all is good with the RSS and Atom feeds as a 
>>>>>>>>>>>>>>>>>>>>>> result (which I believe rely on path). Where path 
>>>>>>>>>>>>>>>>>>>>>> is used to check for equivalence, I guess name 
>>>>>>>>>>>>>>>>>>>>>> (and blog/website ID, if necessary) alone will do 
>>>>>>>>>>>>>>>>>>>>>> now. We may need to check (if we aren't already) 
>>>>>>>>>>>>>>>>>>>>>> that no two categories have the same name, where 
>>>>>>>>>>>>>>>>>>>>>> prior we were checking that no two paths are the 
>>>>>>>>>>>>>>>>>>>>>> same (i.e., allowing category paths 
>>>>>>>>>>>>>>>>>>>>>> USStates/Georgia and Countries/Georgia but now 
>>>>>>>>>>>>>>>>>>>>>> needing to disallow two categories named "Georgia".)
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I am thinking of removing the path coloumn also, 
>>>>>>>>>>>>>>>>>>>>>>> as it does not make sense now as there will no 
>>>>>>>>>>>>>>>>>>>>>>> subcategories and all will have same path (like 
>>>>>>>>>>>>>>>>>>>>>>> /categoryname). WDYT ?
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> I want to know as now all the categories will 
>>>>>>>>>>>>>>>>>>>>>>>>> be top level, so the root category which is 
>>>>>>>>>>>>>>>>>>>>>>>>> created by default on addWeblog isn't needed. 
>>>>>>>>>>>>>>>>>>>>>>>>> So, I can remove that code also ? I am in half 
>>>>>>>>>>>>>>>>>>>>>>>>> completed with the 1-2 steps will soon submit 
>>>>>>>>>>>>>>>>>>>>>>>>> some patched in jira issue. You can look on to 
>>>>>>>>>>>>>>>>>>>>>>>>> them whenever you will get time from other 
>>>>>>>>>>>>>>>>>>>>>>>>> projects.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, Gaurav 
>>>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on this, I 
>>>>>>>>>>>>>>>>>>>>>>>>>> understand your commitments. As this will 
>>>>>>>>>>>>>>>>>>>>>>>>>> give me more time on working on this issue. I 
>>>>>>>>>>>>>>>>>>>>>>>>>> will give my 100% on this, as I also want to 
>>>>>>>>>>>>>>>>>>>>>>>>>> get into more and more open source projects. 
>>>>>>>>>>>>>>>>>>>>>>>>>> For Now I am focusing on Roller for starting 
>>>>>>>>>>>>>>>>>>>>>>>>>> my contributions in open source.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I can't help 
>>>>>>>>>>>>>>>>>>>>>>>>>>> much right now either, as my other project 
>>>>>>>>>>>>>>>>>>>>>>>>>>> JSPWiki has a new release going out.) But 
>>>>>>>>>>>>>>>>>>>>>>>>>>> please be patient with us on your recent 
>>>>>>>>>>>>>>>>>>>>>>>>>>> submitted patches -- we haven't forgotten 
>>>>>>>>>>>>>>>>>>>>>>>>>>> you and are happy with your efforts on this 
>>>>>>>>>>>>>>>>>>>>>>>>>>> project so far, we just have full-time jobs 
>>>>>>>>>>>>>>>>>>>>>>>>>>> and, even after that, other obligations -- 
>>>>>>>>>>>>>>>>>>>>>>>>>>> for open source work, we usually have to 
>>>>>>>>>>>>>>>>>>>>>>>>>>> beg, borrow and steal time to work on them.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am going through this having some issues, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> although not major till now. I have still 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> working on 1-2 steps, might be I am slow as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> get less time. (Wish we also have holidays 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> of this festive season in India :P) Just 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> want to know isn't there any hurry for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> completing this asap ? Although, I am sure 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> will definitely complete this as I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> understood the structure of Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> completely. Just I have to go through the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> JPA more and read about this.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're missing will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> become apparent to you as you work along. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> The Roller installation guide and here 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can show you how to test also with Derby 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> if you'd like. (It is usually simpler than 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> MySQL, and another benefit of working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller is that you become 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> multiple-database-lingual very quickly.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this much deep information, I can start 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> working in it. I have started working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this Issue and have followed your steps.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in createdb.vm and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in migration scripts also. I have for mow 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> stared working on MySQL.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl class, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have commented updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Category.orm.xml and enterd details of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new table. A new class Category in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created new files for now and will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> work on this and add new position coloum 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and code regarding this. Other than UI 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and template Layer, I think I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> covered all files on which I have to work 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> on the Database and JPA layers ? Please 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tell me if I am wrong anywhere or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> following wrong workflow.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 AM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for our 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> database scripts -- you see a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb.vm plus migration scripts (5.0 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to 5.1) -- we'll want our change in both 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> places (IIRC), new users have the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> createdb run and Roller upgraders with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> their current DB's have the 5.0 to 5.1 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> migration script run.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here and I'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like to get this done right (I plan on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> helping out where you'd like). Namely, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we've moved from a hierarchical category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structure (categories having 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> subcategories having their own 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> subcatorgories etc.) to a flat 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> single-level structure (all categories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> are top level) -- that was done a week 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> or so back. Problem is, the database 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tables are still assuming hierarchical 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (they will work with flat structures but 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> are overkill--we don't need a parent ID 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> column anymore.) Also, the JPA objects 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> are designed for hierarchical but can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplified a bit more to flat structure. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Incidentally, "sequenceNum" is ambiguous 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> about what it means, I would say 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "position" or "ordering" (INT null, null 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for migrators who don't yet have a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> position defined) is clearer.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to handle 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this--for both new installers and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new table, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> say "category" designed precisely as we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need, and have the migration scripts 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> select from the old weblogcategory and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> insert into the new category table. (We 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> then ignore the weblogcategory table.) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We'll need to test the scripts with at 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> least two databases (2 of probably 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> MySQL, Derby and/or PostgreSQL) and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> guess for the others--if we're wrong the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> user community can supply a patch fixing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence object (the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> old WeblogCategory) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as it's now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat-level. Indeed, I think things will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> get a *lot* simpler here, as it may just 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> be the parent Weblog holding a list of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> some sort of Category objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp (or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whatever it's called) and its Struts 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> action class will now need to use the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new Category object (and table) instead 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> of WeblogCategory. The UI page will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> two changes: (1) all new categories will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> be placed (and saved) at the bottom of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the category list (and as result, appear 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> last (right-most) in the category list, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and, later (2) probably have up and down 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> buttons in the table allowing users to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> easily reorder the categories as they 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like. (Strictly speaking, 1 alone is all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that's needed for ordering, as you can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> remove/name/delete/recreate categories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to eventually get them in the position 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you'd like, but (2) of course is much 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't looked into 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this): The templates (probably just a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> macro or two) will need updating to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ensure that they output the category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> names per the new position order.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one advantage is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that I'd like to do the same thing with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks/blogrolls (team discussion 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> pending...), switch from a hierarchical 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to flat-level for those too.  If we can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> do this for categories, the logic/UI 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> design, etc., will carry over 100% to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually getting to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this myself, so am available to work 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with you on whatever parts you'd like. I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> think going in order 1-2-3-4 and having 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> separate commits may be the cleanest way 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> of doing this. What's nice about using a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> brand new table and JPA object is that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the old objects can still work in the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> code while we're creating the new, we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> just don't activate the new until the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> very end.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team members on the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> above ideas...?) Or are there other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller tasks you'd like to sink your 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> teeth into instead? I can look at this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> otherwise, but this looks like a very 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> good exercise for someone wanting to get 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> more involved in Roller, as it covers 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> all the layers of the webapp.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on ROL-1981, as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discussed in previous discussion 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> threads I will add new column 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sequenceNum in weblogcategory table. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Then we can assign sequenceNum to each 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category according to websideid. If 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> anyone have some ideas regarding this, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> please help me. Also, need some help on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> how to go with this issue, and how to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> add new coloum, I found .sql file, do I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need to add there new column. Also, Is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this possible that that when I restart 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the roller it will add new column to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> database ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>


Re: (another idea) Re: ROL-1981 Category ordering

Posted by Gaurav <ga...@gmail.com>.
Hello Glen,

I figured out that issues, as I told when I use getWeblogCategories() 
method, then the error comes, actually its due to  the reason that I 
have removed below one-to-many mapping in orm file and still using the 
method. As you said, I studied JPA and get some time into it and learned 
new things about the mapping relationship. Now, I am thinking of 
implementing the same way as getWeblogEntries are listed  as it also 
come respect to the weblog/website.

<one-to-many name="weblogCategories" mapped-by="parent" 
target-entity="org.apache.roller.weblogger.pojos.WeblogCategory" 
fetch="LAZY"></one-to-many>

Thanks
Gaurav

On Monday 06 January 2014 02:36 AM, Glen Mazza wrote:
> I don't know, but I don't like that statement 
> "c.getWeblogCategories().add(c); "  A WeblogCategory should no longer 
> have child weblog categories (they are pure siblings of each other 
> with no hierarchical relationship), so such an "add" shouldn't exist.  
> You can have -->Weblog<---.getWeblogCategories().add(c), that would 
> make sense.
>
> Glen
>
> On 01/05/2014 03:32 PM, Gaurav wrote:
>> Hello Glen,
>>
>> I tried finding the that issues, but did not find anywhere. Also it 
>> is created dynamically as I changed the entity name to category1 then 
>> also sameerror come up with "category1_category1" doesn't exist. I 
>> think this might be something I am doing wrong with the code. As, 
>> Today I cleaned up all the code and now everything is working good. I 
>> am successful in creating, editing and deleting the weblog, entries, 
>> categories and everything is showing good.
>>
>> Just single problem I am having now is showing the categories list in 
>> feeds and in menu. I figured out after checking that 
>> $categoryObject.getWeblogCategories() is iterated in velocity file 
>> which check for the getWeblogCategories() method of type Set in 
>> WeblogCategory class, Initially I commented this method as the 
>> comments over this method said "Get child categories of this 
>> category". But I think this is neccasary as whenever a category is 
>> created this is called to add a category to Set 
>> "rootCat.getWeblogCategories().add(c);"
>>
>> Now, Problem is we did not have any parent or root category now, so 
>> how it will going to add to that Set and Also I tried creating a 
>> object of WeblogCategory Class and tried adding it to 
>> getWeblogCategories() method then again. Now When I tired adding 
>> category with this "c.getWeblogCategories().add(c);" the same error 
>> comes up. If I comment this line that add category, everything works 
>> fine again, just did not get any list of categories in menu and feed.
>>
>> Also, I am confused what setWeblogCategories() is doing as I did not 
>> find anywhere where it is used for setting categories. Just the 
>> getWeblogCategories() is used with .add for adding child categories 
>> to parent/root.
>>
>> Below is what I done in addWeblogContents method of class 
>> JPAWeblogManagerImpl.
>>
>> if (cats != null && cats.trim().length() > 0) {
>>             String[] splitcats = cats.split(",");
>>             for (int i=0; i<splitcats.length; i++) {
>>                 WeblogCategory c = new WeblogCategory(
>>                         newWeblog,       // newWeblog
>>                         splitcats[i],    // name
>>                         splitcats[i],    // description
>>                         null );          // image
>>                 if (i == 0) {
>>                     firstCat = c;
>>                 }
>>                 System.out.println("====Cats==="+c);
>>                 c.getWeblogCategories().add(c); //previously it was 
>> root.getWeblogCategories.add(c);
>>                 this.strategy.store(c);
>>             }
>>         }
>>
>>
>> [EL Warning]: 2014-01-05 
>> 17:15:22.179--ClientSession(1956103136)--Exception [EclipseLink-4002] 
>> (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): 
>> org.eclipse.persistence.exceptions.DatabaseException
>> Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 
>> 'CATEGORY_CATEGORY' does not exist.
>> Error Code: 20000
>> Call: INSERT INTO category_category (weblogCategories_id, 
>> WeblogCategory_id) VALUES (?, ?)
>>     bind => [2 parameters bound]
>> Query: DataModifyQuery(name="weblogCategories" sql="INSERT INTO 
>> category_category (weblogCategories_id, WeblogCategory_id) VALUES (?, 
>> ?)")
>> *
>>
>> *Also I tried making new ArrayList and new getter setter in 
>> WeblogCategory class, still I got same error.
>>     List<WeblogCategory> catsss = new ArrayList<WeblogCategory>();
>>     catsss.add(c);
>>     c.setList(catsss);
>> System.out.println("======"+catsss+"============"+c.getList());
>>
>> Got this error, after adding Arraylist.
>>
>> [EL Warning]: 2014-01-05 
>> 19:42:56.209--ClientSession(1732472947)--Exception [EclipseLink-4002] 
>> (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): 
>> org.eclipse.persistence.exceptions.DatabaseException
>> Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 
>> 'CATEGORY_CATEGORY' does not exist.
>> Error Code: 20000
>> Call: INSERT INTO category_category (list_id, WeblogCategory_id) 
>> VALUES (?, ?)
>>     bind => [2 parameters bound]
>> Query: DataModifyQuery(name="list" sql="INSERT INTO category_category 
>> (list_id, WeblogCategory_id) VALUES (?, ?)")
>>
>> Thanks
>> Gaurav
>>
>>
>> On Sunday 05 January 2014 05:30 AM, Glen Mazza wrote:
>>> Hi Gaurav, did you try a "control" with your file search method? 
>>> I.e., you're saying you're case-insensitive searching on 
>>> "category_category" but nothing is getting returned  -- did you try 
>>> also searching something that you *know* exists in the project (say, 
>>> "class", "public", "return", etc.) and your IDE/search method indeed 
>>> did return lots of matches?  Because if you get zero search results 
>>> with the latter we know the problem is with the way you're 
>>> configuring your search, not the non-existence of 
>>> "category_category".  (Also are you searching on every type of file 
>>> extension, not just .java files?)
>>>
>>> Somewhere in your code the JPA layer has decided to calculate 
>>> "category_category" as a table name, I would guess because that's 
>>> what is exactly in the code someplace (as you can see the query 
>>> below generated "...FROM category_category t0, category t1..."). One 
>>> useful experiment might be to rename the "category" table (t1) above 
>>> to "category2" -- would the SQL above change to 
>>> "category2_category2, category2..." or (I think) "...FROM 
>>> category_category t0, category2 t1...")  If the former, that would 
>>> indicate that "category2_category2" is being dynamically generated 
>>> from the "category2" table name. If the latter, that would mean 
>>> "category_category" is hardcoded somewhere and not related to the 
>>> "category" table name you've properly configured.
>>>
>>> I probably won't be able to get to this until next weekend anyway, 
>>> so I'm going to have you finish it, also as a confidence-builder for 
>>> you (if you let JPA push you around now, it's always going to bully 
>>> you...  :)
>>>
>>> Regards,
>>> Glen
>>>
>>> PS:  Just to clarify, when an pre-5.1-SNAPSHOT user installs Roller 
>>> 5.1-SNAPSHOT, the Roller startup should automatically detect that 
>>> the system is currently using an older Roller database and do the 
>>> database upgrade (creating of new the "category" table and 
>>> prepopulation of it).  Roller has always done this as so long as you 
>>> put the necessary migration scripts in the right place there should 
>>> be no problem. However, those of us already on 5.1-SNAPSHOT like 
>>> myself before your patch will need to manually create that table in 
>>> our database (the Roller script won't notice 
>>> 5.1-SNAPSHOT-->5.1-SNAPSHOT, so won't create "category" by itself.)  
>>> No problem, we'll just figure out the necessary SQL statements for 
>>> Dave and he can add it to his Roller project blog.
>>>
>>>
>>> On 01/04/2014 04:47 PM, Gaurav wrote:
>>>> Hello Glen,
>>>>
>>>> I searched whole project and did not find anywhere. I think might 
>>>> be I have done something wrong, as when I start with new database, 
>>>> everything work just deleting gives me this error. If I work on old 
>>>> database it even did not start up (localhost:8080/roller) gives my 
>>>> below error.
>>>>
>>>> I have checked almost everything I can, might be some wrong java 
>>>> code and anything I done wrong that causes this. Should I submit by 
>>>> work so you can look on to it, or if we are not in any hurry than I 
>>>> can look into it again step by step (I prefer second option if we 
>>>> have one more week. Just another week or so, next week i have some 
>>>> tight schedule). I know I am taking too much time, but I am new to 
>>>> this level of Java code, as I worked maximum time at client side. 
>>>> But I really loving java code and learned a lot till now, before 
>>>> this I just worked with Java on small projects. OpenSource Projects 
>>>> really are very powerful and good way to learn new things.
>>>>
>>>> Exception [EclipseLink-4002] (Eclipse Persistence Services - 
>>>> 2.5.0.v20130507-3faac2b): 
>>>> org.eclipse.persistence.exceptions.DatabaseException Internal 
>>>> Exception: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 
>>>> Table 'roller.category_category' doesn't exist Error Code: 1146 
>>>> Call: SELECT t1.id, t1.description, t1.image, t1.name, t1.websiteid 
>>>> FROM category_category t0, category t1 WHERE ((t0.WeblogCategory_id 
>>>> = ?) AND (t1.id = t0.weblogCategories_id)) bind => [1 parameter 
>>>> bound] Query: ReadAllQuery(name="weblogCategories" 
>>>> referenceClass=WeblogCategory sql="SELECT t1.id, t1.description, 
>>>> t1.image, t1.name, t1.websiteid FROM category_category t0, category 
>>>> t1 WHERE ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>>> t0.weblogCategories_id))")
>>>>
>>>> Thanks
>>>> Gaurav
>>>>
>>>> On Sunday 05 January 2014 12:00 AM, Glen Mazza wrote:
>>>>> Hi Gaurav, no, that relation shouldn't be needed anymore.
>>>>>
>>>>> As for the table name, at the top of your orm.xml file the table 
>>>>> name the file maps against is declared -- perhaps you accidentally 
>>>>> called it category_category.  I would grep or use a file search 
>>>>> from your IDE of your entire roller source code, looking for where 
>>>>> category_category is being declared -- (probably) has to be there 
>>>>> someplace. (More specifically, do a file search on 
>>>>> "DataModifyQuery" -- that's probably exactly where the problem is.)
>>>>>
>>>>> Once working, try to import the latest code changes into your code 
>>>>> before submitting a patch (actually create a backup patch first 
>>>>> just in case).  Not sure but I think a simple svn update will do 
>>>>> -- svn will identify some files where it will need your assistance 
>>>>> to resolve any differences -- it shouldn't be too hard or 
>>>>> time-consuming to do.
>>>>>
>>>>> Regards,
>>>>> Glen
>>>>>
>>>>> On 01/04/2014 08:55 AM, Gaurav wrote:
>>>>>> Hello Glen,
>>>>>>
>>>>>> I just want to know that the below relations in 
>>>>>> WeblogCategory.orm.xml are required or not as now the parent is 
>>>>>> not used so, I don't think its needed now. I have commented the 
>>>>>> below lines.
>>>>>>
>>>>>> <many-to-one name="parent" 
>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category">
>>>>>>                 <join-column name="parentid" insertable="true" 
>>>>>> updatable="true" nullable="true"/>
>>>>>>             </many-to-one>
>>>>>>             <one-to-many name="weblogCategories" 
>>>>>> mapped-by="parent" 
>>>>>> target-entity="org.apache.roller.weblogger.pojos.Category" 
>>>>>> fetch="LAZY">
>>>>>>                 <cascade>
>>>>>>                     <cascade-remove/>
>>>>>>                 </cascade>
>>>>>>             </one-to-many>
>>>>>>             <transient name="inUse"/>
>>>>>>
>>>>>> I asked this because, getting categories giving me mysql 
>>>>>> exception. The new table is 'roller.category' but it executes for 
>>>>>> 'roller.category_category'.
>>>>>> I am not able to get what I have done wrong.
>>>>>>
>>>>>> Internal Exception: 
>>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
>>>>>> 'roller.category_category' doesn't exist
>>>>>> Error Code: 1146
>>>>>> Call: DELETE FROM category_category WHERE (WeblogCategory_id = ?)
>>>>>>     bind => [1 parameter bound]
>>>>>> Query: DataModifyQuery(name="weblogCategories" sql="DELETE FROM 
>>>>>> category_category WHERE (WeblogCategory_id = ?)")
>>>>>>
>>>>>> Also, I have changed the getWeblogCategoryByPath to 
>>>>>> getWeblogCategoryByName so feeds and other places work fine. I 
>>>>>> have able to get catgeory list, new entries are creating 
>>>>>> successfully. Just deleting the weblog is giving me above error.
>>>>>>
>>>>>> Thanks
>>>>>> Gaurav
>>>>>>
>>>>>>
>>>>>> On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
>>>>>>> Hello Glen,
>>>>>>>
>>>>>>> I have already deleted getPath and getParent and in the mid of 
>>>>>>> everything. I hope I will be able to complete this by Monday. If 
>>>>>>> still, I get some major issues due to this, I will switch to 
>>>>>>> what you suggested. Just give me time till Monday, as I have 
>>>>>>> done almost 80% of code cleaned regarding the path and 
>>>>>>> parentcategory. I will get back to you soon with some patches 
>>>>>>> and then you can test it.
>>>>>>>
>>>>>>> Also, my ICLA have been filed, got the receipt of my ICLA.
>>>>>>>
>>>>>>> Thanks
>>>>>>> Gaurav
>>>>>>>
>>>>>>>
>>>>>>> On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
>>>>>>>> Gaurav, sorry, it just occurred to me there's a simpler 
>>>>>>>> intermediate step that can be done. While we need the database 
>>>>>>>> table without a path column, and to remove the "path" member 
>>>>>>>> *variable* from WeblogCategory (or its replacement), we can 
>>>>>>>> still keep indefinitely keep getPath(), just hardcode it to "/" 
>>>>>>>> + categoryName, which is precisely what the old code returns 
>>>>>>>> for any top-level category--the rest of the system can stay 
>>>>>>>> just as it did before.  Switching the rest of the code from 
>>>>>>>> getPath() to using getName() can be done at any time, bit by 
>>>>>>>> bit whenever, that's not necessary to implement positioning, 
>>>>>>>> that's just a code cleanup issue. Likewise, for 
>>>>>>>> WeblogCategory.getParent(), it may be as simple as adding a 
>>>>>>>> root category object as part of the Weblog's constructor (but 
>>>>>>>> not saved to the database), and having 
>>>>>>>> WeblogCategory.getParent() just return 
>>>>>>>> website.getParentCategory()--that way all categories for a 
>>>>>>>> weblog will have the same root category as before, and the rest 
>>>>>>>> of the code base should function fine.  Once we're on the new 
>>>>>>>> table, then it's an issue of implementing positioning--getting 
>>>>>>>> rid of getParent() and getPath() can be done by anybody at a 
>>>>>>>> later date.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Glen
>>>>>>>>
>>>>>>>>
>>>>>>>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>>>>>>>> No problem, I'm available to help (or finish it up) if 
>>>>>>>>> needed.  For a seemingly simple switch, you're certainly 
>>>>>>>>> getting a *full* education of the Roller codebase.  :)
>>>>>>>>>
>>>>>>>>> BTW, I hope you're not testing via mvn jetty:run, as that 
>>>>>>>>> requires you to keep logging in for the first time, creating a 
>>>>>>>>> blog for the first time, etc., whenever you start it. Very 
>>>>>>>>> inefficient and tiring. Normally I just build (mvn clean 
>>>>>>>>> install) and dump the WAR into standalone Tomcat on my local 
>>>>>>>>> machine. The database & other configuration I keep permanently 
>>>>>>>>> in roller-custom.properties in the Tomcat lib/ folder, so the 
>>>>>>>>> new WAR just takes over with the same configuration, blogs, 
>>>>>>>>> accounts, etc., that old WAR was using. (Check the Roller 
>>>>>>>>> install guide for full instructions.)
>>>>>>>>>
>>>>>>>>> Also vital is that you know how to debug/trace Roller code in 
>>>>>>>>> Eclipse or IntelliJ while it is running on Tomcat (or another 
>>>>>>>>> servlet container). It's much simpler than it seems, and will 
>>>>>>>>> save you a lot of time. These instructions are for Eclipse but 
>>>>>>>>> Intellij (my preference) is basically the same: 
>>>>>>>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>>>>>>>>> Checking variable values while it's running will point you to 
>>>>>>>>> where problems are much more quickly.
>>>>>>>>>
>>>>>>>>> Happy New Year!
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Glen
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>>>>>>>> Hello Glen,
>>>>>>>>>>
>>>>>>>>>> As, I previously told you that the test cases are giving 
>>>>>>>>>> problem, actually I think we have to do some changes in Test 
>>>>>>>>>> Cases also, as many of the methods involving path and parent 
>>>>>>>>>> are removed so, many times in test cases (it did not get 
>>>>>>>>>> correct values and give errors).
>>>>>>>>>> I have successfully showed the categories by website till now 
>>>>>>>>>> in the admin section. Also, the entries are saved just, I ran 
>>>>>>>>>> out of memory issue in happen when I save an entry that 
>>>>>>>>>> entry, although it get saved when I refresh the page.
>>>>>>>>>>
>>>>>>>>>> Also, as their is not path now, we have to do some changes in 
>>>>>>>>>> velocity files, as feeds are giving error in showing, 
>>>>>>>>>> although if I direct enter the URL its working fine. I have 
>>>>>>>>>> cleared many parts of the code, just I have test of the 
>>>>>>>>>> roller parts which are linked the path and parent. I am 
>>>>>>>>>> thinking of correcting the test cases, as I can run them and 
>>>>>>>>>> if test cases are fine then might be everything will work fine.
>>>>>>>>>>
>>>>>>>>>> I will return to work on this after 3 days, as I will be and 
>>>>>>>>>> will get be to it during coming weekend again. I will wrap 
>>>>>>>>>> this out asap for you to test and will attach patches coming 
>>>>>>>>>> weekend.
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> Gaurav
>>>>>>>>>>
>>>>>>>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>>>>>>>> Thanks for that info, I have changed my settings in the 
>>>>>>>>>>> eclipse.
>>>>>>>>>>> Yes, you are right I will leave the ordering part for now 
>>>>>>>>>>> and work on clearing the code for now. For now I will just 
>>>>>>>>>>> add a column in category table with position, leaving it 
>>>>>>>>>>> null for now.
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Gaurav
>>>>>>>>>>>
>>>>>>>>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza wrote:
>>>>>>>>>>>> Your last ImprovedCreateUser.patch had some tab characters 
>>>>>>>>>>>> in it, and our project uses spaces for tabs (just have 
>>>>>>>>>>>> Eclipse insert 4 spaces whenever you hit the tab key, with 
>>>>>>>>>>>> no tab characters.) Very few Apache projects (any?) are 
>>>>>>>>>>>> tab-indented today. It is a simple fix with IntelliJ IDEA 
>>>>>>>>>>>> (Edit -> Convert Indents -> To Spaces), I'm sure Eclipse 
>>>>>>>>>>>> has an equivalent.
>>>>>>>>>>>>
>>>>>>>>>>>> For blogs migrating from pre-5.1 versions, we can keep the 
>>>>>>>>>>>> position NULL by default (and when you order by position, 
>>>>>>>>>>>> with null values, they will come out in any order, like 
>>>>>>>>>>>> they do today.) Whenever a new blog is created with the 
>>>>>>>>>>>> default three categories, those can be assigned positions 
>>>>>>>>>>>> (probably 0-based for leftmost is best.)  For migrated 
>>>>>>>>>>>> blogs, once the user goes to the category page and makes a 
>>>>>>>>>>>> change for the first time, numbers can be written for the 
>>>>>>>>>>>> very first time--no special extra UI is needed for this 
>>>>>>>>>>>> purpose. But like I was saying, this is such a lengthy 
>>>>>>>>>>>> patch you may wish to forget about the ordering right 
>>>>>>>>>>>> now--it doesn't work anyway in Roller right now. It may be 
>>>>>>>>>>>> best to get us to the new table and get rid of the paths, 
>>>>>>>>>>>> and once we're on that firmer foundation implementing 
>>>>>>>>>>>> positioning (on the Category page and in the templates) 
>>>>>>>>>>>> will be much simpler.
>>>>>>>>>>>>
>>>>>>>>>>>> Regards,
>>>>>>>>>>>> Glen
>>>>>>>>>>>>
>>>>>>>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I will change the position to be integer, and will exclude 
>>>>>>>>>>>>> the category where parent null, but still what can be done 
>>>>>>>>>>>>> for the position as the old data did not have position, so 
>>>>>>>>>>>>> how and on what basis we have to add position to it. I was 
>>>>>>>>>>>>> thinking that we can left it as null, and provide some UI 
>>>>>>>>>>>>> in backend where user can assign position themselves.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I will take care of spacing, will search what I am doing 
>>>>>>>>>>>>> wrong. As, I am not sure is that you are talking about 
>>>>>>>>>>>>> formatting the code, or anything else. As I use tab (with 
>>>>>>>>>>>>> 4 spaces) in Eclipse IDE.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen Mazza wrote:
>>>>>>>>>>>>>> BTW, not to be hated, but make sure any code you submit 
>>>>>>>>>>>>>> is space-padded (4 spaces), *not* tab-padded. Your IDE 
>>>>>>>>>>>>>> should be able to convert it for you if you've been doing 
>>>>>>>>>>>>>> tab-padding.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I am confused on how to add and on what basis we have to 
>>>>>>>>>>>>>>> addd position to the new category table. Below two sql 
>>>>>>>>>>>>>>> commands can be used for coping data and deleting the 
>>>>>>>>>>>>>>> root categories.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> create table category (
>>>>>>>>>>>>>>>     id               varchar(48)  not null primary key,
>>>>>>>>>>>>>>>     name             varchar(255) not null,
>>>>>>>>>>>>>>>     description      varchar(255),
>>>>>>>>>>>>>>>     websiteid        varchar(48) not null,
>>>>>>>>>>>>>>>     image            varchar(255),
>>>>>>>>>>>>>>>     position         varchar(48)
>>>>>>>>>>>>>>> );
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> insert into 
>>>>>>>>>>>>>>> category(id,name,description,websiteid,image) select 
>>>>>>>>>>>>>>> id,name,description,websiteid,image from weblogcategory;
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> delete from category where name="root";
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> What do you suggest for this ?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>> Take your time, this is a messy change as it affects 
>>>>>>>>>>>>>>>> many areas of the code. But Roller will be 
>>>>>>>>>>>>>>>> architecturally much more solid and simpler once this 
>>>>>>>>>>>>>>>> change is done.  I have your ROL-1616 and ROL-1982 on 
>>>>>>>>>>>>>>>> my plate for this weekend.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I have deleted the path and all related methods, but 
>>>>>>>>>>>>>>>>> its seems to me that the path methods like 
>>>>>>>>>>>>>>>>> (getWeblogCategoryByPath) and many other path and 
>>>>>>>>>>>>>>>>> parent related methods, are scattered over the whole 
>>>>>>>>>>>>>>>>> roller. There are many occurrence of these methods and 
>>>>>>>>>>>>>>>>> I have to sort out each piece of code as now there is 
>>>>>>>>>>>>>>>>> no path so, mostly we check for categoryPath != null 
>>>>>>>>>>>>>>>>> in if conditions, so these are no longer needed.
>>>>>>>>>>>>>>>>> Also, I as thinking after testing and completing this 
>>>>>>>>>>>>>>>>> we can delete the WeblogCategory and replace with 
>>>>>>>>>>>>>>>>> Category method, as it will be clean. I also figured 
>>>>>>>>>>>>>>>>> out why my tests are failing as during creating of 
>>>>>>>>>>>>>>>>> weblogentry it did not find the categories, as that 
>>>>>>>>>>>>>>>>> class was using old WeblogCategory table and using 
>>>>>>>>>>>>>>>>> that class methods. I think I will definitely will 
>>>>>>>>>>>>>>>>> figure out everything at the end and will successfully 
>>>>>>>>>>>>>>>>> test with the unit tests.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I am now in the editor part so can display the 
>>>>>>>>>>>>>>>>> categories on front end, I am now all over the 1-2-3-4 
>>>>>>>>>>>>>>>>> steps you mentioned. As soon as I will able to display 
>>>>>>>>>>>>>>>>> the categories (small issues left) at the backend, I 
>>>>>>>>>>>>>>>>> will again go through my changes. Also, at this time I 
>>>>>>>>>>>>>>>>> can only create patch for new table and migration 
>>>>>>>>>>>>>>>>> script, as all other classes code are interrelated so 
>>>>>>>>>>>>>>>>> can't submit now. I will test every single thing 
>>>>>>>>>>>>>>>>> related to categories, then I will submit my patches.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Although I have learned a lot new things, just spent 
>>>>>>>>>>>>>>>>> last two full days on this sorting out things, many 
>>>>>>>>>>>>>>>>> times ending up nowhere from where I started. But I am 
>>>>>>>>>>>>>>>>> confident that I will definitely complete this task. 
>>>>>>>>>>>>>>>>> Just I am worrying that I must be taking too much time.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> If there is something, you can advice me I would happy 
>>>>>>>>>>>>>>>>> to follow that also.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>> If it helps, you can provide interim patches, so long 
>>>>>>>>>>>>>>>>>> as it doesn't break the current code base. You may 
>>>>>>>>>>>>>>>>>> want to create a patch just creating the new database 
>>>>>>>>>>>>>>>>>> table (which will be ignored by the current code) and 
>>>>>>>>>>>>>>>>>> sql insert-select scripts to move from the current 
>>>>>>>>>>>>>>>>>> table to the new one, then one converting the code to 
>>>>>>>>>>>>>>>>>> using the new table without sorting, then (finally) 
>>>>>>>>>>>>>>>>>> one that implements sorting of the categories.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I have created and updated all necessary files in 
>>>>>>>>>>>>>>>>>>> JPA and for database, I tried compiling the code it 
>>>>>>>>>>>>>>>>>>> gave me errors in test cases. As I am not sure that 
>>>>>>>>>>>>>>>>>>> what I am wrong in this. Although I tried compiling 
>>>>>>>>>>>>>>>>>>> without running test cases, it worked fine. I tested 
>>>>>>>>>>>>>>>>>>> it with tomcat and new table category is created and 
>>>>>>>>>>>>>>>>>>> initial category (General, Finance and Technology) 
>>>>>>>>>>>>>>>>>>> are created with the position 1,2,3. Still there are 
>>>>>>>>>>>>>>>>>>> many thing I have to clean up and sort out and will 
>>>>>>>>>>>>>>>>>>> test it again.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>> Ok, got your point. I will check on other Roller 
>>>>>>>>>>>>>>>>>>>> parts also if parent name and path aren't be using 
>>>>>>>>>>>>>>>>>>>> in any other part of Roller. I will go into the RSS 
>>>>>>>>>>>>>>>>>>>> and Atom feeds later on, and see what changes it 
>>>>>>>>>>>>>>>>>>>> need. As, till now I have changed many files and 
>>>>>>>>>>>>>>>>>>>> created some, so will first test this part then go 
>>>>>>>>>>>>>>>>>>>> into that feeds part.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>> Sounds good, but may require more work to make 
>>>>>>>>>>>>>>>>>>>>> sure all is good with the RSS and Atom feeds as a 
>>>>>>>>>>>>>>>>>>>>> result (which I believe rely on path). Where path 
>>>>>>>>>>>>>>>>>>>>> is used to check for equivalence, I guess name 
>>>>>>>>>>>>>>>>>>>>> (and blog/website ID, if necessary) alone will do 
>>>>>>>>>>>>>>>>>>>>> now. We may need to check (if we aren't already) 
>>>>>>>>>>>>>>>>>>>>> that no two categories have the same name, where 
>>>>>>>>>>>>>>>>>>>>> prior we were checking that no two paths are the 
>>>>>>>>>>>>>>>>>>>>> same (i.e., allowing category paths 
>>>>>>>>>>>>>>>>>>>>> USStates/Georgia and Countries/Georgia but now 
>>>>>>>>>>>>>>>>>>>>> needing to disallow two categories named "Georgia".)
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> I am thinking of removing the path coloumn also, 
>>>>>>>>>>>>>>>>>>>>>> as it does not make sense now as there will no 
>>>>>>>>>>>>>>>>>>>>>> subcategories and all will have same path (like 
>>>>>>>>>>>>>>>>>>>>>> /categoryname). WDYT ?
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I want to know as now all the categories will 
>>>>>>>>>>>>>>>>>>>>>>>> be top level, so the root category which is 
>>>>>>>>>>>>>>>>>>>>>>>> created by default on addWeblog isn't needed. 
>>>>>>>>>>>>>>>>>>>>>>>> So, I can remove that code also ? I am in half 
>>>>>>>>>>>>>>>>>>>>>>>> completed with the 1-2 steps will soon submit 
>>>>>>>>>>>>>>>>>>>>>>>> some patched in jira issue. You can look on to 
>>>>>>>>>>>>>>>>>>>>>>>> them whenever you will get time from other 
>>>>>>>>>>>>>>>>>>>>>>>> projects.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, Gaurav 
>>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on this, I 
>>>>>>>>>>>>>>>>>>>>>>>>> understand your commitments. As this will give 
>>>>>>>>>>>>>>>>>>>>>>>>> me more time on working on this issue. I will 
>>>>>>>>>>>>>>>>>>>>>>>>> give my 100% on this, as I also want to get 
>>>>>>>>>>>>>>>>>>>>>>>>> into more and more open source projects. For 
>>>>>>>>>>>>>>>>>>>>>>>>> Now I am focusing on Roller for starting my 
>>>>>>>>>>>>>>>>>>>>>>>>> contributions in open source.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I can't help 
>>>>>>>>>>>>>>>>>>>>>>>>>> much right now either, as my other project 
>>>>>>>>>>>>>>>>>>>>>>>>>> JSPWiki has a new release going out.) But 
>>>>>>>>>>>>>>>>>>>>>>>>>> please be patient with us on your recent 
>>>>>>>>>>>>>>>>>>>>>>>>>> submitted patches -- we haven't forgotten you 
>>>>>>>>>>>>>>>>>>>>>>>>>> and are happy with your efforts on this 
>>>>>>>>>>>>>>>>>>>>>>>>>> project so far, we just have full-time jobs 
>>>>>>>>>>>>>>>>>>>>>>>>>> and, even after that, other obligations -- 
>>>>>>>>>>>>>>>>>>>>>>>>>> for open source work, we usually have to beg, 
>>>>>>>>>>>>>>>>>>>>>>>>>> borrow and steal time to work on them.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> I am going through this having some issues, 
>>>>>>>>>>>>>>>>>>>>>>>>>>> although not major till now. I have still 
>>>>>>>>>>>>>>>>>>>>>>>>>>> working on 1-2 steps, might be I am slow as 
>>>>>>>>>>>>>>>>>>>>>>>>>>> get less time. (Wish we also have holidays 
>>>>>>>>>>>>>>>>>>>>>>>>>>> of this festive season in India :P) Just 
>>>>>>>>>>>>>>>>>>>>>>>>>>> want to know isn't there any hurry for 
>>>>>>>>>>>>>>>>>>>>>>>>>>> completing this asap ? Although, I am sure 
>>>>>>>>>>>>>>>>>>>>>>>>>>> will definitely complete this as I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>> understood the structure of Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>> completely. Just I have to go through the 
>>>>>>>>>>>>>>>>>>>>>>>>>>> JPA more and read about this.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're missing will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> become apparent to you as you work along. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> The Roller installation guide and here 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> can show you how to test also with Derby if 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> you'd like. (It is usually simpler than 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> MySQL, and another benefit of working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller is that you become 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> multiple-database-lingual very quickly.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I with this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> much deep information, I can start working 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in it. I have started working on this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Issue and have followed your steps.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in createdb.vm and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in migration scripts also. I have for mow 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> stared working on MySQL.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl class, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have commented updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Category.orm.xml and enterd details of new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table. A new class Category in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created new files for now and will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> work on this and add new position coloum 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and code regarding this. Other than UI and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> template Layer, I think I have covered all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> files on which I have to work on the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Database and JPA layers ? Please tell me 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> if I am wrong anywhere or following wrong 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> workflow.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 AM, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for our 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> database scripts -- you see a createdb.vm 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> plus migration scripts (5.0 to 5.1) -- 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we'll want our change in both places 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (IIRC), new users have the createdb run 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and Roller upgraders with their current 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DB's have the 5.0 to 5.1 migration script 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> run.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here and I'd like 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to get this done right (I plan on helping 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> out where you'd like). Namely, we've 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> moved from a hierarchical category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> structure (categories having 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> subcategories having their own 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> subcatorgories etc.) to a flat 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> single-level structure (all categories 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> are top level) -- that was done a week or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> so back. Problem is, the database tables 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> are still assuming hierarchical (they 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will work with flat structures but are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> overkill--we don't need a parent ID 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> column anymore.) Also, the JPA objects 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> are designed for hierarchical but can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplified a bit more to flat structure. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Incidentally, "sequenceNum" is ambiguous 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> about what it means, I would say 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "position" or "ordering" (INT null, null 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for migrators who don't yet have a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> position defined) is clearer.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to handle 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this--for both new installers and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new table, say 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "category" designed precisely as we need, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and have the migration scripts select 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> from the old weblogcategory and insert 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> into the new category table. (We then 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ignore the weblogcategory table.) We'll 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need to test the scripts with at least 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> two databases (2 of probably MySQL, Derby 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and/or PostgreSQL) and guess for the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> others--if we're wrong the user community 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can supply a patch fixing it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence object (the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> old WeblogCategory) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as it's now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat-level. Indeed, I think things will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> get a *lot* simpler here, as it may just 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> be the parent Weblog holding a list of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> some sort of Category objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp (or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whatever it's called) and its Struts 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> action class will now need to use the new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Category object (and table) instead of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory. The UI page will need two 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> changes: (1) all new categories will be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> placed (and saved) at the bottom of the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category list (and as result, appear last 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (right-most) in the category list, and, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> later (2) probably have up and down 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> buttons in the table allowing users to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> easily reorder the categories as they 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like. (Strictly speaking, 1 alone is all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that's needed for ordering, as you can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> remove/name/delete/recreate categories to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> eventually get them in the position you'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like, but (2) of course is much nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't looked into 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this): The templates (probably just a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> macro or two) will need updating to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ensure that they output the category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> names per the new position order.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one advantage is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that I'd like to do the same thing with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks/blogrolls (team discussion 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> pending...), switch from a hierarchical 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to flat-level for those too.  If we can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> do this for categories, the logic/UI 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> design, etc., will carry over 100% to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually getting to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this myself, so am available to work with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you on whatever parts you'd like. I think 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> going in order 1-2-3-4 and having 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> separate commits may be the cleanest way 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> of doing this. What's nice about using a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> brand new table and JPA object is that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the old objects can still work in the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> code while we're creating the new, we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> just don't activate the new until the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> very end.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team members on the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> above ideas...?) Or are there other 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller tasks you'd like to sink your 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> teeth into instead? I can look at this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> otherwise, but this looks like a very 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> good exercise for someone wanting to get 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> more involved in Roller, as it covers all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the layers of the webapp.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on ROL-1981, as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discussed in previous discussion threads 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I will add new column sequenceNum in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory table. Then we can assign 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sequenceNum to each category according 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to websideid. If anyone have some ideas 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> regarding this, please help me. Also, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need some help on how to go with this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> issue, and how to add new coloum, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> found .sql file, do I need to add there 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new column. Also, Is this possible that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that when I restart the roller it will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> add new column to database ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>


Re: (another idea) Re: ROL-1981 Category ordering

Posted by Glen Mazza <gl...@gmail.com>.
I don't know, but I don't like that statement 
"c.getWeblogCategories().add(c); "  A WeblogCategory should no longer 
have child weblog categories (they are pure siblings of each other with 
no hierarchical relationship), so such an "add" shouldn't exist.  You 
can have -->Weblog<---.getWeblogCategories().add(c), that would make sense.

Glen

On 01/05/2014 03:32 PM, Gaurav wrote:
> Hello Glen,
>
> I tried finding the that issues, but did not find anywhere. Also it is 
> created dynamically as I changed the entity name to category1 then 
> also sameerror come up with "category1_category1" doesn't exist. I 
> think this might be something I am doing wrong with the code. As, 
> Today I cleaned up all the code and now everything is working good. I 
> am successful in creating, editing and deleting the weblog, entries, 
> categories and everything is showing good.
>
> Just single problem I am having now is showing the categories list in 
> feeds and in menu. I figured out after checking that 
> $categoryObject.getWeblogCategories() is iterated in velocity file 
> which check for the getWeblogCategories() method of type Set in 
> WeblogCategory class, Initially I commented this method as the 
> comments over this method said "Get child categories of this 
> category". But I think this is neccasary as whenever a category is 
> created this is called to add a category to Set 
> "rootCat.getWeblogCategories().add(c);"
>
> Now, Problem is we did not have any parent or root category now, so 
> how it will going to add to that Set and Also I tried creating a 
> object of WeblogCategory Class and tried adding it to 
> getWeblogCategories() method then again. Now When I tired adding 
> category with this "c.getWeblogCategories().add(c);" the same error 
> comes up. If I comment this line that add category, everything works 
> fine again, just did not get any list of categories in menu and feed.
>
> Also, I am confused what setWeblogCategories() is doing as I did not 
> find anywhere where it is used for setting categories. Just the 
> getWeblogCategories() is used with .add for adding child categories to 
> parent/root.
>
> Below is what I done in addWeblogContents method of class 
> JPAWeblogManagerImpl.
>
> if (cats != null && cats.trim().length() > 0) {
>             String[] splitcats = cats.split(",");
>             for (int i=0; i<splitcats.length; i++) {
>                 WeblogCategory c = new WeblogCategory(
>                         newWeblog,       // newWeblog
>                         splitcats[i],    // name
>                         splitcats[i],    // description
>                         null );          // image
>                 if (i == 0) {
>                     firstCat = c;
>                 }
>                 System.out.println("====Cats==="+c);
>                 c.getWeblogCategories().add(c); //previously it was 
> root.getWeblogCategories.add(c);
>                 this.strategy.store(c);
>             }
>         }
>
>
> [EL Warning]: 2014-01-05 
> 17:15:22.179--ClientSession(1956103136)--Exception [EclipseLink-4002] 
> (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): 
> org.eclipse.persistence.exceptions.DatabaseException
> Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 
> 'CATEGORY_CATEGORY' does not exist.
> Error Code: 20000
> Call: INSERT INTO category_category (weblogCategories_id, 
> WeblogCategory_id) VALUES (?, ?)
>     bind => [2 parameters bound]
> Query: DataModifyQuery(name="weblogCategories" sql="INSERT INTO 
> category_category (weblogCategories_id, WeblogCategory_id) VALUES (?, 
> ?)")
> *
>
> *Also I tried making new ArrayList and new getter setter in 
> WeblogCategory class, still I got same error.
>     List<WeblogCategory> catsss = new ArrayList<WeblogCategory>();
>     catsss.add(c);
>     c.setList(catsss);
> System.out.println("======"+catsss+"============"+c.getList());
>
> Got this error, after adding Arraylist.
>
> [EL Warning]: 2014-01-05 
> 19:42:56.209--ClientSession(1732472947)--Exception [EclipseLink-4002] 
> (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): 
> org.eclipse.persistence.exceptions.DatabaseException
> Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 
> 'CATEGORY_CATEGORY' does not exist.
> Error Code: 20000
> Call: INSERT INTO category_category (list_id, WeblogCategory_id) 
> VALUES (?, ?)
>     bind => [2 parameters bound]
> Query: DataModifyQuery(name="list" sql="INSERT INTO category_category 
> (list_id, WeblogCategory_id) VALUES (?, ?)")
>
> Thanks
> Gaurav
>
>
> On Sunday 05 January 2014 05:30 AM, Glen Mazza wrote:
>> Hi Gaurav, did you try a "control" with your file search method? 
>> I.e., you're saying you're case-insensitive searching on 
>> "category_category" but nothing is getting returned  -- did you try 
>> also searching something that you *know* exists in the project (say, 
>> "class", "public", "return", etc.) and your IDE/search method indeed 
>> did return lots of matches?  Because if you get zero search results 
>> with the latter we know the problem is with the way you're 
>> configuring your search, not the non-existence of 
>> "category_category".  (Also are you searching on every type of file 
>> extension, not just .java files?)
>>
>> Somewhere in your code the JPA layer has decided to calculate 
>> "category_category" as a table name, I would guess because that's 
>> what is exactly in the code someplace (as you can see the query below 
>> generated "...FROM category_category t0, category t1..."). One useful 
>> experiment might be to rename the "category" table (t1) above to 
>> "category2" -- would the SQL above change to "category2_category2, 
>> category2..." or (I think) "...FROM category_category t0, category2 
>> t1...")  If the former, that would indicate that 
>> "category2_category2" is being dynamically generated from the 
>> "category2" table name.  If the latter, that would mean 
>> "category_category" is hardcoded somewhere and not related to the 
>> "category" table name you've properly configured.
>>
>> I probably won't be able to get to this until next weekend anyway, so 
>> I'm going to have you finish it, also as a confidence-builder for you 
>> (if you let JPA push you around now, it's always going to bully 
>> you...  :)
>>
>> Regards,
>> Glen
>>
>> PS:  Just to clarify, when an pre-5.1-SNAPSHOT user installs Roller 
>> 5.1-SNAPSHOT, the Roller startup should automatically detect that the 
>> system is currently using an older Roller database and do the 
>> database upgrade (creating of new the "category" table and 
>> prepopulation of it).  Roller has always done this as so long as you 
>> put the necessary migration scripts in the right place there should 
>> be no problem.  However, those of us already on 5.1-SNAPSHOT like 
>> myself before your patch will need to manually create that table in 
>> our database (the Roller script won't notice 
>> 5.1-SNAPSHOT-->5.1-SNAPSHOT, so won't create "category" by itself.)  
>> No problem, we'll just figure out the necessary SQL statements for 
>> Dave and he can add it to his Roller project blog.
>>
>>
>> On 01/04/2014 04:47 PM, Gaurav wrote:
>>> Hello Glen,
>>>
>>> I searched whole project and did not find anywhere. I think might be 
>>> I have done something wrong, as when I start with new database, 
>>> everything work just deleting gives me this error. If I work on old 
>>> database it even did not start up (localhost:8080/roller) gives my 
>>> below error.
>>>
>>> I have checked almost everything I can, might be some wrong java 
>>> code and anything I done wrong that causes this. Should I submit by 
>>> work so you can look on to it, or if we are not in any hurry than I 
>>> can look into it again step by step (I prefer second option if we 
>>> have one more week. Just another week or so, next week i have some 
>>> tight schedule). I know I am taking too much time, but I am new to 
>>> this level of Java code, as I worked maximum time at client side. 
>>> But I really loving java code and learned a lot till now, before 
>>> this I just worked with Java on small projects. OpenSource Projects 
>>> really are very powerful and good way to learn new things.
>>>
>>> Exception [EclipseLink-4002] (Eclipse Persistence Services - 
>>> 2.5.0.v20130507-3faac2b): 
>>> org.eclipse.persistence.exceptions.DatabaseException Internal 
>>> Exception: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 
>>> Table 'roller.category_category' doesn't exist Error Code: 1146 
>>> Call: SELECT t1.id, t1.description, t1.image, t1.name, t1.websiteid 
>>> FROM category_category t0, category t1 WHERE ((t0.WeblogCategory_id 
>>> = ?) AND (t1.id = t0.weblogCategories_id)) bind => [1 parameter 
>>> bound] Query: ReadAllQuery(name="weblogCategories" 
>>> referenceClass=WeblogCategory sql="SELECT t1.id, t1.description, 
>>> t1.image, t1.name, t1.websiteid FROM category_category t0, category 
>>> t1 WHERE ((t0.WeblogCategory_id = ?) AND (t1.id = 
>>> t0.weblogCategories_id))")
>>>
>>> Thanks
>>> Gaurav
>>>
>>> On Sunday 05 January 2014 12:00 AM, Glen Mazza wrote:
>>>> Hi Gaurav, no, that relation shouldn't be needed anymore.
>>>>
>>>> As for the table name, at the top of your orm.xml file the table 
>>>> name the file maps against is declared -- perhaps you accidentally 
>>>> called it category_category.  I would grep or use a file search 
>>>> from your IDE of your entire roller source code, looking for where 
>>>> category_category is being declared -- (probably) has to be there 
>>>> someplace.  (More specifically, do a file search on 
>>>> "DataModifyQuery" -- that's probably exactly where the problem is.)
>>>>
>>>> Once working, try to import the latest code changes into your code 
>>>> before submitting a patch (actually create a backup patch first 
>>>> just in case).  Not sure but I think a simple svn update will do -- 
>>>> svn will identify some files where it will need your assistance to 
>>>> resolve any differences -- it shouldn't be too hard or 
>>>> time-consuming to do.
>>>>
>>>> Regards,
>>>> Glen
>>>>
>>>> On 01/04/2014 08:55 AM, Gaurav wrote:
>>>>> Hello Glen,
>>>>>
>>>>> I just want to know that the below relations in 
>>>>> WeblogCategory.orm.xml are required or not as now the parent is 
>>>>> not used so, I don't think its needed now. I have commented the 
>>>>> below lines.
>>>>>
>>>>> <many-to-one name="parent" 
>>>>> target-entity="org.apache.roller.weblogger.pojos.Category">
>>>>>                 <join-column name="parentid" insertable="true" 
>>>>> updatable="true" nullable="true"/>
>>>>>             </many-to-one>
>>>>>             <one-to-many name="weblogCategories" 
>>>>> mapped-by="parent" 
>>>>> target-entity="org.apache.roller.weblogger.pojos.Category" 
>>>>> fetch="LAZY">
>>>>>                 <cascade>
>>>>>                     <cascade-remove/>
>>>>>                 </cascade>
>>>>>             </one-to-many>
>>>>>             <transient name="inUse"/>
>>>>>
>>>>> I asked this because, getting categories giving me mysql 
>>>>> exception. The new table is 'roller.category' but it executes for 
>>>>> 'roller.category_category'.
>>>>> I am not able to get what I have done wrong.
>>>>>
>>>>> Internal Exception: 
>>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
>>>>> 'roller.category_category' doesn't exist
>>>>> Error Code: 1146
>>>>> Call: DELETE FROM category_category WHERE (WeblogCategory_id = ?)
>>>>>     bind => [1 parameter bound]
>>>>> Query: DataModifyQuery(name="weblogCategories" sql="DELETE FROM 
>>>>> category_category WHERE (WeblogCategory_id = ?)")
>>>>>
>>>>> Also, I have changed the getWeblogCategoryByPath to 
>>>>> getWeblogCategoryByName so feeds and other places work fine. I 
>>>>> have able to get catgeory list, new entries are creating 
>>>>> successfully. Just deleting the weblog is giving me above error.
>>>>>
>>>>> Thanks
>>>>> Gaurav
>>>>>
>>>>>
>>>>> On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
>>>>>> Hello Glen,
>>>>>>
>>>>>> I have already deleted getPath and getParent and in the mid of 
>>>>>> everything. I hope I will be able to complete this by Monday. If 
>>>>>> still, I get some major issues due to this, I will switch to what 
>>>>>> you suggested. Just give me time till Monday, as I have done 
>>>>>> almost 80% of code cleaned regarding the path and parentcategory. 
>>>>>> I will get back to you soon with some patches and then you can 
>>>>>> test it.
>>>>>>
>>>>>> Also, my ICLA have been filed, got the receipt of my ICLA.
>>>>>>
>>>>>> Thanks
>>>>>> Gaurav
>>>>>>
>>>>>>
>>>>>> On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
>>>>>>> Gaurav, sorry, it just occurred to me there's a simpler 
>>>>>>> intermediate step that can be done. While we need the database 
>>>>>>> table without a path column, and to remove the "path" member 
>>>>>>> *variable* from WeblogCategory (or its replacement), we can 
>>>>>>> still keep indefinitely keep getPath(), just hardcode it to "/" 
>>>>>>> + categoryName, which is precisely what the old code returns for 
>>>>>>> any top-level category--the rest of the system can stay just as 
>>>>>>> it did before.  Switching the rest of the code from getPath() to 
>>>>>>> using getName() can be done at any time, bit by bit whenever, 
>>>>>>> that's not necessary to implement positioning, that's just a 
>>>>>>> code cleanup issue. Likewise, for WeblogCategory.getParent(), it 
>>>>>>> may be as simple as adding a root category object as part of the 
>>>>>>> Weblog's constructor (but not saved to the database), and having 
>>>>>>> WeblogCategory.getParent() just return 
>>>>>>> website.getParentCategory()--that way all categories for a 
>>>>>>> weblog will have the same root category as before, and the rest 
>>>>>>> of the code base should function fine.  Once we're on the new 
>>>>>>> table, then it's an issue of implementing positioning--getting 
>>>>>>> rid of getParent() and getPath() can be done by anybody at a 
>>>>>>> later date.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Glen
>>>>>>>
>>>>>>>
>>>>>>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>>>>>>> No problem, I'm available to help (or finish it up) if needed.  
>>>>>>>> For a seemingly simple switch, you're certainly getting a 
>>>>>>>> *full* education of the Roller codebase.  :)
>>>>>>>>
>>>>>>>> BTW, I hope you're not testing via mvn jetty:run, as that 
>>>>>>>> requires you to keep logging in for the first time, creating a 
>>>>>>>> blog for the first time, etc., whenever you start it. Very 
>>>>>>>> inefficient and tiring. Normally I just build (mvn clean 
>>>>>>>> install) and dump the WAR into standalone Tomcat on my local 
>>>>>>>> machine. The database & other configuration I keep permanently 
>>>>>>>> in roller-custom.properties in the Tomcat lib/ folder, so the 
>>>>>>>> new WAR just takes over with the same configuration, blogs, 
>>>>>>>> accounts, etc., that old WAR was using. (Check the Roller 
>>>>>>>> install guide for full instructions.)
>>>>>>>>
>>>>>>>> Also vital is that you know how to debug/trace Roller code in 
>>>>>>>> Eclipse or IntelliJ while it is running on Tomcat (or another 
>>>>>>>> servlet container). It's much simpler than it seems, and will 
>>>>>>>> save you a lot of time. These instructions are for Eclipse but 
>>>>>>>> Intellij (my preference) is basically the same: 
>>>>>>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>>>>>>>> Checking variable values while it's running will point you to 
>>>>>>>> where problems are much more quickly.
>>>>>>>>
>>>>>>>> Happy New Year!
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Glen
>>>>>>>>
>>>>>>>>
>>>>>>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>>>>>>> Hello Glen,
>>>>>>>>>
>>>>>>>>> As, I previously told you that the test cases are giving 
>>>>>>>>> problem, actually I think we have to do some changes in Test 
>>>>>>>>> Cases also, as many of the methods involving path and parent 
>>>>>>>>> are removed so, many times in test cases (it did not get 
>>>>>>>>> correct values and give errors).
>>>>>>>>> I have successfully showed the categories by website till now 
>>>>>>>>> in the admin section. Also, the entries are saved just, I ran 
>>>>>>>>> out of memory issue in happen when I save an entry that entry, 
>>>>>>>>> although it get saved when I refresh the page.
>>>>>>>>>
>>>>>>>>> Also, as their is not path now, we have to do some changes in 
>>>>>>>>> velocity files, as feeds are giving error in showing, although 
>>>>>>>>> if I direct enter the URL its working fine. I have cleared 
>>>>>>>>> many parts of the code, just I have test of the roller parts 
>>>>>>>>> which are linked the path and parent. I am thinking of 
>>>>>>>>> correcting the test cases, as I can run them and if test cases 
>>>>>>>>> are fine then might be everything will work fine.
>>>>>>>>>
>>>>>>>>> I will return to work on this after 3 days, as I will be and 
>>>>>>>>> will get be to it during coming weekend again. I will wrap 
>>>>>>>>> this out asap for you to test and will attach patches coming 
>>>>>>>>> weekend.
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> Gaurav
>>>>>>>>>
>>>>>>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>>>>>>> Thanks for that info, I have changed my settings in the eclipse.
>>>>>>>>>> Yes, you are right I will leave the ordering part for now and 
>>>>>>>>>> work on clearing the code for now. For now I will just add a 
>>>>>>>>>> column in category table with position, leaving it null for now.
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Gaurav
>>>>>>>>>>
>>>>>>>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza wrote:
>>>>>>>>>>> Your last ImprovedCreateUser.patch had some tab characters 
>>>>>>>>>>> in it, and our project uses spaces for tabs (just have 
>>>>>>>>>>> Eclipse insert 4 spaces whenever you hit the tab key, with 
>>>>>>>>>>> no tab characters.) Very few Apache projects (any?) are 
>>>>>>>>>>> tab-indented today. It is a simple fix with IntelliJ IDEA 
>>>>>>>>>>> (Edit -> Convert Indents -> To Spaces), I'm sure Eclipse has 
>>>>>>>>>>> an equivalent.
>>>>>>>>>>>
>>>>>>>>>>> For blogs migrating from pre-5.1 versions, we can keep the 
>>>>>>>>>>> position NULL by default (and when you order by position, 
>>>>>>>>>>> with null values, they will come out in any order, like they 
>>>>>>>>>>> do today.) Whenever a new blog is created with the default 
>>>>>>>>>>> three categories, those can be assigned positions (probably 
>>>>>>>>>>> 0-based for leftmost is best.)  For migrated blogs, once the 
>>>>>>>>>>> user goes to the category page and makes a change for the 
>>>>>>>>>>> first time, numbers can be written for the very first 
>>>>>>>>>>> time--no special extra UI is needed for this purpose. But 
>>>>>>>>>>> like I was saying, this is such a lengthy patch you may wish 
>>>>>>>>>>> to forget about the ordering right now--it doesn't work 
>>>>>>>>>>> anyway in Roller right now. It may be best to get us to the 
>>>>>>>>>>> new table and get rid of the paths, and once we're on that 
>>>>>>>>>>> firmer foundation implementing positioning (on the Category 
>>>>>>>>>>> page and in the templates) will be much simpler.
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Glen
>>>>>>>>>>>
>>>>>>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>
>>>>>>>>>>>> I will change the position to be integer, and will exclude 
>>>>>>>>>>>> the category where parent null, but still what can be done 
>>>>>>>>>>>> for the position as the old data did not have position, so 
>>>>>>>>>>>> how and on what basis we have to add position to it. I was 
>>>>>>>>>>>> thinking that we can left it as null, and provide some UI 
>>>>>>>>>>>> in backend where user can assign position themselves.
>>>>>>>>>>>>
>>>>>>>>>>>> I will take care of spacing, will search what I am doing 
>>>>>>>>>>>> wrong. As, I am not sure is that you are talking about 
>>>>>>>>>>>> formatting the code, or anything else. As I use tab (with 4 
>>>>>>>>>>>> spaces) in Eclipse IDE.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>
>>>>>>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen Mazza wrote:
>>>>>>>>>>>>> BTW, not to be hated, but make sure any code you submit is 
>>>>>>>>>>>>> space-padded (4 spaces), *not* tab-padded. Your IDE should 
>>>>>>>>>>>>> be able to convert it for you if you've been doing 
>>>>>>>>>>>>> tab-padding.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I am confused on how to add and on what basis we have to 
>>>>>>>>>>>>>> addd position to the new category table. Below two sql 
>>>>>>>>>>>>>> commands can be used for coping data and deleting the 
>>>>>>>>>>>>>> root categories.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> create table category (
>>>>>>>>>>>>>>     id               varchar(48)  not null primary key,
>>>>>>>>>>>>>>     name             varchar(255) not null,
>>>>>>>>>>>>>>     description      varchar(255),
>>>>>>>>>>>>>>     websiteid        varchar(48) not null,
>>>>>>>>>>>>>>     image            varchar(255),
>>>>>>>>>>>>>>     position         varchar(48)
>>>>>>>>>>>>>> );
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> insert into category(id,name,description,websiteid,image) 
>>>>>>>>>>>>>> select id,name,description,websiteid,image from 
>>>>>>>>>>>>>> weblogcategory;
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> delete from category where name="root";
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> What do you suggest for this ?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>> Take your time, this is a messy change as it affects 
>>>>>>>>>>>>>>> many areas of the code. But Roller will be 
>>>>>>>>>>>>>>> architecturally much more solid and simpler once this 
>>>>>>>>>>>>>>> change is done.  I have your ROL-1616 and ROL-1982 on my 
>>>>>>>>>>>>>>> plate for this weekend.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I have deleted the path and all related methods, but 
>>>>>>>>>>>>>>>> its seems to me that the path methods like 
>>>>>>>>>>>>>>>> (getWeblogCategoryByPath) and many other path and 
>>>>>>>>>>>>>>>> parent related methods, are scattered over the whole 
>>>>>>>>>>>>>>>> roller. There are many occurrence of these methods and 
>>>>>>>>>>>>>>>> I have to sort out each piece of code as now there is 
>>>>>>>>>>>>>>>> no path so, mostly we check for categoryPath != null in 
>>>>>>>>>>>>>>>> if conditions, so these are no longer needed.
>>>>>>>>>>>>>>>> Also, I as thinking after testing and completing this 
>>>>>>>>>>>>>>>> we can delete the WeblogCategory and replace with 
>>>>>>>>>>>>>>>> Category method, as it will be clean. I also figured 
>>>>>>>>>>>>>>>> out why my tests are failing as during creating of 
>>>>>>>>>>>>>>>> weblogentry it did not find the categories, as that 
>>>>>>>>>>>>>>>> class was using old WeblogCategory table and using that 
>>>>>>>>>>>>>>>> class methods. I think I will definitely will figure 
>>>>>>>>>>>>>>>> out everything at the end and will successfully test 
>>>>>>>>>>>>>>>> with the unit tests.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I am now in the editor part so can display the 
>>>>>>>>>>>>>>>> categories on front end, I am now all over the 1-2-3-4 
>>>>>>>>>>>>>>>> steps you mentioned. As soon as I will able to display 
>>>>>>>>>>>>>>>> the categories (small issues left) at the backend, I 
>>>>>>>>>>>>>>>> will again go through my changes. Also, at this time I 
>>>>>>>>>>>>>>>> can only create patch for new table and migration 
>>>>>>>>>>>>>>>> script, as all other classes code are interrelated so 
>>>>>>>>>>>>>>>> can't submit now. I will test every single thing 
>>>>>>>>>>>>>>>> related to categories, then I will submit my patches.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Although I have learned a lot new things, just spent 
>>>>>>>>>>>>>>>> last two full days on this sorting out things, many 
>>>>>>>>>>>>>>>> times ending up nowhere from where I started. But I am 
>>>>>>>>>>>>>>>> confident that I will definitely complete this task. 
>>>>>>>>>>>>>>>> Just I am worrying that I must be taking too much time.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> If there is something, you can advice me I would happy 
>>>>>>>>>>>>>>>> to follow that also.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>> If it helps, you can provide interim patches, so long 
>>>>>>>>>>>>>>>>> as it doesn't break the current code base. You may 
>>>>>>>>>>>>>>>>> want to create a patch just creating the new database 
>>>>>>>>>>>>>>>>> table (which will be ignored by the current code) and 
>>>>>>>>>>>>>>>>> sql insert-select scripts to move from the current 
>>>>>>>>>>>>>>>>> table to the new one, then one converting the code to 
>>>>>>>>>>>>>>>>> using the new table without sorting, then (finally) 
>>>>>>>>>>>>>>>>> one that implements sorting of the categories.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I have created and updated all necessary files in JPA 
>>>>>>>>>>>>>>>>>> and for database, I tried compiling the code it gave 
>>>>>>>>>>>>>>>>>> me errors in test cases. As I am not sure that what I 
>>>>>>>>>>>>>>>>>> am wrong in this. Although I tried compiling without 
>>>>>>>>>>>>>>>>>> running test cases, it worked fine. I tested it with 
>>>>>>>>>>>>>>>>>> tomcat and new table category is created and initial 
>>>>>>>>>>>>>>>>>> category (General, Finance and Technology) are 
>>>>>>>>>>>>>>>>>> created with the position 1,2,3. Still there are many 
>>>>>>>>>>>>>>>>>> thing I have to clean up and sort out and will test 
>>>>>>>>>>>>>>>>>> it again.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>> Ok, got your point. I will check on other Roller 
>>>>>>>>>>>>>>>>>>> parts also if parent name and path aren't be using 
>>>>>>>>>>>>>>>>>>> in any other part of Roller. I will go into the RSS 
>>>>>>>>>>>>>>>>>>> and Atom feeds later on, and see what changes it 
>>>>>>>>>>>>>>>>>>> need. As, till now I have changed many files and 
>>>>>>>>>>>>>>>>>>> created some, so will first test this part then go 
>>>>>>>>>>>>>>>>>>> into that feeds part.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>> Sounds good, but may require more work to make sure 
>>>>>>>>>>>>>>>>>>>> all is good with the RSS and Atom feeds as a result 
>>>>>>>>>>>>>>>>>>>> (which I believe rely on path). Where path is used 
>>>>>>>>>>>>>>>>>>>> to check for equivalence, I guess name (and 
>>>>>>>>>>>>>>>>>>>> blog/website ID, if necessary) alone will do now. 
>>>>>>>>>>>>>>>>>>>> We may need to check (if we aren't already) that no 
>>>>>>>>>>>>>>>>>>>> two categories have the same name, where prior we 
>>>>>>>>>>>>>>>>>>>> were checking that no two paths are the same (i.e., 
>>>>>>>>>>>>>>>>>>>> allowing category paths USStates/Georgia and 
>>>>>>>>>>>>>>>>>>>> Countries/Georgia but now needing to disallow two 
>>>>>>>>>>>>>>>>>>>> categories named "Georgia".)
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> I am thinking of removing the path coloumn also, 
>>>>>>>>>>>>>>>>>>>>> as it does not make sense now as there will no 
>>>>>>>>>>>>>>>>>>>>> subcategories and all will have same path (like 
>>>>>>>>>>>>>>>>>>>>> /categoryname). WDYT ?
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I want to know as now all the categories will be 
>>>>>>>>>>>>>>>>>>>>>>> top level, so the root category which is created 
>>>>>>>>>>>>>>>>>>>>>>> by default on addWeblog isn't needed. So, I can 
>>>>>>>>>>>>>>>>>>>>>>> remove that code also ? I am in half completed 
>>>>>>>>>>>>>>>>>>>>>>> with the 1-2 steps will soon submit some patched 
>>>>>>>>>>>>>>>>>>>>>>> in jira issue. You can look on to them whenever 
>>>>>>>>>>>>>>>>>>>>>>> you will get time from other projects.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on this, I 
>>>>>>>>>>>>>>>>>>>>>>>> understand your commitments. As this will give 
>>>>>>>>>>>>>>>>>>>>>>>> me more time on working on this issue. I will 
>>>>>>>>>>>>>>>>>>>>>>>> give my 100% on this, as I also want to get 
>>>>>>>>>>>>>>>>>>>>>>>> into more and more open source projects. For 
>>>>>>>>>>>>>>>>>>>>>>>> Now I am focusing on Roller for starting my 
>>>>>>>>>>>>>>>>>>>>>>>> contributions in open source.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I can't help 
>>>>>>>>>>>>>>>>>>>>>>>>> much right now either, as my other project 
>>>>>>>>>>>>>>>>>>>>>>>>> JSPWiki has a new release going out.) But 
>>>>>>>>>>>>>>>>>>>>>>>>> please be patient with us on your recent 
>>>>>>>>>>>>>>>>>>>>>>>>> submitted patches -- we haven't forgotten you 
>>>>>>>>>>>>>>>>>>>>>>>>> and are happy with your efforts on this 
>>>>>>>>>>>>>>>>>>>>>>>>> project so far, we just have full-time jobs 
>>>>>>>>>>>>>>>>>>>>>>>>> and, even after that, other obligations -- for 
>>>>>>>>>>>>>>>>>>>>>>>>> open source work, we usually have to beg, 
>>>>>>>>>>>>>>>>>>>>>>>>> borrow and steal time to work on them.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> I am going through this having some issues, 
>>>>>>>>>>>>>>>>>>>>>>>>>> although not major till now. I have still 
>>>>>>>>>>>>>>>>>>>>>>>>>> working on 1-2 steps, might be I am slow as 
>>>>>>>>>>>>>>>>>>>>>>>>>> get less time. (Wish we also have holidays of 
>>>>>>>>>>>>>>>>>>>>>>>>>> this festive season in India :P) Just want to 
>>>>>>>>>>>>>>>>>>>>>>>>>> know isn't there any hurry for completing 
>>>>>>>>>>>>>>>>>>>>>>>>>> this asap ? Although, I am sure will 
>>>>>>>>>>>>>>>>>>>>>>>>>> definitely complete this as I have understood 
>>>>>>>>>>>>>>>>>>>>>>>>>> the structure of Roller completely. Just I 
>>>>>>>>>>>>>>>>>>>>>>>>>> have to go through the JPA more and read 
>>>>>>>>>>>>>>>>>>>>>>>>>> about this.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're missing will 
>>>>>>>>>>>>>>>>>>>>>>>>>>> become apparent to you as you work along. 
>>>>>>>>>>>>>>>>>>>>>>>>>>> The Roller installation guide and here 
>>>>>>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>>>>>>> can show you how to test also with Derby if 
>>>>>>>>>>>>>>>>>>>>>>>>>>> you'd like. (It is usually simpler than 
>>>>>>>>>>>>>>>>>>>>>>>>>>> MySQL, and another benefit of working on 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller is that you become 
>>>>>>>>>>>>>>>>>>>>>>>>>>> multiple-database-lingual very quickly.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I with this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> much deep information, I can start working 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> in it. I have started working on this Issue 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> and have followed your steps.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in createdb.vm and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> in migration scripts also. I have for mow 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> stared working on MySQL.
>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl class, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> have commented updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Category.orm.xml and enterd details of new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> table. A new class Category in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created new files for now and will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> work on this and add new position coloum 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> and code regarding this. Other than UI and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> template Layer, I think I have covered all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> files on which I have to work on the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Database and JPA layers ? Please tell me if 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> I am wrong anywhere or following wrong 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> workflow.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for our 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> database scripts -- you see a createdb.vm 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> plus migration scripts (5.0 to 5.1) -- 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we'll want our change in both places 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (IIRC), new users have the createdb run 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and Roller upgraders with their current 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DB's have the 5.0 to 5.1 migration script 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> run.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here and I'd like 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to get this done right (I plan on helping 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> out where you'd like). Namely, we've moved 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> from a hierarchical category structure 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (categories having subcategories having 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> their own subcatorgories etc.) to a flat 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> single-level structure (all categories are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> top level) -- that was done a week or so 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> back. Problem is, the database tables are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> still assuming hierarchical (they will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> work with flat structures but are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> overkill--we don't need a parent ID column 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> anymore.) Also, the JPA objects are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> designed for hierarchical but can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplified a bit more to flat structure. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Incidentally, "sequenceNum" is ambiguous 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> about what it means, I would say 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "position" or "ordering" (INT null, null 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for migrators who don't yet have a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> position defined) is clearer.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to handle 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this--for both new installers and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new table, say 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "category" designed precisely as we need, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and have the migration scripts select from 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the old weblogcategory and insert into the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> new category table. (We then ignore the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory table.) We'll need to test 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the scripts with at least two databases (2 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> of probably MySQL, Derby and/or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PostgreSQL) and guess for the others--if 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we're wrong the user community can supply 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> a patch fixing it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence object (the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> old WeblogCategory) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as it's now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat-level. Indeed, I think things will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> get a *lot* simpler here, as it may just 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> be the parent Weblog holding a list of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> some sort of Category objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp (or 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> whatever it's called) and its Struts 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> action class will now need to use the new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Category object (and table) instead of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory. The UI page will need two 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> changes: (1) all new categories will be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> placed (and saved) at the bottom of the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> category list (and as result, appear last 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (right-most) in the category list, and, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> later (2) probably have up and down 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> buttons in the table allowing users to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> easily reorder the categories as they 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like. (Strictly speaking, 1 alone is all 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that's needed for ordering, as you can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> remove/name/delete/recreate categories to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> eventually get them in the position you'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like, but (2) of course is much nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't looked into 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this): The templates (probably just a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> macro or two) will need updating to ensure 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that they output the category names per 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the new position order.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one advantage is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that I'd like to do the same thing with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks/blogrolls (team discussion 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> pending...), switch from a hierarchical to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat-level for those too.  If we can do 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this for categories, the logic/UI design, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> etc., will carry over 100% to bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually getting to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this myself, so am available to work with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> you on whatever parts you'd like. I think 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> going in order 1-2-3-4 and having separate 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> commits may be the cleanest way of doing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this. What's nice about using a brand new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> table and JPA object is that the old 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> objects can still work in the code while 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we're creating the new, we just don't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> activate the new until the very end.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team members on the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> above ideas...?) Or are there other Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tasks you'd like to sink your teeth into 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> instead? I can look at this otherwise, but 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this looks like a very good exercise for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> someone wanting to get more involved in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller, as it covers all the layers of the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> webapp.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on ROL-1981, as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discussed in previous discussion threads 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I will add new column sequenceNum in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory table. Then we can assign 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sequenceNum to each category according to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> websideid. If anyone have some ideas 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> regarding this, please help me. Also, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> need some help on how to go with this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> issue, and how to add new coloum, I found 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .sql file, do I need to add there new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> column. Also, Is this possible that that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> when I restart the roller it will add new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> column to database ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>
>
>


Re: (another idea) Re: ROL-1981 Category ordering

Posted by Gaurav <ga...@gmail.com>.
Hello Glen,

I tried finding the that issues, but did not find anywhere. Also it is 
created dynamically as I changed the entity name to category1 then also 
sameerror come up with "category1_category1" doesn't exist. I think this 
might be something I am doing wrong with the code. As, Today I cleaned 
up all the code and now everything is working good. I am successful in 
creating, editing and deleting the weblog, entries, categories and 
everything is showing good.

Just single problem I am having now is showing the categories list in 
feeds and in menu. I figured out after checking that 
$categoryObject.getWeblogCategories() is iterated in velocity file which 
check for the getWeblogCategories() method of type Set in WeblogCategory 
class, Initially I commented this method as the comments over this 
method said "Get child categories of this category". But I think this is 
neccasary as whenever a category is created this is called to add a 
category to Set "rootCat.getWeblogCategories().add(c);"

Now, Problem is we did not have any parent or root category now, so how 
it will going to add to that Set and Also I tried creating a object of 
WeblogCategory Class and tried adding it to getWeblogCategories() method 
then again. Now When I tired adding category with this 
"c.getWeblogCategories().add(c);" the same error comes up. If I comment 
this line that add category, everything works fine again, just did not 
get any list of categories in menu and feed.

Also, I am confused what setWeblogCategories() is doing as I did not 
find anywhere where it is used for setting categories. Just the 
getWeblogCategories() is used with .add for adding child categories to 
parent/root.

Below is what I done in addWeblogContents method of class 
JPAWeblogManagerImpl.

if (cats != null && cats.trim().length() > 0) {
             String[] splitcats = cats.split(",");
             for (int i=0; i<splitcats.length; i++) {
                 WeblogCategory c = new WeblogCategory(
                         newWeblog,       // newWeblog
                         splitcats[i],    // name
                         splitcats[i],    // description
                         null );          // image
                 if (i == 0) {
                     firstCat = c;
                 }
                 System.out.println("====Cats==="+c);
                 c.getWeblogCategories().add(c); //previously it was 
root.getWeblogCategories.add(c);
                 this.strategy.store(c);
             }
         }


[EL Warning]: 2014-01-05 
17:15:22.179--ClientSession(1956103136)--Exception [EclipseLink-4002] 
(Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): 
org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 
'CATEGORY_CATEGORY' does not exist.
Error Code: 20000
Call: INSERT INTO category_category (weblogCategories_id, 
WeblogCategory_id) VALUES (?, ?)
     bind => [2 parameters bound]
Query: DataModifyQuery(name="weblogCategories" sql="INSERT INTO 
category_category (weblogCategories_id, WeblogCategory_id) VALUES (?, ?)")
*

*Also I tried making new ArrayList and new getter setter in 
WeblogCategory class, still I got same error.
     List<WeblogCategory> catsss = new ArrayList<WeblogCategory>();
     catsss.add(c);
     c.setList(catsss);
System.out.println("======"+catsss+"============"+c.getList());

Got this error, after adding Arraylist.

[EL Warning]: 2014-01-05 
19:42:56.209--ClientSession(1732472947)--Exception [EclipseLink-4002] 
(Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): 
org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 
'CATEGORY_CATEGORY' does not exist.
Error Code: 20000
Call: INSERT INTO category_category (list_id, WeblogCategory_id) VALUES 
(?, ?)
     bind => [2 parameters bound]
Query: DataModifyQuery(name="list" sql="INSERT INTO category_category 
(list_id, WeblogCategory_id) VALUES (?, ?)")

Thanks
Gaurav


On Sunday 05 January 2014 05:30 AM, Glen Mazza wrote:
> Hi Gaurav, did you try a "control" with your file search method? I.e., 
> you're saying you're case-insensitive searching on "category_category" 
> but nothing is getting returned  -- did you try also searching 
> something that you *know* exists in the project (say, "class", 
> "public", "return", etc.) and your IDE/search method indeed did return 
> lots of matches?  Because if you get zero search results with the 
> latter we know the problem is with the way you're configuring your 
> search, not the non-existence of "category_category".  (Also are you 
> searching on every type of file extension, not just .java files?)
>
> Somewhere in your code the JPA layer has decided to calculate 
> "category_category" as a table name, I would guess because that's what 
> is exactly in the code someplace (as you can see the query below 
> generated "...FROM category_category t0, category t1..."). One useful 
> experiment might be to rename the "category" table (t1) above to 
> "category2" -- would the SQL above change to "category2_category2, 
> category2..." or (I think) "...FROM category_category t0, category2 
> t1...")  If the former, that would indicate that "category2_category2" 
> is being dynamically generated from the "category2" table name.  If 
> the latter, that would mean "category_category" is hardcoded somewhere 
> and not related to the "category" table name you've properly configured.
>
> I probably won't be able to get to this until next weekend anyway, so 
> I'm going to have you finish it, also as a confidence-builder for you 
> (if you let JPA push you around now, it's always going to bully 
> you...  :)
>
> Regards,
> Glen
>
> PS:  Just to clarify, when an pre-5.1-SNAPSHOT user installs Roller 
> 5.1-SNAPSHOT, the Roller startup should automatically detect that the 
> system is currently using an older Roller database and do the database 
> upgrade (creating of new the "category" table and prepopulation of 
> it).  Roller has always done this as so long as you put the necessary 
> migration scripts in the right place there should be no problem.  
> However, those of us already on 5.1-SNAPSHOT like myself before your 
> patch will need to manually create that table in our database (the 
> Roller script won't notice 5.1-SNAPSHOT-->5.1-SNAPSHOT, so won't 
> create "category" by itself.)  No problem, we'll just figure out the 
> necessary SQL statements for Dave and he can add it to his Roller 
> project blog.
>
>
> On 01/04/2014 04:47 PM, Gaurav wrote:
>> Hello Glen,
>>
>> I searched whole project and did not find anywhere. I think might be 
>> I have done something wrong, as when I start with new database, 
>> everything work just deleting gives me this error. If I work on old 
>> database it even did not start up (localhost:8080/roller) gives my 
>> below error.
>>
>> I have checked almost everything I can, might be some wrong java code 
>> and anything I done wrong that causes this. Should I submit by work 
>> so you can look on to it, or if we are not in any hurry than I can 
>> look into it again step by step (I prefer second option if we have 
>> one more week. Just another week or so, next week i have some tight 
>> schedule). I know I am taking too much time, but I am new to this 
>> level of Java code, as I worked maximum time at client side. But I 
>> really loving java code and learned a lot till now, before this I 
>> just worked with Java on small projects. OpenSource Projects really 
>> are very powerful and good way to learn new things.
>>
>> Exception [EclipseLink-4002] (Eclipse Persistence Services - 
>> 2.5.0.v20130507-3faac2b): 
>> org.eclipse.persistence.exceptions.DatabaseException Internal 
>> Exception: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
>> 'roller.category_category' doesn't exist Error Code: 1146 Call: 
>> SELECT t1.id, t1.description, t1.image, t1.name, t1.websiteid FROM 
>> category_category t0, category t1 WHERE ((t0.WeblogCategory_id = ?) 
>> AND (t1.id = t0.weblogCategories_id)) bind => [1 parameter bound] 
>> Query: ReadAllQuery(name="weblogCategories" 
>> referenceClass=WeblogCategory sql="SELECT t1.id, t1.description, 
>> t1.image, t1.name, t1.websiteid FROM category_category t0, category 
>> t1 WHERE ((t0.WeblogCategory_id = ?) AND (t1.id = 
>> t0.weblogCategories_id))")
>>
>> Thanks
>> Gaurav
>>
>> On Sunday 05 January 2014 12:00 AM, Glen Mazza wrote:
>>> Hi Gaurav, no, that relation shouldn't be needed anymore.
>>>
>>> As for the table name, at the top of your orm.xml file the table 
>>> name the file maps against is declared -- perhaps you accidentally 
>>> called it category_category.  I would grep or use a file search from 
>>> your IDE of your entire roller source code, looking for where 
>>> category_category is being declared -- (probably) has to be there 
>>> someplace.  (More specifically, do a file search on 
>>> "DataModifyQuery" -- that's probably exactly where the problem is.)
>>>
>>> Once working, try to import the latest code changes into your code 
>>> before submitting a patch (actually create a backup patch first just 
>>> in case).  Not sure but I think a simple svn update will do -- svn 
>>> will identify some files where it will need your assistance to 
>>> resolve any differences -- it shouldn't be too hard or 
>>> time-consuming to do.
>>>
>>> Regards,
>>> Glen
>>>
>>> On 01/04/2014 08:55 AM, Gaurav wrote:
>>>> Hello Glen,
>>>>
>>>> I just want to know that the below relations in 
>>>> WeblogCategory.orm.xml are required or not as now the parent is not 
>>>> used so, I don't think its needed now. I have commented the below 
>>>> lines.
>>>>
>>>> <many-to-one name="parent" 
>>>> target-entity="org.apache.roller.weblogger.pojos.Category">
>>>>                 <join-column name="parentid" insertable="true" 
>>>> updatable="true" nullable="true"/>
>>>>             </many-to-one>
>>>>             <one-to-many name="weblogCategories" mapped-by="parent" 
>>>> target-entity="org.apache.roller.weblogger.pojos.Category" 
>>>> fetch="LAZY">
>>>>                 <cascade>
>>>>                     <cascade-remove/>
>>>>                 </cascade>
>>>>             </one-to-many>
>>>>             <transient name="inUse"/>
>>>>
>>>> I asked this because, getting categories giving me mysql exception. 
>>>> The new table is 'roller.category' but it executes for 
>>>> 'roller.category_category'.
>>>> I am not able to get what I have done wrong.
>>>>
>>>> Internal Exception: 
>>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
>>>> 'roller.category_category' doesn't exist
>>>> Error Code: 1146
>>>> Call: DELETE FROM category_category WHERE (WeblogCategory_id = ?)
>>>>     bind => [1 parameter bound]
>>>> Query: DataModifyQuery(name="weblogCategories" sql="DELETE FROM 
>>>> category_category WHERE (WeblogCategory_id = ?)")
>>>>
>>>> Also, I have changed the getWeblogCategoryByPath to 
>>>> getWeblogCategoryByName so feeds and other places work fine. I have 
>>>> able to get catgeory list, new entries are creating successfully. 
>>>> Just deleting the weblog is giving me above error.
>>>>
>>>> Thanks
>>>> Gaurav
>>>>
>>>>
>>>> On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
>>>>> Hello Glen,
>>>>>
>>>>> I have already deleted getPath and getParent and in the mid of 
>>>>> everything. I hope I will be able to complete this by Monday. If 
>>>>> still, I get some major issues due to this, I will switch to what 
>>>>> you suggested. Just give me time till Monday, as I have done 
>>>>> almost 80% of code cleaned regarding the path and parentcategory. 
>>>>> I will get back to you soon with some patches and then you can 
>>>>> test it.
>>>>>
>>>>> Also, my ICLA have been filed, got the receipt of my ICLA.
>>>>>
>>>>> Thanks
>>>>> Gaurav
>>>>>
>>>>>
>>>>> On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
>>>>>> Gaurav, sorry, it just occurred to me there's a simpler 
>>>>>> intermediate step that can be done. While we need the database 
>>>>>> table without a path column, and to remove the "path" member 
>>>>>> *variable* from WeblogCategory (or its replacement), we can still 
>>>>>> keep indefinitely keep getPath(), just hardcode it to "/" + 
>>>>>> categoryName, which is precisely what the old code returns for 
>>>>>> any top-level category--the rest of the system can stay just as 
>>>>>> it did before.  Switching the rest of the code from getPath() to 
>>>>>> using getName() can be done at any time, bit by bit whenever, 
>>>>>> that's not necessary to implement positioning, that's just a code 
>>>>>> cleanup issue. Likewise, for WeblogCategory.getParent(), it may 
>>>>>> be as simple as adding a root category object as part of the 
>>>>>> Weblog's constructor (but not saved to the database), and having 
>>>>>> WeblogCategory.getParent() just return 
>>>>>> website.getParentCategory()--that way all categories for a weblog 
>>>>>> will have the same root category as before, and the rest of the 
>>>>>> code base should function fine.  Once we're on the new table, 
>>>>>> then it's an issue of implementing positioning--getting rid of 
>>>>>> getParent() and getPath() can be done by anybody at a later date.
>>>>>>
>>>>>> Regards,
>>>>>> Glen
>>>>>>
>>>>>>
>>>>>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>>>>>> No problem, I'm available to help (or finish it up) if needed.  
>>>>>>> For a seemingly simple switch, you're certainly getting a *full* 
>>>>>>> education of the Roller codebase.  :)
>>>>>>>
>>>>>>> BTW, I hope you're not testing via mvn jetty:run, as that 
>>>>>>> requires you to keep logging in for the first time, creating a 
>>>>>>> blog for the first time, etc., whenever you start it. Very 
>>>>>>> inefficient and tiring. Normally I just build (mvn clean 
>>>>>>> install) and dump the WAR into standalone Tomcat on my local 
>>>>>>> machine.  The database & other configuration I keep permanently 
>>>>>>> in roller-custom.properties in the Tomcat lib/ folder, so the 
>>>>>>> new WAR just takes over with the same configuration, blogs, 
>>>>>>> accounts, etc., that old WAR was using. (Check the Roller 
>>>>>>> install guide for full instructions.)
>>>>>>>
>>>>>>> Also vital is that you know how to debug/trace Roller code in 
>>>>>>> Eclipse or IntelliJ while it is running on Tomcat (or another 
>>>>>>> servlet container).  It's much simpler than it seems, and will 
>>>>>>> save you a lot of time. These instructions are for Eclipse but 
>>>>>>> Intellij (my preference) is basically the same: 
>>>>>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>>>>>>> Checking variable values while it's running will point you to 
>>>>>>> where problems are much more quickly.
>>>>>>>
>>>>>>> Happy New Year!
>>>>>>>
>>>>>>> Regards,
>>>>>>> Glen
>>>>>>>
>>>>>>>
>>>>>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>>>>>> Hello Glen,
>>>>>>>>
>>>>>>>> As, I previously told you that the test cases are giving 
>>>>>>>> problem, actually I think we have to do some changes in Test 
>>>>>>>> Cases also, as many of the methods involving path and parent 
>>>>>>>> are removed so, many times in test cases (it did not get 
>>>>>>>> correct values and give errors).
>>>>>>>> I have successfully showed the categories by website till now 
>>>>>>>> in the admin section. Also, the entries are saved just, I ran 
>>>>>>>> out of memory issue in happen when I save an entry that entry, 
>>>>>>>> although it get saved when I refresh the page.
>>>>>>>>
>>>>>>>> Also, as their is not path now, we have to do some changes in 
>>>>>>>> velocity files, as feeds are giving error in showing, although 
>>>>>>>> if I direct enter the URL its working fine. I have cleared many 
>>>>>>>> parts of the code, just I have test of the roller parts which 
>>>>>>>> are linked the path and parent. I am thinking of correcting the 
>>>>>>>> test cases, as I can run them and if test cases are fine then 
>>>>>>>> might be everything will work fine.
>>>>>>>>
>>>>>>>> I will return to work on this after 3 days, as I will be and 
>>>>>>>> will get be to it during coming weekend again. I will wrap this 
>>>>>>>> out asap for you to test and will attach patches coming weekend.
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Gaurav
>>>>>>>>
>>>>>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>>>>>> Thanks for that info, I have changed my settings in the eclipse.
>>>>>>>>> Yes, you are right I will leave the ordering part for now and 
>>>>>>>>> work on clearing the code for now. For now I will just add a 
>>>>>>>>> column in category table with position, leaving it null for now.
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Gaurav
>>>>>>>>>
>>>>>>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza wrote:
>>>>>>>>>> Your last ImprovedCreateUser.patch had some tab characters in 
>>>>>>>>>> it, and our project uses spaces for tabs (just have Eclipse 
>>>>>>>>>> insert 4 spaces whenever you hit the tab key, with no tab 
>>>>>>>>>> characters.) Very few Apache projects (any?) are tab-indented 
>>>>>>>>>> today. It is a simple fix with IntelliJ IDEA (Edit -> Convert 
>>>>>>>>>> Indents -> To Spaces), I'm sure Eclipse has an equivalent.
>>>>>>>>>>
>>>>>>>>>> For blogs migrating from pre-5.1 versions, we can keep the 
>>>>>>>>>> position NULL by default (and when you order by position, 
>>>>>>>>>> with null values, they will come out in any order, like they 
>>>>>>>>>> do today.) Whenever a new blog is created with the default 
>>>>>>>>>> three categories, those can be assigned positions (probably 
>>>>>>>>>> 0-based for leftmost is best.)  For migrated blogs, once the 
>>>>>>>>>> user goes to the category page and makes a change for the 
>>>>>>>>>> first time, numbers can be written for the very first 
>>>>>>>>>> time--no special extra UI is needed for this purpose. But 
>>>>>>>>>> like I was saying, this is such a lengthy patch you may wish 
>>>>>>>>>> to forget about the ordering right now--it doesn't work 
>>>>>>>>>> anyway in Roller right now. It may be best to get us to the 
>>>>>>>>>> new table and get rid of the paths, and once we're on that 
>>>>>>>>>> firmer foundation implementing positioning (on the Category 
>>>>>>>>>> page and in the templates) will be much simpler.
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Glen
>>>>>>>>>>
>>>>>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>
>>>>>>>>>>> I will change the position to be integer, and will exclude 
>>>>>>>>>>> the category where parent null, but still what can be done 
>>>>>>>>>>> for the position as the old data did not have position, so 
>>>>>>>>>>> how and on what basis we have to add position to it. I was 
>>>>>>>>>>> thinking that we can left it as null, and provide some UI in 
>>>>>>>>>>> backend where user can assign position themselves.
>>>>>>>>>>>
>>>>>>>>>>> I will take care of spacing, will search what I am doing 
>>>>>>>>>>> wrong. As, I am not sure is that you are talking about 
>>>>>>>>>>> formatting the code, or anything else. As I use tab (with 4 
>>>>>>>>>>> spaces) in Eclipse IDE.
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>> Gaurav
>>>>>>>>>>>
>>>>>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen Mazza wrote:
>>>>>>>>>>>> BTW, not to be hated, but make sure any code you submit is 
>>>>>>>>>>>> space-padded (4 spaces), *not* tab-padded. Your IDE should 
>>>>>>>>>>>> be able to convert it for you if you've been doing 
>>>>>>>>>>>> tab-padding.
>>>>>>>>>>>>
>>>>>>>>>>>> Regards,
>>>>>>>>>>>> Glen
>>>>>>>>>>>>
>>>>>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I am confused on how to add and on what basis we have to 
>>>>>>>>>>>>> addd position to the new category table. Below two sql 
>>>>>>>>>>>>> commands can be used for coping data and deleting the root 
>>>>>>>>>>>>> categories.
>>>>>>>>>>>>>
>>>>>>>>>>>>> create table category (
>>>>>>>>>>>>>     id               varchar(48)  not null primary key,
>>>>>>>>>>>>>     name             varchar(255) not null,
>>>>>>>>>>>>>     description      varchar(255),
>>>>>>>>>>>>>     websiteid        varchar(48) not null,
>>>>>>>>>>>>>     image            varchar(255),
>>>>>>>>>>>>>     position         varchar(48)
>>>>>>>>>>>>> );
>>>>>>>>>>>>>
>>>>>>>>>>>>> insert into category(id,name,description,websiteid,image) 
>>>>>>>>>>>>> select id,name,description,websiteid,image from 
>>>>>>>>>>>>> weblogcategory;
>>>>>>>>>>>>>
>>>>>>>>>>>>> delete from category where name="root";
>>>>>>>>>>>>>
>>>>>>>>>>>>> What do you suggest for this ?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen Mazza wrote:
>>>>>>>>>>>>>> Take your time, this is a messy change as it affects many 
>>>>>>>>>>>>>> areas of the code. But Roller will be architecturally 
>>>>>>>>>>>>>> much more solid and simpler once this change is done.  I 
>>>>>>>>>>>>>> have your ROL-1616 and ROL-1982 on my plate for this 
>>>>>>>>>>>>>> weekend.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I have deleted the path and all related methods, but its 
>>>>>>>>>>>>>>> seems to me that the path methods like 
>>>>>>>>>>>>>>> (getWeblogCategoryByPath) and many other path and parent 
>>>>>>>>>>>>>>> related methods, are scattered over the whole roller. 
>>>>>>>>>>>>>>> There are many occurrence of these methods and I have to 
>>>>>>>>>>>>>>> sort out each piece of code as now there is no path so, 
>>>>>>>>>>>>>>> mostly we check for categoryPath != null in if 
>>>>>>>>>>>>>>> conditions, so these are no longer needed.
>>>>>>>>>>>>>>> Also, I as thinking after testing and completing this we 
>>>>>>>>>>>>>>> can delete the WeblogCategory and replace with Category 
>>>>>>>>>>>>>>> method, as it will be clean. I also figured out why my 
>>>>>>>>>>>>>>> tests are failing as during creating of weblogentry it 
>>>>>>>>>>>>>>> did not find the categories, as that class was using old 
>>>>>>>>>>>>>>> WeblogCategory table and using that class methods. I 
>>>>>>>>>>>>>>> think I will definitely will figure out everything at 
>>>>>>>>>>>>>>> the end and will successfully test with the unit tests.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I am now in the editor part so can display the 
>>>>>>>>>>>>>>> categories on front end, I am now all over the 1-2-3-4 
>>>>>>>>>>>>>>> steps you mentioned. As soon as I will able to display 
>>>>>>>>>>>>>>> the categories (small issues left) at the backend, I 
>>>>>>>>>>>>>>> will again go through my changes. Also, at this time I 
>>>>>>>>>>>>>>> can only create patch for new table and migration 
>>>>>>>>>>>>>>> script, as all other classes code are interrelated so 
>>>>>>>>>>>>>>> can't submit now. I will test every single thing related 
>>>>>>>>>>>>>>> to categories, then I will submit my patches.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Although I have learned a lot new things, just spent 
>>>>>>>>>>>>>>> last two full days on this sorting out things, many 
>>>>>>>>>>>>>>> times ending up nowhere from where I started. But I am 
>>>>>>>>>>>>>>> confident that I will definitely complete this task. 
>>>>>>>>>>>>>>> Just I am worrying that I must be taking too much time.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> If there is something, you can advice me I would happy 
>>>>>>>>>>>>>>> to follow that also.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>> If it helps, you can provide interim patches, so long 
>>>>>>>>>>>>>>>> as it doesn't break the current code base. You may want 
>>>>>>>>>>>>>>>> to create a patch just creating the new database table 
>>>>>>>>>>>>>>>> (which will be ignored by the current code) and sql 
>>>>>>>>>>>>>>>> insert-select scripts to move from the current table to 
>>>>>>>>>>>>>>>> the new one, then one converting the code to using the 
>>>>>>>>>>>>>>>> new table without sorting, then (finally) one that 
>>>>>>>>>>>>>>>> implements sorting of the categories.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I have created and updated all necessary files in JPA 
>>>>>>>>>>>>>>>>> and for database, I tried compiling the code it gave 
>>>>>>>>>>>>>>>>> me errors in test cases. As I am not sure that what I 
>>>>>>>>>>>>>>>>> am wrong in this. Although I tried compiling without 
>>>>>>>>>>>>>>>>> running test cases, it worked fine. I tested it with 
>>>>>>>>>>>>>>>>> tomcat and new table category is created and initial 
>>>>>>>>>>>>>>>>> category (General, Finance and Technology) are created 
>>>>>>>>>>>>>>>>> with the position 1,2,3. Still there are many thing I 
>>>>>>>>>>>>>>>>> have to clean up and sort out and will test it again.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>>> Ok, got your point. I will check on other Roller 
>>>>>>>>>>>>>>>>>> parts also if parent name and path aren't be using in 
>>>>>>>>>>>>>>>>>> any other part of Roller. I will go into the RSS and 
>>>>>>>>>>>>>>>>>> Atom feeds later on, and see what changes it need. 
>>>>>>>>>>>>>>>>>> As, till now I have changed many files and created 
>>>>>>>>>>>>>>>>>> some, so will first test this part then go into that 
>>>>>>>>>>>>>>>>>> feeds part.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>> Sounds good, but may require more work to make sure 
>>>>>>>>>>>>>>>>>>> all is good with the RSS and Atom feeds as a result 
>>>>>>>>>>>>>>>>>>> (which I believe rely on path). Where path is used 
>>>>>>>>>>>>>>>>>>> to check for equivalence, I guess name (and 
>>>>>>>>>>>>>>>>>>> blog/website ID, if necessary) alone will do now. We 
>>>>>>>>>>>>>>>>>>> may need to check (if we aren't already) that no two 
>>>>>>>>>>>>>>>>>>> categories have the same name, where prior we were 
>>>>>>>>>>>>>>>>>>> checking that no two paths are the same (i.e., 
>>>>>>>>>>>>>>>>>>> allowing category paths USStates/Georgia and 
>>>>>>>>>>>>>>>>>>> Countries/Georgia but now needing to disallow two 
>>>>>>>>>>>>>>>>>>> categories named "Georgia".)
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> I am thinking of removing the path coloumn also, as 
>>>>>>>>>>>>>>>>>>>> it does not make sense now as there will no 
>>>>>>>>>>>>>>>>>>>> subcategories and all will have same path (like 
>>>>>>>>>>>>>>>>>>>> /categoryname). WDYT ?
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> I want to know as now all the categories will be 
>>>>>>>>>>>>>>>>>>>>>> top level, so the root category which is created 
>>>>>>>>>>>>>>>>>>>>>> by default on addWeblog isn't needed. So, I can 
>>>>>>>>>>>>>>>>>>>>>> remove that code also ? I am in half completed 
>>>>>>>>>>>>>>>>>>>>>> with the 1-2 steps will soon submit some patched 
>>>>>>>>>>>>>>>>>>>>>> in jira issue. You can look on to them whenever 
>>>>>>>>>>>>>>>>>>>>>> you will get time from other projects.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on this, I 
>>>>>>>>>>>>>>>>>>>>>>> understand your commitments. As this will give 
>>>>>>>>>>>>>>>>>>>>>>> me more time on working on this issue. I will 
>>>>>>>>>>>>>>>>>>>>>>> give my 100% on this, as I also want to get into 
>>>>>>>>>>>>>>>>>>>>>>> more and more open source projects. For Now I am 
>>>>>>>>>>>>>>>>>>>>>>> focusing on Roller for starting my contributions 
>>>>>>>>>>>>>>>>>>>>>>> in open source.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 AM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I can't help much 
>>>>>>>>>>>>>>>>>>>>>>>> right now either, as my other project JSPWiki 
>>>>>>>>>>>>>>>>>>>>>>>> has a new release going out.) But please be 
>>>>>>>>>>>>>>>>>>>>>>>> patient with us on your recent submitted 
>>>>>>>>>>>>>>>>>>>>>>>> patches -- we haven't forgotten you and are 
>>>>>>>>>>>>>>>>>>>>>>>> happy with your efforts on this project so far, 
>>>>>>>>>>>>>>>>>>>>>>>> we just have full-time jobs and, even after 
>>>>>>>>>>>>>>>>>>>>>>>> that, other obligations -- for open source 
>>>>>>>>>>>>>>>>>>>>>>>> work, we usually have to beg, borrow and steal 
>>>>>>>>>>>>>>>>>>>>>>>> time to work on them.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> I am going through this having some issues, 
>>>>>>>>>>>>>>>>>>>>>>>>> although not major till now. I have still 
>>>>>>>>>>>>>>>>>>>>>>>>> working on 1-2 steps, might be I am slow as 
>>>>>>>>>>>>>>>>>>>>>>>>> get less time. (Wish we also have holidays of 
>>>>>>>>>>>>>>>>>>>>>>>>> this festive season in India :P) Just want to 
>>>>>>>>>>>>>>>>>>>>>>>>> know isn't there any hurry for completing this 
>>>>>>>>>>>>>>>>>>>>>>>>> asap ? Although, I am sure will definitely 
>>>>>>>>>>>>>>>>>>>>>>>>> complete this as I have understood the 
>>>>>>>>>>>>>>>>>>>>>>>>> structure of Roller completely. Just I have to 
>>>>>>>>>>>>>>>>>>>>>>>>> go through the JPA more and read about this.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're missing will 
>>>>>>>>>>>>>>>>>>>>>>>>>> become apparent to you as you work along. The 
>>>>>>>>>>>>>>>>>>>>>>>>>> Roller installation guide and here 
>>>>>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>>>>>> can show you how to test also with Derby if 
>>>>>>>>>>>>>>>>>>>>>>>>>> you'd like. (It is usually simpler than 
>>>>>>>>>>>>>>>>>>>>>>>>>> MySQL, and another benefit of working on 
>>>>>>>>>>>>>>>>>>>>>>>>>> Roller is that you become 
>>>>>>>>>>>>>>>>>>>>>>>>>> multiple-database-lingual very quickly.)
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I with this 
>>>>>>>>>>>>>>>>>>>>>>>>>>> much deep information, I can start working 
>>>>>>>>>>>>>>>>>>>>>>>>>>> in it. I have started working on this Issue 
>>>>>>>>>>>>>>>>>>>>>>>>>>> and have followed your steps.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in createdb.vm and in 
>>>>>>>>>>>>>>>>>>>>>>>>>>> migration scripts also. I have for mow 
>>>>>>>>>>>>>>>>>>>>>>>>>>> stared working on MySQL.
>>>>>>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl class, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>> have commented updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for now 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Category.orm.xml and enterd details of new 
>>>>>>>>>>>>>>>>>>>>>>>>>>> table. A new class Category in weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> I have created new files for now and will 
>>>>>>>>>>>>>>>>>>>>>>>>>>> work on this and add new position coloum and 
>>>>>>>>>>>>>>>>>>>>>>>>>>> code regarding this. Other than UI and 
>>>>>>>>>>>>>>>>>>>>>>>>>>> template Layer, I think I have covered all 
>>>>>>>>>>>>>>>>>>>>>>>>>>> files on which I have to work on the 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Database and JPA layers ? Please tell me if 
>>>>>>>>>>>>>>>>>>>>>>>>>>> I am wrong anywhere or following wrong 
>>>>>>>>>>>>>>>>>>>>>>>>>>> workflow.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for our database 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> scripts -- you see a createdb.vm plus 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> migration scripts (5.0 to 5.1) -- we'll 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> want our change in both places (IIRC), new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> users have the createdb run and Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> upgraders with their current DB's have the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> 5.0 to 5.1 migration script run.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here and I'd like 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> to get this done right (I plan on helping 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> out where you'd like). Namely, we've moved 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> from a hierarchical category structure 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> (categories having subcategories having 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> their own subcatorgories etc.) to a flat 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> single-level structure (all categories are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> top level) -- that was done a week or so 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> back. Problem is, the database tables are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> still assuming hierarchical (they will work 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> with flat structures but are overkill--we 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> don't need a parent ID column anymore.) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, the JPA objects are designed for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical but can simplified a bit more 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> to flat structure. Incidentally, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> "sequenceNum" is ambiguous about what it 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> means, I would say "position" or "ordering" 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> (INT null, null for migrators who don't yet 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> have a position defined) is clearer.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to handle 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> this--for both new installers and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new table, say 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> "category" designed precisely as we need, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> and have the migration scripts select from 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> the old weblogcategory and insert into the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> new category table. (We then ignore the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory table.) We'll need to test 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> the scripts with at least two databases (2 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> of probably MySQL, Derby and/or PostgreSQL) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> and guess for the others--if we're wrong 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> the user community can supply a patch 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> fixing it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence object (the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> old WeblogCategory) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as it's now 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat-level. Indeed, I think things will get 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> a *lot* simpler here, as it may just be the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> parent Weblog holding a list of some sort 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> of Category objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp (or whatever 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> it's called) and its Struts action class 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> will now need to use the new Category 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> object (and table) instead of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory. The UI page will need two 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> changes: (1) all new categories will be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> placed (and saved) at the bottom of the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> category list (and as result, appear last 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> (right-most) in the category list, and, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> later (2) probably have up and down buttons 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> in the table allowing users to easily 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> reorder the categories as they like. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> (Strictly speaking, 1 alone is all that's 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> needed for ordering, as you can 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> remove/name/delete/recreate categories to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> eventually get them in the position you'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> like, but (2) of course is much nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't looked into 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> this): The templates (probably just a macro 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> or two) will need updating to ensure that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> they output the category names per the new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> position order.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one advantage is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> that I'd like to do the same thing with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks/blogrolls (team discussion 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> pending...), switch from a hierarchical to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> flat-level for those too.  If we can do 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> this for categories, the logic/UI design, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> etc., will carry over 100% to bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually getting to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> this myself, so am available to work with 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> you on whatever parts you'd like. I think 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> going in order 1-2-3-4 and having separate 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> commits may be the cleanest way of doing 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> this. What's nice about using a brand new 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> table and JPA object is that the old 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> objects can still work in the code while 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> we're creating the new, we just don't 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> activate the new until the very end.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team members on the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> above ideas...?) Or are there other Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> tasks you'd like to sink your teeth into 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> instead? I can look at this otherwise, but 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> this looks like a very good exercise for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> someone wanting to get more involved in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller, as it covers all the layers of the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> webapp.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on ROL-1981, as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discussed in previous discussion threads I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will add new column sequenceNum in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory table. Then we can assign 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sequenceNum to each category according to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> websideid. If anyone have some ideas 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> regarding this, please help me. Also, need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> some help on how to go with this issue, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and how to add new coloum, I found .sql 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> file, do I need to add there new column. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, Is this possible that that when I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> restart the roller it will add new column 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to database ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>>
>


Re: (another idea) Re: ROL-1981 Category ordering

Posted by Glen Mazza <gl...@gmail.com>.
Hi Gaurav, did you try a "control" with your file search method?  I.e., 
you're saying you're case-insensitive searching on "category_category" 
but nothing is getting returned  -- did you try also searching something 
that you *know* exists in the project (say, "class", "public", "return", 
etc.) and your IDE/search method indeed did return lots of matches?  
Because if you get zero search results with the latter we know the 
problem is with the way you're configuring your search, not the 
non-existence of "category_category".  (Also are you searching on every 
type of file extension, not just .java files?)

Somewhere in your code the JPA layer has decided to calculate 
"category_category" as a table name, I would guess because that's what 
is exactly in the code someplace (as you can see the query below 
generated "...FROM category_category t0, category t1..."). One useful 
experiment might be to rename the "category" table (t1) above to 
"category2" -- would the SQL above change to "category2_category2, 
category2..." or (I think) "...FROM category_category t0, category2 
t1...")  If the former, that would indicate that "category2_category2" 
is being dynamically generated from the "category2" table name.  If the 
latter, that would mean "category_category" is hardcoded somewhere and 
not related to the "category" table name you've properly configured.

I probably won't be able to get to this until next weekend anyway, so 
I'm going to have you finish it, also as a confidence-builder for you 
(if you let JPA push you around now, it's always going to bully you...  :)

Regards,
Glen

PS:  Just to clarify, when an pre-5.1-SNAPSHOT user installs Roller 
5.1-SNAPSHOT, the Roller startup should automatically detect that the 
system is currently using an older Roller database and do the database 
upgrade (creating of new the "category" table and prepopulation of it).  
Roller has always done this as so long as you put the necessary 
migration scripts in the right place there should be no problem.  
However, those of us already on 5.1-SNAPSHOT like myself before your 
patch will need to manually create that table in our database (the 
Roller script won't notice 5.1-SNAPSHOT-->5.1-SNAPSHOT, so won't create 
"category" by itself.)  No problem, we'll just figure out the necessary 
SQL statements for Dave and he can add it to his Roller project blog.


On 01/04/2014 04:47 PM, Gaurav wrote:
> Hello Glen,
>
> I searched whole project and did not find anywhere. I think might be I 
> have done something wrong, as when I start with new database, 
> everything work just deleting gives me this error. If I work on old 
> database it even did not start up (localhost:8080/roller) gives my 
> below error.
>
> I have checked almost everything I can, might be some wrong java code 
> and anything I done wrong that causes this. Should I submit by work so 
> you can look on to it, or if we are not in any hurry than I can look 
> into it again step by step (I prefer second option if we have one more 
> week. Just another week or so, next week i have some tight schedule). 
> I know I am taking too much time, but I am new to this level of Java 
> code, as I worked maximum time at client side. But I really loving 
> java code and learned a lot till now, before this I just worked with 
> Java on small projects. OpenSource Projects really are very powerful 
> and good way to learn new things.
>
> Exception [EclipseLink-4002] (Eclipse Persistence Services - 
> 2.5.0.v20130507-3faac2b): 
> org.eclipse.persistence.exceptions.DatabaseException Internal 
> Exception: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
> 'roller.category_category' doesn't exist Error Code: 1146 Call: SELECT 
> t1.id, t1.description, t1.image, t1.name, t1.websiteid FROM 
> category_category t0, category t1 WHERE ((t0.WeblogCategory_id = ?) 
> AND (t1.id = t0.weblogCategories_id)) bind => [1 parameter bound] 
> Query: ReadAllQuery(name="weblogCategories" 
> referenceClass=WeblogCategory sql="SELECT t1.id, t1.description, 
> t1.image, t1.name, t1.websiteid FROM category_category t0, category t1 
> WHERE ((t0.WeblogCategory_id = ?) AND (t1.id = t0.weblogCategories_id))")
>
> Thanks
> Gaurav
>
> On Sunday 05 January 2014 12:00 AM, Glen Mazza wrote:
>> Hi Gaurav, no, that relation shouldn't be needed anymore.
>>
>> As for the table name, at the top of your orm.xml file the table name 
>> the file maps against is declared -- perhaps you accidentally called 
>> it category_category.  I would grep or use a file search from your 
>> IDE of your entire roller source code, looking for where 
>> category_category is being declared -- (probably) has to be there 
>> someplace.  (More specifically, do a file search on "DataModifyQuery" 
>> -- that's probably exactly where the problem is.)
>>
>> Once working, try to import the latest code changes into your code 
>> before submitting a patch (actually create a backup patch first just 
>> in case).  Not sure but I think a simple svn update will do -- svn 
>> will identify some files where it will need your assistance to 
>> resolve any differences -- it shouldn't be too hard or time-consuming 
>> to do.
>>
>> Regards,
>> Glen
>>
>> On 01/04/2014 08:55 AM, Gaurav wrote:
>>> Hello Glen,
>>>
>>> I just want to know that the below relations in 
>>> WeblogCategory.orm.xml are required or not as now the parent is not 
>>> used so, I don't think its needed now. I have commented the below 
>>> lines.
>>>
>>> <many-to-one name="parent" 
>>> target-entity="org.apache.roller.weblogger.pojos.Category">
>>>                 <join-column name="parentid" insertable="true" 
>>> updatable="true" nullable="true"/>
>>>             </many-to-one>
>>>             <one-to-many name="weblogCategories" mapped-by="parent" 
>>> target-entity="org.apache.roller.weblogger.pojos.Category" 
>>> fetch="LAZY">
>>>                 <cascade>
>>>                     <cascade-remove/>
>>>                 </cascade>
>>>             </one-to-many>
>>>             <transient name="inUse"/>
>>>
>>> I asked this because, getting categories giving me mysql exception. 
>>> The new table is 'roller.category' but it executes for 
>>> 'roller.category_category'.
>>> I am not able to get what I have done wrong.
>>>
>>> Internal Exception: 
>>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
>>> 'roller.category_category' doesn't exist
>>> Error Code: 1146
>>> Call: DELETE FROM category_category WHERE (WeblogCategory_id = ?)
>>>     bind => [1 parameter bound]
>>> Query: DataModifyQuery(name="weblogCategories" sql="DELETE FROM 
>>> category_category WHERE (WeblogCategory_id = ?)")
>>>
>>> Also, I have changed the getWeblogCategoryByPath to 
>>> getWeblogCategoryByName so feeds and other places work fine. I have 
>>> able to get catgeory list, new entries are creating successfully. 
>>> Just deleting the weblog is giving me above error.
>>>
>>> Thanks
>>> Gaurav
>>>
>>>
>>> On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
>>>> Hello Glen,
>>>>
>>>> I have already deleted getPath and getParent and in the mid of 
>>>> everything. I hope I will be able to complete this by Monday. If 
>>>> still, I get some major issues due to this, I will switch to what 
>>>> you suggested. Just give me time till Monday, as I have done almost 
>>>> 80% of code cleaned regarding the path and parentcategory. I will 
>>>> get back to you soon with some patches and then you can test it.
>>>>
>>>> Also, my ICLA have been filed, got the receipt of my ICLA.
>>>>
>>>> Thanks
>>>> Gaurav
>>>>
>>>>
>>>> On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
>>>>> Gaurav, sorry, it just occurred to me there's a simpler 
>>>>> intermediate step that can be done. While we need the database 
>>>>> table without a path column, and to remove the "path" member 
>>>>> *variable* from WeblogCategory (or its replacement), we can still 
>>>>> keep indefinitely keep getPath(), just hardcode it to "/" + 
>>>>> categoryName, which is precisely what the old code returns for any 
>>>>> top-level category--the rest of the system can stay just as it did 
>>>>> before.  Switching the rest of the code from getPath() to using 
>>>>> getName() can be done at any time, bit by bit whenever, that's not 
>>>>> necessary to implement positioning, that's just a code cleanup 
>>>>> issue. Likewise, for WeblogCategory.getParent(), it may be as 
>>>>> simple as adding a root category object as part of the Weblog's 
>>>>> constructor (but not saved to the database), and having 
>>>>> WeblogCategory.getParent() just return 
>>>>> website.getParentCategory()--that way all categories for a weblog 
>>>>> will have the same root category as before, and the rest of the 
>>>>> code base should function fine.  Once we're on the new table, then 
>>>>> it's an issue of implementing positioning--getting rid of 
>>>>> getParent() and getPath() can be done by anybody at a later date.
>>>>>
>>>>> Regards,
>>>>> Glen
>>>>>
>>>>>
>>>>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>>>>> No problem, I'm available to help (or finish it up) if needed.  
>>>>>> For a seemingly simple switch, you're certainly getting a *full* 
>>>>>> education of the Roller codebase.  :)
>>>>>>
>>>>>> BTW, I hope you're not testing via mvn jetty:run, as that 
>>>>>> requires you to keep logging in for the first time, creating a 
>>>>>> blog for the first time, etc., whenever you start it. Very 
>>>>>> inefficient and tiring.  Normally I just build (mvn clean 
>>>>>> install) and dump the WAR into standalone Tomcat on my local 
>>>>>> machine.  The database & other configuration I keep permanently 
>>>>>> in roller-custom.properties in the Tomcat lib/ folder, so the new 
>>>>>> WAR just takes over with the same configuration, blogs, accounts, 
>>>>>> etc., that old WAR was using. (Check the Roller install guide for 
>>>>>> full instructions.)
>>>>>>
>>>>>> Also vital is that you know how to debug/trace Roller code in 
>>>>>> Eclipse or IntelliJ while it is running on Tomcat (or another 
>>>>>> servlet container).  It's much simpler than it seems, and will 
>>>>>> save you a lot of time. These instructions are for Eclipse but 
>>>>>> Intellij (my preference) is basically the same: 
>>>>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>>>>>> Checking variable values while it's running will point you to 
>>>>>> where problems are much more quickly.
>>>>>>
>>>>>> Happy New Year!
>>>>>>
>>>>>> Regards,
>>>>>> Glen
>>>>>>
>>>>>>
>>>>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>>>>> Hello Glen,
>>>>>>>
>>>>>>> As, I previously told you that the test cases are giving 
>>>>>>> problem, actually I think we have to do some changes in Test 
>>>>>>> Cases also, as many of the methods involving path and parent are 
>>>>>>> removed so, many times in test cases (it did not get correct 
>>>>>>> values and give errors).
>>>>>>> I have successfully showed the categories by website till now in 
>>>>>>> the admin section. Also, the entries are saved just, I ran out 
>>>>>>> of memory issue in happen when I save an entry that entry, 
>>>>>>> although it get saved when I refresh the page.
>>>>>>>
>>>>>>> Also, as their is not path now, we have to do some changes in 
>>>>>>> velocity files, as feeds are giving error in showing, although 
>>>>>>> if I direct enter the URL its working fine. I have cleared many 
>>>>>>> parts of the code, just I have test of the roller parts which 
>>>>>>> are linked the path and parent. I am thinking of correcting the 
>>>>>>> test cases, as I can run them and if test cases are fine then 
>>>>>>> might be everything will work fine.
>>>>>>>
>>>>>>> I will return to work on this after 3 days, as I will be and 
>>>>>>> will get be to it during coming weekend again. I will wrap this 
>>>>>>> out asap for you to test and will attach patches coming weekend.
>>>>>>>
>>>>>>> Thanks
>>>>>>> Gaurav
>>>>>>>
>>>>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>>>>> Thanks for that info, I have changed my settings in the eclipse.
>>>>>>>> Yes, you are right I will leave the ordering part for now and 
>>>>>>>> work on clearing the code for now. For now I will just add a 
>>>>>>>> column in category table with position, leaving it null for now.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Gaurav
>>>>>>>>
>>>>>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza wrote:
>>>>>>>>> Your last ImprovedCreateUser.patch had some tab characters in 
>>>>>>>>> it, and our project uses spaces for tabs (just have Eclipse 
>>>>>>>>> insert 4 spaces whenever you hit the tab key, with no tab 
>>>>>>>>> characters.) Very few Apache projects (any?) are tab-indented 
>>>>>>>>> today. It is a simple fix with IntelliJ IDEA (Edit -> Convert 
>>>>>>>>> Indents -> To Spaces), I'm sure Eclipse has an equivalent.
>>>>>>>>>
>>>>>>>>> For blogs migrating from pre-5.1 versions, we can keep the 
>>>>>>>>> position NULL by default (and when you order by position, with 
>>>>>>>>> null values, they will come out in any order, like they do 
>>>>>>>>> today.) Whenever a new blog is created with the default three 
>>>>>>>>> categories, those can be assigned positions (probably 0-based 
>>>>>>>>> for leftmost is best.)  For migrated blogs, once the user goes 
>>>>>>>>> to the category page and makes a change for the first time, 
>>>>>>>>> numbers can be written for the very first time--no special 
>>>>>>>>> extra UI is needed for this purpose. But like I was saying, 
>>>>>>>>> this is such a lengthy patch you may wish to forget about the 
>>>>>>>>> ordering right now--it doesn't work anyway in Roller right 
>>>>>>>>> now. It may be best to get us to the new table and get rid of 
>>>>>>>>> the paths, and once we're on that firmer foundation 
>>>>>>>>> implementing positioning (on the Category page and in the 
>>>>>>>>> templates) will be much simpler.
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Glen
>>>>>>>>>
>>>>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>>>>> Hello Glen,
>>>>>>>>>>
>>>>>>>>>> I will change the position to be integer, and will exclude 
>>>>>>>>>> the category where parent null, but still what can be done 
>>>>>>>>>> for the position as the old data did not have position, so 
>>>>>>>>>> how and on what basis we have to add position to it. I was 
>>>>>>>>>> thinking that we can left it as null, and provide some UI in 
>>>>>>>>>> backend where user can assign position themselves.
>>>>>>>>>>
>>>>>>>>>> I will take care of spacing, will search what I am doing 
>>>>>>>>>> wrong. As, I am not sure is that you are talking about 
>>>>>>>>>> formatting the code, or anything else. As I use tab (with 4 
>>>>>>>>>> spaces) in Eclipse IDE.
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> Gaurav
>>>>>>>>>>
>>>>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen Mazza wrote:
>>>>>>>>>>> BTW, not to be hated, but make sure any code you submit is 
>>>>>>>>>>> space-padded (4 spaces), *not* tab-padded. Your IDE should 
>>>>>>>>>>> be able to convert it for you if you've been doing tab-padding.
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Glen
>>>>>>>>>>>
>>>>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>
>>>>>>>>>>>> I am confused on how to add and on what basis we have to 
>>>>>>>>>>>> addd position to the new category table. Below two sql 
>>>>>>>>>>>> commands can be used for coping data and deleting the root 
>>>>>>>>>>>> categories.
>>>>>>>>>>>>
>>>>>>>>>>>> create table category (
>>>>>>>>>>>>     id               varchar(48)  not null primary key,
>>>>>>>>>>>>     name             varchar(255) not null,
>>>>>>>>>>>>     description      varchar(255),
>>>>>>>>>>>>     websiteid        varchar(48) not null,
>>>>>>>>>>>>     image            varchar(255),
>>>>>>>>>>>>     position         varchar(48)
>>>>>>>>>>>> );
>>>>>>>>>>>>
>>>>>>>>>>>> insert into category(id,name,description,websiteid,image) 
>>>>>>>>>>>> select id,name,description,websiteid,image from 
>>>>>>>>>>>> weblogcategory;
>>>>>>>>>>>>
>>>>>>>>>>>> delete from category where name="root";
>>>>>>>>>>>>
>>>>>>>>>>>> What do you suggest for this ?
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>
>>>>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen Mazza wrote:
>>>>>>>>>>>>> Take your time, this is a messy change as it affects many 
>>>>>>>>>>>>> areas of the code. But Roller will be architecturally much 
>>>>>>>>>>>>> more solid and simpler once this change is done.  I have 
>>>>>>>>>>>>> your ROL-1616 and ROL-1982 on my plate for this weekend.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I have deleted the path and all related methods, but its 
>>>>>>>>>>>>>> seems to me that the path methods like 
>>>>>>>>>>>>>> (getWeblogCategoryByPath) and many other path and parent 
>>>>>>>>>>>>>> related methods, are scattered over the whole roller. 
>>>>>>>>>>>>>> There are many occurrence of these methods and I have to 
>>>>>>>>>>>>>> sort out each piece of code as now there is no path so, 
>>>>>>>>>>>>>> mostly we check for categoryPath != null in if 
>>>>>>>>>>>>>> conditions, so these are no longer needed.
>>>>>>>>>>>>>> Also, I as thinking after testing and completing this we 
>>>>>>>>>>>>>> can delete the WeblogCategory and replace with Category 
>>>>>>>>>>>>>> method, as it will be clean. I also figured out why my 
>>>>>>>>>>>>>> tests are failing as during creating of weblogentry it 
>>>>>>>>>>>>>> did not find the categories, as that class was using old 
>>>>>>>>>>>>>> WeblogCategory table and using that class methods. I 
>>>>>>>>>>>>>> think I will definitely will figure out everything at the 
>>>>>>>>>>>>>> end and will successfully test with the unit tests.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I am now in the editor part so can display the categories 
>>>>>>>>>>>>>> on front end, I am now all over the 1-2-3-4 steps you 
>>>>>>>>>>>>>> mentioned. As soon as I will able to display the 
>>>>>>>>>>>>>> categories (small issues left) at the backend, I will 
>>>>>>>>>>>>>> again go through my changes. Also, at this time I can 
>>>>>>>>>>>>>> only create patch for new table and migration script, as 
>>>>>>>>>>>>>> all other classes code are interrelated so can't submit 
>>>>>>>>>>>>>> now. I will test every single thing related to 
>>>>>>>>>>>>>> categories, then I will submit my patches.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Although I have learned a lot new things, just spent last 
>>>>>>>>>>>>>> two full days on this sorting out things, many times 
>>>>>>>>>>>>>> ending up nowhere from where I started. But I am 
>>>>>>>>>>>>>> confident that I will definitely complete this task. Just 
>>>>>>>>>>>>>> I am worrying that I must be taking too much time.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> If there is something, you can advice me I would happy to 
>>>>>>>>>>>>>> follow that also.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>> If it helps, you can provide interim patches, so long as 
>>>>>>>>>>>>>>> it doesn't break the current code base. You may want to 
>>>>>>>>>>>>>>> create a patch just creating the new database table 
>>>>>>>>>>>>>>> (which will be ignored by the current code) and sql 
>>>>>>>>>>>>>>> insert-select scripts to move from the current table to 
>>>>>>>>>>>>>>> the new one, then one converting the code to using the 
>>>>>>>>>>>>>>> new table without sorting, then (finally) one that 
>>>>>>>>>>>>>>> implements sorting of the categories.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I have created and updated all necessary files in JPA 
>>>>>>>>>>>>>>>> and for database, I tried compiling the code it gave me 
>>>>>>>>>>>>>>>> errors in test cases. As I am not sure that what I am 
>>>>>>>>>>>>>>>> wrong in this. Although I tried compiling without 
>>>>>>>>>>>>>>>> running test cases, it worked fine. I tested it with 
>>>>>>>>>>>>>>>> tomcat and new table category is created and initial 
>>>>>>>>>>>>>>>> category (General, Finance and Technology) are created 
>>>>>>>>>>>>>>>> with the position 1,2,3. Still there are many thing I 
>>>>>>>>>>>>>>>> have to clean up and sort out and will test it again.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, Gaurav wrote:
>>>>>>>>>>>>>>>>> Ok, got your point. I will check on other Roller parts 
>>>>>>>>>>>>>>>>> also if parent name and path aren't be using in any 
>>>>>>>>>>>>>>>>> other part of Roller. I will go into the RSS and Atom 
>>>>>>>>>>>>>>>>> feeds later on, and see what changes it need. As, till 
>>>>>>>>>>>>>>>>> now I have changed many files and created some, so 
>>>>>>>>>>>>>>>>> will first test this part then go into that feeds part.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>> Sounds good, but may require more work to make sure 
>>>>>>>>>>>>>>>>>> all is good with the RSS and Atom feeds as a result 
>>>>>>>>>>>>>>>>>> (which I believe rely on path). Where path is used to 
>>>>>>>>>>>>>>>>>> check for equivalence, I guess name (and blog/website 
>>>>>>>>>>>>>>>>>> ID, if necessary) alone will do now. We may need to 
>>>>>>>>>>>>>>>>>> check (if we aren't already) that no two categories 
>>>>>>>>>>>>>>>>>> have the same name, where prior we were checking that 
>>>>>>>>>>>>>>>>>> no two paths are the same (i.e., allowing category 
>>>>>>>>>>>>>>>>>> paths USStates/Georgia and Countries/Georgia but now 
>>>>>>>>>>>>>>>>>> needing to disallow two categories named "Georgia".)
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I am thinking of removing the path coloumn also, as 
>>>>>>>>>>>>>>>>>>> it does not make sense now as there will no 
>>>>>>>>>>>>>>>>>>> subcategories and all will have same path (like 
>>>>>>>>>>>>>>>>>>> /categoryname). WDYT ?
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> I want to know as now all the categories will be 
>>>>>>>>>>>>>>>>>>>>> top level, so the root category which is created 
>>>>>>>>>>>>>>>>>>>>> by default on addWeblog isn't needed. So, I can 
>>>>>>>>>>>>>>>>>>>>> remove that code also ? I am in half completed 
>>>>>>>>>>>>>>>>>>>>> with the 1-2 steps will soon submit some patched 
>>>>>>>>>>>>>>>>>>>>> in jira issue. You can look on to them whenever 
>>>>>>>>>>>>>>>>>>>>> you will get time from other projects.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on this, I 
>>>>>>>>>>>>>>>>>>>>>> understand your commitments. As this will give me 
>>>>>>>>>>>>>>>>>>>>>> more time on working on this issue. I will give 
>>>>>>>>>>>>>>>>>>>>>> my 100% on this, as I also want to get into more 
>>>>>>>>>>>>>>>>>>>>>> and more open source projects. For Now I am 
>>>>>>>>>>>>>>>>>>>>>> focusing on Roller for starting my contributions 
>>>>>>>>>>>>>>>>>>>>>> in open source.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 AM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I can't help much 
>>>>>>>>>>>>>>>>>>>>>>> right now either, as my other project JSPWiki 
>>>>>>>>>>>>>>>>>>>>>>> has a new release going out.) But please be 
>>>>>>>>>>>>>>>>>>>>>>> patient with us on your recent submitted patches 
>>>>>>>>>>>>>>>>>>>>>>> -- we haven't forgotten you and are happy with 
>>>>>>>>>>>>>>>>>>>>>>> your efforts on this project so far, we just 
>>>>>>>>>>>>>>>>>>>>>>> have full-time jobs and, even after that, other 
>>>>>>>>>>>>>>>>>>>>>>> obligations -- for open source work, we usually 
>>>>>>>>>>>>>>>>>>>>>>> have to beg, borrow and steal time to work on them.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I am going through this having some issues, 
>>>>>>>>>>>>>>>>>>>>>>>> although not major till now. I have still 
>>>>>>>>>>>>>>>>>>>>>>>> working on 1-2 steps, might be I am slow as get 
>>>>>>>>>>>>>>>>>>>>>>>> less time. (Wish we also have holidays of this 
>>>>>>>>>>>>>>>>>>>>>>>> festive season in India :P) Just want to know 
>>>>>>>>>>>>>>>>>>>>>>>> isn't there any hurry for completing this asap 
>>>>>>>>>>>>>>>>>>>>>>>> ? Although, I am sure will definitely complete 
>>>>>>>>>>>>>>>>>>>>>>>> this as I have understood the structure of 
>>>>>>>>>>>>>>>>>>>>>>>> Roller completely. Just I have to go through 
>>>>>>>>>>>>>>>>>>>>>>>> the JPA more and read about this.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're missing will 
>>>>>>>>>>>>>>>>>>>>>>>>> become apparent to you as you work along. The 
>>>>>>>>>>>>>>>>>>>>>>>>> Roller installation guide and here 
>>>>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>>>>> can show you how to test also with Derby if 
>>>>>>>>>>>>>>>>>>>>>>>>> you'd like. (It is usually simpler than MySQL, 
>>>>>>>>>>>>>>>>>>>>>>>>> and another benefit of working on Roller is 
>>>>>>>>>>>>>>>>>>>>>>>>> that you become multiple-database-lingual very 
>>>>>>>>>>>>>>>>>>>>>>>>> quickly.)
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I with this 
>>>>>>>>>>>>>>>>>>>>>>>>>> much deep information, I can start working in 
>>>>>>>>>>>>>>>>>>>>>>>>>> it. I have started working on this Issue and 
>>>>>>>>>>>>>>>>>>>>>>>>>> have followed your steps.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in createdb.vm and in 
>>>>>>>>>>>>>>>>>>>>>>>>>> migration scripts also. I have for mow stared 
>>>>>>>>>>>>>>>>>>>>>>>>>> working on MySQL.
>>>>>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl class, I have 
>>>>>>>>>>>>>>>>>>>>>>>>>> commented updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for now 
>>>>>>>>>>>>>>>>>>>>>>>>>> Category.orm.xml and enterd details of new 
>>>>>>>>>>>>>>>>>>>>>>>>>> table. A new class Category in weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> I have created new files for now and will 
>>>>>>>>>>>>>>>>>>>>>>>>>> work on this and add new position coloum and 
>>>>>>>>>>>>>>>>>>>>>>>>>> code regarding this. Other than UI and 
>>>>>>>>>>>>>>>>>>>>>>>>>> template Layer, I think I have covered all 
>>>>>>>>>>>>>>>>>>>>>>>>>> files on which I have to work on the Database 
>>>>>>>>>>>>>>>>>>>>>>>>>> and JPA layers ? Please tell me if I am wrong 
>>>>>>>>>>>>>>>>>>>>>>>>>> anywhere or following wrong workflow.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for our database 
>>>>>>>>>>>>>>>>>>>>>>>>>>> scripts -- you see a createdb.vm plus 
>>>>>>>>>>>>>>>>>>>>>>>>>>> migration scripts (5.0 to 5.1) -- we'll want 
>>>>>>>>>>>>>>>>>>>>>>>>>>> our change in both places (IIRC), new users 
>>>>>>>>>>>>>>>>>>>>>>>>>>> have the createdb run and Roller upgraders 
>>>>>>>>>>>>>>>>>>>>>>>>>>> with their current DB's have the 5.0 to 5.1 
>>>>>>>>>>>>>>>>>>>>>>>>>>> migration script run.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here and I'd like to 
>>>>>>>>>>>>>>>>>>>>>>>>>>> get this done right (I plan on helping out 
>>>>>>>>>>>>>>>>>>>>>>>>>>> where you'd like). Namely, we've moved from 
>>>>>>>>>>>>>>>>>>>>>>>>>>> a hierarchical category structure 
>>>>>>>>>>>>>>>>>>>>>>>>>>> (categories having subcategories having 
>>>>>>>>>>>>>>>>>>>>>>>>>>> their own subcatorgories etc.) to a flat 
>>>>>>>>>>>>>>>>>>>>>>>>>>> single-level structure (all categories are 
>>>>>>>>>>>>>>>>>>>>>>>>>>> top level) -- that was done a week or so 
>>>>>>>>>>>>>>>>>>>>>>>>>>> back. Problem is, the database tables are 
>>>>>>>>>>>>>>>>>>>>>>>>>>> still assuming hierarchical (they will work 
>>>>>>>>>>>>>>>>>>>>>>>>>>> with flat structures but are overkill--we 
>>>>>>>>>>>>>>>>>>>>>>>>>>> don't need a parent ID column anymore.) 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, the JPA objects are designed for 
>>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical but can simplified a bit more 
>>>>>>>>>>>>>>>>>>>>>>>>>>> to flat structure. Incidentally, 
>>>>>>>>>>>>>>>>>>>>>>>>>>> "sequenceNum" is ambiguous about what it 
>>>>>>>>>>>>>>>>>>>>>>>>>>> means, I would say "position" or "ordering" 
>>>>>>>>>>>>>>>>>>>>>>>>>>> (INT null, null for migrators who don't yet 
>>>>>>>>>>>>>>>>>>>>>>>>>>> have a position defined) is clearer.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to handle this--for 
>>>>>>>>>>>>>>>>>>>>>>>>>>> both new installers and upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new table, say 
>>>>>>>>>>>>>>>>>>>>>>>>>>> "category" designed precisely as we need, 
>>>>>>>>>>>>>>>>>>>>>>>>>>> and have the migration scripts select from 
>>>>>>>>>>>>>>>>>>>>>>>>>>> the old weblogcategory and insert into the 
>>>>>>>>>>>>>>>>>>>>>>>>>>> new category table. (We then ignore the 
>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory table.) We'll need to test 
>>>>>>>>>>>>>>>>>>>>>>>>>>> the scripts with at least two databases (2 
>>>>>>>>>>>>>>>>>>>>>>>>>>> of probably MySQL, Derby and/or PostgreSQL) 
>>>>>>>>>>>>>>>>>>>>>>>>>>> and guess for the others--if we're wrong the 
>>>>>>>>>>>>>>>>>>>>>>>>>>> user community can supply a patch fixing it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence object (the old 
>>>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as it's now 
>>>>>>>>>>>>>>>>>>>>>>>>>>> flat-level. Indeed, I think things will get 
>>>>>>>>>>>>>>>>>>>>>>>>>>> a *lot* simpler here, as it may just be the 
>>>>>>>>>>>>>>>>>>>>>>>>>>> parent Weblog holding a list of some sort of 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Category objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp (or whatever 
>>>>>>>>>>>>>>>>>>>>>>>>>>> it's called) and its Struts action class 
>>>>>>>>>>>>>>>>>>>>>>>>>>> will now need to use the new Category object 
>>>>>>>>>>>>>>>>>>>>>>>>>>> (and table) instead of WeblogCategory. The 
>>>>>>>>>>>>>>>>>>>>>>>>>>> UI page will need two changes: (1) all new 
>>>>>>>>>>>>>>>>>>>>>>>>>>> categories will be placed (and saved) at the 
>>>>>>>>>>>>>>>>>>>>>>>>>>> bottom of the category list (and as result, 
>>>>>>>>>>>>>>>>>>>>>>>>>>> appear last (right-most) in the category 
>>>>>>>>>>>>>>>>>>>>>>>>>>> list, and, later (2) probably have up and 
>>>>>>>>>>>>>>>>>>>>>>>>>>> down buttons in the table allowing users to 
>>>>>>>>>>>>>>>>>>>>>>>>>>> easily reorder the categories as they like. 
>>>>>>>>>>>>>>>>>>>>>>>>>>> (Strictly speaking, 1 alone is all that's 
>>>>>>>>>>>>>>>>>>>>>>>>>>> needed for ordering, as you can 
>>>>>>>>>>>>>>>>>>>>>>>>>>> remove/name/delete/recreate categories to 
>>>>>>>>>>>>>>>>>>>>>>>>>>> eventually get them in the position you'd 
>>>>>>>>>>>>>>>>>>>>>>>>>>> like, but (2) of course is much nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't looked into 
>>>>>>>>>>>>>>>>>>>>>>>>>>> this): The templates (probably just a macro 
>>>>>>>>>>>>>>>>>>>>>>>>>>> or two) will need updating to ensure that 
>>>>>>>>>>>>>>>>>>>>>>>>>>> they output the category names per the new 
>>>>>>>>>>>>>>>>>>>>>>>>>>> position order.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one advantage is 
>>>>>>>>>>>>>>>>>>>>>>>>>>> that I'd like to do the same thing with 
>>>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks/blogrolls (team discussion 
>>>>>>>>>>>>>>>>>>>>>>>>>>> pending...), switch from a hierarchical to 
>>>>>>>>>>>>>>>>>>>>>>>>>>> flat-level for those too.  If we can do this 
>>>>>>>>>>>>>>>>>>>>>>>>>>> for categories, the logic/UI design, etc., 
>>>>>>>>>>>>>>>>>>>>>>>>>>> will carry over 100% to bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually getting to this 
>>>>>>>>>>>>>>>>>>>>>>>>>>> myself, so am available to work with you on 
>>>>>>>>>>>>>>>>>>>>>>>>>>> whatever parts you'd like. I think going in 
>>>>>>>>>>>>>>>>>>>>>>>>>>> order 1-2-3-4 and having separate commits 
>>>>>>>>>>>>>>>>>>>>>>>>>>> may be the cleanest way of doing this. 
>>>>>>>>>>>>>>>>>>>>>>>>>>> What's nice about using a brand new table 
>>>>>>>>>>>>>>>>>>>>>>>>>>> and JPA object is that the old objects can 
>>>>>>>>>>>>>>>>>>>>>>>>>>> still work in the code while we're creating 
>>>>>>>>>>>>>>>>>>>>>>>>>>> the new, we just don't activate the new 
>>>>>>>>>>>>>>>>>>>>>>>>>>> until the very end.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team members on the 
>>>>>>>>>>>>>>>>>>>>>>>>>>> above ideas...?) Or are there other Roller 
>>>>>>>>>>>>>>>>>>>>>>>>>>> tasks you'd like to sink your teeth into 
>>>>>>>>>>>>>>>>>>>>>>>>>>> instead? I can look at this otherwise, but 
>>>>>>>>>>>>>>>>>>>>>>>>>>> this looks like a very good exercise for 
>>>>>>>>>>>>>>>>>>>>>>>>>>> someone wanting to get more involved in 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Roller, as it covers all the layers of the 
>>>>>>>>>>>>>>>>>>>>>>>>>>> webapp.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on ROL-1981, as 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> discussed in previous discussion threads I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> will add new column sequenceNum in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory table. Then we can assign 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> sequenceNum to each category according to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> websideid. If anyone have some ideas 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> regarding this, please help me. Also, need 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> some help on how to go with this issue, and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> how to add new coloum, I found .sql file, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> do I need to add there new column. Also, Is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> this possible that that when I restart the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> roller it will add new column to database ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
>


Re: (another idea) Re: ROL-1981 Category ordering

Posted by Gaurav <ga...@gmail.com>.
Hello Glen,

I searched whole project and did not find anywhere. I think might be I 
have done something wrong, as when I start with new database, everything 
work just deleting gives me this error. If I work on old database it 
even did not start up (localhost:8080/roller) gives my below error.

I have checked almost everything I can, might be some wrong java code 
and anything I done wrong that causes this. Should I submit by work so 
you can look on to it, or if we are not in any hurry than I can look 
into it again step by step (I prefer second option if we have one more 
week. Just another week or so, next week i have some tight schedule). I 
know I am taking too much time, but I am new to this level of Java code, 
as I worked maximum time at client side. But I really loving java code 
and learned a lot till now, before this I just worked with Java on small 
projects. OpenSource Projects really are very powerful and good way to 
learn new things.

Exception [EclipseLink-4002] (Eclipse Persistence Services - 
2.5.0.v20130507-3faac2b): 
org.eclipse.persistence.exceptions.DatabaseException Internal Exception: 
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
'roller.category_category' doesn't exist Error Code: 1146 Call: SELECT 
t1.id, t1.description, t1.image, t1.name, t1.websiteid FROM 
category_category t0, category t1 WHERE ((t0.WeblogCategory_id = ?) AND 
(t1.id = t0.weblogCategories_id)) bind => [1 parameter bound] Query: 
ReadAllQuery(name="weblogCategories" referenceClass=WeblogCategory 
sql="SELECT t1.id, t1.description, t1.image, t1.name, t1.websiteid FROM 
category_category t0, category t1 WHERE ((t0.WeblogCategory_id = ?) AND 
(t1.id = t0.weblogCategories_id))")

Thanks
Gaurav

On Sunday 05 January 2014 12:00 AM, Glen Mazza wrote:
> Hi Gaurav, no, that relation shouldn't be needed anymore.
>
> As for the table name, at the top of your orm.xml file the table name 
> the file maps against is declared -- perhaps you accidentally called 
> it category_category.  I would grep or use a file search from your IDE 
> of your entire roller source code, looking for where category_category 
> is being declared -- (probably) has to be there someplace.  (More 
> specifically, do a file search on "DataModifyQuery" -- that's probably 
> exactly where the problem is.)
>
> Once working, try to import the latest code changes into your code 
> before submitting a patch (actually create a backup patch first just 
> in case).  Not sure but I think a simple svn update will do -- svn 
> will identify some files where it will need your assistance to resolve 
> any differences -- it shouldn't be too hard or time-consuming to do.
>
> Regards,
> Glen
>
> On 01/04/2014 08:55 AM, Gaurav wrote:
>> Hello Glen,
>>
>> I just want to know that the below relations in 
>> WeblogCategory.orm.xml are required or not as now the parent is not 
>> used so, I don't think its needed now. I have commented the below lines.
>>
>> <many-to-one name="parent" 
>> target-entity="org.apache.roller.weblogger.pojos.Category">
>>                 <join-column name="parentid" insertable="true" 
>> updatable="true" nullable="true"/>
>>             </many-to-one>
>>             <one-to-many name="weblogCategories" mapped-by="parent" 
>> target-entity="org.apache.roller.weblogger.pojos.Category" fetch="LAZY">
>>                 <cascade>
>>                     <cascade-remove/>
>>                 </cascade>
>>             </one-to-many>
>>             <transient name="inUse"/>
>>
>> I asked this because, getting categories giving me mysql exception. 
>> The new table is 'roller.category' but it executes for 
>> 'roller.category_category'.
>> I am not able to get what I have done wrong.
>>
>> Internal Exception: 
>> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
>> 'roller.category_category' doesn't exist
>> Error Code: 1146
>> Call: DELETE FROM category_category WHERE (WeblogCategory_id = ?)
>>     bind => [1 parameter bound]
>> Query: DataModifyQuery(name="weblogCategories" sql="DELETE FROM 
>> category_category WHERE (WeblogCategory_id = ?)")
>>
>> Also, I have changed the getWeblogCategoryByPath to 
>> getWeblogCategoryByName so feeds and other places work fine. I have 
>> able to get catgeory list, new entries are creating successfully. 
>> Just deleting the weblog is giving me above error.
>>
>> Thanks
>> Gaurav
>>
>>
>> On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
>>> Hello Glen,
>>>
>>> I have already deleted getPath and getParent and in the mid of 
>>> everything. I hope I will be able to complete this by Monday. If 
>>> still, I get some major issues due to this, I will switch to what 
>>> you suggested. Just give me time till Monday, as I have done almost 
>>> 80% of code cleaned regarding the path and parentcategory. I will 
>>> get back to you soon with some patches and then you can test it.
>>>
>>> Also, my ICLA have been filed, got the receipt of my ICLA.
>>>
>>> Thanks
>>> Gaurav
>>>
>>>
>>> On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
>>>> Gaurav, sorry, it just occurred to me there's a simpler 
>>>> intermediate step that can be done.  While we need the database 
>>>> table without a path column, and to remove the "path" member 
>>>> *variable* from WeblogCategory (or its replacement), we can still 
>>>> keep indefinitely keep getPath(), just hardcode it to "/" + 
>>>> categoryName, which is precisely what the old code returns for any 
>>>> top-level category--the rest of the system can stay just as it did 
>>>> before.  Switching the rest of the code from getPath() to using 
>>>> getName() can be done at any time, bit by bit whenever, that's not 
>>>> necessary to implement positioning, that's just a code cleanup 
>>>> issue.  Likewise, for WeblogCategory.getParent(), it may be as 
>>>> simple as adding a root category object as part of the Weblog's 
>>>> constructor (but not saved to the database), and having 
>>>> WeblogCategory.getParent() just return 
>>>> website.getParentCategory()--that way all categories for a weblog 
>>>> will have the same root category as before, and the rest of the 
>>>> code base should function fine.  Once we're on the new table, then 
>>>> it's an issue of implementing positioning--getting rid of 
>>>> getParent() and getPath() can be done by anybody at a later date.
>>>>
>>>> Regards,
>>>> Glen
>>>>
>>>>
>>>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>>>> No problem, I'm available to help (or finish it up) if needed.  
>>>>> For a seemingly simple switch, you're certainly getting a *full* 
>>>>> education of the Roller codebase.  :)
>>>>>
>>>>> BTW, I hope you're not testing via mvn jetty:run, as that requires 
>>>>> you to keep logging in for the first time, creating a blog for the 
>>>>> first time, etc., whenever you start it. Very inefficient and 
>>>>> tiring.  Normally I just build (mvn clean install) and dump the 
>>>>> WAR into standalone Tomcat on my local machine.  The database & 
>>>>> other configuration I keep permanently in roller-custom.properties 
>>>>> in the Tomcat lib/ folder, so the new WAR just takes over with the 
>>>>> same configuration, blogs, accounts, etc., that old WAR was using. 
>>>>> (Check the Roller install guide for full instructions.)
>>>>>
>>>>> Also vital is that you know how to debug/trace Roller code in 
>>>>> Eclipse or IntelliJ while it is running on Tomcat (or another 
>>>>> servlet container).  It's much simpler than it seems, and will 
>>>>> save you a lot of time.  These instructions are for Eclipse but 
>>>>> Intellij (my preference) is basically the same: 
>>>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. Checking 
>>>>> variable values while it's running will point you to where 
>>>>> problems are much more quickly.
>>>>>
>>>>> Happy New Year!
>>>>>
>>>>> Regards,
>>>>> Glen
>>>>>
>>>>>
>>>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>>>> Hello Glen,
>>>>>>
>>>>>> As, I previously told you that the test cases are giving problem, 
>>>>>> actually I think we have to do some changes in Test Cases also, 
>>>>>> as many of the methods involving path and parent are removed so, 
>>>>>> many times in test cases (it did not get correct values and give 
>>>>>> errors).
>>>>>> I have successfully showed the categories by website till now in 
>>>>>> the admin section. Also, the entries are saved just, I ran out of 
>>>>>> memory issue in happen when I save an entry that entry, although 
>>>>>> it get saved when I refresh the page.
>>>>>>
>>>>>> Also, as their is not path now, we have to do some changes in 
>>>>>> velocity files, as feeds are giving error in showing, although if 
>>>>>> I direct enter the URL its working fine. I have cleared many 
>>>>>> parts of the code, just I have test of the roller parts which are 
>>>>>> linked the path and parent. I am thinking of correcting the test 
>>>>>> cases, as I can run them and if test cases are fine then might be 
>>>>>> everything will work fine.
>>>>>>
>>>>>> I will return to work on this after 3 days, as I will be and will 
>>>>>> get be to it during coming weekend again. I will wrap this out 
>>>>>> asap for you to test and will attach patches coming weekend.
>>>>>>
>>>>>> Thanks
>>>>>> Gaurav
>>>>>>
>>>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>>>> Thanks for that info, I have changed my settings in the eclipse.
>>>>>>> Yes, you are right I will leave the ordering part for now and 
>>>>>>> work on clearing the code for now. For now I will just add a 
>>>>>>> column in category table with position, leaving it null for now.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Gaurav
>>>>>>>
>>>>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza wrote:
>>>>>>>> Your last ImprovedCreateUser.patch had some tab characters in 
>>>>>>>> it, and our project uses spaces for tabs (just have Eclipse 
>>>>>>>> insert 4 spaces whenever you hit the tab key, with no tab 
>>>>>>>> characters.) Very few Apache projects (any?) are tab-indented 
>>>>>>>> today. It is a simple fix with IntelliJ IDEA (Edit -> Convert 
>>>>>>>> Indents -> To Spaces), I'm sure Eclipse has an equivalent.
>>>>>>>>
>>>>>>>> For blogs migrating from pre-5.1 versions, we can keep the 
>>>>>>>> position NULL by default (and when you order by position, with 
>>>>>>>> null values, they will come out in any order, like they do 
>>>>>>>> today.)    Whenever a new blog is created with the default 
>>>>>>>> three categories, those can be assigned positions (probably 
>>>>>>>> 0-based for leftmost is best.)  For migrated blogs, once the 
>>>>>>>> user goes to the category page and makes a change for the first 
>>>>>>>> time, numbers can be written for the very first time--no 
>>>>>>>> special extra UI is needed for this purpose. But like I was 
>>>>>>>> saying, this is such a lengthy patch you may wish to forget 
>>>>>>>> about the ordering right now--it doesn't work anyway in Roller 
>>>>>>>> right now.  It may be best to get us to the new table and get 
>>>>>>>> rid of the paths, and once we're on that firmer foundation 
>>>>>>>> implementing positioning (on the Category page and in the 
>>>>>>>> templates) will be much simpler.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Glen
>>>>>>>>
>>>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>>>> Hello Glen,
>>>>>>>>>
>>>>>>>>> I will change the position to be integer, and will exclude the 
>>>>>>>>> category where parent null, but still what can be done for the 
>>>>>>>>> position as the old data did not have position, so how and on 
>>>>>>>>> what basis we have to add position to it. I was thinking that 
>>>>>>>>> we can left it as null, and provide some UI in backend where 
>>>>>>>>> user can assign position themselves.
>>>>>>>>>
>>>>>>>>> I will take care of spacing, will search what I am doing 
>>>>>>>>> wrong. As, I am not sure is that you are talking about 
>>>>>>>>> formatting the code, or anything else. As I use tab (with 4 
>>>>>>>>> spaces) in Eclipse IDE.
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> Gaurav
>>>>>>>>>
>>>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen Mazza wrote:
>>>>>>>>>> BTW, not to be hated, but make sure any code you submit is 
>>>>>>>>>> space-padded (4 spaces), *not* tab-padded. Your IDE should be 
>>>>>>>>>> able to convert it for you if you've been doing tab-padding.
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Glen
>>>>>>>>>>
>>>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>
>>>>>>>>>>> I am confused on how to add and on what basis we have to 
>>>>>>>>>>> addd position to the new category table. Below two sql 
>>>>>>>>>>> commands can be used for coping data and deleting the root 
>>>>>>>>>>> categories.
>>>>>>>>>>>
>>>>>>>>>>> create table category (
>>>>>>>>>>>     id               varchar(48)  not null primary key,
>>>>>>>>>>>     name             varchar(255) not null,
>>>>>>>>>>>     description      varchar(255),
>>>>>>>>>>>     websiteid        varchar(48) not null,
>>>>>>>>>>>     image            varchar(255),
>>>>>>>>>>>     position         varchar(48)
>>>>>>>>>>> );
>>>>>>>>>>>
>>>>>>>>>>> insert into category(id,name,description,websiteid,image) 
>>>>>>>>>>> select id,name,description,websiteid,image from weblogcategory;
>>>>>>>>>>>
>>>>>>>>>>> delete from category where name="root";
>>>>>>>>>>>
>>>>>>>>>>> What do you suggest for this ?
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>> Gaurav
>>>>>>>>>>>
>>>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen Mazza wrote:
>>>>>>>>>>>> Take your time, this is a messy change as it affects many 
>>>>>>>>>>>> areas of the code. But Roller will be architecturally much 
>>>>>>>>>>>> more solid and simpler once this change is done.  I have 
>>>>>>>>>>>> your ROL-1616 and ROL-1982 on my plate for this weekend.
>>>>>>>>>>>>
>>>>>>>>>>>> Glen
>>>>>>>>>>>>
>>>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have deleted the path and all related methods, but its 
>>>>>>>>>>>>> seems to me that the path methods like 
>>>>>>>>>>>>> (getWeblogCategoryByPath) and many other path and parent 
>>>>>>>>>>>>> related methods, are scattered over the whole roller. 
>>>>>>>>>>>>> There are many occurrence of these methods and I have to 
>>>>>>>>>>>>> sort out each piece of code as now there is no path so, 
>>>>>>>>>>>>> mostly we check for categoryPath != null in if conditions, 
>>>>>>>>>>>>> so these are no longer needed.
>>>>>>>>>>>>> Also, I as thinking after testing and completing this we 
>>>>>>>>>>>>> can delete the WeblogCategory and replace with Category 
>>>>>>>>>>>>> method, as it will be clean. I also figured out why my 
>>>>>>>>>>>>> tests are failing as during creating of weblogentry it did 
>>>>>>>>>>>>> not find the categories, as that class was using old 
>>>>>>>>>>>>> WeblogCategory table and using that class methods. I think 
>>>>>>>>>>>>> I will definitely will figure out everything at the end 
>>>>>>>>>>>>> and will successfully test with the unit tests.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I am now in the editor part so can display the categories 
>>>>>>>>>>>>> on front end, I am now all over the 1-2-3-4 steps you 
>>>>>>>>>>>>> mentioned. As soon as I will able to display the 
>>>>>>>>>>>>> categories (small issues left) at the backend, I will 
>>>>>>>>>>>>> again go through my changes. Also, at this time I can only 
>>>>>>>>>>>>> create patch for new table and migration script, as all 
>>>>>>>>>>>>> other classes code are interrelated so can't submit now. I 
>>>>>>>>>>>>> will test every single thing related to categories, then I 
>>>>>>>>>>>>> will submit my patches.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Although I have learned a lot new things, just spent last 
>>>>>>>>>>>>> two full days on this sorting out things, many times 
>>>>>>>>>>>>> ending up nowhere from where I started. But I am confident 
>>>>>>>>>>>>> that I will definitely complete this task. Just I am 
>>>>>>>>>>>>> worrying that I must be taking too much time.
>>>>>>>>>>>>>
>>>>>>>>>>>>> If there is something, you can advice me I would happy to 
>>>>>>>>>>>>> follow that also.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen Mazza wrote:
>>>>>>>>>>>>>> If it helps, you can provide interim patches, so long as 
>>>>>>>>>>>>>> it doesn't break the current code base. You may want to 
>>>>>>>>>>>>>> create a patch just creating the new database table 
>>>>>>>>>>>>>> (which will be ignored by the current code) and sql 
>>>>>>>>>>>>>> insert-select scripts to move from the current table to 
>>>>>>>>>>>>>> the new one, then one converting the code to using the 
>>>>>>>>>>>>>> new table without sorting, then (finally) one that 
>>>>>>>>>>>>>> implements sorting of the categories.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I have created and updated all necessary files in JPA 
>>>>>>>>>>>>>>> and for database, I tried compiling the code it gave me 
>>>>>>>>>>>>>>> errors in test cases. As I am not sure that what I am 
>>>>>>>>>>>>>>> wrong in this. Although I tried compiling without 
>>>>>>>>>>>>>>> running test cases, it worked fine. I tested it with 
>>>>>>>>>>>>>>> tomcat and new table category is created and initial 
>>>>>>>>>>>>>>> category (General, Finance and Technology) are created 
>>>>>>>>>>>>>>> with the position 1,2,3. Still there are many thing I 
>>>>>>>>>>>>>>> have to clean up and sort out and will test it again.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, Gaurav wrote:
>>>>>>>>>>>>>>>> Ok, got your point. I will check on other Roller parts 
>>>>>>>>>>>>>>>> also if parent name and path aren't be using in any 
>>>>>>>>>>>>>>>> other part of Roller. I will go into the RSS and Atom 
>>>>>>>>>>>>>>>> feeds later on, and see what changes it need. As, till 
>>>>>>>>>>>>>>>> now I have changed many files and created some, so will 
>>>>>>>>>>>>>>>> first test this part then go into that feeds part.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>> Sounds good, but may require more work to make sure 
>>>>>>>>>>>>>>>>> all is good with the RSS and Atom feeds as a result 
>>>>>>>>>>>>>>>>> (which I believe rely on path). Where path is used to 
>>>>>>>>>>>>>>>>> check for equivalence, I guess name (and blog/website 
>>>>>>>>>>>>>>>>> ID, if necessary) alone will do now. We may need to 
>>>>>>>>>>>>>>>>> check (if we aren't already) that no two categories 
>>>>>>>>>>>>>>>>> have the same name, where prior we were checking that 
>>>>>>>>>>>>>>>>> no two paths are the same (i.e., allowing category 
>>>>>>>>>>>>>>>>> paths USStates/Georgia and Countries/Georgia but now 
>>>>>>>>>>>>>>>>> needing to disallow two categories named "Georgia".)
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I am thinking of removing the path coloumn also, as 
>>>>>>>>>>>>>>>>>> it does not make sense now as there will no 
>>>>>>>>>>>>>>>>>> subcategories and all will have same path (like 
>>>>>>>>>>>>>>>>>> /categoryname). WDYT ?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> I want to know as now all the categories will be 
>>>>>>>>>>>>>>>>>>>> top level, so the root category which is created by 
>>>>>>>>>>>>>>>>>>>> default on addWeblog isn't needed. So, I can remove 
>>>>>>>>>>>>>>>>>>>> that code also ? I am in half completed with the 
>>>>>>>>>>>>>>>>>>>> 1-2 steps will soon submit some patched in jira 
>>>>>>>>>>>>>>>>>>>> issue. You can look on to them whenever you will 
>>>>>>>>>>>>>>>>>>>> get time from other projects.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on this, I 
>>>>>>>>>>>>>>>>>>>>> understand your commitments. As this will give me 
>>>>>>>>>>>>>>>>>>>>> more time on working on this issue. I will give my 
>>>>>>>>>>>>>>>>>>>>> 100% on this, as I also want to get into more and 
>>>>>>>>>>>>>>>>>>>>> more open source projects. For Now I am focusing 
>>>>>>>>>>>>>>>>>>>>> on Roller for starting my contributions in open 
>>>>>>>>>>>>>>>>>>>>> source.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 AM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I can't help much 
>>>>>>>>>>>>>>>>>>>>>> right now either, as my other project JSPWiki has 
>>>>>>>>>>>>>>>>>>>>>> a new release going out.) But please be patient 
>>>>>>>>>>>>>>>>>>>>>> with us on your recent submitted patches -- we 
>>>>>>>>>>>>>>>>>>>>>> haven't forgotten you and are happy with your 
>>>>>>>>>>>>>>>>>>>>>> efforts on this project so far, we just have 
>>>>>>>>>>>>>>>>>>>>>> full-time jobs and, even after that, other 
>>>>>>>>>>>>>>>>>>>>>> obligations -- for open source work, we usually 
>>>>>>>>>>>>>>>>>>>>>> have to beg, borrow and steal time to work on them.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I am going through this having some issues, 
>>>>>>>>>>>>>>>>>>>>>>> although not major till now. I have still 
>>>>>>>>>>>>>>>>>>>>>>> working on 1-2 steps, might be I am slow as get 
>>>>>>>>>>>>>>>>>>>>>>> less time. (Wish we also have holidays of this 
>>>>>>>>>>>>>>>>>>>>>>> festive season in India :P) Just want to know 
>>>>>>>>>>>>>>>>>>>>>>> isn't there any hurry for completing this asap ? 
>>>>>>>>>>>>>>>>>>>>>>> Although, I am sure will definitely complete 
>>>>>>>>>>>>>>>>>>>>>>> this as I have understood the structure of 
>>>>>>>>>>>>>>>>>>>>>>> Roller completely. Just I have to go through the 
>>>>>>>>>>>>>>>>>>>>>>> JPA more and read about this.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 PM, Glen 
>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're missing will 
>>>>>>>>>>>>>>>>>>>>>>>> become apparent to you as you work along. The 
>>>>>>>>>>>>>>>>>>>>>>>> Roller installation guide and here 
>>>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>>>> can show you how to test also with Derby if 
>>>>>>>>>>>>>>>>>>>>>>>> you'd like. (It is usually simpler than MySQL, 
>>>>>>>>>>>>>>>>>>>>>>>> and another benefit of working on Roller is 
>>>>>>>>>>>>>>>>>>>>>>>> that you become multiple-database-lingual very 
>>>>>>>>>>>>>>>>>>>>>>>> quickly.)
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I with this 
>>>>>>>>>>>>>>>>>>>>>>>>> much deep information, I can start working in 
>>>>>>>>>>>>>>>>>>>>>>>>> it. I have started working on this Issue and 
>>>>>>>>>>>>>>>>>>>>>>>>> have followed your steps.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in createdb.vm and in 
>>>>>>>>>>>>>>>>>>>>>>>>> migration scripts also. I have for mow stared 
>>>>>>>>>>>>>>>>>>>>>>>>> working on MySQL.
>>>>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl class, I have 
>>>>>>>>>>>>>>>>>>>>>>>>> commented updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for now 
>>>>>>>>>>>>>>>>>>>>>>>>> Category.orm.xml and enterd details of new 
>>>>>>>>>>>>>>>>>>>>>>>>> table. A new class Category in weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> I have created new files for now and will work 
>>>>>>>>>>>>>>>>>>>>>>>>> on this and add new position coloum and code 
>>>>>>>>>>>>>>>>>>>>>>>>> regarding this. Other than UI and template 
>>>>>>>>>>>>>>>>>>>>>>>>> Layer, I think I have covered all files on 
>>>>>>>>>>>>>>>>>>>>>>>>> which I have to work on the Database and JPA 
>>>>>>>>>>>>>>>>>>>>>>>>> layers ? Please tell me if I am wrong anywhere 
>>>>>>>>>>>>>>>>>>>>>>>>> or following wrong workflow.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for our database 
>>>>>>>>>>>>>>>>>>>>>>>>>> scripts -- you see a createdb.vm plus 
>>>>>>>>>>>>>>>>>>>>>>>>>> migration scripts (5.0 to 5.1) -- we'll want 
>>>>>>>>>>>>>>>>>>>>>>>>>> our change in both places (IIRC), new users 
>>>>>>>>>>>>>>>>>>>>>>>>>> have the createdb run and Roller upgraders 
>>>>>>>>>>>>>>>>>>>>>>>>>> with their current DB's have the 5.0 to 5.1 
>>>>>>>>>>>>>>>>>>>>>>>>>> migration script run.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here and I'd like to 
>>>>>>>>>>>>>>>>>>>>>>>>>> get this done right (I plan on helping out 
>>>>>>>>>>>>>>>>>>>>>>>>>> where you'd like). Namely, we've moved from a 
>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical category structure (categories 
>>>>>>>>>>>>>>>>>>>>>>>>>> having subcategories having their own 
>>>>>>>>>>>>>>>>>>>>>>>>>> subcatorgories etc.) to a flat single-level 
>>>>>>>>>>>>>>>>>>>>>>>>>> structure (all categories are top level) -- 
>>>>>>>>>>>>>>>>>>>>>>>>>> that was done a week or so back. Problem is, 
>>>>>>>>>>>>>>>>>>>>>>>>>> the database tables are still assuming 
>>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical (they will work with flat 
>>>>>>>>>>>>>>>>>>>>>>>>>> structures but are overkill--we don't need a 
>>>>>>>>>>>>>>>>>>>>>>>>>> parent ID column anymore.) Also, the JPA 
>>>>>>>>>>>>>>>>>>>>>>>>>> objects are designed for hierarchical but can 
>>>>>>>>>>>>>>>>>>>>>>>>>> simplified a bit more to flat structure. 
>>>>>>>>>>>>>>>>>>>>>>>>>> Incidentally, "sequenceNum" is ambiguous 
>>>>>>>>>>>>>>>>>>>>>>>>>> about what it means, I would say "position" 
>>>>>>>>>>>>>>>>>>>>>>>>>> or "ordering" (INT null, null for migrators 
>>>>>>>>>>>>>>>>>>>>>>>>>> who don't yet have a position defined) is 
>>>>>>>>>>>>>>>>>>>>>>>>>> clearer.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to handle this--for 
>>>>>>>>>>>>>>>>>>>>>>>>>> both new installers and upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new table, say 
>>>>>>>>>>>>>>>>>>>>>>>>>> "category" designed precisely as we need, and 
>>>>>>>>>>>>>>>>>>>>>>>>>> have the migration scripts select from the 
>>>>>>>>>>>>>>>>>>>>>>>>>> old weblogcategory and insert into the new 
>>>>>>>>>>>>>>>>>>>>>>>>>> category table. (We then ignore the 
>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory table.) We'll need to test the 
>>>>>>>>>>>>>>>>>>>>>>>>>> scripts with at least two databases (2 of 
>>>>>>>>>>>>>>>>>>>>>>>>>> probably MySQL, Derby and/or PostgreSQL) and 
>>>>>>>>>>>>>>>>>>>>>>>>>> guess for the others--if we're wrong the user 
>>>>>>>>>>>>>>>>>>>>>>>>>> community can supply a patch fixing it.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence object (the old 
>>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory) will need 
>>>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as it's now 
>>>>>>>>>>>>>>>>>>>>>>>>>> flat-level. Indeed, I think things will get a 
>>>>>>>>>>>>>>>>>>>>>>>>>> *lot* simpler here, as it may just be the 
>>>>>>>>>>>>>>>>>>>>>>>>>> parent Weblog holding a list of some sort of 
>>>>>>>>>>>>>>>>>>>>>>>>>> Category objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp (or whatever 
>>>>>>>>>>>>>>>>>>>>>>>>>> it's called) and its Struts action class will 
>>>>>>>>>>>>>>>>>>>>>>>>>> now need to use the new Category object (and 
>>>>>>>>>>>>>>>>>>>>>>>>>> table) instead of WeblogCategory. The UI page 
>>>>>>>>>>>>>>>>>>>>>>>>>> will need two changes: (1) all new categories 
>>>>>>>>>>>>>>>>>>>>>>>>>> will be placed (and saved) at the bottom of 
>>>>>>>>>>>>>>>>>>>>>>>>>> the category list (and as result, appear last 
>>>>>>>>>>>>>>>>>>>>>>>>>> (right-most) in the category list, and, later 
>>>>>>>>>>>>>>>>>>>>>>>>>> (2) probably have up and down buttons in the 
>>>>>>>>>>>>>>>>>>>>>>>>>> table allowing users to easily reorder the 
>>>>>>>>>>>>>>>>>>>>>>>>>> categories as they like. (Strictly speaking, 
>>>>>>>>>>>>>>>>>>>>>>>>>> 1 alone is all that's needed for ordering, as 
>>>>>>>>>>>>>>>>>>>>>>>>>> you can remove/name/delete/recreate 
>>>>>>>>>>>>>>>>>>>>>>>>>> categories to eventually get them in the 
>>>>>>>>>>>>>>>>>>>>>>>>>> position you'd like, but (2) of course is 
>>>>>>>>>>>>>>>>>>>>>>>>>> much nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't looked into 
>>>>>>>>>>>>>>>>>>>>>>>>>> this): The templates (probably just a macro 
>>>>>>>>>>>>>>>>>>>>>>>>>> or two) will need updating to ensure that 
>>>>>>>>>>>>>>>>>>>>>>>>>> they output the category names per the new 
>>>>>>>>>>>>>>>>>>>>>>>>>> position order.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one advantage is that 
>>>>>>>>>>>>>>>>>>>>>>>>>> I'd like to do the same thing with 
>>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks/blogrolls (team discussion 
>>>>>>>>>>>>>>>>>>>>>>>>>> pending...), switch from a hierarchical to 
>>>>>>>>>>>>>>>>>>>>>>>>>> flat-level for those too.  If we can do this 
>>>>>>>>>>>>>>>>>>>>>>>>>> for categories, the logic/UI design, etc., 
>>>>>>>>>>>>>>>>>>>>>>>>>> will carry over 100% to bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually getting to this 
>>>>>>>>>>>>>>>>>>>>>>>>>> myself, so am available to work with you on 
>>>>>>>>>>>>>>>>>>>>>>>>>> whatever parts you'd like. I think going in 
>>>>>>>>>>>>>>>>>>>>>>>>>> order 1-2-3-4 and having separate commits may 
>>>>>>>>>>>>>>>>>>>>>>>>>> be the cleanest way of doing this. What's 
>>>>>>>>>>>>>>>>>>>>>>>>>> nice about using a brand new table and JPA 
>>>>>>>>>>>>>>>>>>>>>>>>>> object is that the old objects can still work 
>>>>>>>>>>>>>>>>>>>>>>>>>> in the code while we're creating the new, we 
>>>>>>>>>>>>>>>>>>>>>>>>>> just don't activate the new until the very end.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team members on the above 
>>>>>>>>>>>>>>>>>>>>>>>>>> ideas...?) Or are there other Roller tasks 
>>>>>>>>>>>>>>>>>>>>>>>>>> you'd like to sink your teeth into instead? I 
>>>>>>>>>>>>>>>>>>>>>>>>>> can look at this otherwise, but this looks 
>>>>>>>>>>>>>>>>>>>>>>>>>> like a very good exercise for someone wanting 
>>>>>>>>>>>>>>>>>>>>>>>>>> to get more involved in Roller, as it covers 
>>>>>>>>>>>>>>>>>>>>>>>>>> all the layers of the webapp.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on ROL-1981, as 
>>>>>>>>>>>>>>>>>>>>>>>>>>> discussed in previous discussion threads I 
>>>>>>>>>>>>>>>>>>>>>>>>>>> will add new column sequenceNum in 
>>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory table. Then we can assign 
>>>>>>>>>>>>>>>>>>>>>>>>>>> sequenceNum to each category according to 
>>>>>>>>>>>>>>>>>>>>>>>>>>> websideid. If anyone have some ideas 
>>>>>>>>>>>>>>>>>>>>>>>>>>> regarding this, please help me. Also, need 
>>>>>>>>>>>>>>>>>>>>>>>>>>> some help on how to go with this issue, and 
>>>>>>>>>>>>>>>>>>>>>>>>>>> how to add new coloum, I found .sql file, do 
>>>>>>>>>>>>>>>>>>>>>>>>>>> I need to add there new column. Also, Is 
>>>>>>>>>>>>>>>>>>>>>>>>>>> this possible that that when I restart the 
>>>>>>>>>>>>>>>>>>>>>>>>>>> roller it will add new column to database ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>


Re: (another idea) Re: ROL-1981 Category ordering

Posted by Glen Mazza <gl...@gmail.com>.
Hi Gaurav, no, that relation shouldn't be needed anymore.

As for the table name, at the top of your orm.xml file the table name 
the file maps against is declared -- perhaps you accidentally called it 
category_category.  I would grep or use a file search from your IDE of 
your entire roller source code, looking for where category_category is 
being declared -- (probably) has to be there someplace.  (More 
specifically, do a file search on "DataModifyQuery" -- that's probably 
exactly where the problem is.)

Once working, try to import the latest code changes into your code 
before submitting a patch (actually create a backup patch first just in 
case).  Not sure but I think a simple svn update will do -- svn will 
identify some files where it will need your assistance to resolve any 
differences -- it shouldn't be too hard or time-consuming to do.

Regards,
Glen

On 01/04/2014 08:55 AM, Gaurav wrote:
> Hello Glen,
>
> I just want to know that the below relations in WeblogCategory.orm.xml 
> are required or not as now the parent is not used so, I don't think 
> its needed now. I have commented the below lines.
>
> <many-to-one name="parent" 
> target-entity="org.apache.roller.weblogger.pojos.Category">
>                 <join-column name="parentid" insertable="true" 
> updatable="true" nullable="true"/>
>             </many-to-one>
>             <one-to-many name="weblogCategories" mapped-by="parent" 
> target-entity="org.apache.roller.weblogger.pojos.Category" fetch="LAZY">
>                 <cascade>
>                     <cascade-remove/>
>                 </cascade>
>             </one-to-many>
>             <transient name="inUse"/>
>
> I asked this because, getting categories giving me mysql exception. 
> The new table is 'roller.category' but it executes for 
> 'roller.category_category'.
> I am not able to get what I have done wrong.
>
> Internal Exception: 
> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
> 'roller.category_category' doesn't exist
> Error Code: 1146
> Call: DELETE FROM category_category WHERE (WeblogCategory_id = ?)
>     bind => [1 parameter bound]
> Query: DataModifyQuery(name="weblogCategories" sql="DELETE FROM 
> category_category WHERE (WeblogCategory_id = ?)")
>
> Also, I have changed the getWeblogCategoryByPath to 
> getWeblogCategoryByName so feeds and other places work fine. I have 
> able to get catgeory list, new entries are creating successfully. Just 
> deleting the weblog is giving me above error.
>
> Thanks
> Gaurav
>
>
> On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
>> Hello Glen,
>>
>> I have already deleted getPath and getParent and in the mid of 
>> everything. I hope I will be able to complete this by Monday. If 
>> still, I get some major issues due to this, I will switch to what you 
>> suggested. Just give me time till Monday, as I have done almost 80% 
>> of code cleaned regarding the path and parentcategory. I will get 
>> back to you soon with some patches and then you can test it.
>>
>> Also, my ICLA have been filed, got the receipt of my ICLA.
>>
>> Thanks
>> Gaurav
>>
>>
>> On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
>>> Gaurav, sorry, it just occurred to me there's a simpler intermediate 
>>> step that can be done.  While we need the database table without a 
>>> path column, and to remove the "path" member *variable* from 
>>> WeblogCategory (or its replacement), we can still keep indefinitely 
>>> keep getPath(), just hardcode it to "/" + categoryName, which is 
>>> precisely what the old code returns for any top-level category--the 
>>> rest of the system can stay just as it did before.  Switching the 
>>> rest of the code from getPath() to using getName() can be done at 
>>> any time, bit by bit whenever, that's not necessary to implement 
>>> positioning, that's just a code cleanup issue.  Likewise, for 
>>> WeblogCategory.getParent(), it may be as simple as adding a root 
>>> category object as part of the Weblog's constructor (but not saved 
>>> to the database), and having WeblogCategory.getParent() just return 
>>> website.getParentCategory()--that way all categories for a weblog 
>>> will have the same root category as before, and the rest of the code 
>>> base should function fine.  Once we're on the new table, then it's 
>>> an issue of implementing positioning--getting rid of getParent() and 
>>> getPath() can be done by anybody at a later date.
>>>
>>> Regards,
>>> Glen
>>>
>>>
>>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>>> No problem, I'm available to help (or finish it up) if needed.  For 
>>>> a seemingly simple switch, you're certainly getting a *full* 
>>>> education of the Roller codebase.  :)
>>>>
>>>> BTW, I hope you're not testing via mvn jetty:run, as that requires 
>>>> you to keep logging in for the first time, creating a blog for the 
>>>> first time, etc., whenever you start it. Very inefficient and 
>>>> tiring.  Normally I just build (mvn clean install) and dump the WAR 
>>>> into standalone Tomcat on my local machine.  The database & other 
>>>> configuration I keep permanently in roller-custom.properties in the 
>>>> Tomcat lib/ folder, so the new WAR just takes over with the same 
>>>> configuration, blogs, accounts, etc., that old WAR was using. 
>>>> (Check the Roller install guide for full instructions.)
>>>>
>>>> Also vital is that you know how to debug/trace Roller code in 
>>>> Eclipse or IntelliJ while it is running on Tomcat (or another 
>>>> servlet container).  It's much simpler than it seems, and will save 
>>>> you a lot of time.  These instructions are for Eclipse but Intellij 
>>>> (my preference) is basically the same: 
>>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>>>> Checking variable values while it's running will point you to where 
>>>> problems are much more quickly.
>>>>
>>>> Happy New Year!
>>>>
>>>> Regards,
>>>> Glen
>>>>
>>>>
>>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>>> Hello Glen,
>>>>>
>>>>> As, I previously told you that the test cases are giving problem, 
>>>>> actually I think we have to do some changes in Test Cases also, as 
>>>>> many of the methods involving path and parent are removed so, many 
>>>>> times in test cases (it did not get correct values and give errors).
>>>>> I have successfully showed the categories by website till now in 
>>>>> the admin section. Also, the entries are saved just, I ran out of 
>>>>> memory issue in happen when I save an entry that entry, although 
>>>>> it get saved when I refresh the page.
>>>>>
>>>>> Also, as their is not path now, we have to do some changes in 
>>>>> velocity files, as feeds are giving error in showing, although if 
>>>>> I direct enter the URL its working fine. I have cleared many parts 
>>>>> of the code, just I have test of the roller parts which are linked 
>>>>> the path and parent. I am thinking of correcting the test cases, 
>>>>> as I can run them and if test cases are fine then might be 
>>>>> everything will work fine.
>>>>>
>>>>> I will return to work on this after 3 days, as I will be and will 
>>>>> get be to it during coming weekend again. I will wrap this out 
>>>>> asap for you to test and will attach patches coming weekend.
>>>>>
>>>>> Thanks
>>>>> Gaurav
>>>>>
>>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>>> Thanks for that info, I have changed my settings in the eclipse.
>>>>>> Yes, you are right I will leave the ordering part for now and 
>>>>>> work on clearing the code for now. For now I will just add a 
>>>>>> column in category table with position, leaving it null for now.
>>>>>>
>>>>>> Regards,
>>>>>> Gaurav
>>>>>>
>>>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza wrote:
>>>>>>> Your last ImprovedCreateUser.patch had some tab characters in 
>>>>>>> it, and our project uses spaces for tabs (just have Eclipse 
>>>>>>> insert 4 spaces whenever you hit the tab key, with no tab 
>>>>>>> characters.) Very few Apache projects (any?) are tab-indented 
>>>>>>> today. It is a simple fix with IntelliJ IDEA (Edit -> Convert 
>>>>>>> Indents -> To Spaces), I'm sure Eclipse has an equivalent.
>>>>>>>
>>>>>>> For blogs migrating from pre-5.1 versions, we can keep the 
>>>>>>> position NULL by default (and when you order by position, with 
>>>>>>> null values, they will come out in any order, like they do 
>>>>>>> today.)    Whenever a new blog is created with the default three 
>>>>>>> categories, those can be assigned positions (probably 0-based 
>>>>>>> for leftmost is best.)  For migrated blogs, once the user goes 
>>>>>>> to the category page and makes a change for the first time, 
>>>>>>> numbers can be written for the very first time--no special extra 
>>>>>>> UI is needed for this purpose. But like I was saying, this is 
>>>>>>> such a lengthy patch you may wish to forget about the ordering 
>>>>>>> right now--it doesn't work anyway in Roller right now.  It may 
>>>>>>> be best to get us to the new table and get rid of the paths, and 
>>>>>>> once we're on that firmer foundation implementing positioning 
>>>>>>> (on the Category page and in the templates) will be much simpler.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Glen
>>>>>>>
>>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>>> Hello Glen,
>>>>>>>>
>>>>>>>> I will change the position to be integer, and will exclude the 
>>>>>>>> category where parent null, but still what can be done for the 
>>>>>>>> position as the old data did not have position, so how and on 
>>>>>>>> what basis we have to add position to it. I was thinking that 
>>>>>>>> we can left it as null, and provide some UI in backend where 
>>>>>>>> user can assign position themselves.
>>>>>>>>
>>>>>>>> I will take care of spacing, will search what I am doing wrong. 
>>>>>>>> As, I am not sure is that you are talking about formatting the 
>>>>>>>> code, or anything else. As I use tab (with 4 spaces) in Eclipse 
>>>>>>>> IDE.
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Gaurav
>>>>>>>>
>>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen Mazza wrote:
>>>>>>>>> BTW, not to be hated, but make sure any code you submit is 
>>>>>>>>> space-padded (4 spaces), *not* tab-padded. Your IDE should be 
>>>>>>>>> able to convert it for you if you've been doing tab-padding.
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Glen
>>>>>>>>>
>>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>>> Hello Glen,
>>>>>>>>>>
>>>>>>>>>> I am confused on how to add and on what basis we have to addd 
>>>>>>>>>> position to the new category table. Below two sql commands 
>>>>>>>>>> can be used for coping data and deleting the root categories.
>>>>>>>>>>
>>>>>>>>>> create table category (
>>>>>>>>>>     id               varchar(48)  not null primary key,
>>>>>>>>>>     name             varchar(255) not null,
>>>>>>>>>>     description      varchar(255),
>>>>>>>>>>     websiteid        varchar(48) not null,
>>>>>>>>>>     image            varchar(255),
>>>>>>>>>>     position         varchar(48)
>>>>>>>>>> );
>>>>>>>>>>
>>>>>>>>>> insert into category(id,name,description,websiteid,image) 
>>>>>>>>>> select id,name,description,websiteid,image from weblogcategory;
>>>>>>>>>>
>>>>>>>>>> delete from category where name="root";
>>>>>>>>>>
>>>>>>>>>> What do you suggest for this ?
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> Gaurav
>>>>>>>>>>
>>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen Mazza wrote:
>>>>>>>>>>> Take your time, this is a messy change as it affects many 
>>>>>>>>>>> areas of the code. But Roller will be architecturally much 
>>>>>>>>>>> more solid and simpler once this change is done.  I have 
>>>>>>>>>>> your ROL-1616 and ROL-1982 on my plate for this weekend.
>>>>>>>>>>>
>>>>>>>>>>> Glen
>>>>>>>>>>>
>>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>
>>>>>>>>>>>> I have deleted the path and all related methods, but its 
>>>>>>>>>>>> seems to me that the path methods like 
>>>>>>>>>>>> (getWeblogCategoryByPath) and many other path and parent 
>>>>>>>>>>>> related methods, are scattered over the whole roller. There 
>>>>>>>>>>>> are many occurrence of these methods and I have to sort out 
>>>>>>>>>>>> each piece of code as now there is no path so, mostly we 
>>>>>>>>>>>> check for categoryPath != null in if conditions, so these 
>>>>>>>>>>>> are no longer needed.
>>>>>>>>>>>> Also, I as thinking after testing and completing this we 
>>>>>>>>>>>> can delete the WeblogCategory and replace with Category 
>>>>>>>>>>>> method, as it will be clean. I also figured out why my 
>>>>>>>>>>>> tests are failing as during creating of weblogentry it did 
>>>>>>>>>>>> not find the categories, as that class was using old 
>>>>>>>>>>>> WeblogCategory table and using that class methods. I think 
>>>>>>>>>>>> I will definitely will figure out everything at the end and 
>>>>>>>>>>>> will successfully test with the unit tests.
>>>>>>>>>>>>
>>>>>>>>>>>> I am now in the editor part so can display the categories 
>>>>>>>>>>>> on front end, I am now all over the 1-2-3-4 steps you 
>>>>>>>>>>>> mentioned. As soon as I will able to display the categories 
>>>>>>>>>>>> (small issues left) at the backend, I will again go through 
>>>>>>>>>>>> my changes. Also, at this time I can only create patch for 
>>>>>>>>>>>> new table and migration script, as all other classes code 
>>>>>>>>>>>> are interrelated so can't submit now. I will test every 
>>>>>>>>>>>> single thing related to categories, then I will submit my 
>>>>>>>>>>>> patches.
>>>>>>>>>>>>
>>>>>>>>>>>> Although I have learned a lot new things, just spent last 
>>>>>>>>>>>> two full days on this sorting out things, many times ending 
>>>>>>>>>>>> up nowhere from where I started. But I am confident that I 
>>>>>>>>>>>> will definitely complete this task. Just I am worrying that 
>>>>>>>>>>>> I must be taking too much time.
>>>>>>>>>>>>
>>>>>>>>>>>> If there is something, you can advice me I would happy to 
>>>>>>>>>>>> follow that also.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>
>>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen Mazza wrote:
>>>>>>>>>>>>> If it helps, you can provide interim patches, so long as 
>>>>>>>>>>>>> it doesn't break the current code base. You may want to 
>>>>>>>>>>>>> create a patch just creating the new database table (which 
>>>>>>>>>>>>> will be ignored by the current code) and sql insert-select 
>>>>>>>>>>>>> scripts to move from the current table to the new one, 
>>>>>>>>>>>>> then one converting the code to using the new table 
>>>>>>>>>>>>> without sorting, then (finally) one that implements 
>>>>>>>>>>>>> sorting of the categories.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I have created and updated all necessary files in JPA and 
>>>>>>>>>>>>>> for database, I tried compiling the code it gave me 
>>>>>>>>>>>>>> errors in test cases. As I am not sure that what I am 
>>>>>>>>>>>>>> wrong in this. Although I tried compiling without running 
>>>>>>>>>>>>>> test cases, it worked fine. I tested it with tomcat and 
>>>>>>>>>>>>>> new table category is created and initial category 
>>>>>>>>>>>>>> (General, Finance and Technology) are created with the 
>>>>>>>>>>>>>> position 1,2,3. Still there are many thing I have to 
>>>>>>>>>>>>>> clean up and sort out and will test it again.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, Gaurav wrote:
>>>>>>>>>>>>>>> Ok, got your point. I will check on other Roller parts 
>>>>>>>>>>>>>>> also if parent name and path aren't be using in any 
>>>>>>>>>>>>>>> other part of Roller. I will go into the RSS and Atom 
>>>>>>>>>>>>>>> feeds later on, and see what changes it need. As, till 
>>>>>>>>>>>>>>> now I have changed many files and created some, so will 
>>>>>>>>>>>>>>> first test this part then go into that feeds part.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>> Sounds good, but may require more work to make sure all 
>>>>>>>>>>>>>>>> is good with the RSS and Atom feeds as a result (which 
>>>>>>>>>>>>>>>> I believe rely on path). Where path is used to check 
>>>>>>>>>>>>>>>> for equivalence, I guess name (and blog/website ID, if 
>>>>>>>>>>>>>>>> necessary) alone will do now.  We may need to check (if 
>>>>>>>>>>>>>>>> we aren't already) that no two categories have the same 
>>>>>>>>>>>>>>>> name, where prior we were checking that no two paths 
>>>>>>>>>>>>>>>> are the same (i.e., allowing category paths 
>>>>>>>>>>>>>>>> USStates/Georgia and Countries/Georgia but now needing 
>>>>>>>>>>>>>>>> to disallow two categories named "Georgia".)
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I am thinking of removing the path coloumn also, as it 
>>>>>>>>>>>>>>>>> does not make sense now as there will no subcategories 
>>>>>>>>>>>>>>>>> and all will have same path (like /categoryname). WDYT ?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I want to know as now all the categories will be top 
>>>>>>>>>>>>>>>>>>> level, so the root category which is created by 
>>>>>>>>>>>>>>>>>>> default on addWeblog isn't needed. So, I can remove 
>>>>>>>>>>>>>>>>>>> that code also ? I am in half completed with the 1-2 
>>>>>>>>>>>>>>>>>>> steps will soon submit some patched in jira issue. 
>>>>>>>>>>>>>>>>>>> You can look on to them whenever you will get time 
>>>>>>>>>>>>>>>>>>> from other projects.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on this, I 
>>>>>>>>>>>>>>>>>>>> understand your commitments. As this will give me 
>>>>>>>>>>>>>>>>>>>> more time on working on this issue. I will give my 
>>>>>>>>>>>>>>>>>>>> 100% on this, as I also want to get into more and 
>>>>>>>>>>>>>>>>>>>> more open source projects. For Now I am focusing on 
>>>>>>>>>>>>>>>>>>>> Roller for starting my contributions in open source.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 AM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I can't help much 
>>>>>>>>>>>>>>>>>>>>> right now either, as my other project JSPWiki has 
>>>>>>>>>>>>>>>>>>>>> a new release going out.) But please be patient 
>>>>>>>>>>>>>>>>>>>>> with us on your recent submitted patches -- we 
>>>>>>>>>>>>>>>>>>>>> haven't forgotten you and are happy with your 
>>>>>>>>>>>>>>>>>>>>> efforts on this project so far, we just have 
>>>>>>>>>>>>>>>>>>>>> full-time jobs and, even after that, other 
>>>>>>>>>>>>>>>>>>>>> obligations -- for open source work, we usually 
>>>>>>>>>>>>>>>>>>>>> have to beg, borrow and steal time to work on them.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> I am going through this having some issues, 
>>>>>>>>>>>>>>>>>>>>>> although not major till now. I have still working 
>>>>>>>>>>>>>>>>>>>>>> on 1-2 steps, might be I am slow as get less 
>>>>>>>>>>>>>>>>>>>>>> time. (Wish we also have holidays of this festive 
>>>>>>>>>>>>>>>>>>>>>> season in India :P) Just want to know isn't there 
>>>>>>>>>>>>>>>>>>>>>> any hurry for completing this asap ? Although, I 
>>>>>>>>>>>>>>>>>>>>>> am sure will definitely complete this as I have 
>>>>>>>>>>>>>>>>>>>>>> understood the structure of Roller completely. 
>>>>>>>>>>>>>>>>>>>>>> Just I have to go through the JPA more and read 
>>>>>>>>>>>>>>>>>>>>>> about this.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're missing will 
>>>>>>>>>>>>>>>>>>>>>>> become apparent to you as you work along. The 
>>>>>>>>>>>>>>>>>>>>>>> Roller installation guide and here 
>>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>>> can show you how to test also with Derby if 
>>>>>>>>>>>>>>>>>>>>>>> you'd like. (It is usually simpler than MySQL, 
>>>>>>>>>>>>>>>>>>>>>>> and another benefit of working on Roller is that 
>>>>>>>>>>>>>>>>>>>>>>> you become multiple-database-lingual very quickly.)
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I with this much 
>>>>>>>>>>>>>>>>>>>>>>>> deep information, I can start working in it. I 
>>>>>>>>>>>>>>>>>>>>>>>> have started working on this Issue and have 
>>>>>>>>>>>>>>>>>>>>>>>> followed your steps.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in createdb.vm and in 
>>>>>>>>>>>>>>>>>>>>>>>> migration scripts also. I have for mow stared 
>>>>>>>>>>>>>>>>>>>>>>>> working on MySQL.
>>>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl class, I have 
>>>>>>>>>>>>>>>>>>>>>>>> commented updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for now 
>>>>>>>>>>>>>>>>>>>>>>>> Category.orm.xml and enterd details of new 
>>>>>>>>>>>>>>>>>>>>>>>> table. A new class Category in weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I have created new files for now and will work 
>>>>>>>>>>>>>>>>>>>>>>>> on this and add new position coloum and code 
>>>>>>>>>>>>>>>>>>>>>>>> regarding this. Other than UI and template 
>>>>>>>>>>>>>>>>>>>>>>>> Layer, I think I have covered all files on 
>>>>>>>>>>>>>>>>>>>>>>>> which I have to work on the Database and JPA 
>>>>>>>>>>>>>>>>>>>>>>>> layers ? Please tell me if I am wrong anywhere 
>>>>>>>>>>>>>>>>>>>>>>>> or following wrong workflow.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for our database 
>>>>>>>>>>>>>>>>>>>>>>>>> scripts -- you see a createdb.vm plus 
>>>>>>>>>>>>>>>>>>>>>>>>> migration scripts (5.0 to 5.1) -- we'll want 
>>>>>>>>>>>>>>>>>>>>>>>>> our change in both places (IIRC), new users 
>>>>>>>>>>>>>>>>>>>>>>>>> have the createdb run and Roller upgraders 
>>>>>>>>>>>>>>>>>>>>>>>>> with their current DB's have the 5.0 to 5.1 
>>>>>>>>>>>>>>>>>>>>>>>>> migration script run.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here and I'd like to 
>>>>>>>>>>>>>>>>>>>>>>>>> get this done right (I plan on helping out 
>>>>>>>>>>>>>>>>>>>>>>>>> where you'd like). Namely, we've moved from a 
>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical category structure (categories 
>>>>>>>>>>>>>>>>>>>>>>>>> having subcategories having their own 
>>>>>>>>>>>>>>>>>>>>>>>>> subcatorgories etc.) to a flat single-level 
>>>>>>>>>>>>>>>>>>>>>>>>> structure (all categories are top level) -- 
>>>>>>>>>>>>>>>>>>>>>>>>> that was done a week or so back. Problem is, 
>>>>>>>>>>>>>>>>>>>>>>>>> the database tables are still assuming 
>>>>>>>>>>>>>>>>>>>>>>>>> hierarchical (they will work with flat 
>>>>>>>>>>>>>>>>>>>>>>>>> structures but are overkill--we don't need a 
>>>>>>>>>>>>>>>>>>>>>>>>> parent ID column anymore.) Also, the JPA 
>>>>>>>>>>>>>>>>>>>>>>>>> objects are designed for hierarchical but can 
>>>>>>>>>>>>>>>>>>>>>>>>> simplified a bit more to flat structure. 
>>>>>>>>>>>>>>>>>>>>>>>>> Incidentally, "sequenceNum" is ambiguous about 
>>>>>>>>>>>>>>>>>>>>>>>>> what it means, I would say "position" or 
>>>>>>>>>>>>>>>>>>>>>>>>> "ordering" (INT null, null for migrators who 
>>>>>>>>>>>>>>>>>>>>>>>>> don't yet have a position defined) is clearer.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to handle this--for 
>>>>>>>>>>>>>>>>>>>>>>>>> both new installers and upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new table, say 
>>>>>>>>>>>>>>>>>>>>>>>>> "category" designed precisely as we need, and 
>>>>>>>>>>>>>>>>>>>>>>>>> have the migration scripts select from the old 
>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory and insert into the new 
>>>>>>>>>>>>>>>>>>>>>>>>> category table. (We then ignore the 
>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory table.) We'll need to test the 
>>>>>>>>>>>>>>>>>>>>>>>>> scripts with at least two databases (2 of 
>>>>>>>>>>>>>>>>>>>>>>>>> probably MySQL, Derby and/or PostgreSQL) and 
>>>>>>>>>>>>>>>>>>>>>>>>> guess for the others--if we're wrong the user 
>>>>>>>>>>>>>>>>>>>>>>>>> community can supply a patch fixing it.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence object (the old 
>>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory) will need 
>>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as it's now 
>>>>>>>>>>>>>>>>>>>>>>>>> flat-level. Indeed, I think things will get a 
>>>>>>>>>>>>>>>>>>>>>>>>> *lot* simpler here, as it may just be the 
>>>>>>>>>>>>>>>>>>>>>>>>> parent Weblog holding a list of some sort of 
>>>>>>>>>>>>>>>>>>>>>>>>> Category objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp (or whatever 
>>>>>>>>>>>>>>>>>>>>>>>>> it's called) and its Struts action class will 
>>>>>>>>>>>>>>>>>>>>>>>>> now need to use the new Category object (and 
>>>>>>>>>>>>>>>>>>>>>>>>> table) instead of WeblogCategory. The UI page 
>>>>>>>>>>>>>>>>>>>>>>>>> will need two changes: (1) all new categories 
>>>>>>>>>>>>>>>>>>>>>>>>> will be placed (and saved) at the bottom of 
>>>>>>>>>>>>>>>>>>>>>>>>> the category list (and as result, appear last 
>>>>>>>>>>>>>>>>>>>>>>>>> (right-most) in the category list, and, later 
>>>>>>>>>>>>>>>>>>>>>>>>> (2) probably have up and down buttons in the 
>>>>>>>>>>>>>>>>>>>>>>>>> table allowing users to easily reorder the 
>>>>>>>>>>>>>>>>>>>>>>>>> categories as they like. (Strictly speaking, 1 
>>>>>>>>>>>>>>>>>>>>>>>>> alone is all that's needed for ordering, as 
>>>>>>>>>>>>>>>>>>>>>>>>> you can remove/name/delete/recreate categories 
>>>>>>>>>>>>>>>>>>>>>>>>> to eventually get them in the position you'd 
>>>>>>>>>>>>>>>>>>>>>>>>> like, but (2) of course is much nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't looked into this): 
>>>>>>>>>>>>>>>>>>>>>>>>> The templates (probably just a macro or two) 
>>>>>>>>>>>>>>>>>>>>>>>>> will need updating to ensure that they output 
>>>>>>>>>>>>>>>>>>>>>>>>> the category names per the new position order.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one advantage is that 
>>>>>>>>>>>>>>>>>>>>>>>>> I'd like to do the same thing with 
>>>>>>>>>>>>>>>>>>>>>>>>> bookmarks/blogrolls (team discussion 
>>>>>>>>>>>>>>>>>>>>>>>>> pending...), switch from a hierarchical to 
>>>>>>>>>>>>>>>>>>>>>>>>> flat-level for those too.  If we can do this 
>>>>>>>>>>>>>>>>>>>>>>>>> for categories, the logic/UI design, etc., 
>>>>>>>>>>>>>>>>>>>>>>>>> will carry over 100% to bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually getting to this 
>>>>>>>>>>>>>>>>>>>>>>>>> myself, so am available to work with you on 
>>>>>>>>>>>>>>>>>>>>>>>>> whatever parts you'd like. I think going in 
>>>>>>>>>>>>>>>>>>>>>>>>> order 1-2-3-4 and having separate commits may 
>>>>>>>>>>>>>>>>>>>>>>>>> be the cleanest way of doing this. What's nice 
>>>>>>>>>>>>>>>>>>>>>>>>> about using a brand new table and JPA object 
>>>>>>>>>>>>>>>>>>>>>>>>> is that the old objects can still work in the 
>>>>>>>>>>>>>>>>>>>>>>>>> code while we're creating the new, we just 
>>>>>>>>>>>>>>>>>>>>>>>>> don't activate the new until the very end.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team members on the above 
>>>>>>>>>>>>>>>>>>>>>>>>> ideas...?) Or are there other Roller tasks 
>>>>>>>>>>>>>>>>>>>>>>>>> you'd like to sink your teeth into instead? I 
>>>>>>>>>>>>>>>>>>>>>>>>> can look at this otherwise, but this looks 
>>>>>>>>>>>>>>>>>>>>>>>>> like a very good exercise for someone wanting 
>>>>>>>>>>>>>>>>>>>>>>>>> to get more involved in Roller, as it covers 
>>>>>>>>>>>>>>>>>>>>>>>>> all the layers of the webapp.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on ROL-1981, as 
>>>>>>>>>>>>>>>>>>>>>>>>>> discussed in previous discussion threads I 
>>>>>>>>>>>>>>>>>>>>>>>>>> will add new column sequenceNum in 
>>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory table. Then we can assign 
>>>>>>>>>>>>>>>>>>>>>>>>>> sequenceNum to each category according to 
>>>>>>>>>>>>>>>>>>>>>>>>>> websideid. If anyone have some ideas 
>>>>>>>>>>>>>>>>>>>>>>>>>> regarding this, please help me. Also, need 
>>>>>>>>>>>>>>>>>>>>>>>>>> some help on how to go with this issue, and 
>>>>>>>>>>>>>>>>>>>>>>>>>> how to add new coloum, I found .sql file, do 
>>>>>>>>>>>>>>>>>>>>>>>>>> I need to add there new column. Also, Is this 
>>>>>>>>>>>>>>>>>>>>>>>>>> possible that that when I restart the roller 
>>>>>>>>>>>>>>>>>>>>>>>>>> it will add new column to database ?
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>


Re: (another idea) Re: ROL-1981 Category ordering

Posted by Gaurav <ga...@gmail.com>.
Hello Glen,

I just want to know that the below relations in WeblogCategory.orm.xml 
are required or not as now the parent is not used so, I don't think its 
needed now. I have commented the below lines.

<many-to-one name="parent" 
target-entity="org.apache.roller.weblogger.pojos.Category">
                 <join-column name="parentid" insertable="true" 
updatable="true" nullable="true"/>
             </many-to-one>
             <one-to-many name="weblogCategories" mapped-by="parent" 
target-entity="org.apache.roller.weblogger.pojos.Category" fetch="LAZY">
                 <cascade>
                     <cascade-remove/>
                 </cascade>
             </one-to-many>
             <transient name="inUse"/>

I asked this because, getting categories giving me mysql exception. The 
new table is 'roller.category' but it executes for 
'roller.category_category'.
I am not able to get what I have done wrong.

Internal Exception: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 
Table 'roller.category_category' doesn't exist
Error Code: 1146
Call: DELETE FROM category_category WHERE (WeblogCategory_id = ?)
     bind => [1 parameter bound]
Query: DataModifyQuery(name="weblogCategories" sql="DELETE FROM 
category_category WHERE (WeblogCategory_id = ?)")

Also, I have changed the getWeblogCategoryByPath to 
getWeblogCategoryByName so feeds and other places work fine. I have able 
to get catgeory list, new entries are creating successfully. Just 
deleting the weblog is giving me above error.

Thanks
Gaurav


On Saturday 04 January 2014 12:53 PM, Gaurav wrote:
> Hello Glen,
>
> I have already deleted getPath and getParent and in the mid of 
> everything. I hope I will be able to complete this by Monday. If 
> still, I get some major issues due to this, I will switch to what you 
> suggested. Just give me time till Monday, as I have done almost 80% of 
> code cleaned regarding the path and parentcategory. I will get back to 
> you soon with some patches and then you can test it.
>
> Also, my ICLA have been filed, got the receipt of my ICLA.
>
> Thanks
> Gaurav
>
>
> On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
>> Gaurav, sorry, it just occurred to me there's a simpler intermediate 
>> step that can be done.  While we need the database table without a 
>> path column, and to remove the "path" member *variable* from 
>> WeblogCategory (or its replacement), we can still keep indefinitely 
>> keep getPath(), just hardcode it to "/" + categoryName, which is 
>> precisely what the old code returns for any top-level category--the 
>> rest of the system can stay just as it did before.  Switching the 
>> rest of the code from getPath() to using getName() can be done at any 
>> time, bit by bit whenever, that's not necessary to implement 
>> positioning, that's just a code cleanup issue.  Likewise, for 
>> WeblogCategory.getParent(), it may be as simple as adding a root 
>> category object as part of the Weblog's constructor (but not saved to 
>> the database), and having WeblogCategory.getParent() just return 
>> website.getParentCategory()--that way all categories for a weblog 
>> will have the same root category as before, and the rest of the code 
>> base should function fine.  Once we're on the new table, then it's an 
>> issue of implementing positioning--getting rid of getParent() and 
>> getPath() can be done by anybody at a later date.
>>
>> Regards,
>> Glen
>>
>>
>> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>>> No problem, I'm available to help (or finish it up) if needed.  For 
>>> a seemingly simple switch, you're certainly getting a *full* 
>>> education of the Roller codebase.  :)
>>>
>>> BTW, I hope you're not testing via mvn jetty:run, as that requires 
>>> you to keep logging in for the first time, creating a blog for the 
>>> first time, etc., whenever you start it.  Very inefficient and 
>>> tiring.  Normally I just build (mvn clean install) and dump the WAR 
>>> into standalone Tomcat on my local machine.  The database & other 
>>> configuration I keep permanently in roller-custom.properties in the 
>>> Tomcat lib/ folder, so the new WAR just takes over with the same 
>>> configuration, blogs, accounts, etc., that old WAR was using. (Check 
>>> the Roller install guide for full instructions.)
>>>
>>> Also vital is that you know how to debug/trace Roller code in 
>>> Eclipse or IntelliJ while it is running on Tomcat (or another 
>>> servlet container).  It's much simpler than it seems, and will save 
>>> you a lot of time.  These instructions are for Eclipse but Intellij 
>>> (my preference) is basically the same: 
>>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>>> Checking variable values while it's running will point you to where 
>>> problems are much more quickly.
>>>
>>> Happy New Year!
>>>
>>> Regards,
>>> Glen
>>>
>>>
>>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>>> Hello Glen,
>>>>
>>>> As, I previously told you that the test cases are giving problem, 
>>>> actually I think we have to do some changes in Test Cases also, as 
>>>> many of the methods involving path and parent are removed so, many 
>>>> times in test cases (it did not get correct values and give errors).
>>>> I have successfully showed the categories by website till now in 
>>>> the admin section. Also, the entries are saved just, I ran out of 
>>>> memory issue in happen when I save an entry that entry, although it 
>>>> get saved when I refresh the page.
>>>>
>>>> Also, as their is not path now, we have to do some changes in 
>>>> velocity files, as feeds are giving error in showing, although if I 
>>>> direct enter the URL its working fine. I have cleared many parts of 
>>>> the code, just I have test of the roller parts which are linked the 
>>>> path and parent. I am thinking of correcting the test cases, as I 
>>>> can run them and if test cases are fine then might be everything 
>>>> will work fine.
>>>>
>>>> I will return to work on this after 3 days, as I will be and will 
>>>> get be to it during coming weekend again. I will wrap this out asap 
>>>> for you to test and will attach patches coming weekend.
>>>>
>>>> Thanks
>>>> Gaurav
>>>>
>>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>>> Thanks for that info, I have changed my settings in the eclipse.
>>>>> Yes, you are right I will leave the ordering part for now and work 
>>>>> on clearing the code for now. For now I will just add a column in 
>>>>> category table with position, leaving it null for now.
>>>>>
>>>>> Regards,
>>>>> Gaurav
>>>>>
>>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza wrote:
>>>>>> Your last ImprovedCreateUser.patch had some tab characters in it, 
>>>>>> and our project uses spaces for tabs (just have Eclipse insert 4 
>>>>>> spaces whenever you hit the tab key, with no tab characters.) 
>>>>>> Very few Apache projects (any?) are tab-indented today. It is a 
>>>>>> simple fix with IntelliJ IDEA (Edit -> Convert Indents -> To 
>>>>>> Spaces), I'm sure Eclipse has an equivalent.
>>>>>>
>>>>>> For blogs migrating from pre-5.1 versions, we can keep the 
>>>>>> position NULL by default (and when you order by position, with 
>>>>>> null values, they will come out in any order, like they do 
>>>>>> today.)    Whenever a new blog is created with the default three 
>>>>>> categories, those can be assigned positions (probably 0-based for 
>>>>>> leftmost is best.)  For migrated blogs, once the user goes to the 
>>>>>> category page and makes a change for the first time, numbers can 
>>>>>> be written for the very first time--no special extra UI is needed 
>>>>>> for this purpose.  But like I was saying, this is such a lengthy 
>>>>>> patch you may wish to forget about the ordering right now--it 
>>>>>> doesn't work anyway in Roller right now.  It may be best to get 
>>>>>> us to the new table and get rid of the paths, and once we're on 
>>>>>> that firmer foundation implementing positioning (on the Category 
>>>>>> page and in the templates) will be much simpler.
>>>>>>
>>>>>> Regards,
>>>>>> Glen
>>>>>>
>>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>>> Hello Glen,
>>>>>>>
>>>>>>> I will change the position to be integer, and will exclude the 
>>>>>>> category where parent null, but still what can be done for the 
>>>>>>> position as the old data did not have position, so how and on 
>>>>>>> what basis we have to add position to it. I was thinking that we 
>>>>>>> can left it as null, and provide some UI in backend where user 
>>>>>>> can assign position themselves.
>>>>>>>
>>>>>>> I will take care of spacing, will search what I am doing wrong. 
>>>>>>> As, I am not sure is that you are talking about formatting the 
>>>>>>> code, or anything else. As I use tab (with 4 spaces) in Eclipse 
>>>>>>> IDE.
>>>>>>>
>>>>>>> Thanks
>>>>>>> Gaurav
>>>>>>>
>>>>>>> On Saturday 28 December 2013 04:27 PM, Glen Mazza wrote:
>>>>>>>> BTW, not to be hated, but make sure any code you submit is 
>>>>>>>> space-padded (4 spaces), *not* tab-padded. Your IDE should be 
>>>>>>>> able to convert it for you if you've been doing tab-padding.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Glen
>>>>>>>>
>>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>>> Hello Glen,
>>>>>>>>>
>>>>>>>>> I am confused on how to add and on what basis we have to addd 
>>>>>>>>> position to the new category table. Below two sql commands can 
>>>>>>>>> be used for coping data and deleting the root categories.
>>>>>>>>>
>>>>>>>>> create table category (
>>>>>>>>>     id               varchar(48)  not null primary key,
>>>>>>>>>     name             varchar(255) not null,
>>>>>>>>>     description      varchar(255),
>>>>>>>>>     websiteid        varchar(48) not null,
>>>>>>>>>     image            varchar(255),
>>>>>>>>>     position         varchar(48)
>>>>>>>>> );
>>>>>>>>>
>>>>>>>>> insert into category(id,name,description,websiteid,image) 
>>>>>>>>> select id,name,description,websiteid,image from weblogcategory;
>>>>>>>>>
>>>>>>>>> delete from category where name="root";
>>>>>>>>>
>>>>>>>>> What do you suggest for this ?
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> Gaurav
>>>>>>>>>
>>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen Mazza wrote:
>>>>>>>>>> Take your time, this is a messy change as it affects many 
>>>>>>>>>> areas of the code. But Roller will be architecturally much 
>>>>>>>>>> more solid and simpler once this change is done.  I have your 
>>>>>>>>>> ROL-1616 and ROL-1982 on my plate for this weekend.
>>>>>>>>>>
>>>>>>>>>> Glen
>>>>>>>>>>
>>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>
>>>>>>>>>>> I have deleted the path and all related methods, but its 
>>>>>>>>>>> seems to me that the path methods like 
>>>>>>>>>>> (getWeblogCategoryByPath) and many other path and parent 
>>>>>>>>>>> related methods, are scattered over the whole roller. There 
>>>>>>>>>>> are many occurrence of these methods and I have to sort out 
>>>>>>>>>>> each piece of code as now there is no path so, mostly we 
>>>>>>>>>>> check for categoryPath != null in if conditions, so these 
>>>>>>>>>>> are no longer needed.
>>>>>>>>>>> Also, I as thinking after testing and completing this we can 
>>>>>>>>>>> delete the WeblogCategory and replace with Category method, 
>>>>>>>>>>> as it will be clean. I also figured out why my tests are 
>>>>>>>>>>> failing as during creating of weblogentry it did not find 
>>>>>>>>>>> the categories, as that class was using old WeblogCategory 
>>>>>>>>>>> table and using that class methods. I think I will 
>>>>>>>>>>> definitely will figure out everything at the end and will 
>>>>>>>>>>> successfully test with the unit tests.
>>>>>>>>>>>
>>>>>>>>>>> I am now in the editor part so can display the categories on 
>>>>>>>>>>> front end, I am now all over the 1-2-3-4 steps you 
>>>>>>>>>>> mentioned. As soon as I will able to display the categories 
>>>>>>>>>>> (small issues left) at the backend, I will again go through 
>>>>>>>>>>> my changes. Also, at this time I can only create patch for 
>>>>>>>>>>> new table and migration script, as all other classes code 
>>>>>>>>>>> are interrelated so can't submit now. I will test every 
>>>>>>>>>>> single thing related to categories, then I will submit my 
>>>>>>>>>>> patches.
>>>>>>>>>>>
>>>>>>>>>>> Although I have learned a lot new things, just spent last 
>>>>>>>>>>> two full days on this sorting out things, many times ending 
>>>>>>>>>>> up nowhere from where I started. But I am confident that I 
>>>>>>>>>>> will definitely complete this task. Just I am worrying that 
>>>>>>>>>>> I must be taking too much time.
>>>>>>>>>>>
>>>>>>>>>>> If there is something, you can advice me I would happy to 
>>>>>>>>>>> follow that also.
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>> Gaurav
>>>>>>>>>>>
>>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen Mazza wrote:
>>>>>>>>>>>> If it helps, you can provide interim patches, so long as it 
>>>>>>>>>>>> doesn't break the current code base. You may want to create 
>>>>>>>>>>>> a patch just creating the new database table (which will be 
>>>>>>>>>>>> ignored by the current code) and sql insert-select scripts 
>>>>>>>>>>>> to move from the current table to the new one, then one 
>>>>>>>>>>>> converting the code to using the new table without sorting, 
>>>>>>>>>>>> then (finally) one that implements sorting of the categories.
>>>>>>>>>>>>
>>>>>>>>>>>> Glen
>>>>>>>>>>>>
>>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have created and updated all necessary files in JPA and 
>>>>>>>>>>>>> for database, I tried compiling the code it gave me errors 
>>>>>>>>>>>>> in test cases. As I am not sure that what I am wrong in 
>>>>>>>>>>>>> this. Although I tried compiling without running test 
>>>>>>>>>>>>> cases, it worked fine. I tested it with tomcat and new 
>>>>>>>>>>>>> table category is created and initial category (General, 
>>>>>>>>>>>>> Finance and Technology) are created with the position 
>>>>>>>>>>>>> 1,2,3. Still there are many thing I have to clean up and 
>>>>>>>>>>>>> sort out and will test it again.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, Gaurav wrote:
>>>>>>>>>>>>>> Ok, got your point. I will check on other Roller parts 
>>>>>>>>>>>>>> also if parent name and path aren't be using in any other 
>>>>>>>>>>>>>> part of Roller. I will go into the RSS and Atom feeds 
>>>>>>>>>>>>>> later on, and see what changes it need. As, till now I 
>>>>>>>>>>>>>> have changed many files and created some, so will first 
>>>>>>>>>>>>>> test this part then go into that feeds part.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>> Sounds good, but may require more work to make sure all 
>>>>>>>>>>>>>>> is good with the RSS and Atom feeds as a result (which I 
>>>>>>>>>>>>>>> believe rely on path). Where path is used to check for 
>>>>>>>>>>>>>>> equivalence, I guess name (and blog/website ID, if 
>>>>>>>>>>>>>>> necessary) alone will do now.  We may need to check (if 
>>>>>>>>>>>>>>> we aren't already) that no two categories have the same 
>>>>>>>>>>>>>>> name, where prior we were checking that no two paths are 
>>>>>>>>>>>>>>> the same (i.e., allowing category paths USStates/Georgia 
>>>>>>>>>>>>>>> and Countries/Georgia but now needing to disallow two 
>>>>>>>>>>>>>>> categories named "Georgia".)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I am thinking of removing the path coloumn also, as it 
>>>>>>>>>>>>>>>> does not make sense now as there will no subcategories 
>>>>>>>>>>>>>>>> and all will have same path (like /categoryname). WDYT ?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I want to know as now all the categories will be top 
>>>>>>>>>>>>>>>>>> level, so the root category which is created by 
>>>>>>>>>>>>>>>>>> default on addWeblog isn't needed. So, I can remove 
>>>>>>>>>>>>>>>>>> that code also ? I am in half completed with the 1-2 
>>>>>>>>>>>>>>>>>> steps will soon submit some patched in jira issue. 
>>>>>>>>>>>>>>>>>> You can look on to them whenever you will get time 
>>>>>>>>>>>>>>>>>> from other projects.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on this, I understand 
>>>>>>>>>>>>>>>>>>> your commitments. As this will give me more time on 
>>>>>>>>>>>>>>>>>>> working on this issue. I will give my 100% on this, 
>>>>>>>>>>>>>>>>>>> as I also want to get into more and more open source 
>>>>>>>>>>>>>>>>>>> projects. For Now I am focusing on Roller for 
>>>>>>>>>>>>>>>>>>> starting my contributions in open source.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I can't help much 
>>>>>>>>>>>>>>>>>>>> right now either, as my other project JSPWiki has a 
>>>>>>>>>>>>>>>>>>>> new release going out.) But please be patient with 
>>>>>>>>>>>>>>>>>>>> us on your recent submitted patches -- we haven't 
>>>>>>>>>>>>>>>>>>>> forgotten you and are happy with your efforts on 
>>>>>>>>>>>>>>>>>>>> this project so far, we just have full-time jobs 
>>>>>>>>>>>>>>>>>>>> and, even after that, other obligations -- for open 
>>>>>>>>>>>>>>>>>>>> source work, we usually have to beg, borrow and 
>>>>>>>>>>>>>>>>>>>> steal time to work on them.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> I am going through this having some issues, 
>>>>>>>>>>>>>>>>>>>>> although not major till now. I have still working 
>>>>>>>>>>>>>>>>>>>>> on 1-2 steps, might be I am slow as get less time. 
>>>>>>>>>>>>>>>>>>>>> (Wish we also have holidays of this festive season 
>>>>>>>>>>>>>>>>>>>>> in India :P) Just want to know isn't there any 
>>>>>>>>>>>>>>>>>>>>> hurry for completing this asap ? Although, I am 
>>>>>>>>>>>>>>>>>>>>> sure will definitely complete this as I have 
>>>>>>>>>>>>>>>>>>>>> understood the structure of Roller completely. 
>>>>>>>>>>>>>>>>>>>>> Just I have to go through the JPA more and read 
>>>>>>>>>>>>>>>>>>>>> about this.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're missing will become 
>>>>>>>>>>>>>>>>>>>>>> apparent to you as you work along. The Roller 
>>>>>>>>>>>>>>>>>>>>>> installation guide and here 
>>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>>> can show you how to test also with Derby if you'd 
>>>>>>>>>>>>>>>>>>>>>> like. (It is usually simpler than MySQL, and 
>>>>>>>>>>>>>>>>>>>>>> another benefit of working on Roller is that you 
>>>>>>>>>>>>>>>>>>>>>> become multiple-database-lingual very quickly.)
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I with this much 
>>>>>>>>>>>>>>>>>>>>>>> deep information, I can start working in it. I 
>>>>>>>>>>>>>>>>>>>>>>> have started working on this Issue and have 
>>>>>>>>>>>>>>>>>>>>>>> followed your steps.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in createdb.vm and in 
>>>>>>>>>>>>>>>>>>>>>>> migration scripts also. I have for mow stared 
>>>>>>>>>>>>>>>>>>>>>>> working on MySQL.
>>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl class, I have 
>>>>>>>>>>>>>>>>>>>>>>> commented updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for now 
>>>>>>>>>>>>>>>>>>>>>>> Category.orm.xml and enterd details of new 
>>>>>>>>>>>>>>>>>>>>>>> table. A new class Category in weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I have created new files for now and will work 
>>>>>>>>>>>>>>>>>>>>>>> on this and add new position coloum and code 
>>>>>>>>>>>>>>>>>>>>>>> regarding this. Other than UI and template 
>>>>>>>>>>>>>>>>>>>>>>> Layer, I think I have covered all files on which 
>>>>>>>>>>>>>>>>>>>>>>> I have to work on the Database and JPA layers ? 
>>>>>>>>>>>>>>>>>>>>>>> Please tell me if I am wrong anywhere or 
>>>>>>>>>>>>>>>>>>>>>>> following wrong workflow.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 AM, Glen 
>>>>>>>>>>>>>>>>>>>>>>> Mazza wrote:
>>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for our database 
>>>>>>>>>>>>>>>>>>>>>>>> scripts -- you see a createdb.vm plus migration 
>>>>>>>>>>>>>>>>>>>>>>>> scripts (5.0 to 5.1) -- we'll want our change 
>>>>>>>>>>>>>>>>>>>>>>>> in both places (IIRC), new users have the 
>>>>>>>>>>>>>>>>>>>>>>>> createdb run and Roller upgraders with their 
>>>>>>>>>>>>>>>>>>>>>>>> current DB's have the 5.0 to 5.1 migration 
>>>>>>>>>>>>>>>>>>>>>>>> script run.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here and I'd like to 
>>>>>>>>>>>>>>>>>>>>>>>> get this done right (I plan on helping out 
>>>>>>>>>>>>>>>>>>>>>>>> where you'd like). Namely, we've moved from a 
>>>>>>>>>>>>>>>>>>>>>>>> hierarchical category structure (categories 
>>>>>>>>>>>>>>>>>>>>>>>> having subcategories having their own 
>>>>>>>>>>>>>>>>>>>>>>>> subcatorgories etc.) to a flat single-level 
>>>>>>>>>>>>>>>>>>>>>>>> structure (all categories are top level) -- 
>>>>>>>>>>>>>>>>>>>>>>>> that was done a week or so back. Problem is, 
>>>>>>>>>>>>>>>>>>>>>>>> the database tables are still assuming 
>>>>>>>>>>>>>>>>>>>>>>>> hierarchical (they will work with flat 
>>>>>>>>>>>>>>>>>>>>>>>> structures but are overkill--we don't need a 
>>>>>>>>>>>>>>>>>>>>>>>> parent ID column anymore.) Also, the JPA 
>>>>>>>>>>>>>>>>>>>>>>>> objects are designed for hierarchical but can 
>>>>>>>>>>>>>>>>>>>>>>>> simplified a bit more to flat structure. 
>>>>>>>>>>>>>>>>>>>>>>>> Incidentally, "sequenceNum" is ambiguous about 
>>>>>>>>>>>>>>>>>>>>>>>> what it means, I would say "position" or 
>>>>>>>>>>>>>>>>>>>>>>>> "ordering" (INT null, null for migrators who 
>>>>>>>>>>>>>>>>>>>>>>>> don't yet have a position defined) is clearer.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to handle this--for 
>>>>>>>>>>>>>>>>>>>>>>>> both new installers and upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new table, say 
>>>>>>>>>>>>>>>>>>>>>>>> "category" designed precisely as we need, and 
>>>>>>>>>>>>>>>>>>>>>>>> have the migration scripts select from the old 
>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory and insert into the new category 
>>>>>>>>>>>>>>>>>>>>>>>> table. (We then ignore the weblogcategory 
>>>>>>>>>>>>>>>>>>>>>>>> table.) We'll need to test the scripts with at 
>>>>>>>>>>>>>>>>>>>>>>>> least two databases (2 of probably MySQL, Derby 
>>>>>>>>>>>>>>>>>>>>>>>> and/or PostgreSQL) and guess for the others--if 
>>>>>>>>>>>>>>>>>>>>>>>> we're wrong the user community can supply a 
>>>>>>>>>>>>>>>>>>>>>>>> patch fixing it.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence object (the old 
>>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory) will need 
>>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as it's now 
>>>>>>>>>>>>>>>>>>>>>>>> flat-level. Indeed, I think things will get a 
>>>>>>>>>>>>>>>>>>>>>>>> *lot* simpler here, as it may just be the 
>>>>>>>>>>>>>>>>>>>>>>>> parent Weblog holding a list of some sort of 
>>>>>>>>>>>>>>>>>>>>>>>> Category objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp (or whatever 
>>>>>>>>>>>>>>>>>>>>>>>> it's called) and its Struts action class will 
>>>>>>>>>>>>>>>>>>>>>>>> now need to use the new Category object (and 
>>>>>>>>>>>>>>>>>>>>>>>> table) instead of WeblogCategory. The UI page 
>>>>>>>>>>>>>>>>>>>>>>>> will need two changes: (1) all new categories 
>>>>>>>>>>>>>>>>>>>>>>>> will be placed (and saved) at the bottom of the 
>>>>>>>>>>>>>>>>>>>>>>>> category list (and as result, appear last 
>>>>>>>>>>>>>>>>>>>>>>>> (right-most) in the category list, and, later 
>>>>>>>>>>>>>>>>>>>>>>>> (2) probably have up and down buttons in the 
>>>>>>>>>>>>>>>>>>>>>>>> table allowing users to easily reorder the 
>>>>>>>>>>>>>>>>>>>>>>>> categories as they like. (Strictly speaking, 1 
>>>>>>>>>>>>>>>>>>>>>>>> alone is all that's needed for ordering, as you 
>>>>>>>>>>>>>>>>>>>>>>>> can remove/name/delete/recreate categories to 
>>>>>>>>>>>>>>>>>>>>>>>> eventually get them in the position you'd like, 
>>>>>>>>>>>>>>>>>>>>>>>> but (2) of course is much nicer.)
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't looked into this): 
>>>>>>>>>>>>>>>>>>>>>>>> The templates (probably just a macro or two) 
>>>>>>>>>>>>>>>>>>>>>>>> will need updating to ensure that they output 
>>>>>>>>>>>>>>>>>>>>>>>> the category names per the new position order.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one advantage is that 
>>>>>>>>>>>>>>>>>>>>>>>> I'd like to do the same thing with 
>>>>>>>>>>>>>>>>>>>>>>>> bookmarks/blogrolls (team discussion 
>>>>>>>>>>>>>>>>>>>>>>>> pending...), switch from a hierarchical to 
>>>>>>>>>>>>>>>>>>>>>>>> flat-level for those too.  If we can do this 
>>>>>>>>>>>>>>>>>>>>>>>> for categories, the logic/UI design, etc., will 
>>>>>>>>>>>>>>>>>>>>>>>> carry over 100% to bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually getting to this 
>>>>>>>>>>>>>>>>>>>>>>>> myself, so am available to work with you on 
>>>>>>>>>>>>>>>>>>>>>>>> whatever parts you'd like. I think going in 
>>>>>>>>>>>>>>>>>>>>>>>> order 1-2-3-4 and having separate commits may 
>>>>>>>>>>>>>>>>>>>>>>>> be the cleanest way of doing this. What's nice 
>>>>>>>>>>>>>>>>>>>>>>>> about using a brand new table and JPA object is 
>>>>>>>>>>>>>>>>>>>>>>>> that the old objects can still work in the code 
>>>>>>>>>>>>>>>>>>>>>>>> while we're creating the new, we just don't 
>>>>>>>>>>>>>>>>>>>>>>>> activate the new until the very end.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team members on the above 
>>>>>>>>>>>>>>>>>>>>>>>> ideas...?) Or are there other Roller tasks 
>>>>>>>>>>>>>>>>>>>>>>>> you'd like to sink your teeth into instead? I 
>>>>>>>>>>>>>>>>>>>>>>>> can look at this otherwise, but this looks like 
>>>>>>>>>>>>>>>>>>>>>>>> a very good exercise for someone wanting to get 
>>>>>>>>>>>>>>>>>>>>>>>> more involved in Roller, as it covers all the 
>>>>>>>>>>>>>>>>>>>>>>>> layers of the webapp.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> I have started working on ROL-1981, as 
>>>>>>>>>>>>>>>>>>>>>>>>> discussed in previous discussion threads I 
>>>>>>>>>>>>>>>>>>>>>>>>> will add new column sequenceNum in 
>>>>>>>>>>>>>>>>>>>>>>>>> weblogcategory table. Then we can assign 
>>>>>>>>>>>>>>>>>>>>>>>>> sequenceNum to each category according to 
>>>>>>>>>>>>>>>>>>>>>>>>> websideid. If anyone have some ideas regarding 
>>>>>>>>>>>>>>>>>>>>>>>>> this, please help me. Also, need some help on 
>>>>>>>>>>>>>>>>>>>>>>>>> how to go with this issue, and how to add new 
>>>>>>>>>>>>>>>>>>>>>>>>> coloum, I found .sql file, do I need to add 
>>>>>>>>>>>>>>>>>>>>>>>>> there new column. Also, Is this possible that 
>>>>>>>>>>>>>>>>>>>>>>>>> that when I restart the roller it will add new 
>>>>>>>>>>>>>>>>>>>>>>>>> column to database ?
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>


Re: (another idea) Re: ROL-1981 Category ordering

Posted by Gaurav <ga...@gmail.com>.
Hello Glen,

I have already deleted getPath and getParent and in the mid of 
everything. I hope I will be able to complete this by Monday. If still, 
I get some major issues due to this, I will switch to what you 
suggested. Just give me time till Monday, as I have done almost 80% of 
code cleaned regarding the path and parentcategory. I will get back to 
you soon with some patches and then you can test it.

Also, my ICLA have been filed, got the receipt of my ICLA.

Thanks
Gaurav


On Wednesday 01 January 2014 08:07 AM, Glen Mazza wrote:
> Gaurav, sorry, it just occurred to me there's a simpler intermediate 
> step that can be done.  While we need the database table without a 
> path column, and to remove the "path" member *variable* from 
> WeblogCategory (or its replacement), we can still keep indefinitely 
> keep getPath(), just hardcode it to "/" + categoryName, which is 
> precisely what the old code returns for any top-level category--the 
> rest of the system can stay just as it did before.  Switching the rest 
> of the code from getPath() to using getName() can be done at any time, 
> bit by bit whenever, that's not necessary to implement positioning, 
> that's just a code cleanup issue.  Likewise, for 
> WeblogCategory.getParent(), it may be as simple as adding a root 
> category object as part of the Weblog's constructor (but not saved to 
> the database), and having WeblogCategory.getParent() just return 
> website.getParentCategory()--that way all categories for a weblog will 
> have the same root category as before, and the rest of the code base 
> should function fine.  Once we're on the new table, then it's an issue 
> of implementing positioning--getting rid of getParent() and getPath() 
> can be done by anybody at a later date.
>
> Regards,
> Glen
>
>
> On 12/31/2013 08:09 AM, Glen Mazza wrote:
>> No problem, I'm available to help (or finish it up) if needed.  For a 
>> seemingly simple switch, you're certainly getting a *full* education 
>> of the Roller codebase.  :)
>>
>> BTW, I hope you're not testing via mvn jetty:run, as that requires 
>> you to keep logging in for the first time, creating a blog for the 
>> first time, etc., whenever you start it.  Very inefficient and 
>> tiring.  Normally I just build (mvn clean install) and dump the WAR 
>> into standalone Tomcat on my local machine.  The database & other 
>> configuration I keep permanently in roller-custom.properties in the 
>> Tomcat lib/ folder, so the new WAR just takes over with the same 
>> configuration, blogs, accounts, etc., that old WAR was using. (Check 
>> the Roller install guide for full instructions.)
>>
>> Also vital is that you know how to debug/trace Roller code in Eclipse 
>> or IntelliJ while it is running on Tomcat (or another servlet 
>> container).  It's much simpler than it seems, and will save you a lot 
>> of time.  These instructions are for Eclipse but Intellij (my 
>> preference) is basically the same: 
>> http://www.jroller.com/gmazza/entry/eclipse_debug_web_services#ec3. 
>> Checking variable values while it's running will point you to where 
>> problems are much more quickly.
>>
>> Happy New Year!
>>
>> Regards,
>> Glen
>>
>>
>> On 12/31/2013 06:39 AM, Gaurav wrote:
>>> Hello Glen,
>>>
>>> As, I previously told you that the test cases are giving problem, 
>>> actually I think we have to do some changes in Test Cases also, as 
>>> many of the methods involving path and parent are removed so, many 
>>> times in test cases (it did not get correct values and give errors).
>>> I have successfully showed the categories by website till now in the 
>>> admin section. Also, the entries are saved just, I ran out of memory 
>>> issue in happen when I save an entry that entry, although it get 
>>> saved when I refresh the page.
>>>
>>> Also, as their is not path now, we have to do some changes in 
>>> velocity files, as feeds are giving error in showing, although if I 
>>> direct enter the URL its working fine. I have cleared many parts of 
>>> the code, just I have test of the roller parts which are linked the 
>>> path and parent. I am thinking of correcting the test cases, as I 
>>> can run them and if test cases are fine then might be everything 
>>> will work fine.
>>>
>>> I will return to work on this after 3 days, as I will be and will 
>>> get be to it during coming weekend again. I will wrap this out asap 
>>> for you to test and will attach patches coming weekend.
>>>
>>> Thanks
>>> Gaurav
>>>
>>> On Saturday 28 December 2013 05:49 PM, Gaurav wrote:
>>>> Thanks for that info, I have changed my settings in the eclipse.
>>>> Yes, you are right I will leave the ordering part for now and work 
>>>> on clearing the code for now. For now I will just add a column in 
>>>> category table with position, leaving it null for now.
>>>>
>>>> Regards,
>>>> Gaurav
>>>>
>>>> On Saturday 28 December 2013 05:33 PM, Glen Mazza wrote:
>>>>> Your last ImprovedCreateUser.patch had some tab characters in it, 
>>>>> and our project uses spaces for tabs (just have Eclipse insert 4 
>>>>> spaces whenever you hit the tab key, with no tab characters.) Very 
>>>>> few Apache projects (any?) are tab-indented today.  It is a simple 
>>>>> fix with IntelliJ IDEA (Edit -> Convert Indents -> To Spaces), I'm 
>>>>> sure Eclipse has an equivalent.
>>>>>
>>>>> For blogs migrating from pre-5.1 versions, we can keep the 
>>>>> position NULL by default (and when you order by position, with 
>>>>> null values, they will come out in any order, like they do 
>>>>> today.)    Whenever a new blog is created with the default three 
>>>>> categories, those can be assigned positions (probably 0-based for 
>>>>> leftmost is best.)  For migrated blogs, once the user goes to the 
>>>>> category page and makes a change for the first time, numbers can 
>>>>> be written for the very first time--no special extra UI is needed 
>>>>> for this purpose.  But like I was saying, this is such a lengthy 
>>>>> patch you may wish to forget about the ordering right now--it 
>>>>> doesn't work anyway in Roller right now.  It may be best to get us 
>>>>> to the new table and get rid of the paths, and once we're on that 
>>>>> firmer foundation implementing positioning (on the Category page 
>>>>> and in the templates) will be much simpler.
>>>>>
>>>>> Regards,
>>>>> Glen
>>>>>
>>>>> On 12/28/2013 06:14 AM, Gaurav wrote:
>>>>>> Hello Glen,
>>>>>>
>>>>>> I will change the position to be integer, and will exclude the 
>>>>>> category where parent null, but still what can be done for the 
>>>>>> position as the old data did not have position, so how and on 
>>>>>> what basis we have to add position to it. I was thinking that we 
>>>>>> can left it as null, and provide some UI in backend where user 
>>>>>> can assign position themselves.
>>>>>>
>>>>>> I will take care of spacing, will search what I am doing wrong. 
>>>>>> As, I am not sure is that you are talking about formatting the 
>>>>>> code, or anything else. As I use tab (with 4 spaces) in Eclipse IDE.
>>>>>>
>>>>>> Thanks
>>>>>> Gaurav
>>>>>>
>>>>>> On Saturday 28 December 2013 04:27 PM, Glen Mazza wrote:
>>>>>>> BTW, not to be hated, but make sure any code you submit is 
>>>>>>> space-padded (4 spaces), *not* tab-padded. Your IDE should be 
>>>>>>> able to convert it for you if you've been doing tab-padding.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Glen
>>>>>>>
>>>>>>> On 12/28/2013 05:06 AM, Gaurav wrote:
>>>>>>>> Hello Glen,
>>>>>>>>
>>>>>>>> I am confused on how to add and on what basis we have to addd 
>>>>>>>> position to the new category table. Below two sql commands can 
>>>>>>>> be used for coping data and deleting the root categories.
>>>>>>>>
>>>>>>>> create table category (
>>>>>>>>     id               varchar(48)  not null primary key,
>>>>>>>>     name             varchar(255) not null,
>>>>>>>>     description      varchar(255),
>>>>>>>>     websiteid        varchar(48) not null,
>>>>>>>>     image            varchar(255),
>>>>>>>>     position         varchar(48)
>>>>>>>> );
>>>>>>>>
>>>>>>>> insert into category(id,name,description,websiteid,image) 
>>>>>>>> select id,name,description,websiteid,image from weblogcategory;
>>>>>>>>
>>>>>>>> delete from category where name="root";
>>>>>>>>
>>>>>>>> What do you suggest for this ?
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Gaurav
>>>>>>>>
>>>>>>>> On Saturday 28 December 2013 06:56 AM, Glen Mazza wrote:
>>>>>>>>> Take your time, this is a messy change as it affects many 
>>>>>>>>> areas of the code. But Roller will be architecturally much 
>>>>>>>>> more solid and simpler once this change is done.  I have your 
>>>>>>>>> ROL-1616 and ROL-1982 on my plate for this weekend.
>>>>>>>>>
>>>>>>>>> Glen
>>>>>>>>>
>>>>>>>>> On 12/27/2013 02:40 PM, Gaurav wrote:
>>>>>>>>>> Hello Glen,
>>>>>>>>>>
>>>>>>>>>> I have deleted the path and all related methods, but its 
>>>>>>>>>> seems to me that the path methods like 
>>>>>>>>>> (getWeblogCategoryByPath) and many other path and parent 
>>>>>>>>>> related methods, are scattered over the whole roller. There 
>>>>>>>>>> are many occurrence of these methods and I have to sort out 
>>>>>>>>>> each piece of code as now there is no path so, mostly we 
>>>>>>>>>> check for categoryPath != null in if conditions, so these are 
>>>>>>>>>> no longer needed.
>>>>>>>>>> Also, I as thinking after testing and completing this we can 
>>>>>>>>>> delete the WeblogCategory and replace with Category method, 
>>>>>>>>>> as it will be clean. I also figured out why my tests are 
>>>>>>>>>> failing as during creating of weblogentry it did not find the 
>>>>>>>>>> categories, as that class was using old WeblogCategory table 
>>>>>>>>>> and using that class methods. I think I will definitely will 
>>>>>>>>>> figure out everything at the end and will successfully test 
>>>>>>>>>> with the unit tests.
>>>>>>>>>>
>>>>>>>>>> I am now in the editor part so can display the categories on 
>>>>>>>>>> front end, I am now all over the 1-2-3-4 steps you mentioned. 
>>>>>>>>>> As soon as I will able to display the categories (small 
>>>>>>>>>> issues left) at the backend, I will again go through my 
>>>>>>>>>> changes. Also, at this time I can only create patch for new 
>>>>>>>>>> table and migration script, as all other classes code are 
>>>>>>>>>> interrelated so can't submit now. I will test every single 
>>>>>>>>>> thing related to categories, then I will submit my patches.
>>>>>>>>>>
>>>>>>>>>> Although I have learned a lot new things, just spent last two 
>>>>>>>>>> full days on this sorting out things, many times ending up 
>>>>>>>>>> nowhere from where I started. But I am confident that I will 
>>>>>>>>>> definitely complete this task. Just I am worrying that I must 
>>>>>>>>>> be taking too much time.
>>>>>>>>>>
>>>>>>>>>> If there is something, you can advice me I would happy to 
>>>>>>>>>> follow that also.
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> Gaurav
>>>>>>>>>>
>>>>>>>>>> On Friday 27 December 2013 05:09 AM, Glen Mazza wrote:
>>>>>>>>>>> If it helps, you can provide interim patches, so long as it 
>>>>>>>>>>> doesn't break the current code base. You may want to create 
>>>>>>>>>>> a patch just creating the new database table (which will be 
>>>>>>>>>>> ignored by the current code) and sql insert-select scripts 
>>>>>>>>>>> to move from the current table to the new one, then one 
>>>>>>>>>>> converting the code to using the new table without sorting, 
>>>>>>>>>>> then (finally) one that implements sorting of the categories.
>>>>>>>>>>>
>>>>>>>>>>> Glen
>>>>>>>>>>>
>>>>>>>>>>> On 12/26/2013 08:12 AM, Gaurav wrote:
>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>
>>>>>>>>>>>> I have created and updated all necessary files in JPA and 
>>>>>>>>>>>> for database, I tried compiling the code it gave me errors 
>>>>>>>>>>>> in test cases. As I am not sure that what I am wrong in 
>>>>>>>>>>>> this. Although I tried compiling without running test 
>>>>>>>>>>>> cases, it worked fine. I tested it with tomcat and new 
>>>>>>>>>>>> table category is created and initial category (General, 
>>>>>>>>>>>> Finance and Technology) are created with the position 
>>>>>>>>>>>> 1,2,3. Still there are many thing I have to clean up and 
>>>>>>>>>>>> sort out and will test it again.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Thursday 26 December 2013 03:31 PM, Gaurav wrote:
>>>>>>>>>>>>> Ok, got your point. I will check on other Roller parts 
>>>>>>>>>>>>> also if parent name and path aren't be using in any other 
>>>>>>>>>>>>> part of Roller. I will go into the RSS and Atom feeds 
>>>>>>>>>>>>> later on, and see what changes it need. As, till now I 
>>>>>>>>>>>>> have changed many files and created some, so will first 
>>>>>>>>>>>>> test this part then go into that feeds part.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Thursday 26 December 2013 03:23 PM, Glen Mazza wrote:
>>>>>>>>>>>>>> Sounds good, but may require more work to make sure all 
>>>>>>>>>>>>>> is good with the RSS and Atom feeds as a result (which I 
>>>>>>>>>>>>>> believe rely on path). Where path is used to check for 
>>>>>>>>>>>>>> equivalence, I guess name (and blog/website ID, if 
>>>>>>>>>>>>>> necessary) alone will do now.  We may need to check (if 
>>>>>>>>>>>>>> we aren't already) that no two categories have the same 
>>>>>>>>>>>>>> name, where prior we were checking that no two paths are 
>>>>>>>>>>>>>> the same (i.e., allowing category paths USStates/Georgia 
>>>>>>>>>>>>>> and Countries/Georgia but now needing to disallow two 
>>>>>>>>>>>>>> categories named "Georgia".)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 12/26/2013 12:47 AM, Gaurav wrote:
>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I am thinking of removing the path coloumn also, as it 
>>>>>>>>>>>>>>> does not make sense now as there will no subcategories 
>>>>>>>>>>>>>>> and all will have same path (like /categoryname). WDYT ?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Wednesday 25 December 2013 04:05 PM, Glen Mazza wrote:
>>>>>>>>>>>>>>>> Yes, the root category can be nuked.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 12/25/2013 05:28 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I want to know as now all the categories will be top 
>>>>>>>>>>>>>>>>> level, so the root category which is created by 
>>>>>>>>>>>>>>>>> default on addWeblog isn't needed. So, I can remove 
>>>>>>>>>>>>>>>>> that code also ? I am in half completed with the 1-2 
>>>>>>>>>>>>>>>>> steps will soon submit some patched in jira issue. You 
>>>>>>>>>>>>>>>>> can look on to them whenever you will get time from 
>>>>>>>>>>>>>>>>> other projects.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Merry Christmas :)
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:57 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>> Glen,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks a lot for replying soon on this, I understand 
>>>>>>>>>>>>>>>>>> your commitments. As this will give me more time on 
>>>>>>>>>>>>>>>>>> working on this issue. I will give my 100% on this, 
>>>>>>>>>>>>>>>>>> as I also want to get into more and more open source 
>>>>>>>>>>>>>>>>>> projects. For Now I am focusing on Roller for 
>>>>>>>>>>>>>>>>>> starting my contributions in open source.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Tuesday 24 December 2013 10:51 AM, Glen Mazza wrote:
>>>>>>>>>>>>>>>>>>> No, not a rush (unfortunately I can't help much 
>>>>>>>>>>>>>>>>>>> right now either, as my other project JSPWiki has a 
>>>>>>>>>>>>>>>>>>> new release going out.) But please be patient with 
>>>>>>>>>>>>>>>>>>> us on your recent submitted patches -- we haven't 
>>>>>>>>>>>>>>>>>>> forgotten you and are happy with your efforts on 
>>>>>>>>>>>>>>>>>>> this project so far, we just have full-time jobs 
>>>>>>>>>>>>>>>>>>> and, even after that, other obligations -- for open 
>>>>>>>>>>>>>>>>>>> source work, we usually have to beg, borrow and 
>>>>>>>>>>>>>>>>>>> steal time to work on them.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On 12/24/2013 12:05 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> I am going through this having some issues, 
>>>>>>>>>>>>>>>>>>>> although not major till now. I have still working 
>>>>>>>>>>>>>>>>>>>> on 1-2 steps, might be I am slow as get less time. 
>>>>>>>>>>>>>>>>>>>> (Wish we also have holidays of this festive season 
>>>>>>>>>>>>>>>>>>>> in India :P) Just want to know isn't there any 
>>>>>>>>>>>>>>>>>>>> hurry for completing this asap ? Although, I am 
>>>>>>>>>>>>>>>>>>>> sure will definitely complete this as I have 
>>>>>>>>>>>>>>>>>>>> understood the structure of Roller completely. Just 
>>>>>>>>>>>>>>>>>>>> I have to go through the JPA more and read about this.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 PM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>> Looking good. Anything you're missing will become 
>>>>>>>>>>>>>>>>>>>>> apparent to you as you work along. The Roller 
>>>>>>>>>>>>>>>>>>>>> installation guide and here 
>>>>>>>>>>>>>>>>>>>>> (http://www.jroller.com/gmazza/entry/apache_derby_setup) 
>>>>>>>>>>>>>>>>>>>>> can show you how to test also with Derby if you'd 
>>>>>>>>>>>>>>>>>>>>> like. (It is usually simpler than MySQL, and 
>>>>>>>>>>>>>>>>>>>>> another benefit of working on Roller is that you 
>>>>>>>>>>>>>>>>>>>>> become multiple-database-lingual very quickly.)
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On 12/21/2013 06:16 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>> Hello Glen,
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks for helping in this and I with this much 
>>>>>>>>>>>>>>>>>>>>>> deep information, I can start working in it. I 
>>>>>>>>>>>>>>>>>>>>>> have started working on this Issue and have 
>>>>>>>>>>>>>>>>>>>>>> followed your steps.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> 1. Created a new table in createdb.vm and in 
>>>>>>>>>>>>>>>>>>>>>> migration scripts also. I have for mow stared 
>>>>>>>>>>>>>>>>>>>>>> working on MySQL.
>>>>>>>>>>>>>>>>>>>>>> 2. In JPAWeblogEntryManagerImpl class, I have 
>>>>>>>>>>>>>>>>>>>>>> commented updatePathTree and 
>>>>>>>>>>>>>>>>>>>>>> getRootWeblogCategory methods
>>>>>>>>>>>>>>>>>>>>>> 3. I have created a new file for now 
>>>>>>>>>>>>>>>>>>>>>> Category.orm.xml and enterd details of new table. 
>>>>>>>>>>>>>>>>>>>>>> A new class Category in weblogger/pojos.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> I have created new files for now and will work on 
>>>>>>>>>>>>>>>>>>>>>> this and add new position coloum and code 
>>>>>>>>>>>>>>>>>>>>>> regarding this. Other than UI and template Layer, 
>>>>>>>>>>>>>>>>>>>>>> I think I have covered all files on which I have 
>>>>>>>>>>>>>>>>>>>>>> to work on the Database and JPA layers ? Please 
>>>>>>>>>>>>>>>>>>>>>> tell me if I am wrong anywhere or following wrong 
>>>>>>>>>>>>>>>>>>>>>> workflow.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>> Gaurav
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Saturday 21 December 2013 04:59 AM, Glen Mazza 
>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>> Hi Gaurav, we use Velocity for our database 
>>>>>>>>>>>>>>>>>>>>>>> scripts -- you see a createdb.vm plus migration 
>>>>>>>>>>>>>>>>>>>>>>> scripts (5.0 to 5.1) -- we'll want our change in 
>>>>>>>>>>>>>>>>>>>>>>> both places (IIRC), new users have the createdb 
>>>>>>>>>>>>>>>>>>>>>>> run and Roller upgraders with their current DB's 
>>>>>>>>>>>>>>>>>>>>>>> have the 5.0 to 5.1 migration script run.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> We have multiple issues here and I'd like to get 
>>>>>>>>>>>>>>>>>>>>>>> this done right (I plan on helping out where 
>>>>>>>>>>>>>>>>>>>>>>> you'd like). Namely, we've moved from a 
>>>>>>>>>>>>>>>>>>>>>>> hierarchical category structure (categories 
>>>>>>>>>>>>>>>>>>>>>>> having subcategories having their own 
>>>>>>>>>>>>>>>>>>>>>>> subcatorgories etc.) to a flat single-level 
>>>>>>>>>>>>>>>>>>>>>>> structure (all categories are top level) -- that 
>>>>>>>>>>>>>>>>>>>>>>> was done a week or so back. Problem is, the 
>>>>>>>>>>>>>>>>>>>>>>> database tables are still assuming hierarchical 
>>>>>>>>>>>>>>>>>>>>>>> (they will work with flat structures but are 
>>>>>>>>>>>>>>>>>>>>>>> overkill--we don't need a parent ID column 
>>>>>>>>>>>>>>>>>>>>>>> anymore.) Also, the JPA objects are designed for 
>>>>>>>>>>>>>>>>>>>>>>> hierarchical but can simplified a bit more to 
>>>>>>>>>>>>>>>>>>>>>>> flat structure. Incidentally, "sequenceNum" is 
>>>>>>>>>>>>>>>>>>>>>>> ambiguous about what it means, I would say 
>>>>>>>>>>>>>>>>>>>>>>> "position" or "ordering" (INT null, null for 
>>>>>>>>>>>>>>>>>>>>>>> migrators who don't yet have a position defined) 
>>>>>>>>>>>>>>>>>>>>>>> is clearer.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I think the simplest way to handle this--for 
>>>>>>>>>>>>>>>>>>>>>>> both new installers and upgraders--is:
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> 1.)  Database: To create a new table, say 
>>>>>>>>>>>>>>>>>>>>>>> "category" designed precisely as we need, and 
>>>>>>>>>>>>>>>>>>>>>>> have the migration scripts select from the old 
>>>>>>>>>>>>>>>>>>>>>>> weblogcategory and insert into the new category 
>>>>>>>>>>>>>>>>>>>>>>> table. (We then ignore the weblogcategory 
>>>>>>>>>>>>>>>>>>>>>>> table.) We'll need to test the scripts with at 
>>>>>>>>>>>>>>>>>>>>>>> least two databases (2 of probably MySQL, Derby 
>>>>>>>>>>>>>>>>>>>>>>> and/or PostgreSQL) and guess for the others--if 
>>>>>>>>>>>>>>>>>>>>>>> we're wrong the user community can supply a 
>>>>>>>>>>>>>>>>>>>>>>> patch fixing it.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> 2.) JPA: The JPA persistence object (the old 
>>>>>>>>>>>>>>>>>>>>>>> WeblogCategory) will need 
>>>>>>>>>>>>>>>>>>>>>>> simplifying/restructuring as it's now 
>>>>>>>>>>>>>>>>>>>>>>> flat-level. Indeed, I think things will get a 
>>>>>>>>>>>>>>>>>>>>>>> *lot* simpler here, as it may just be the parent 
>>>>>>>>>>>>>>>>>>>>>>> Weblog holding a list of some sort of Category 
>>>>>>>>>>>>>>>>>>>>>>> objects--that's it.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> 3.) UI Layer: The category.jsp (or whatever it's 
>>>>>>>>>>>>>>>>>>>>>>> called) and its Struts action class will now 
>>>>>>>>>>>>>>>>>>>>>>> need to use the new Category object (and table) 
>>>>>>>>>>>>>>>>>>>>>>> instead of WeblogCategory. The UI page will need 
>>>>>>>>>>>>>>>>>>>>>>> two changes: (1) all new categories will be 
>>>>>>>>>>>>>>>>>>>>>>> placed (and saved) at the bottom of the category 
>>>>>>>>>>>>>>>>>>>>>>> list (and as result, appear last (right-most) in 
>>>>>>>>>>>>>>>>>>>>>>> the category list, and, later (2) probably have 
>>>>>>>>>>>>>>>>>>>>>>> up and down buttons in the table allowing users 
>>>>>>>>>>>>>>>>>>>>>>> to easily reorder the categories as they like. 
>>>>>>>>>>>>>>>>>>>>>>> (Strictly speaking, 1 alone is all that's needed 
>>>>>>>>>>>>>>>>>>>>>>> for ordering, as you can 
>>>>>>>>>>>>>>>>>>>>>>> remove/name/delete/recreate categories to 
>>>>>>>>>>>>>>>>>>>>>>> eventually get them in the position you'd like, 
>>>>>>>>>>>>>>>>>>>>>>> but (2) of course is much nicer.)
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> 4.) Template layer (haven't looked into this): 
>>>>>>>>>>>>>>>>>>>>>>> The templates (probably just a macro or two) 
>>>>>>>>>>>>>>>>>>>>>>> will need updating to ensure that they output 
>>>>>>>>>>>>>>>>>>>>>>> the category names per the new position order.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> It's a lot of work, but one advantage is that 
>>>>>>>>>>>>>>>>>>>>>>> I'd like to do the same thing with 
>>>>>>>>>>>>>>>>>>>>>>> bookmarks/blogrolls (team discussion 
>>>>>>>>>>>>>>>>>>>>>>> pending...), switch from a hierarchical to 
>>>>>>>>>>>>>>>>>>>>>>> flat-level for those too.  If we can do this for 
>>>>>>>>>>>>>>>>>>>>>>> categories, the logic/UI design, etc., will 
>>>>>>>>>>>>>>>>>>>>>>> carry over 100% to bookmarks.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I was planning on eventually getting to this 
>>>>>>>>>>>>>>>>>>>>>>> myself, so am available to work with you on 
>>>>>>>>>>>>>>>>>>>>>>> whatever parts you'd like. I think going in 
>>>>>>>>>>>>>>>>>>>>>>> order 1-2-3-4 and having separate commits may be 
>>>>>>>>>>>>>>>>>>>>>>> the cleanest way of doing this. What's nice 
>>>>>>>>>>>>>>>>>>>>>>> about using a brand new table and JPA object is 
>>>>>>>>>>>>>>>>>>>>>>> that the old objects can still work in the code 
>>>>>>>>>>>>>>>>>>>>>>> while we're creating the new, we just don't 
>>>>>>>>>>>>>>>>>>>>>>> activate the new until the very end.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> WDYT?  (Also, other team members on the above 
>>>>>>>>>>>>>>>>>>>>>>> ideas...?) Or are there other Roller tasks you'd 
>>>>>>>>>>>>>>>>>>>>>>> like to sink your teeth into instead? I can look 
>>>>>>>>>>>>>>>>>>>>>>> at this otherwise, but this looks like a very 
>>>>>>>>>>>>>>>>>>>>>>> good exercise for someone wanting to get more 
>>>>>>>>>>>>>>>>>>>>>>> involved in Roller, as it covers all the layers 
>>>>>>>>>>>>>>>>>>>>>>> of the webapp.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>> Glen
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On 12/20/2013 10:43 AM, Gaurav wrote:
>>>>>>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I have started working on ROL-1981, as 
>>>>>>>>>>>>>>>>>>>>>>>> discussed in previous discussion threads I will 
>>>>>>>>>>>>>>>>>>>>>>>> add new column sequenceNum in weblogcategory 
>>>>>>>>>>>>>>>>>>>>>>>> table. Then we can assign sequenceNum to each 
>>>>>>>>>>>>>>>>>>>>>>>> category according to websideid. If anyone have 
>>>>>>>>>>>>>>>>>>>>>>>> some ideas regarding this, please help me. 
>>>>>>>>>>>>>>>>>>>>>>>> Also, need some help on how to go with this 
>>>>>>>>>>>>>>>>>>>>>>>> issue, and how to add new coloum, I found .sql 
>>>>>>>>>>>>>>>>>>>>>>>> file, do I need to add there new column. Also, 
>>>>>>>>>>>>>>>>>>>>>>>> Is this possible that that when I restart the 
>>>>>>>>>>>>>>>>>>>>>>>> roller it will add new column to database ?
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Thanks for Any ideas/help.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> [1] - 
>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/ROL-1981
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>