Wildcard pattern-matching algorithm
Right away, I see two bugs:

First, it is not valid to say

if (text.equals(EMPTY_STRING) || pattern.equals(EMPTY_STRING)) {
    return false;
}


… because a non-empty pattern can certainly match an empty string.

Second, it takes a state machine to do regular expression matching properly; all I saw in your code were a few pointers.  (What are indexP1, indexP2, and indexT supposed to stand for?  Is there some invariant stateabout them that you could write out in a comment?)  It seems that you are matching * and + greedily.  That can't be right; sometimes you might need to backtrack and consider another possibility in order to get a match.

I didn't analyze the code too deeply, but those two serious concerns suggest that you will need to work at this code a lot more anyway.