@Override
  public void onReceive(Context context, Intent intent) {
    DependencyInjectionService.getInstance().inject(this);
    ContextManager.setContext(context);
    tagService = TagService.getInstance();

    Resources r = context.getResources();
    ArrayList<FilterListItem> list = new ArrayList<FilterListItem>();

    // --- header
    FilterListHeader tagsHeader = new FilterListHeader(context.getString(R.string.tag_FEx_header));
    list.add(tagsHeader);

    // --- untagged
    Filter untagged =
        new Filter(
            r.getString(R.string.tag_FEx_untagged),
            r.getString(R.string.tag_FEx_untagged),
            tagService.untaggedTemplate(),
            null);
    untagged.listingIcon = ((BitmapDrawable) r.getDrawable(R.drawable.filter_untagged)).getBitmap();
    list.add(untagged);

    addTags(list);

    // transmit filter list
    FilterListItem[] listAsArray = list.toArray(new FilterListItem[list.size()]);
    Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_SEND_FILTERS);
    broadcastIntent.putExtra(AstridApiConstants.EXTRAS_RESPONSE, listAsArray);
    broadcastIntent.putExtra(AstridApiConstants.EXTRAS_ADDON, TagsPlugin.IDENTIFIER);
    context.sendBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ);
  }
 @RequestMapping(value = "/snapshot", method = RequestMethod.POST)
 @JsonView(AllViews.VulnSearchApplications.class)
 public @ResponseBody RestResponse<Map<String, Object>> processSnapShot(
     @ModelAttribute ReportParameters reportParameters, HttpServletRequest request)
     throws IOException {
   log.info("Generating snapshot report");
   Map<String, Object> map = reportsService.generateSnapshotReport(reportParameters, request);
   map.put("tags", tagService.loadAllApplicationTags());
   map.put("vulnTags", tagService.loadAllVulnTags());
   return RestResponse.success(map);
 }
  private void addTags(ArrayList<FilterListItem> list) {
    HashSet<String> tagNames = new HashSet<String>();

    // active tags
    Tag[] myTags =
        tagService.getGroupedTags(
            TagService.GROUPED_TAGS_BY_SIZE,
            Criterion.and(TaskCriteria.ownedByMe(), TaskCriteria.activeAndVisible()));
    for (Tag tag : myTags) tagNames.add(tag.tag);
    if (myTags.length > 0) list.add(filterFromTags(myTags, R.string.tag_FEx_category_mine));

    // find all tag data not in active tag list
    TodorooCursor<TagData> cursor =
        tagDataService.query(
            Query.select(TagData.NAME, TagData.TASK_COUNT, TagData.REMOTE_ID)
                .where(TagData.DELETION_DATE.eq(0)));
    ArrayList<Tag> notListed = new ArrayList<Tag>();
    try {
      ArrayList<Tag> sharedTags = new ArrayList<Tag>();
      for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
        String tagName = cursor.get(TagData.NAME);
        if (tagNames.contains(tagName)) continue;
        Tag tag = new Tag(tagName, cursor.get(TagData.TASK_COUNT), cursor.get(TagData.REMOTE_ID));
        if (tag.count > 0) sharedTags.add(tag);
        else notListed.add(tag);
        tagNames.add(tagName);
      }
      if (sharedTags.size() > 0)
        list.add(
            filterFromTags(
                sharedTags.toArray(new Tag[sharedTags.size()]), R.string.tag_FEx_category_shared));
    } finally {
      cursor.close();
    }

    // find inactive tags, intersect tag list
    Tag[] inactiveTags =
        tagService.getGroupedTags(
            TagService.GROUPED_TAGS_BY_ALPHA,
            Criterion.and(
                TaskCriteria.notDeleted(), Criterion.not(TaskCriteria.activeAndVisible())));
    for (Tag tag : inactiveTags) {
      if (!tagNames.contains(tag.tag) && !TextUtils.isEmpty(tag.tag)) {
        notListed.add(tag);
        tag.count = 0;
      }
    }
    if (notListed.size() > 0)
      list.add(
          filterFromTags(
              notListed.toArray(new Tag[notListed.size()]), R.string.tag_FEx_category_inactive));
  }
Example #4
0
  private void run() {
    ActorSystem system = ActorSystem.create("TilosBus");
    bus = new MessageBus(system, injector);

    timeout = Duration.create(5, "seconds");

    LOG.info("Starting new deployment");

    SparkDefaults spark = new SparkDefaults(portBasedata, injector);

    JsonTransformer jsonResponse = spark.getJsonTransformer();

    get("/api/v1/tag/:tag", (req, res) -> tagService.get(req.params("tag")), jsonResponse);

    get("/api/v1/tag", (req, res) -> tagService.list(spark.intParam(req, "limit")), jsonResponse);
  }
  private List<Tag> createTagList(Group group, int numberOfTags) {
    List<Tag> tagList = new ArrayList<>();
    for (int i = 0; i < numberOfTags; i++) {
      Tag tag = createTag(group);
      tagList.add(tag);
    }

    tagList = tagService.saveAllTagsForGroup(tagList, group);
    return tagList;
  }
  @RequestMapping(value = "{tagName}", method = GET)
  public String showTag(
      @PathVariable String tagName, @RequestParam(defaultValue = "1") int page, Model model) {
    Tag tag = tagService.getTag(tagName);

    if (tag == null) {
      throw new NotFoundException("Tag " + tagName + " is not found.");
    }

    page = page < 1 ? 0 : page - 1;
    Page<Post> posts = postService.findPostsByTag(tagName, page, appSetting.getPageSize());

    model.addAttribute("tag", tag);
    model.addAttribute("posts", posts);
    model.addAttribute("page", page + 1);
    model.addAttribute("totalPages", posts.getTotalPages());

    return "tags/show";
  }
  /** Save success */
  @Test
  public void save() {
    Client client = createClient();
    Group group = createGroup(client);

    Tag tag = createTagList(group, 1).get(0);
    Team team = createTeam(client);
    tag = tagService.reload(tag);

    TeamTag afterSaveTeamTag = teamTagService.saveSingleTeamTag(team, tag);
    assertThat("TeamTag was given an id", afterSaveTeamTag.getId(), is(notNullValue()));

    TeamTagSearchFilter searchFilter = new TeamTagSearchFilter();
    HashSet<Tag> tagSet = new HashSet<>();
    tagSet.add(tag);
    searchFilter.setTagSet(tagSet);
    Page<TeamTag> teamsWithTag = teamTagService.findTeamsWithTag(null, searchFilter);
    assertThat(
        "we can find the team tag by the team tag id", teamsWithTag, hasItem(afterSaveTeamTag));
  }