Examples of CharacterDescriptionSDO


Examples of net.cloudcodex.server.data.campaign.character.CharacterDescriptionSDO

     
      final String description = "This is a new description";
     
      final String sheet = "This is a new sheet";
     
      CharacterDescriptionSDO sdo =
        campaignService.updateCharacterDescription(context, campaignId, char1Id,
          null, description, sheet, null, null, null, null);

      assertEquals(sheet, sdo.getSheet());

      CharacterSDO char1 = campaignService.getCharacter(context, campaignId, char1Id);
      assertEquals(description, char1.getCharacter().getDescription());
      assertFalse(context.hasErrors());

      /*
       * not update them and test there still here
       */
      sdo = campaignService.updateCharacterDescription(context, campaignId, char1Id,
              null, null, null, null, null, null, null);

      assertEquals(sheet, sdo.getSheet());

      char1 = campaignService.getCharacter(context, campaignId, char1Id);
      assertEquals(description, char1.getCharacter().getDescription());
      assertFalse(context.hasErrors());
     
View Full Code Here

Examples of net.cloudcodex.server.data.campaign.character.CharacterDescriptionSDO

     
      final Map<Long, String> aliases = new HashMap<Long, String>();
      aliases.put(char2Id, "Alias1ForChar2");
      aliases.put(null, "GlobalAlias");
     
      CharacterDescriptionSDO sdo =
        campaignService.updateCharacterDescription(context, campaignId, char1Id,
          null, null, null, null, null, null, aliases);

      sdo.getAliases().equals(aliases);
      assertFalse(context.hasErrors());

      /*
       * Don't update them and test they're still here
       */
      sdo = campaignService.updateCharacterDescription(context, campaignId, char1Id,
              null, null, null, null, null, null, null);

      sdo.getAliases().equals(aliases);
      assertFalse(context.hasErrors());

      /*
       * Add one and modify one and test they're ALL still here, even the not modified
       */
      final Map<Long, String> aliases2 = new HashMap<Long, String>();
      aliases.put(char2Id, "Alias2ForChar2");
      aliases.put(char3Id, "Alias1ForChar3");
     
      sdo = campaignService.updateCharacterDescription(context, campaignId, char1Id,
              null, null, null, null, null, null, aliases2);
      aliases.putAll(aliases2);
      sdo.getAliases().equals(aliases);
      assertFalse(context.hasErrors());

     
      /*
       * Player can't do that.
View Full Code Here

Examples of net.cloudcodex.server.data.campaign.character.CharacterDescriptionSDO

     
      final Map<Long, String> notes = new HashMap<Long, String>();
      notes.put(char2Id, "I don't like Char1");
      notes.put(null, "Remember his wife is searching him");
     
      CharacterDescriptionSDO sdo =
        campaignService.updateCharacterDescription(context, campaignId, char1Id,
          null, null, null, null, null, notes, null);

      assertFalse(context.hasErrors());
     
      assertEquals(notes.size(), sdo.getNotes().size());
      for(CharacterNote note : sdo.getNotes()) {
        assertEquals(note.getContent(),
            notes.get(note.getAuthor() == null ? null : note.getAuthor().getId()));
      }
     
      /*
       * Add one, update one, test ALL are here.
       */
        final Map<Long, String> notes2 = new HashMap<Long, String>();
      notes2.put(char2Id, "I love Char1 now");
      notes2.put(char3Id, "Strange guy ...");

      sdo = campaignService.updateCharacterDescription(context, campaignId, char1Id,
          null, null, null, null, null, notes2, null);

      assertFalse(context.hasErrors());
     
      notes.putAll(notes2);
      assertEquals(notes.size(), sdo.getNotes().size());
      for(CharacterNote note : sdo.getNotes()) {
        assertEquals(note.getContent(),
            notes.get(note.getAuthor() == null ? null : note.getAuthor().getId()));
      }

      /*
       * Check a user cannot update as another user.
       */
        final Map<Long, String> notes3 = new HashMap<Long, String>();
      notes3.put(char2Id, "I change again !!!");
      notes3.put(char3Id, "Hihi ! it's a hack !");

      context = new Context(player2);
      sdo = campaignService.updateCharacterDescription(context, campaignId, char1Id,
          char3Id, null, null, null, null, notes2, null);
      assertTrue(context.hasError(Errors.USER_USURPATION));

      context = new Context(player2);
      sdo = campaignService.updateCharacterDescription(context, campaignId, char1Id,
          npc1Id, null, null, null, null, notes2, null);
      assertTrue(context.hasError(Errors.USER_USURPATION));

      context = new Context(player2);
      sdo = campaignService.updateCharacterDescription(context, campaignId, char1Id,
          null, null, null, null, null, notes2, null);
      assertTrue(context.hasError(Errors.USER_USURPATION_GM));
     
      /*
       * Check a user can only update its own note.
       */
      context = new Context(player2);
     
      sdo = campaignService.updateCharacterDescription(context, campaignId, char1Id,
          char2Id, null, null, null, null, notes3, null);

      assertFalse(context.hasErrors());
      assertEquals(1, sdo.getNotes().size());
      assertEquals(notes3.get(char2Id), sdo.getNotes().get(0).getContent());
     
      // read with GM rights, to see all notes
      context = new Context(master);
      sdo = campaignService.getCharacterDescription(context, campaignId, char1Id, null, null);

      notes.put(char2Id, notes3.get(char2Id));
      assertEquals(notes.size(), sdo.getNotes().size());
      for(CharacterNote note : sdo.getNotes()) {
        assertEquals(note.getContent(),
            notes.get(note.getAuthor() == null ? null : note.getAuthor().getId()));
      }
    }
