Examples of Follower


Examples of com.alibaba.cobar.client.entities.Follower

            verifyEntityNonExistenceOnSpecificDataSource(confirmSQL, jt2m);
            verifyEntityNonExistenceOnSpecificDataSource(confirmSQL, jt2s);
        }
        // since sql action below is routed to partition2, so no record will be found with it.
        for (String name : names) {
            Follower followerToFind = (Follower) getSqlMapClientTemplate().queryForObject(
                    "com.alibaba.cobar.client.entities.Follower.finaByName", name);
            assertNull(followerToFind);
        }
        // although records only reside on partition1, but we can get all of them with sql action below
        @SuppressWarnings("unchecked")
View Full Code Here

Examples of com.alibaba.cobar.client.entities.Follower

        // no record at beginning
        assertEquals(0, getSqlMapClientTemplate().delete(sqlAction, name));

        // insert 1 record and delete will affect this record which resides on partition1
        Follower follower = new Follower(name);
        getSqlMapClientTemplate().insert("com.alibaba.cobar.client.entities.Follower.create",
                follower);
        assertEquals(1, getSqlMapClientTemplate().delete(sqlAction, name));

        // insert 1 record to partition2, delete will NOT affect it because no rule is defined for it.
View Full Code Here

Examples of com.alibaba.cobar.client.entities.Follower

    public void testQueryForObjectOnCobarSqlMapClientTemplateWithDefaultPartition() {
        String[] names = { "Aaron", "Amily", "Aragon", "Darren", "Darwin" };
        batchInsertMultipleFollowersAsFixture(names);

        for (String name : names) {
            Follower f = (Follower) getSqlMapClientTemplate().queryForObject(
                    "com.alibaba.cobar.client.entities.Follower.finaByName", name);
            assertNull(f);
        }
    }
View Full Code Here

Examples of com.alibaba.cobar.client.entities.Follower

    public void testQueryForObjectOnCobarSqlMapClientTemplateWithFillingDataOntoPartition2() {
        String[] names = { "Aaron", "Amily", "Aragon", "Darren", "Darwin" };
        batchInsertMultipleFollowersAsFixtureWithJdbcTemplate(names, jt2m);

        for (String name : names) {
            Follower f = (Follower) getSqlMapClientTemplate().queryForObject(
                    "com.alibaba.cobar.client.entities.Follower.finaByName", name);
            assertNotNull(f);
            assertTrue(ArrayUtils.contains(names, f.getName()));
        }
    }
View Full Code Here

Examples of com.alibaba.cobar.client.entities.Follower

        String[] names = { "Aaron", "Amily", "Aragon", "Darren", "Darwin" };
        batchInsertMultipleFollowersAsFixture(names);
       
        for(String name:names)
        {
            Follower f = (Follower)jt1m.queryForObject("select * from followers where name=?",new Object[]{name}, new RowMapper(){
                public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
                    Follower fl =  new Follower();
                    fl.setId(rs.getLong(1));
                    fl.setName(rs.getString(2));
                    return fl;
                }});
            assertNotNull(f);
            int updatedCount = getSqlMapClientTemplate().update("com.alibaba.cobar.client.entities.Follower.update", f);
            assertEquals(1, updatedCount);
View Full Code Here

