Android Open Source - it.alcacoop.fourinaline G Service Cookie Monster






From Project

Back to project page it.alcacoop.fourinaline.

License

The source code is released under:

GNU General Public License

If you think the Android project it.alcacoop.fourinaline listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/**
 ##################################################################
 #                     FOUR IN A LINE MOBILE                      #
 ##################################################################
 #                                                                #
 #  Authors: Domenico Martella - Francesco Valente                #
 #  E-mail: info@alcacoop.it                                      #
 #  Date:   18/10/2013                                            #
 #                                                                #
 ##################################################################
 #                                                                #
 #  Copyright (C) 2013   Alca Societa' Cooperativa                #
 #                                                                #
 #  This file is part of FOUR IN A LINE MOBILE.                   #
 #  FOUR IN A LINE MOBILE is free software: you can redistribute  # 
 #  it and/or modify it under the terms of the GNU General        #
 #  Public License as published by the Free Software Foundation,  #
 #  either version 3 of the License, or (at your option)          #
 #  any later version.                                            #
 #                                                                #
 #  FOUR IN A LINE MOBILE is distributed in the hope that it      #
 #  will be useful, but WITHOUT ANY WARRANTY; without even the    #
 #  implied warranty of MERCHANTABILITY or FITNESS FOR A          #
 #  PARTICULAR PURPOSE.  See the GNU General Public License       #
 #  for more details.                                             #
 #                                                                #
 #  You should have received a copy of the GNU General            #
 #  Public License v3 along with this program.                    #
 #  If not, see <http://http://www.gnu.org/licenses/>             #
 #                                                                #
 ##################################################################
**/// w  w w  .  ja v a 2  s.  com

package it.alcacoop.fourinaline.gservice;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.regex.Pattern;


public class GServiceCookieMonster implements GServiceMessages {
  private final static boolean DEBUG = false;

  private class CookieDough {
    public Pattern regex = null;
    public int message = 0;
  }

  private LinkedList<CookieDough> numericBatch;
  
  public GServiceCookieMonster() {
    prepareBatches();
  }
  
  public int getCookie(String message) {
    int result = 0;
    Iterator<GServiceCookieMonster.CookieDough> iter;
    CookieDough ptr = null;

    iter = numericBatch.iterator();
    while (iter.hasNext()) {
      ptr = iter.next();
      if (ptr.regex.matcher(message).find()) {
        result = ptr.message;
        break;
      }
    }

    if (result == 0) return(0);
    
    String[] ss = ptr.regex.split(message, 2);
    if (ss.length > 1 && ss[1].length() > 0) {
      if (DEBUG) {
        System.out.println("cookie = " + result);
        System.out.println("message = '" + message + "'");
        System.out.println("Leftover = '" + ss[1] + "'");
      }
    }
    return(result);
  }



  LinkedList<CookieDough> currentBatchBuild;
  private void addDough(int msg, String re) {
    CookieDough newDough = new CookieDough();
    newDough.regex = Pattern.compile(re);
    newDough.message = msg;
    currentBatchBuild.add(newDough);
  }


  private void prepareBatches() {
    currentBatchBuild = new LinkedList<CookieDough>();
    addDough(GSERVICE_CONNECTED, "^"+GSERVICE_CONNECTED+"$");
    addDough(GSERVICE_READY, "^"+GSERVICE_READY+"$");
    addDough(GSERVICE_INIT_RATING, "^"+GSERVICE_INIT_RATING+" ");
    addDough(GSERVICE_HANDSHAKE, "^"+GSERVICE_HANDSHAKE+" ");
    addDough(GSERVICE_MOVE, "^"+GSERVICE_MOVE+" ");
    addDough(GSERVICE_BOARD, "^"+GSERVICE_BOARD+" ");
    addDough(GSERVICE_PING, "^"+GSERVICE_PING+" ");
    addDough(GSERVICE_CHATMSG, "^"+GSERVICE_CHATMSG+" ");
    addDough(GSERVICE_ABANDON, "^"+GSERVICE_ABANDON+" ");
    addDough(GSERVICE_ERROR, "^"+GSERVICE_ERROR+"$");
    addDough(GSERVICE_BYE, "^"+GSERVICE_BYE+"$");
    this.numericBatch = this.currentBatchBuild;
  }
}




