Search in sources :

Example 1 with Requested

use of fr.guiguilechat.jcelechat.jcesi.interfaces.Requested in project JCELechat by guiguilechat.

the class Universe method names.

public R_post_universe_names[] names(int... ids) {
    if (ids == null || ids.length == 0) {
        return new R_post_universe_names[0];
    }
    synchronized (cachedNames) {
        IntStream.of(ids).filter(i -> !cachedNames.containsKey(i));
        // have to work with long, because CCP bug.
        int[] missingIds = IntStream.of(ids).filter(i -> !cachedNames.containsKey(i)).toArray();
        int[] fullbuffer = new int[MAXLONGIDPERREQUEST];
        for (int start = 0; start < missingIds.length; start += MAXLONGIDPERREQUEST) {
            if (start + MAXLONGIDPERREQUEST >= missingIds.length) {
                fullbuffer = new int[missingIds.length - start];
            }
            System.arraycopy(missingIds, start, fullbuffer, 0, fullbuffer.length);
            Requested<R_post_universe_names[]> newreq;
            do {
                newreq = ESIStatic.INSTANCE.post_universe_names(fullbuffer, null);
            } while (newreq == null || newreq.isServerError());
            if (newreq.isOk()) {
                for (R_post_universe_names n : newreq.getOK()) {
                    cachedNames.put(n.id, n);
                }
            } else {
                log.error("could not load names for ids" + IntStream.of(ids).mapToObj(i -> i).collect(Collectors.toList()) + " resp=" + newreq.getResponseCode() + " err=" + newreq.getError());
            }
        }
        return IntStream.of(ids).mapToObj(cachedNames::get).toArray(R_post_universe_names[]::new);
    }
}
Also used : IntStream(java.util.stream.IntStream) R_get_universe_stations_station_id(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_universe_stations_station_id) Accessors(lombok.experimental.Accessors) Getter(lombok.Getter) ObjHolderSimple(fr.lelouet.tools.holders.impl.ObjHolderSimple) HashMap(java.util.HashMap) ESIStatic(fr.guiguilechat.jcelechat.jcesi.disconnected.ESIStatic) MapHolder(fr.lelouet.tools.holders.interfaces.collections.MapHolder) R_get_universe_factions(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_universe_factions) M_3_xnumber_ynumber_znumber(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.M_3_xnumber_ynumber_znumber) fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.flag(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.flag) Map(java.util.Map) R_get_universe_planets_planet_id(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_universe_planets_planet_id) ListHolder(fr.lelouet.tools.holders.interfaces.collections.ListHolder) R_post_universe_names(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_post_universe_names) R_get_universe_stargates_stargate_id(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_universe_stargates_stargate_id) ObjHolder(fr.lelouet.tools.holders.interfaces.ObjHolder) R_get_universe_constellations_constellation_id(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_universe_constellations_constellation_id) SetHolder(fr.lelouet.tools.holders.interfaces.collections.SetHolder) Collectors(java.util.stream.Collectors) Requested(fr.guiguilechat.jcelechat.jcesi.interfaces.Requested) List(java.util.List) Slf4j(lombok.extern.slf4j.Slf4j) Stream(java.util.stream.Stream) R_get_universe_system_kills(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_universe_system_kills) R_get_universe_systems_system_id(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_universe_systems_system_id) R_post_universe_names(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_post_universe_names)

Example 2 with Requested

use of fr.guiguilechat.jcelechat.jcesi.interfaces.Requested in project JCELechat by guiguilechat.

the class Assets method name.