Examples of com.alibaba.cobar.client.entities.Follower

        String[] names = { "Aaron", "Amily", "Aragon", "Darren", "Darwin" };
        batchInsertMultipleFollowersAsFixtureWithJdbcTemplate(names, jt2m);
       
        for(String name:names)
        {
            Follower f = (Follower) getSqlMapClientTemplate().queryForObject(
                    "com.alibaba.cobar.client.entities.Follower.finaByName", name);
            assertNotNull(f); // this sql action is performed against partition2 as per routing rule
           
            // sql action below will be performed against default data source(partition1), so will not affect any records on partition2
            int updatedCount = getSqlMapClientTemplate().update("com.alibaba.cobar.client.entities.Follower.update", f);
View Full Code Here

Examples of com.jcloisterzone.figure.Follower

    //scoring helpers

    public void scoreFeature(int points, ScoreContext ctx, Player p) {
        PointCategory pointCategory = ctx.getMasterFeature().getPointCategory();
        p.addPoints(points, pointCategory);
        Follower follower = ctx.getSampleFollower(p);
        boolean isFinalScoring = getPhase() instanceof GameOverPhase;
        ScoreEvent scoreEvent;
        if (fairyCapability != null && follower.at(fairyCapability.getFairyPosition())) {
            p.addPoints(FairyCapability.FAIRY_POINTS_FINISHED_OBJECT, PointCategory.FAIRY);
            scoreEvent = new ScoreEvent(follower.getFeature(), points+FairyCapability.FAIRY_POINTS_FINISHED_OBJECT, pointCategory, follower);
            scoreEvent.setLabel(points+" + "+FairyCapability.FAIRY_POINTS_FINISHED_OBJECT);
        } else {
            scoreEvent = new ScoreEvent(follower.getFeature(), points, pointCategory, follower);
        }
        scoreEvent.setFinal(isFinalScoring);
        post(scoreEvent);
    }
View Full Code Here

Examples of com.jcloisterzone.figure.Follower

    public Map<Player, Integer> getPowers() {
        Collection<Follower> followers = getFollowers();
        int size = followers.size();
        if (size == 0) return Collections.emptyMap();
        if (size == 1) {
            Follower follower = followers.iterator().next();
            return Collections.singletonMap(follower.getPlayer(), follower.getPower());
        }
        //rare cases
        Map<Player, Integer> result = new HashMap<Player, Integer>();
        for (Follower follower : followers) {
            Integer val = result.get(follower.getPlayer());
            result.put(follower.getPlayer(), val == null ? follower.getPower() : val + follower.getPower());
        }
        return result;

    }
View Full Code Here

Examples of com.jcloisterzone.figure.Follower

    @Override
    public boolean visit(Feature feature) {
        for (Meeple meeple : feature.getMeeples()) {
            if (meeple instanceof Follower) {
                Follower follower = (Follower) meeple;
                Integer prev = power.get(follower.getPlayer());
                int followerPower = follower.getPower();
                int curr = prev == null ? followerPower : prev + followerPower;
                power.put(follower.getPlayer(), curr);
                if (curr > bestPower) bestPower = curr;
                if (sample.containsKey(follower.getPlayer())) {
                    if (follower.at(preferedPos)) {
                        sample.put(follower.getPlayer(), follower);
                    }
                } else {
                    sample.put(follower.getPlayer(), follower);
                }
            }
            if (meeple instanceof Follower) {
                followers.add((Follower) meeple);
            } else if (meeple instanceof Special) {
View Full Code Here

Examples of com.jcloisterzone.figure.Follower

        return captureAction;
    }

    @Override
    public void takePrisoner(Position p, Location loc, Class<? extends Meeple> meepleType, Integer meepleOwner) {
        Follower m = (Follower) game.getMeeple(p, loc, meepleType, game.getPlayer(meepleOwner));
        m.undeploy();
        //undeploy returns figure to owner -> we must handle capture / prisoner exchange
        Player me = getActivePlayer();
        if (m.getPlayer() != me) {
            TowerCapability towerCap = game.getCapability(TowerCapability.class);
            List<Follower> prisoners = towerCap.getPrisoners().get(m.getPlayer());
            List<Follower> myCapturedFollowers = new ArrayList<>();
            for (Follower f : prisoners) {
                if (f.getPlayer() == me) {
                    myCapturedFollowers.add(f);
                }
            }

            if (myCapturedFollowers.isEmpty()) {
                towerCap.inprison(m, me);
            } else {
                //opponent has my prisoner - figure exchange
                Follower exchanged = myCapturedFollowers.get(0); //TODO same type?
                boolean removeOk = prisoners.remove(exchanged);
                assert removeOk;
                exchanged.clearDeployment();
                game.post(new MeeplePrisonEvent(exchanged, m.getPlayer(), null));
            }
        }
        next();
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.