package com.balbes.comics; import java.rmi.RemoteException; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form; import javax.microedition.lcdui.Item; import javax.microedition.lcdui.ItemCommandListener; import javax.microedition.lcdui.StringItem; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; import javax.xml.rpc.Stub; import com.balbes.web.ArrayOfString; import com.balbes.web.ComicServiceJ2MESoap_Stub; public class ComicMasterMIDlet extends MIDlet implements Runnable, CommandListener, ItemCommandListener { private static final int TITLES_FORM_REQUESTED = 0; private static final int ISSUES_FORM_REQUESTED = 1; private int userid = 0; private String webServiceURL = "http://localhost/ComicServiceCF/ComicServiceJ2ME.asmx"; private Command issuesCommand = new Command("Issues", Command.SCREEN, 1); private Command backCommand = new Command("Back", Command.BACK, 1); private int requestedForm; private String selectedTitle; protected void startApp() throws MIDletStateChangeException { Form form = new Form("Titles"); form.append("Loading..."); Display.getDisplay(this).setCurrent(form); showForm(TITLES_FORM_REQUESTED); } protected void pauseApp() {} protected void destroyApp(boolean arg0) throws MIDletStateChangeException {} public void commandAction(Command cmd, Item item) { if (item instanceof StringItem) { selectedTitle = ((StringItem)item).getText(); showForm(ISSUES_FORM_REQUESTED); } } private void showForm(int requestedForm) { this.requestedForm = requestedForm; new Thread(this).start(); } public void run() { if (requestedForm == TITLES_FORM_REQUESTED) displayTitlesForm(); else if (requestedForm == ISSUES_FORM_REQUESTED) displayIssuesForm(); } private void displayTitlesForm() { Form form = new Form("Titles"); try { ComicServiceJ2MESoap_Stub service = new ComicServiceJ2MESoap_Stub(); service._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY, webServiceURL); service._setProperty(Stub.SESSION_MAINTAIN_PROPERTY, Boolean.FALSE); ArrayOfString titlesArray = service.getTitles(userid); String[] titles = titlesArray.getString(); for (int i=0; i