// get the names of specific assets
protected void name(Map<Long, ItemNode> items) {
    int max_ids_per_search = 1000;
    if (items == null || items.size() == 0) {
        return;
    }
    ArrayList<M_post_assets_names_2> ret = new ArrayList<>();
    long[] ids = items.values().stream().filter(Assets::canName).mapToLong(item -> item.item_id).toArray();
    int start = 0;
    while (start < ids.length) {
        long[] ids2 = Arrays.copyOfRange(ids, start, Math.min(start + max_ids_per_search, ids.length));
        Requested<M_post_assets_names_2[]> names = con.connection().post_characters_assets_names(con.characterId(), ids2, null);
        while (names.isServerError()) {
            names = con.connection().post_characters_assets_names(con.characterId(), ids2, null);
        }
        if (names.isOk()) {
            ret.addAll(Arrays.asList(names.getOK()));
        } else {
            System.err.println(" error " + names.getError() + " response=" + names.getResponseCode());
        }
        start += max_ids_per_search;
    }
    for (M_post_assets_names_2 item : ret) {
        if (item.name != null) {
            items.get(item.item_id).withOptional(item.name);
        }
    }
}
Also used : Arrays(java.util.Arrays) fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag) Accessors(lombok.experimental.Accessors) fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_characters_character_id_assets_location_type(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_characters_character_id_assets_location_type) Getter(lombok.Getter) R_get_universe_types_type_id(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_universe_types_type_id) AutoFit(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_characters_character_id_assets_location_flag.AutoFit) RequiredArgsConstructor(lombok.RequiredArgsConstructor) fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_type(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_type) HashMap(java.util.HashMap) R_get_characters_character_id_assets(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_characters_character_id_assets) MapHolder(fr.lelouet.tools.holders.interfaces.collections.MapHolder) R_get_corporations_corporation_id_assets(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_corporations_corporation_id_assets) ESIAccess(fr.guiguilechat.jcelechat.jcesi.disconnected.modeled.ESIAccess) ShipHangar(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_characters_character_id_assets_location_flag.ShipHangar) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) Deliveries(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_characters_character_id_assets_location_flag.Deliveries) Map(java.util.Map) HangarAll(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_characters_character_id_assets_location_flag.HangarAll) Unlocked(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_characters_character_id_assets_location_flag.Unlocked) ListHolder(fr.lelouet.tools.holders.interfaces.collections.ListHolder) StreamSupport(java.util.stream.StreamSupport) Location(fr.guiguilechat.jcelechat.jcesi.tools.locations.Location) ObjHolder(fr.lelouet.tools.holders.interfaces.ObjHolder) Collectors(java.util.stream.Collectors) Requested(fr.guiguilechat.jcelechat.jcesi.interfaces.Requested) List(java.util.List) Stream(java.util.stream.Stream) ESIAccount(fr.guiguilechat.jcelechat.jcesi.connected.modeled.ESIAccount) M_post_assets_names_2(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.M_post_assets_names_2) Entry(java.util.Map.Entry) Locked(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_characters_character_id_assets_location_flag.Locked) Hangar(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_characters_character_id_assets_location_flag.Hangar) fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_characters_character_id_assets_location_flag(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_characters_character_id_assets_location_flag) M_post_assets_names_2(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.M_post_assets_names_2) ArrayList(java.util.ArrayList)

Example 3 with Requested

use of fr.guiguilechat.jcelechat.jcesi.interfaces.Requested in project JCELechat by guiguilechat.

the class NPCsTranslater method translate.

