Organizing MVC

Hi, I'm just learning MVC and I have few questions.
As the class count increases with MVC, how do you usually organize the models, views and controllers in Java packages? I think I'm trying to "tie them together" too much. Also, should I think like that the Models arent actually a part of the MVC at all?
I have Screens (views) like TitleScreen, OptionsScreen, HelpScreen. They all have an abstract base class Screen that has a Window (which contains all smaller components like buttons etc.). Now I'm gonna have quite many of these screens and I'm wondering if it's practical for each of them to have a separate controller, model and view. Some of them are pretty simple and may have just like few buttons which have some simple actions. Also, if I know that, for example, some controller isn't gonna change, could I make things easier by declaring it as inner class or something. I'm not really trying to achieve any kind of superior flexibility but mainly just a practical division between the view and data.
Especially the controller part is hardest to think of maybe because of the simplicity of my screens. And I'm not too sure of all it's responsibilities.
Let's say I want to have a screen that shows a list of Players, and it's possible to create, delete and choose players in it. So as I've understood I should create:
- TitleScreen (has a Window, which in turn has the List that displays the Players)
- TitleState (contains the actual player-objects, and some methods to interact with them)
- TitleController (first things that come into my mind are methods like createPlayer(String), deletePlayer(String), but I think they would fit to TitleState too?)
How would you design the above classes?
Another thing I'm confused of is that in some examples I've seen the View has a reference to the model and sometimes it seems to pull data directly from it (using getters) and sometimes it gains them as events. Which one should I prefer?
Also, how do you usually name the models, views and controllers?
Thanks a bunch

Hi, I'm just learning MVC and I have few questions.
As the class count increases with MVC, how do you
usually organize the models, views and controllers in
Java packages? I think I'm trying to "tie them
together" too much. Also, should I think like that
the Models arent actually a part of the MVC at all?
There are two high-level package organization options, neither of which is either correct or incorrect, but rather a matter of preference. After your domain, you can either go tier and then component or vice versa. Here are two examples:
com.foo.controller.account
com.foo.controller.invoice
com.foo.model.account
com.foo.model.invoice
com.foo.view.account
com.foo.view.invoice
or
com.foo.account.controller
com.foo.account.model
com.foo.account.view
com.foo.invoice.controller
com.foo.invoice.model
com.foo.invoice.view
I have Screens (views) like TitleScreen,
OptionsScreen, HelpScreen. They all have an abstract
base class Screen that has a Window (which contains
all smaller components like buttons etc.). Now I'm
gonna have quite many of these screens and I'm
wondering if it's practical for each of them to have
a separate controller, model and view. Some of them
are pretty simple and may have just like few buttons
which have some simple actions. Also, if I know that,
for example, some controller isn't gonna change,
could I make things easier by declaring it as inner
class or something. I'm not really trying to achieve
any kind of superior flexibility but mainly just a
practical division between the view and data.
There is no reason that a series of common screens, presumably with common functionality offered, could not also have controllers that have common functionality. Either refactor the common controller code to a helper object or an abstract controller super-class.
What you have stumbled upon is that it is very difficult to separate the view from the controller. The controller's responsibilities are to response to user requests and dispatch model data to the appropriate view. As such, the controller is 'dependent' on both the model and the view. Neither model nor view, however, should be dependent on the controller.
Within a standard GUI application, any events that you process are candidates for controller code. These include button clicks, menu clicks, etc. Now, you can simply leave these as event listeners or you can refactor them into proper controllers. This would mean that you instantiate a given controller which would be responsible for managing a given view. The methods on the controller would alter the state of the view.
Especially the controller part is hardest to think of
maybe because of the simplicity of my screens. And
I'm not too sure of all it's responsibilities.
See above. Also note that it is hard to decouple the view and controller. For most GUI applications, you really do not need model-view-controller, you simply need model-delegate, where delegate is a mish-mosh of view and controller responsibilities.
Let's say I want to have a screen that shows a list
of Players, and it's possible to create, delete and
choose players in it. So as I've understood I should
create:
- TitleScreen (has a Window, which in turn has the
List that displays the Players)
- TitleState (contains the actual player-objects, and
some methods to interact with them)
- TitleController (first things that come into my
mind are methods like createPlayer(String),
deletePlayer(String), but I think they would fit to
TitleState too?)
That is fine. Your controller is delegating a request to the model class. That is normal. It might seem odd the signatures are similar (or wasteful), but to do proper MVC, the view should invoke a controller which will invoke the model which and then finally pass the model result(s) if any to either the same or a different view.
How would you design the above classes?
See above.
Another thing I'm confused of is that in some
examples I've seen the View has a reference to the
model and sometimes it seems to pull data directly
from it (using getters) and sometimes it gains them
as events. Which one should I prefer?
It depends on how much decoupling you want. You can have your controllers or your views act as listeners or observers (via the observer-observable pattern). However, the model generally should stand on its own.
Also, how do you usually name the models, views and
controllers?
Personal preference. Remember from above that the package structure itself will give you a clue as to what tier you are in.
Thanks a bunchYou are welcome.
- Saish