View Full Code Here

Examples of net.cloudcodex.server.data.campaign.character.CharacterDescriptionSDO

              FilterOperator.GREATER_THAN, timestamp);
    } else {
      query = dao.queryCharacterNote(characterKey);
    }
   
    final CharacterDescriptionSDO description = new CharacterDescriptionSDO();
    description.setTimestamp(readTimestamp);
    description.setCampaignId(campaignId);
    description.setCharacterId(characterId);

    // Get the character entity to test if its a profile or not.
    final Data.Character character = dao.readCharacter(context, characterKey);
    if(character == null) {
      logger.severe("Invalid character " + characterKey);
      context.addError(NOT_FOUND_CHARACTER, characterId);
      return null;
    }

    if(!Boolean.TRUE.equals(character.getProfile())) {
      if(master) {
        // GM sees all notes
        description.setNotes(dao.asListOfCharacterNotes(context, query, null));
       
        // GMM sees the character's sheet.
        description.setSheet(character.getSheet());

      } else {
        // check the character viewing exists
        final Key byCharacterKey = Data.Character.createKey(campaignKey, byCharacterId);
        final Data.Character byCharacter = dao.readCharacter(context, byCharacterKey);
        if(byCharacter == null) {
          logger.severe("Invalid character " + byCharacterKey);
          context.addError(NOT_FOUND_CHARACTER, byCharacterId);
          return null;
        }

        // check its not a NPC
        if(byCharacter.getOwner() == null) {
          logger.severe("User " + context.getUser().getKey()
              + " tried to get character description as NPC");
          context.addError(USER_USURPATION_NPC);
          return null;
        }

        // check the user is its owner
        if(!isOwner(context, byCharacter)) {
          logger.severe("User " + context.getUser().getKey()
              + " tried to get character description as "
              + byCharacterKey);
          context.addError(USER_USURPATION_PC);
          return null;
        }
       
        // Itself and others players can only see their own.
        description.setNotes(
            dao.asListOfCharacterNotes(context,
                dao.addCharacterNoteFilterOnAuthor(
                query, FilterOperator.EQUAL, byCharacterKey), null));
       
        // the character consults itself
        if(byCharacterId != null && characterId == byCharacterId) {
          description.setSheet(byCharacter.getSheet());
        }
      }
    }

    if(master) {
      // map the character aliases.
      final Map<String, String> aliases = character.getAlias();
      if(aliases != null) {
        final Map<Long, String> descAliases = new HashMap<Long, String>();
        for(Map.Entry<String, String> entry : aliases.entrySet()) {
          try {
            final Long charId = Long.valueOf(entry.getKey());
            descAliases.put(charId, entry.getValue());
          } catch(NumberFormatException e) {
            logger.severe(entry.getKey()
              + " is not a valid charId for alias in " + character);
          }
        }
        if(descAliases != null) {
          description.setAliases(descAliases);
        }
      }
    }
   
    return description;
View Full Code Here

Examples of net.cloudcodex.server.data.campaign.character.CharacterDescriptionSDO

      long campaignId, long characterId,
      Long byCharacterId, Date timestamp) {
   
    final Context context = createContext();

    final CharacterDescriptionSDO sdo = campaignService.getCharacterDescription(
        context, campaignId, characterId, byCharacterId, timestamp);
   
    final CharacterDescriptionDTO dto = DTOUtil.mapCharacterDescription(sdo);
   
    return createResult(context, dto);
View Full Code Here

Examples of net.cloudcodex.server.data.campaign.character.CharacterDescriptionSDO

    // Get the header.
    final CharacterSDO character = campaignService.getCharacter(context, campaignId, characterId);
    dto.setHeader(DTOUtil.mapCharacterSDOToHeader(character, characterId));

    // Get the description.
    final CharacterDescriptionSDO sdo = campaignService.getCharacterDescription(
        context, campaignId, characterId, characterId, null);
   
    dto.setDescription(DTOUtil.mapCharacterDescription(sdo));

    return createResult(context, dto);
View Full Code Here

Examples of net.cloudcodex.server.data.campaign.character.CharacterDescriptionSDO

      if(note != null) {
        map.put(note.getAuthor(), note.getContent());
      }
    }

    final CharacterDescriptionSDO sdo =
      campaignService.updateCharacterDescription(
        context, campaignId, characterId, byCharacterId,
        description, sheet, dead, locked,
        map, aliases);
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.