private static void translate(LinkedHashMap<Integer, Eagents> eagents, LinkedHashMap<String, Agent> agents, LinkedHashMap<String, Corporation> corporations, LinkedHashMap<Integer, LPOffer> offers) {
    ESIAccess esi = ESIAccess.INSTANCE;
    CacheStatic cache = ESIStatic.INSTANCE.cache();
    // prefetch
    MapHolder<Integer, R_get_corporations_corporation_id> corporationsHolder = ((ListHolder<Integer>) cache.corporations.npccorps().follow(l -> {
        l.parallelStream().forEach(cache.corporations::get);
    })).toMap(i -> i, i -> cache.corporations.get(i).get());
    MapHolder<Integer, R_get_universe_factions> factionsHolder = cache.universe.factions().toMap(f -> f.faction_id);
    eagents.values().parallelStream().map(ag -> ag.locationID).distinct().forEach(lid -> Location.resolve(null, lid).system());
    // 
    LinkedHashMap<Integer, EnpcCorporations> ecorps = EnpcCorporations.load();
    Map<Integer, String> idx2name = EinvNames.loadById();
    Map<Integer, R_get_corporations_corporation_id> npcCorps = corporationsHolder.get();
    Map<Integer, R_get_universe_factions> factionById = factionsHolder.get();
    Map<Integer, Location> agentsLocation = eagents.entrySet().parallelStream().collect(Collectors.toMap(eag -> eag.getKey(), eag -> Location.resolve(null, eag.getValue().locationID)));
    logger.info("NPC prefetch received");
    for (Entry<Integer, Eagents> eagt : eagents.entrySet()) {
        Agent agent = new Agent();
        Eagents agt = eagt.getValue();
        agent.id = eagt.getKey();
        agent.corporation = ecorps.get(agt.corporationID).enName();
        agent.name = idx2name.get(agent.id);
        agent.isLocator = agt.isLocator;
        agent.level = agt.level;
        agent.type = AGENT_TYPE.of(agt.agentTypeID);
        if (agent.type == null) {
            logger.warn("no type for agent " + agent.name + " typeID=" + agt.agentTypeID);
        }
        agent.division = AGENT_DIVISION.of(agt.divisionID);
        if (agent.division == null) {
            logger.warn("no division for agent " + agent.name + " divisionID=" + agt.divisionID);
        }
        Location loc = agentsLocation.get(agent.id);
        if (loc != null) {
            agent.system = loc.system().name;
            R_get_universe_stations_station_id station = loc.station();
            if (station != null) {
                agent.station = station.name;
                agent.stationId = agt.locationID;
            }
            agents.put(agent.name, agent);
        } else {
            logger.warn("invalid location for agent " + agent.name + " locid=" + agt.locationID);
        }
    }
    logger.info("translated agents data");
    for (Entry<Integer, EnpcCorporations> e : ecorps.entrySet()) {
        Corporation add = new Corporation();
        add.id = e.getKey();
        EnpcCorporations snpc = e.getValue();
        add.name = snpc.enName();
        R_get_universe_factions faction = factionById.get(snpc.factionID);
        if (faction == null) {
            logger.debug("can't find faction from id " + snpc.factionID + " for corporation " + add.name);
        } else {
            add.faction = faction.name;
        }
        R_get_corporations_corporation_id esicorp = npcCorps.get(add.id);
        if (esicorp != null && esicorp.faction_id != 0) {
            add.warfare = factionById.get(esicorp.faction_id).name;
        }
        add.concordRate = EnpcCorporations.concordRates().getOrDefault(add.id, 0.0);
        if (add.id == EnpcCorporations.CONCORD_ID) {
            add.concordRate = 1.0;
        }
        corporations.put(add.name, add);
    }
    Map<Integer, LPOffer> covertedOffers = corporations.values().stream().parallel().flatMap(c -> {
        Requested<R_get_loyalty_stores_corporation_id_offers[]> req = esi.connection.get_loyalty_stores_offers(c.id, null);
        return req.isOk() ? Stream.of(req.getOK()) : Stream.empty();
    }).map(offer -> makeOffer(offer)).filter(o -> o != null).collect(Collectors.toMap(off -> off.id, off -> off, (o1, o2) -> o1));
    offers.putAll(covertedOffers);
    corporations.values().stream().parallel().forEach(c -> loadCorpOffers(c, esi.connection, offers));
}
Also used : R_get_universe_stations_station_id(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_universe_stations_station_id) ItemRef(fr.guiguilechat.jcelechat.model.sde.npcs.LPOffer.ItemRef) FileTools(fr.guiguilechat.jcelechat.model.FileTools) Corporation(fr.guiguilechat.jcelechat.model.sde.npcs.Corporation) LoggerFactory(org.slf4j.LoggerFactory) AGENT_DIVISION(fr.guiguilechat.jcelechat.model.sde.npcs.Agent.AGENT_DIVISION) EinvNames(fr.guiguilechat.jcelechat.model.sde.load.bsd.EinvNames) ESIStatic(fr.guiguilechat.jcelechat.jcesi.disconnected.ESIStatic) Agent(fr.guiguilechat.jcelechat.model.sde.npcs.Agent) LPOffer(fr.guiguilechat.jcelechat.model.sde.npcs.LPOffer) MapHolder(fr.lelouet.tools.holders.interfaces.collections.MapHolder) ESIAccess(fr.guiguilechat.jcelechat.jcesi.disconnected.modeled.ESIAccess) ArrayList(java.util.ArrayList) LinkedHashMap(java.util.LinkedHashMap) Eblueprints(fr.guiguilechat.jcelechat.model.sde.load.fsd.Eblueprints) R_get_universe_factions(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_universe_factions) Map(java.util.Map) ListHolder(fr.lelouet.tools.holders.interfaces.collections.ListHolder) Location(fr.guiguilechat.jcelechat.jcesi.tools.locations.Location) Material(fr.guiguilechat.jcelechat.model.sde.load.fsd.Eblueprints.Material) CacheStatic(fr.guiguilechat.jcelechat.jcesi.disconnected.CacheStatic) Collectors(java.util.stream.Collectors) File(java.io.File) R_get_loyalty_stores_corporation_id_offers(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_loyalty_stores_corporation_id_offers) AGENT_TYPE(fr.guiguilechat.jcelechat.model.sde.npcs.Agent.AGENT_TYPE) Eagents(fr.guiguilechat.jcelechat.model.sde.load.fsd.Eagents) Requested(fr.guiguilechat.jcelechat.jcesi.interfaces.Requested) Stream(java.util.stream.Stream) R_get_corporations_corporation_id(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_corporations_corporation_id) Entry(java.util.Map.Entry) EnpcCorporations(fr.guiguilechat.jcelechat.model.sde.load.fsd.EnpcCorporations) Comparator(java.util.Comparator) Collections(java.util.Collections) EtypeIDs(fr.guiguilechat.jcelechat.model.sde.load.fsd.EtypeIDs) Requested(fr.guiguilechat.jcelechat.jcesi.interfaces.Requested) R_get_corporations_corporation_id(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_corporations_corporation_id) R_get_loyalty_stores_corporation_id_offers(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_loyalty_stores_corporation_id_offers) R_get_universe_stations_station_id(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_universe_stations_station_id) ListHolder(fr.lelouet.tools.holders.interfaces.collections.ListHolder) R_get_universe_factions(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_universe_factions) CacheStatic(fr.guiguilechat.jcelechat.jcesi.disconnected.CacheStatic) EnpcCorporations(fr.guiguilechat.jcelechat.model.sde.load.fsd.EnpcCorporations) LPOffer(fr.guiguilechat.jcelechat.model.sde.npcs.LPOffer) Agent(fr.guiguilechat.jcelechat.model.sde.npcs.Agent) Corporation(fr.guiguilechat.jcelechat.model.sde.npcs.Corporation) ESIAccess(fr.guiguilechat.jcelechat.jcesi.disconnected.modeled.ESIAccess) Eagents(fr.guiguilechat.jcelechat.model.sde.load.fsd.Eagents) Location(fr.guiguilechat.jcelechat.jcesi.tools.locations.Location)

