Hirdetés

Keresés

Új hozzászólás Aktív témák

  • #03372544
    törölt tag

    Nos, és mi a helyzet a folyton változó ID-kal? Ha rögzítek egy tesztesetet, és az ID-ja megváltozik az elemnek, elakad a teszt. Másképp kellene hivatkozni rá, de hogyan?

    Úgy tudom névvel is tudsz (name attribútum), de az nem biztos hogy egyedi, pl. checkboxgroup-nál mindegyik alá tartozó checkbox-nak ugyanaz kell legyen a neve.

    Az ID miért változik? Annak valóban nem kellene, továbbá egyedi kellene legyen.

  • #03372544
    törölt tag

    Sziasztok!

    Szeretnék automatizált tesztelést végezni weblapokon. Eclipse-ben szeretném java nyelven. Hogyan induljak el? Van valami hasznos infótok?
    Köszönöm előre is!

    Selenium amit te keresel.
    Tud beépülő böngésző pluginként is működni de természetesen programozottan Java-ból is.
    Fel tud dolgozni pl. excelből is teszteseteket.

  • #03372544
    törölt tag

    FYI a message tag-en keresztüli adatkezelés úgy működik, hogy a properties állományt a classloader beolvassa egy map-be. Mivel semmi nem indokolja a dolgot, nem is tölti újra, de a memóriában tartja az adatokat. Ha "valami" megoldaná, hogy a map újratöltse magát, akkor teljesen mindegy hol tárolod kiindulásképpen.

    Mint pl ez a megoldás: [link]

    Ez a megoldás nem pont arról szól amit a kolléga szeretne, itt beleír a property fájlba majd vár hogy újratöltődjön.
    A kollégának meg át kellene térnie egy másik property fájlra, ez tök más probléma.

    Egyébként amit linkeltél nem fog működni amint a property fájl a classpath-on lesz csak egy JAR-ba vagy a WAR-ba, EAR-ba becsomagolva.

  • #03372544
    törölt tag

    Hali, még mindig Spring:)

    A weboldalamat szeretném többnyelvűvé varázsolni. A properties fájlos megoldás megy, de ez nem tetszik. Olyat szeretnék, hogy db-ben tárolódnak kulcsok és ezekhez lesz annyi oszlop amennyi nyelv. Az értékeket az egyik oldalon lehetne állítani és azonnal cserélődne a megjelenésbe azaz semmi újraindítás vagy redeploy.

    Nem találtam semmi értelmes példát, leírást erről, hogyan lenne érdemes hatékonyan csinálni.
    Jelenleg úgy képzelném el, hogy a controllerbe az adott oldalakhoz hozzáadnám egy listába azokat az értékeket az aktuális nyelv szerint amik megjelennek az adott lapokon. Ez ugye sok-sok db piszkálás mindig, ami sok szövegnél nem valami hatékony. Ha számít hibernate-t használok. Vmi tanács, tipp?:)

    Valami ilyesmi nem jó?
    Csak valahogy a session-ben kellene tárolni a választott nyelvet.

    Adatbázisban szerintem ne akarj ilyet ha nem muszáj de ha mégis akkor használj valami cache-t.

  • #03372544
    törölt tag

    Üdv!

    A lenti kód (természetesen más szöveggel) azt hivatott bemutatni jelenleg hogy indítok el egy job-ot a lenyomott menü szövege alapján. Van erre valami elegánsabb megoldás? (a menü elemek a saját action commandjukat küldik egy listenernek)

    [azon kívül hogy elrejtem valami hasonló metódusba:
    getJob(String jobname).run(); ]

    if(owner.getAction().name().equals("Do this then that") new WorkerJobDoThisThenThat.run();
    if(owner.getAction().name().equals("Start something") new WorkerStartSomething.run();
    if(owner.getAction().name().equals("Execute this") new WorkerExecuteThis.run();
    if(owner.getAction().name().equals("Running out of ideas") new WorkerRunningOutOfIdeas.run();

    :R

    Ilyesmire gondolt a kolléga.

    package example;

    public interface Job {

    void doTheJob();

    }

    -------------------------------------------------------------------------------------------------------------------------

    package example;

    public class ExecuteThisJob implements Job {

    @Override
    public void doTheJob() {
    System.out.println("ezt végrehajtom");
    }

    }

    -------------------------------------------------------------------------------------------------------------------------

    package example;

    public class RunningOutOfIdeasJob implements Job {

    @Override
    public void doTheJob() {
    System.out.println("nincs több ötletem");
    }

    }

    -------------------------------------------------------------------------------------------------------------------------

    package example;

    public class StartSomethingJob implements Job {

    @Override
    public void doTheJob() {
    System.out.println("valamit elindítok");
    }

    }

    -------------------------------------------------------------------------------------------------------------------------

    package example;

    import java.util.HashMap;
    import java.util.Map;

    public class JobFactory {

    private static final JobFactory INSTANCE;

    static {
    INSTANCE = new JobFactory();
    }

    private Map<String, Job> jobMapping;

    private JobFactory() {
    jobMapping = new HashMap<String, Job>();
    jobMapping.put("executeThis", new ExecuteThisJob());
    jobMapping.put("startSomething", new StartSomethingJob());
    jobMapping.put("runningOutOfIdeas", new RunningOutOfIdeasJob());
    }

    public static Job getJob(String jobType) {
    return INSTANCE.jobMapping.get(jobType);
    }

    }

    -------------------------------------------------------------------------------------------------------------------------

    package example;

    public class JobFactoryExample {

    private JobFactoryExample() {
    }

    public static void main(String[] args) {
    JobFactoryExample example = new JobFactoryExample();

    example.doTheAction("executeThis");
    example.doTheAction("startSomething");
    example.doTheAction("runningOutOfIdeas");
    }

    public void doTheAction(String actionName) {
    JobFactory.getJob(actionName).doTheJob();
    }

    }

  • #03372544
    törölt tag

    Köszönöm.

    Egy újabb kérdésem lenne: adott egy osztály ami Runnable-t implementál sok hosszú egymást követő folyamatból áll. Hogyan tudnám megszakítani a futását?
    While-ba rakva a flaget változtatva csak akkor áll meg, ha már a végére ért.

    ezt próbáltam:

    public void run() {
    while(!Thread.currentThread().isInterrupted()) {
    //do time consuming stuff
    }
    }
    public void stop() {
    Thread.currentThread().interrupt();
    }

    Sehogy, az interrupt() csak beállít egy flag-et amit neked kell futás közben ellenőrizned az isInterrupted() metódussal.
    Egy-az-egyben kilőni a szálat nem tudod, régen lehetett a stop() metódussal de az elég sok problémát felvet ezért későbbi Java verziókban deprecated lett majd ki is vették, UnsupportedOperationExcepcion-t dob hogy véletlenül se használd.

Új hozzászólás Aktív témák

Hirdetés