Java Source Code List

android.UnusedStub.java
it.alcacoop.fourinaline.BaseGServiceApplication.java
it.alcacoop.fourinaline.FourInALineDesktop.java
it.alcacoop.fourinaline.FourInALine.java
it.alcacoop.fourinaline.GServiceApplication.java
it.alcacoop.fourinaline.GServiceInterface.java
it.alcacoop.fourinaline.MainActivity.java
it.alcacoop.fourinaline.NativeFunctions.java
it.alcacoop.fourinaline.PrivateDataManager.java
it.alcacoop.fourinaline.PurchaseActivity.java
it.alcacoop.fourinaline.SoundManager.java
it.alcacoop.fourinaline.actors.BoardImage.java
it.alcacoop.fourinaline.actors.Board.java
it.alcacoop.fourinaline.actors.ChatBox.java
it.alcacoop.fourinaline.actors.Checker.java
it.alcacoop.fourinaline.actors.FixedButtonGroup.java
it.alcacoop.fourinaline.actors.IconButton.java
it.alcacoop.fourinaline.actors.ParticleEffectActor.java
it.alcacoop.fourinaline.actors.PlayerBlock.java
it.alcacoop.fourinaline.actors.UIDialog.java
it.alcacoop.fourinaline.billingutils.Base64DecoderException.java
it.alcacoop.fourinaline.billingutils.Base64.java
it.alcacoop.fourinaline.billingutils.IabException.java
it.alcacoop.fourinaline.billingutils.IabHelper.java
it.alcacoop.fourinaline.billingutils.IabResult.java
it.alcacoop.fourinaline.billingutils.Inventory.java
it.alcacoop.fourinaline.billingutils.Purchase.java
it.alcacoop.fourinaline.billingutils.Security.java
it.alcacoop.fourinaline.billingutils.SkuDetails.java
it.alcacoop.fourinaline.client.GwtLauncher.java
it.alcacoop.fourinaline.fsm.FSM.java
it.alcacoop.fourinaline.gservice.GServiceClient.java
it.alcacoop.fourinaline.gservice.GServiceCookieMonster.java
it.alcacoop.fourinaline.gservice.GServiceMessages.java
it.alcacoop.fourinaline.gservice.GServiceNetHandler.java
it.alcacoop.fourinaline.layers.BaseScreen.java
it.alcacoop.fourinaline.layers.GameScreen.java
it.alcacoop.fourinaline.layers.MatchOptionsScreen.java
it.alcacoop.fourinaline.layers.MenuScreen.java
it.alcacoop.fourinaline.layers.OptionsScreen.java
it.alcacoop.fourinaline.layers.SplashScreen.java
it.alcacoop.fourinaline.logic.AIExecutor.java
it.alcacoop.fourinaline.logic.MatchState.java
it.alcacoop.fourinaline.util.Base64DecoderException.java
it.alcacoop.fourinaline.util.Base64.java
it.alcacoop.fourinaline.util.GServiceGameHelper.java
it.alcacoop.fourinaline.util.GameHelperUtils.java
it.alcacoop.fourinaline.utils.AchievementsManager.java
it.alcacoop.fourinaline.utils.AppDataManager.java
it.alcacoop.fourinaline.utils.ELORatingManager.java
org.gojul.fourinaline.model.AlphaBeta.java
org.gojul.fourinaline.model.DefaultEvalScore.java
org.gojul.fourinaline.model.EvalScore.java
org.gojul.fourinaline.model.GameModel.java