Example 4 with Requested

use of fr.guiguilechat.jcelechat.jcesi.interfaces.Requested in project JCELechat by guiguilechat.

the class ShowAssets method main.

public static void main(String[] args) throws InterruptedException, IOException {
    ESIAccount acc = new ESIAccount(args[0], args[1]);
    File parentCorp = new File("target/debugcorpassets/");
    parentCorp.mkdirs();
    File parentChar = new File("target/debugcharassets/");
    parentChar.mkdirs();
    while (true) {
        try (PrintWriter corpWritter = new PrintWriter(new FileWriter(new File(parentCorp, LocalDateTime.now(Clock.systemUTC()).format(DateTimeFormatter.ISO_DATE_TIME))))) {
            int corpid = ESIStatic.INSTANCE.get_characters(acc.characterId(), null).getOK().corporation_id;
            corpWritter.println("name=" + acc.name());
            corpWritter.println("corporation_id=" + corpid);
            corpWritter.println("pages :");
            List<String> errors = new ArrayList<>();
            IntFunction<Requested<R_get_corporations_corporation_id_assets[]>> getPage = page -> {
                Requested<R_get_corporations_corporation_id_assets[]> requestedPage = acc.connection().get_corporations_assets(corpid, page, null);
                while (requestedPage.isServerError()) {
                    errors.add("page " + page + (requestedPage != null ? "" + requestedPage.getResponseCode() + "-" + requestedPage.getError() : "null"));
                    requestedPage = acc.connection().get_corporations_assets(corpid, page, null);
                }
                return requestedPage;
            };
            Requested<R_get_corporations_corporation_id_assets[]> page1 = getPage.apply(1);
            if (page1.isOk()) {
                int pages = page1.getNbPages();
                // System.err.println("corporation assets pages=" + pages);
                Set<String> expiries = new HashSet<>();
                HashMap<Long, List<String>> assetId2url = new HashMap<>();
                List<Requested<R_get_corporations_corporation_id_assets[]>> requests = Stream.concat(Stream.of(page1), IntStream.range(2, pages + 1).parallel().mapToObj(getPage)).collect(Collectors.toList());
                requests.forEach(page -> {
                    expiries.add(page.getHeaders().get("Expires").get(0));
                    corpWritter.println("\t" + page.getURL() + " Expires=" + page.getHeaders().get("Expires"));
                    for (R_get_corporations_corporation_id_assets ass : page.getOK()) {
                        corpWritter.println("\t\t" + ass.item_id + " : type=" + ass.type_id + " qtty=" + ass.quantity + " location=" + ass.location_id);
                        List<String> list = assetId2url.get(ass.item_id);
                        if (list == null) {
                            list = new ArrayList<>();
                            assetId2url.put(ass.item_id, list);
                        } else {
                            errors.add("asset " + ass.item_id + " already declared on url " + list);
                        }
                        list.add(page.getURL());
                    }
                });
                corpWritter.println("expiries : " + expiries);
                corpWritter.println("duplicate items :");
                for (Entry<Long, List<String>> e : assetId2url.entrySet()) {
                    if (e.getValue().size() > 1) {
                        corpWritter.println("" + e.getKey() + " : " + e.getValue());
                    }
                }
            }
            corpWritter.println("errors :");
            for (String error : errors) {
                corpWritter.println("\t" + error);
                System.err.println(error);
            }
        } catch (Exception e) {
            System.err.println(e);
        }
        try (PrintWriter charWritter = new PrintWriter(new FileWriter(new File(parentChar, LocalDateTime.now(Clock.systemUTC()).format(DateTimeFormatter.ISO_DATE_TIME))))) {
            charWritter.println("name=" + acc.name());
            charWritter.println("pages :");
            List<String> errors = new ArrayList<>();
            IntFunction<Requested<R_get_characters_character_id_assets[]>> getPage = page -> {
                Requested<R_get_characters_character_id_assets[]> requestedPage = acc.connection().get_characters_assets(acc.characterId(), page, null);
                while (requestedPage.isServerError()) {
                    errors.add("page " + page + (requestedPage != null ? "" + requestedPage.getResponseCode() + "-" + requestedPage.getError() : "null"));
                    requestedPage = acc.connection().get_characters_assets(acc.characterId(), page, null);
                }
                return requestedPage;
            };
            Requested<R_get_characters_character_id_assets[]> page1 = getPage.apply(1);
            if (page1.isOk()) {
                int pages = page1.getNbPages();
                // System.err.println("corporation assets pages=" + pages);
                Set<String> expiries = new HashSet<>();
                HashMap<Long, List<String>> assetId2url = new HashMap<>();
                List<Requested<R_get_characters_character_id_assets[]>> requests = Stream.concat(Stream.of(page1), IntStream.range(2, pages + 1).parallel().mapToObj(getPage)).collect(Collectors.toList());
                requests.forEach(page -> {
                    expiries.add(page.getHeaders().get("Expires").get(0));
                    charWritter.println("\t" + page.getURL() + " Expires=" + page.getHeaders().get("Expires"));
                    for (R_get_characters_character_id_assets ass : page.getOK()) {
                        charWritter.println("\t\t" + ass.item_id + " : type=" + ass.type_id + " qtty=" + ass.quantity + " location=" + ass.location_id);
                        List<String> list = assetId2url.get(ass.item_id);
                        if (list == null) {
                            list = new ArrayList<>();
                            assetId2url.put(ass.item_id, list);
                        } else {
                            errors.add("asset " + ass.item_id + " already declared on url " + list);
                        }
                        list.add(page.getURL());
                    }
                });
                charWritter.println("expiries : " + expiries);
                charWritter.println("duplicate items :");
                for (Entry<Long, List<String>> e : assetId2url.entrySet()) {
                    if (e.getValue().size() > 1) {
                        charWritter.println("" + e.getKey() + " : " + e.getValue());
                    }
                }
            }
            charWritter.println("errors :");
            for (String error : errors) {
                charWritter.println("\t" + error);
                System.err.println(error);
            }
        } catch (Exception e) {
            System.err.println(e);
        }
        System.out.println(LocalDateTime.now(Clock.systemUTC()));
        Thread.sleep(1000 * 60 * 15);
    }
}
Also used : Requested(fr.guiguilechat.jcelechat.jcesi.interfaces.Requested) PrintWriter(java.io.PrintWriter) IntStream(java.util.stream.IntStream) FileWriter(java.io.FileWriter) LocalDateTime(java.time.LocalDateTime) Set(java.util.Set) IOException(java.io.IOException) HashMap(java.util.HashMap) ESIStatic(fr.guiguilechat.jcelechat.jcesi.disconnected.ESIStatic) R_get_characters_character_id_assets(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_characters_character_id_assets) Collectors(java.util.stream.Collectors) R_get_corporations_corporation_id_assets(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_corporations_corporation_id_assets) File(java.io.File) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) Requested(fr.guiguilechat.jcelechat.jcesi.interfaces.Requested) List(java.util.List) Stream(java.util.stream.Stream) ESIAccount(fr.guiguilechat.jcelechat.jcesi.connected.modeled.ESIAccount) DateTimeFormatter(java.time.format.DateTimeFormatter) Entry(java.util.Map.Entry) Clock(java.time.Clock) IntFunction(java.util.function.IntFunction) HashMap(java.util.HashMap) FileWriter(java.io.FileWriter) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) PrintWriter(java.io.PrintWriter) HashSet(java.util.HashSet) R_get_characters_character_id_assets(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_characters_character_id_assets) IOException(java.io.IOException) ESIAccount(fr.guiguilechat.jcelechat.jcesi.connected.modeled.ESIAccount) R_get_corporations_corporation_id_assets(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_corporations_corporation_id_assets) File(java.io.File)