Similar Messages

  • MVC - Organizing models and managing GUI windows

    I'm having difficulty organizing my MVC models and basically controlling the whole application in general. My application works, but all the controlling logic is being dumped into the main class (Main.java). Here's a simple example of the problem I'm having:
    Objectives
    1) Display a list of Companies; i.e. Sun, Microsoft, Adobe, etc. (JFrame with a JList)
    2) The user select a Company and it pops up a new dialog with a list of Employees. (JDialog with a JList)
    Here are the classes I came up with:
    Models:
    1) CompanyListModel
    2) EmployeeListModel
    Listeners:
    1) CompanyListener
    Views:
    1) CompanyListFrame
    2) EmployeeListDialog
    Domain Objects:
    1) Company
    2) Employee
    And then there's the main application class. To implement the above objective, I've been using my main class to control the GUI.
    Here's an example of how I've implemented it.
    public class Main implements CompanyListener {
        /** Creates a new instance of Main */
        public Main() {
            CompanyListModel companyModel = new CompanyListModel();
            companyModel.addCompanyListener(this);
            CompanyListFrame gui = new CompanyListFrame(companyModel);
        // A company was selected.  Open a new dialog and display the employees
        public void companySelected(CompanyModel companyModel) {
            Company company = companyModel.getCompany();
            EmployeeListModel employeeModel = new EmployeeListModel(company));
            EmployeeListDialog = new EmployeeListDialog(employeeModel);
        public static void main(String[] args) {
            new Main();
    }My program is similiar design wise to the above, but contains many more classes. I'm still using my main class to control GUI logic (popping up new windows and creating models, etc). Thus, my main class implements like 5 different listeners. I'm sure this is a really poor design choice, I just don't know how else to implement it.
    I should not nest models... correct? I was thinking about nesting the models, i.e. CompanyListModel contains an EmployeeListModel, but then the CompanyListModel will need to spawn the EmployeeListDialog when a Company is selected, right? Thus, I'd be mixing the view with the model.
    Please provide some advice! :( Thanks!

    I'm sorry, I read your reply about 3 times and I've
    spent the last 20 minutes trying to implement it.
    I'm just not sure how the controllers are involved.
    Could you possibly provide source code for the
    controllers (and any part of the models / views that
    communicate with the controller)?No source code. Read about the MVC pattern.
    I feel like this is a wasted effort. I'm the sole
    entry level programmer at my company and I have only
    one year real wold experience . I work with about 10
    other senior level (microsoft) programmers and none
    of them code in this fashion. All of our
    applications are desktop applications using C#,
    C/C++, or scripting languages.What's a wasted effort? You posting a question? Me posting a response? You writing Java? You trying to think about how to do this properly?
    So why are you using Java if you're in a Microsoft shop? How's this working out with your co-workers?
    I feel like if I worked on a project with one of
    them, they would criticize me for using MVC and
    "complicating" such a simple issue.That's usually because Microsoft likes tying a particular text box to a column in a table. If you change the textbox value you change the database. Nice and easy, right?
    In trying to implement this solution, my workspace
    now has a huge load of classes for something so
    simple:
    Company
    CompanyFrame
    CompanyListController
    CompanyListListener
    CompanyListModel
    CompanyListPanel
    Employee
    EmployeeListDialog
    EmployeeListModel
    EmployeeListPanel
    Main
    11 classes and I left out the Emp Controller and
    Listener to simplify the example. The more classes
    that you have, the slower the application startup
    time. Moving the Views to JPanels as you suggested
    seemed smart but it wound up making it more
    difficult. I'm using NetBeans and Matisse and I
    don't believe you can use another JPanel class in the
    GUI editor unless you make it a bean.
    Traditionally, I would have implemented as follows.
    I would have completed it in 5 minutes and it would
    be much easier to understand what's going on:
    Company
    CompanyFrame - contains a list of companies
    Employee
    EmployeeListDialog - contains a list of employees
    Main
    Of course doing it this way I'd be mixing data with
    the view, but is that always a bad thing or is it
    only bad for large scale applications? Should MVC
    not be used for small modules like this?For small modules that are nothing more the CRUD operations, it might be that a simpler approach is fine. (PS - CRUD stands for Create/Read/Update/Delete, standard relational operations on tables. I'm not commenting on you or your code.)
    It only becomes a problem when that "simple" CRUD application decides to branch into something bigger. The approach of mingling view and data can become problematic then.
    It's still possible to have a clean application for small apps. I think most Microsoft programmers do it that way because the wizards and stuff they're used only allow it to be done that way.
    The reasons why I'm going away from my old "academic"
    programming practices is:
    1) I want to become a better programmer of course!Kudos to you. At least you're still thinking about it.
    2) There's alot of database queries in this
    application so I wanted to separate that from the GUI
    as much as possible. Thus, each model knows how to
    query the database and it's all done on separate
    threads.That's good motivation, too.
    I'd really like to do this right. If you could
    provide source that would be great. Also, are there
    any good books on desktop GUI development geared
    towards Java (or even C#)?I don't write for the desktop, so I'm not much help.
    I already purchased the e-book Desktop Java Live,
    which is great but they don't go into detail about
    MVC and instead use Model-Presenter which has been
    retired (according to Fowlers website). I found that
    section fairly confusing so I figured I'd start with
    MVC since it's more widespread (?).If you're reading Martin Fowler you're doing well.
    Thank you.I'm sorry that I'm not more helpful.
    %

  • How to have emails as organized in iMail as in MacBook?

    Hello,
    When I use my @me email account in my iPad, the messages are organized but the same does not happen when I use www.icloud.com. Is there any configuration I have to do in order to have the same situation?
    Thanks in advance!
    Best regards,
    Thiago Zampolin

    Thank You! This is exactly what I looked for!
    Additionaly having runtime projectname_edge.js in htmlroot in ASP.NET MVC website, is slowing down the animation show up. Now (with subfolder) it working fast and fluid
    Many, many thanks!

  • Mvc - connection pool - jstl - oh my!

    I am trying to understand how to use the mvc model to break my existing jsp's up. I finally got my connection pool working yesterday(yay!) so now I want to get everything organized into servlets. My understanding of servlets sucks - and I have not written one yet. Researching it on the net hasnt helped much - a bit overwhelming..
    Please tell me if my logic is on track or not - keeping in mind the mvc model - keeping in mind I dont know how to write a servlet : )
    DATABASE package;
    public static dbpool getConnection() {
         // write JNDI information
    public static void dbpoolClose(Connection connDB) {
         // close connection
    }Then in a servlet I would try to write something like this...
    MyBean {
    // call the connection method
    - do crud operations
    - use getters and setters
    - close statements that I have open
    // call the close connection method
    }Then in my JSP( I have JSTL working YAY!!) I wil call the bean/getters/setters and use JSTL to manipulate and present the data? Is this close to being in the MVC model?
    I havent found an example using the mvc using a connection pool, database operations and a jsp - that I have been able to understand.. so If I am waay off.. sorry.

    Basically, use the servlet to tell other classes what to do (these can be other servlets or whatever).
    Those classes prepare the data you want to have the JSPs show and process the data returned from the JSPs.
    The JSP does nothing except display data presented to it by the servlet (and may have URLs or forms to provide input to servlets.
    At its simplest, there's no controller at all (so no C). A JSP calls a servlet which processes the data sent to it and prepares new data for another (or the same) JSP to which it forwards the request when done.
    That data can be stored in the Http session or (sometimes) better in the request.
    More usually, a controller will receive all requests from and determine to what servlet to send them.
    The servlet then either determines on its own to which JSP to send the results or gives those results back to the controller which will do that for them and forward to the proper JSP.
    If needed you can thus chain requests so that a request goes to a servlet, from there to another servlet and then to a JSP (for example), each time via the controller.
    This can be handy to break up complex processing in small steps where those small steps could also occur separate.

  • Open and display image in MVC layout

    Hello!
    I cant figure out how I shall do this in an MVC layout:
    The program request user to open an image file that are then displayed in a JLabel
    My setup at the moment resolve in a nullpointerexeption because it dont get any actual image file, but I dont understand what I have missed.
    I can not post the whole code fo you to run because it is to big, so I post the part that are the most important. please have a look.
    PicturePanel
    //Import Java library
    import javax.swing.*;
    import java.awt.*;
    public class PicturePanel extends JPanel {
         //Variables
         private ImageIcon picture;
         //Method to get information of the selected file
         PicturePanel (String fileName) {
              picture = new ImageIcon (fileName); //Get the filename
              int w = picture.getIconWidth(); //Get the image with
              int h = picture.getIconHeight(); //Get the image height
              //Set preferable size for the image (Use the properties for the selected image)
              setPreferredSize(new Dimension(w, h));
              setMinimumSize(new Dimension(w, h));
              setMaximumSize(new Dimension(w, h));
         //Method to draw the selected image
         protected void paintComponent(Graphics g) {
              super.paintComponent(g); //We invoke super in order to: Paint the background, do custom painting.
              g.drawImage(picture.getImage(), 0, 0, this); //Draw the image at its natural state
    }From my model:
    //Local attributes
         boolean check = false; //Used to see if a statement is true or not
         PicturePanel pp;
         JFileChooser fc;
         int returnVal;
    //newFile in File menu
         public void newFile() {
              //Open a file dialog in users home catalog
              fc = new JFileChooser();
              //In response to a button click:
              returnVal = fc.showOpenDialog(pp);
              System.out.println("You pressed new in file menu");
         }From my controler:
    //User press "New" in File menu
              else if (user_action.equals("New")) {
                   //Call method in model class
                   model.newFile();
                   //Update changes
                   if (model.returnVal == JFileChooser.APPROVE_OPTION) {
                        System.out.println("Hello1");
                        File f = model.fc.getSelectedFile();
                        if (model.pp != null)     
                             model.pp = new PicturePanel(f.getAbsolutePath());
                        System.out.println("Hello2");
                        //Display image (Here is line 83)
                        view.setImage_DisplayArea(model.pp);
                        System.out.println("Hello3");
              }From my view:
    //Sets the image to be displayed on the image_display area (Here is line 302)
         public void setImage_DisplayArea(PicturePanel pp) {
              image_display.add(pp);
         }The complet error:
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
         at java.awt.Container.addImpl(Container.java:1015)You pressed new in file menu
    Hello1
    Hello2
         at java.awt.Container.add(Container.java:351)
         at View_Inlupp2.setImage_DisplayArea(View_Inlupp2.java:302)
         at Control_Inlupp2.actionPerformed(Control_Inlupp2.java:83)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1882)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2202)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
         at javax.swing.AbstractButton.doClick(AbstractButton.java:334)
         at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1050)
         at apple.laf.CUIAquaMenuItem.doClick(CUIAquaMenuItem.java:119)
         at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1091)
         at java.awt.Component.processMouseEvent(Component.java:5602)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3129)
         at java.awt.Component.processEvent(Component.java:5367)
         at java.awt.Container.processEvent(Container.java:2010)
         at java.awt.Component.dispatchEventImpl(Component.java:4068)
         at java.awt.Container.dispatchEventImpl(Container.java:2068)
         at java.awt.Component.dispatchEvent(Component.java:3903)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4256)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3936)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3866)
         at java.awt.Container.dispatchEventImpl(Container.java:2054)
         at java.awt.Window.dispatchEventImpl(Window.java:1801)
         at java.awt.Component.dispatchEvent(Component.java:3903)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)Edited by: onslow77 on Dec 16, 2009 5:00 PM
    Edited by: onslow77 on Dec 16, 2009 5:04 PM

    Hello again!
    Anyone that can help me figure out how to implement this in an MVC layout, I feel stuck.
    I post a little program that open and display an image file so that you better can understand what I whant to do.
    ShowImage
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.File;
    import javax.swing.filechooser.*;
    public class ShowImage extends JFrame{
         //Variables
         JFileChooser fc = new JFileChooser();
         PicturePanel pp = null;
         ShowImage () {
              super("Show"); //Title
              //Create the GUI
              JPanel top = new JPanel();
              add(top, BorderLayout.NORTH);
              JButton openBtn = new JButton("Open");
              top.add(openBtn);
              openBtn.addActionListener(new Listner());
              //Settings for the GUI
              setDefaultCloseOperation(EXIT_ON_CLOSE);
              pack();
              setVisible(true);
         class Listner implements ActionListener {
              public void actionPerformed(ActionEvent ave) {
                   int answer = fc.showOpenDialog(ShowImage.this);
                   if (answer == JFileChooser.APPROVE_OPTION){
                        File f = fc.getSelectedFile();
                        //Check
                        System.out.println(f);
                        System.out.println(pp);
                        if (pp != null)
                             remove(pp); //Clean so that we can open another image
                        //Check
                        System.out.println(pp);
                        //Set the PicturePanel
                        pp = new PicturePanel(f.getAbsolutePath());
                        //Check
                        System.out.println(pp);
                        //Add PicturePanel to frame
                        add(pp, BorderLayout.CENTER);
                        validate();
                        pack();
                        repaint();
         //Main
         public static void main(String[] args) {
              new ShowImage();
    }PicturePanel
    //Import Java library
    import javax.swing.*;
    import java.awt.*;
    public class PicturePanel extends JPanel {
         //Variables
         private ImageIcon picture;
         //Method to get information of the selected file
         PicturePanel (String fileName) {
              picture = new ImageIcon (fileName); //Get the filename
              int w = picture.getIconWidth(); //Get the image with
              int h = picture.getIconHeight(); //Get the image height
              //Set preferable size for the image (Use the properties for the selected image)
              setPreferredSize(new Dimension(w, h));
              setMinimumSize(new Dimension(w, h));
              setMaximumSize(new Dimension(w, h));
         //Method to draw the selected image
         protected void paintComponent(Graphics g) {
              super.paintComponent(g); //We invoke super in order to: Paint the background, do custom painting.
              g.drawImage(picture.getImage(), 0, 0, this); //Draw the image at its natural state
    }//The endEdited by: onslow77 on Dec 16, 2009 7:30 PM

  • How can I create a new table in a MySQL database in MVC 5

    I have an MVC 5 app, which uses MySQL hosted in Azure as a data source. The point is that inside the database, I want to create a new table called "request". I have already activated migrations for my database in code. I also have the following
    code in my app.
    Request.cs: (inside Models folder)
    public class Request
    public int RequestID { get; set; }
    [Required]
    [Display(Name = "Request type")]
    public string RequestType { get; set; }
    Test.cshtml:
    @model Workfly.Models.Request
    ViewBag.Title = "Test";
    <h2>@ViewBag.Title.</h2>
    <h3>@ViewBag.Message</h3>
    @using (Html.BeginForm("SaveAndShare", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
    @Html.AntiForgeryToken()
    <h4>Create a new request.</h4>
    <hr />
    @Html.ValidationSummary("", new { @class = "text-danger" })
    <div class="form-group">
    @Html.LabelFor(m => m.RequestType, new { @class = "col-md-2 control-label" })
    <div class="col-md-10">
    @Html.TextBoxFor(m => m.RequestType, new { @class = "form-control", @id = "keywords-manual" })
    </div>
    </div>
    <div class="form-group">
    <div class="col-md-offset-2 col-md-10">
    <input type="submit" class="btn btn-default" value="Submit!" />
    </div>
    </div>
    @section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
    HomeController.cs:
    [HttpPost]
    public ActionResult SaveAndShare(Request request)
    if (ModelState.IsValid)
    var req = new Request { RequestType = request.RequestType };
    return RedirectToAction("Share");
    The point is that, I want the user to fill the form inside the Test view and click submit, and when the submit is clicked, I want a new entry in the new table to be created. But first of course I need to create the table. Should I create it using SQL query
    through MySQL workbench? If yes, then how can I connect the new table with my code? I guess I need some DB context but don't know how to do it. If someone can post some code example, I would be glad.
    UPDATE:
    I created a new class inside the Models folder and named it RequestContext.cs, and its contents can be found below:
    public class RequestContext : DbContext
    public DbSet<Request> Requests { get; set; }
    Then, I did "Add-Migration Request", and "Update-Database" commands, but still nothing. Please also note that I have a MySqlInitializer class, which looks something like this:
    public class MySqlInitializer : IDatabaseInitializer<ApplicationDbContext>
    public void InitializeDatabase(ApplicationDbContext context)
    if (!context.Database.Exists())
    // if database did not exist before - create it
    context.Database.Create();
    else
    // query to check if MigrationHistory table is present in the database
    var migrationHistoryTableExists = ((IObjectContextAdapter)context).ObjectContext.ExecuteStoreQuery<int>(
    string.Format(
    "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = '{0}' AND table_name = '__MigrationHistory'",
    // if MigrationHistory table is not there (which is the case first time we run) - create it
    if (migrationHistoryTableExists.FirstOrDefault() == 0)
    context.Database.Delete();
    context.Database.Create();

    Hello Toni,
    Thanks for posting here.
    Please refer the below mentioned links:
    http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-app-membership-oauth-sql-database/
    http://social.msdn.microsoft.com/Forums/en-US/3a3584c4-f45f-4b00-b676-8d2e0f476026/tutorial-problem-deploy-a-secure-aspnet-mvc-5-app-with-membership-oauth-and-sql-database-to-a?forum=windowsazurewebsitespreview
    I hope that helps.
    Best Regards,
    Sadiqh Ahmed

  • Is there a major flaw with Iphoto in regards to organizing and backing up?

    Is there a major flaw with Iphoto in regards to organizing and backing up? And how should I proceed??
    Here is my story. I have moved roughly 15,000 photos from 7 computers (4 PCs and 3 Macs - basically everyone's computer in the family) onto one external hard drive. The photos were taken by many different digital cameras, are sparsely labeled, and have the most random names and folders. There are a LOT of duplicates. MY MISSION - label and back them up.
    The way I normally deal with photos/DATA is this: I plug my camera into my Mac and immediately think about organizing and backing them up. With "Preview" I look at photos (and decide which one I like), create a folder called "where-ever I took these photos" and drag them into that folder. The problem with Iphoto is that you have no ability to control folders, unlike many other applications.
    For example, in Itunes you can rename an artist, or even an album, and it will automatically appear in an updated folder. If you alter a photo in Photoshop, it makes you save it is a new file. In Iphoto you cannot make the same "root level" changes without making duplicates. From what I understand, you can place photos into an Album and then export that album (which makes duplicates). Iphoto will rename each duplicate file and then place it in the correct folder. The problem here is I have no idea where the original is to delete it.
    Basically I want to create folders called "Trip to Italy 2003" or "Rachel's Wedding" and place all the photos associated with that event in those folders. The problem I run into is that I have a bunch of duplicates. I have heard of a program called Duplicate Annihilator which has gotten favorable reviews. If I import them into Iphoto all the photos are placed in random named folders. I say random because some of the photos were taken on cameras that didn't have the date set correctly. Hence some of my photos will appear in a labyrinth of folders called "Modified / 2001 / Roll 17 / DCM482 / Image25874654.jpg"
    I am totally willing to wipe my Iphoto library clean and start again if there is a way to organize the photos as described above. Eventually I will take these folders and save them on a data DVD.
    Thanks to anyone who can help.
    Gary

    You do not need to delve into the folders within the iPhoto Library via the finder to access any photo. That is all done within iPhoto itself. If you need a photo for use outside of iPhoto read Terence Devlin's treatise on file access. iPhoto is a DAM application - Digital Asset Management, not a folder manager. There's a big difference. You can use keywords, album and smart albums to organize your photos.
    If you still have the original files you might consider what I do. I rename each file with the date it was taken using the international date format: YYYY-MM-DD-001.jpg. You can download the demo version ofMedia Expression and automatically rename each folder of photos with the EXIF date and a sequential number. This makes chronological searching and sorting much easier both in iPhoto and the Finder.
    If you want to not only manage the photos but the folders then Expression Media will let you do both. It will let you rename files after being imported into a catalog, move them between folders, add ITPC metadata to the files, create virtual albums called Supplemental categories, and much, much more. I use it as my primary DAM and iPhoto for special projects like books, slideshows, calendars, etc.

  • How to get background color in MVC programming

    Hi Experts,
    I am new to BSP.
    I am working in CRM 7.0 version and designing a view using MVC method in BSP.
    I have two doubts::
    1. How can i get background color in a view ?
    2. How can i attach a picture, that is in paint-brush, in background ?
    Thanks in Advance.
    Nitin Karamchandani.
    Edited by: Nitin Karamchandani on Jun 3, 2009 8:10 AM

    Hi,
    several html tags have the attribute bgcolor, like
    <body bgcolor="red">  or <body bgcolor="RRGGBB">  where RR, GG, BB is an hexadecimal value according to RGB color palette.
    you can also work with CSS and in this case you affect the attribute style, which is also available in several tags:
    document.body.style.backgroundColor="#EEEEEE"

  • Creation of context index on index-organized table

    I encountered a problem when creating a domain index(intermediate text context index) on a index-organised table in oracle 8i.
    The description of the error is stated below:
    "ORA-29866: cannot create domain index on a column of index-organized table "
    I have configured intermediate text properly and even it worked for those tables which are not index-organised(ordinary tables).
    This problem has occured only when i made the tables as index organised.
    Please provide us a solution to this problem as early as possible.
    In case if you require any more details i shall provide them.

    Please ask questions about Oracle Text (formerly interMedia text) in the Oracle Text forum. You will get a quicker, more expert answer there.

  • Creation of context index on index-organized tables

    I encountered a problem when creating a domain index(intermediate text context index) on a index-organised table in oracle 8i.
    The description of the error is stated below:
    "ORA-29866: cannot create domain index on a column of index-organized table "
    I have configured intermediate text properly and even it worked for those tables which are not index-organised(ordinary tables).
    This problem has occured only when i made the tables as index organised.
    Please provide us a solution to this problem as early as possible.
    In case if you require any more details i shall provide them.

    creation of domain indexes (such as context) on iot's
    is not currently supported in oracle.

  • Can some one explain me oracle MVC configuration or point me to a guide

    I use oracle MVC in my application. cle20.jar is used for it. The application was working fine and now all of sudden I get a null pointer exception in my code where i use this line of code: "ProcessInfo info = (ProcessInfo)getInfo(aKey);" where getInfo is from the oracle.cle.process.GenericProcess and aKey is not null.
    Any help or direction will help. I debugged the application and see that getInfo is always returning null value for all values of aKey.
    Error Message is as follow:
    ERROR [STDERR] java.lang.NullPointerException
    15:23:32,752 ERROR [STDERR]      at myapp.application.process.GetData.persist(GetData.java:302)
    15:23:32,752 ERROR [STDERR]      at oracle.cle.process.PersistingProcess.start(PersistingProcess.java:83)
    15:23:32,752 ERROR [STDERR]      at oracle.cle.process.CLEStateMachine.start(CLEStateMachine.java:61)
    15:23:32,752 ERROR [STDERR]      at oracle.cle.process.Process.start(Process.java:108)
    15:23:32,752 ERROR [STDERR]      at oracle.cle.process.GenericProcess.start(GenericProcess.java:84)
    15:23:32,752 ERROR [STDERR]      at oracle.cle.process.ParentProcess.start(ParentProcess.java:226)
    15:23:32,752 ERROR [STDERR]      at oracle.cle.process.DisplayGroup.start(DisplayGroup.java:75)
    15:23:32,752 ERROR [STDERR]      at oracle.cle.process.CLEStateMachine.start(CLEStateMachine.java:61)
    15:23:32,752 ERROR [STDERR]      at oracle.cle.process.Service.start(Service.java:389)
    15:23:32,752 ERROR [STDERR]      at oracle.clex.process.controller.HttpServletController.doPost(HttpServletController.java:422)
    15:23:32,752 ERROR [STDERR]      at oracle.clex.process.controller.HttpServletController.doGet(HttpServletController.java:836)
    15:23:32,752 ERROR [STDERR]      at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
    15:23:32,752 ERROR [STDERR]      at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    15:23:32,752 ERROR [STDERR]      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    15:23:32,752 ERROR [STDERR]      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    15:23:32,752 ERROR [STDERR]      at myapp.application.servlets.SessionFilter.doFilter(SessionFilter.java:42)
    15:23:32,752 ERROR [STDERR]      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    15:23:32,752 ERROR [STDERR]      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    15:23:32,752 ERROR [STDERR]      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    15:23:32,752 ERROR [STDERR]      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    15:23:32,752 ERROR [STDERR]      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    15:23:32,752 ERROR [STDERR]      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    15:23:32,752 ERROR [STDERR]      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    15:23:32,752 ERROR [STDERR]      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
    15:23:32,752 ERROR [STDERR]      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
    15:23:32,752 ERROR [STDERR]      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
    15:23:32,752 ERROR [STDERR]      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    15:23:32,752 ERROR [STDERR]      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    15:23:32,752 ERROR [STDERR]      at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
    15:23:32,752 ERROR [STDERR]      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    15:23:32,752 ERROR [STDERR]      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    15:23:32,752 ERROR [STDERR]      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    15:23:32,752 ERROR [STDERR]      at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    15:23:32,752 ERROR [STDERR]      at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    15:23:32,752 ERROR [STDERR]      at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
    15:23:32,752 ERROR [STDERR]      at java.lang.Thread.run(Thread.java:595)
    Thanks in advance....
    Edited by: user1694903 on Feb 10, 2009 12:46 PM
    Edited by: user1694903 on Feb 10, 2009 12:48 PM

    KB 60446, How to clean an LCD Panel

  • MVC Design Help, Single Servlet, How do I access the Model and DB

    Hi all. New here and looking for some help.
    I am currently writing a website that allows the creation of users, that may upload articles and post comments on articles. Im trying to develop using MVC. I have a single controller servlet that processes POST actions throughout the site (eg. InsertArticle, DeleteArticle, ModifyArticle, etc..)
    Now my problem is, just how do I retrieve the articles from the database? .. for example, if I load up a page http://localhost/articles.jsp which should display all the articles currently in the site.. I would have a function say getAllArticles() which should return a collection of all the articles. I can then iterate through the articles in the jsp page.
    I am trying to use <jsp:useBean...etc.> BUT.. my articles bean constructor takes a databaseconnection object as a parameter. If I use useBean I cant pass the databaseconnection object to the bean and I get an error because it cannot create the bean.
    Any help on this would be appreciated as well as any tutorial links. I also looked at the petstore blueprint program on the sun website, but that program has me completely lost with all the xml. I would prefer not to use custom tags or struts for now. I would like to keep it simple with snippets of java code in the jsp pages for data retrieval and display while keeping all the business logic in the beans of the model. I would also like to keep this relatively secure. I am developing using Oracle Jdeveloper 10g.
    Thanks
    Jazz

    Hey steve, thanks for that.. but thats exactly what i
    dont want to do. I also realize that ive been writing
    the ejb's incorrectly to begin with and have begun to
    rewrite them. However maybe I can make it easier..
    what im trying to do is precisely what is in this
    diagram..
    http://gsraj.tripod.com/jsp/jsp.html
    the problem im having is where it passes data back to
    the jsp page.. entity beans cant (or shouldnt?) be
    accessed directly from jsp pages.. which means i
    create a session bean which interacts with the entity
    bean and can return information to the jsp page.. i
    understand what i have to do.. i just dont know how to
    do it.. been searching for google for tutorials and
    etc.. this site is the closest ive come but .. as you
    can see it says "more to come" ..
    thanks again guys really appreciate itAhhh. EJBs. Enterprise Java Beans and JavaBeans are two completely different beasts. I know nothing about EJBs, except:
    1) They are much harder to use (and serve a different purpose I assume) then JavaBeans
    2) Tomcat (the server I use) doesn't support them.
    Sorry I can't be of more help.

  • Ever since I updated to iOS 7, organization of my music is a nightmare.  It is organized perfect on my iTunes, but will not sync properly to my phone.  I signed up for iTunes Match hoping it would help and it only sent me further down the spiral.

    Any changes I have made to my iTunes after the iOS 7 upgrade do not sync and it has even reorganized music I had before very poorly.  iTunes Match made it worse.  Now, I cannot even get into my music on the phone, it just tells me it can be synced from the Cloud.  However, the Cloud apparently does not like my organization either.  I just want the music on my phone to match how I have it organized on iTunes.  This is driving me crazy.  I am totally Team Apple, but this music thing is quickly turning my loyalty.  My music is the main thing I use my phone for.

    Device not detected in iTunes for Windows:  support.apple.com/kb/ts1538

  • Some organs don't play in new Logic Express files after JamPacks installed

    After loading only the instruments from the Symphony Orchestra and World Music GarageBand Jam Packs, I lost the ability to hear most of the organs available in Logic Express and all of the organs available in GarageBand after inserting them into Logic Express tracks. These same organ sounds still play in any Logic Express file set up prior to the installation of the JamPacks and they continue to play in GarageBand. Can an uninstall/reinstall of Logic Express 7.2.3 be a fix for this or is there an easier way to return the lost instruments to Logic Express?
    1.83 GHz Intel Core Duo iMac   Mac OS X (10.4.8)   Midisport 4x4, iControl

    The loss of instrument sounds in Logic Express had nothing to do with the installation of GarageBand JamPacks. The midi channel setting in the Inspector box of the Arrange window in Logic Express needed to be set to channel 1 to get midi data from other than channel 1 to play some of the inserted CoreAudio instruments. I don't understand what's going on but now I'm able to get the instruments that would not play.

  • I'm trying to get organized and I just added a bunch of books and pdfs to my itunes library. They were all added immediately to my ipad and iphone even though, itunes automatically putting books on my idevices

    I'm trying to get organized and I just added a bunch of books and pdfs to my itunes library. They were all added immediately to my ipad and iphone even though I did not want this. I added them to itunes using add to library and I have both devices set to sync only selected books.
    How do I do this in the future so this doesnt happen? Its a lot of work to now manually erase them from each device and it sent my phone over capacity.
    thanks

    I dont see the difference in the posts. I dont think theres anything inaccurate or misleading about what I wrote. The items were immediately added to my ipad and my iphone, even though I have them both set to sync only select items. As soon as I added new titles to my itunes library, they were immediately added to the devices. Not on the next sync. Immediately. Both devices were plugged into the computer at the time. Sorry if I failed to mention they were plugged in but I dont see the signifigance youre making out of it. The problem persists anyway.
    Now that I did a test without the devices plugged in, the new items were still added as soon as I plugged my devices into the computer ( I do not have them set to sync over wifi).
    Since I have both devices set to manually select items to sync, of course I want to manually select new items to sync. For instance, I am not going to read any of these magazines or books on my phone, ever, and I dont want to waste valuable space with them.
    So I'm trying your advice:
    I just tried deselecting sync books. It erased all content from ibooks on my device. I then dragged
    one title onto the device, and it just goes back to syncing select books, with the one title selected.
    It appears that wont work to solve my issue. The next time I add something to itunes it will be put on my phone. Is this really something most people want? To select to manualy control what content is synced, but then have things automatically added. It seems inconsistent to me.

Maybe you are looking for