Example 5 with Requested

use of fr.guiguilechat.jcelechat.jcesi.interfaces.Requested in project JCELechat by guiguilechat.

the class Assets method name.

// get the names of specific assets
protected void name(Map<Long, ItemNode> items) {
    if (items == null || items.size() == 0) {
        return;
    }
    ArrayList<M_post_assets_names_2> ret = new ArrayList<>();
    long[] ids = items.values().stream().filter(Assets::canName).mapToLong(item -> item.item_id).toArray();
    int start = 0;
    while (start < ids.length) {
        long[] ids2 = Arrays.copyOfRange(ids, start, Math.min(start + 1000, ids.length));
        Requested<M_post_assets_names_2[]> names = con.connection().post_corporations_assets_names(con.corporation.getId(), ids2, null);
        while (names.isServerError()) {
            names = con.connection().post_corporations_assets_names(con.corporation.getId(), ids2, null);
        }
        if (names.isOk()) {
            ret.addAll(Arrays.asList(names.getOK()));
        } else {
            System.err.println(" error " + names.getError() + " response=" + names.getResponseCode());
        }
        start += 1000;
    }
    for (M_post_assets_names_2 item : ret) {
        items.get(item.item_id).withOptional(item.name);
    }
}
Also used : Arrays(java.util.Arrays) fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag) Hangar(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag.Hangar) Getter(lombok.Getter) HashMap(java.util.HashMap) MapHolder(fr.lelouet.tools.holders.interfaces.collections.MapHolder) R_get_corporations_corporation_id_assets(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_corporations_corporation_id_assets) Impounded(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag.Impounded) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) Map(java.util.Map) ListHolder(fr.lelouet.tools.holders.interfaces.collections.ListHolder) StreamSupport(java.util.stream.StreamSupport) Location(fr.guiguilechat.jcelechat.jcesi.tools.locations.Location) CorpDeliveries(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag.CorpDeliveries) Locked(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag.Locked) AutoFit(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag.AutoFit) DroneBay(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag.DroneBay) ObjHolder(fr.lelouet.tools.holders.interfaces.ObjHolder) ShipHangar(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag.ShipHangar) ItemForest(fr.guiguilechat.jcelechat.jcesi.connected.modeled.character.Assets.ItemForest) Unlocked(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag.Unlocked) Set(java.util.Set) Collectors(java.util.stream.Collectors) Requested(fr.guiguilechat.jcelechat.jcesi.interfaces.Requested) List(java.util.List) Stream(java.util.stream.Stream) ESIAccount(fr.guiguilechat.jcelechat.jcesi.connected.modeled.ESIAccount) HangarAll(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag.HangarAll) M_post_assets_names_2(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.M_post_assets_names_2) CorpSAG7(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag.CorpSAG7) Entry(java.util.Map.Entry) CorpSAG6(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag.CorpSAG6) CorpSAG5(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag.CorpSAG5) ItemNode(fr.guiguilechat.jcelechat.jcesi.connected.modeled.character.Assets.ItemNode) CorpSAG4(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag.CorpSAG4) CorpSAG3(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag.CorpSAG3) CorpSAG2(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag.CorpSAG2) Deliveries(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag.Deliveries) CorpSAG1(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.structures.get_corporations_corporation_id_assets_location_flag.CorpSAG1) M_post_assets_names_2(fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.M_post_assets_names_2) ArrayList(java.util.ArrayList)

Aggregations

Requested (fr.guiguilechat.jcelechat.jcesi.interfaces.Requested)5 Collectors (java.util.stream.Collectors)5 Stream (java.util.stream.Stream)5 ListHolder (fr.lelouet.tools.holders.interfaces.collections.ListHolder)4 MapHolder (fr.lelouet.tools.holders.interfaces.collections.MapHolder)4 ArrayList (java.util.ArrayList)4 HashMap (java.util.HashMap)4 List (java.util.List)4 Entry (java.util.Map.Entry)4 ESIAccount (fr.guiguilechat.jcelechat.jcesi.connected.modeled.ESIAccount)3 ESIStatic (fr.guiguilechat.jcelechat.jcesi.disconnected.ESIStatic)3 Location (fr.guiguilechat.jcelechat.jcesi.tools.locations.Location)3 R_get_corporations_corporation_id_assets (fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_corporations_corporation_id_assets)3 ObjHolder (fr.lelouet.tools.holders.interfaces.ObjHolder)3 Map (java.util.Map)3 ESIAccess (fr.guiguilechat.jcelechat.jcesi.disconnected.modeled.ESIAccess)2 M_post_assets_names_2 (fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.M_post_assets_names_2)2 R_get_characters_character_id_assets (fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_characters_character_id_assets)2 R_get_universe_factions (fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_universe_factions)2 R_get_universe_stations_station_id (fr.guiguilechat.jcelechat.model.jcesi.compiler.compiled.responses.R_get_universe_stations_station_id)2