deprecate VariableManager#isVariableLink() and use 
LinkParsingOperations#isVariableLink(String) instead


Project: http://git-wip-us.apache.org/repos/asf/jspwiki/repo
Commit: http://git-wip-us.apache.org/repos/asf/jspwiki/commit/a96dd18f
Tree: http://git-wip-us.apache.org/repos/asf/jspwiki/tree/a96dd18f
Diff: http://git-wip-us.apache.org/repos/asf/jspwiki/diff/a96dd18f

Branch: refs/heads/master
Commit: a96dd18ff04ffa33967ac399ef8b4151f9e8e4e8
Parents: 15e17d7
Author: juanpablo <juanpa...@apache.org>
Authored: Sun Dec 3 01:58:53 2017 +0100
Committer: juanpablo <juanpa...@apache.org>
Committed: Sun Dec 3 01:58:53 2017 +0100

----------------------------------------------------------------------
 .../java/org/apache/wiki/VariableManager.java   | 63 ++++++++++----------
 .../apache/wiki/parser/JSPWikiMarkupParser.java |  2 +-
 .../wiki/parser/LinkParsingOperations.java      |  8 ++-
 3 files changed, 41 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jspwiki/blob/a96dd18f/jspwiki-war/src/main/java/org/apache/wiki/VariableManager.java
----------------------------------------------------------------------
diff --git a/jspwiki-war/src/main/java/org/apache/wiki/VariableManager.java 
b/jspwiki-war/src/main/java/org/apache/wiki/VariableManager.java
index ce342db..5299d78 100644
--- a/jspwiki-war/src/main/java/org/apache/wiki/VariableManager.java
+++ b/jspwiki-war/src/main/java/org/apache/wiki/VariableManager.java
@@ -14,7 +14,7 @@
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     KIND, either express or implied.  See the License for the
     specific language governing permissions and limitations
-    under the License.   
+    under the License.
  */
 package org.apache.wiki;
 
@@ -35,6 +35,7 @@ import org.apache.wiki.api.exceptions.NoSuchVariableException;
 import org.apache.wiki.api.filters.PageFilter;
 import org.apache.wiki.i18n.InternationalizationManager;
 import org.apache.wiki.modules.InternalModule;
+import org.apache.wiki.parser.LinkParsingOperations;
 import org.apache.wiki.preferences.Preferences;
 
 /**
@@ -46,20 +47,20 @@ import org.apache.wiki.preferences.Preferences;
 public class VariableManager
 {
     private static Logger log = Logger.getLogger( VariableManager.class );
-   
+
     // FIXME: These are probably obsolete.
     public static final String VAR_ERROR = "error";
     public static final String VAR_MSG   = "msg";
-    
+
     /**
      *  Contains a list of those properties that shall never be shown.
      *  Put names here in lower case.
      */
-    
+
     static final String[] THE_BIG_NO_NO_LIST = {
         "jspwiki.auth.masterpassword"
     };
-    
+
     /**
      *  Creates a VariableManager object using the property list given.
      *  @param props The properties.
@@ -73,25 +74,27 @@ public class VariableManager
      *  a variable.
      *  <P>
      *  Currently we just check if the link starts with "{$".
-     *  
+     *
      *  @param link The link text
      *  @return true, if this represents a variable link.
+     *  @deprecated Use {@link LinkParsingOperations#isVariableLink(String)}
      */
+    @Deprecated
     public static boolean isVariableLink( String link )
     {
-        return link.startsWith("{$");
+        return new LinkParsingOperations( null ).isVariableLink( link );
     }
 
     /**
-     *  Parses the link and finds a value.  This is essentially used
-     *  once {@link #isVariableLink(String)} has found that the link text
-     *  actually contains a variable.  For example, you could pass in
-     *  "{$username}" and get back "JanneJalkanen".
+     *  Parses the link and finds a value.  This is essentially used once
+     *  {@link LinkParsingOperations#isVariableLink(String)} has found that
+     *  the link text actually contains a variable.  For example, you could
+     *  pass in "{$username}" and get back "JanneJalkanen".
      *
      *  @param  context The WikiContext
      *  @param  link    The link text containing the variable name.
      *  @return The variable value.
-     *  @throws IllegalArgumentException If the format is not valid (does not 
+     *  @throws IllegalArgumentException If the format is not valid (does not
      *          start with "{$", is zero length, etc.)
      *  @throws NoSuchVariableException If a variable is not known.
      */
@@ -116,7 +119,7 @@ public class VariableManager
      *  the expansion is not done twice, that is, a variable containing text 
$variable
      *  will not be expanded.
      *  <P>
-     *  The variables should be in the same format ({$variablename} as in the 
web 
+     *  The variables should be in the same format ({$variablename} as in the 
web
      *  pages.
      *
      *  @param context The WikiContext of the current page.
@@ -178,7 +181,7 @@ public class VariableManager
      *  Returns the value of a named variable.  See {@link 
#getValue(WikiContext, String)}.
      *  The only difference is that this method does not throw an exception, 
but it
      *  returns the given default value instead.
-     *  
+     *
      *  @param context WikiContext
      *  @param varName The name of the variable
      *  @param defValue A default value.
@@ -195,7 +198,7 @@ public class VariableManager
             return defValue;
         }
     }
-    
+
     /**
      *  Returns a value of the named variable.  The resolving order is
      *  <ol>
@@ -211,12 +214,12 @@ public class VariableManager
      *
      *  Use this method only whenever you really need to have a parameter that
      *  can be overridden by anyone using the wiki.
-     *  
+     *
      *  @param context The WikiContext
      *  @param varName Name of the variable.
      *
      *  @return The variable value.
-     *  
+     *
      *  @throws IllegalArgumentException If the name is somehow broken.
      *  @throws NoSuchVariableException If a variable is not known.
      */
@@ -239,7 +242,7 @@ public class VariableManager
             if( name.equals(THE_BIG_NO_NO_LIST[i]) )
                 return ""; // FIXME: Should this be something different?
         }
-        
+
         try
         {
             //
@@ -258,7 +261,7 @@ public class VariableManager
         }
         catch( NoSuchMethodException e1 )
         {
-            // 
+            //
             //  It is not a system var. Time to handle the other cases.
             //
             //  Check if such a context variable exists,
@@ -270,7 +273,7 @@ public class VariableManager
             }
 
             //
-            //  Well, I guess it wasn't a final straw.  We also allow 
+            //  Well, I guess it wasn't a final straw.  We also allow
             //  variables from the session and the request (in this order).
             //
 
@@ -282,7 +285,7 @@ public class VariableManager
                 try
                 {
                     String s;
-                    
+
                     if( (s = (String)session.getAttribute( varName )) != null )
                         return s;
 
@@ -295,7 +298,7 @@ public class VariableManager
             //
             // And the final straw: see if the current page has named metadata.
             //
-            
+
             WikiPage pg = context.getPage();
             if( pg != null )
             {
@@ -303,7 +306,7 @@ public class VariableManager
                 if( metadata != null )
                     return metadata.toString();
             }
-            
+
             //
             // And the final straw part 2: see if the "real" current page has
             // named metadata. This allows a parent page to control a inserted
@@ -316,14 +319,14 @@ public class VariableManager
                 if( metadata != null )
                     return metadata.toString();
             }
-            
+
             //
             // Next-to-final straw: attempt to fetch using property name
             // We don't allow fetching any other properties than those starting
             // with "jspwiki.".  I know my own code, but I can't vouch for bugs
             // in other people's code... :-)
             //
-            
+
             if( varName.startsWith("jspwiki.") )
             {
                 Properties props = context.getEngine().getWikiProperties();
@@ -334,14 +337,14 @@ public class VariableManager
                     return s;
                 }
             }
-            
+
             //
             //  Final defaults for some known quantities.
             //
 
             if( varName.equals( VAR_ERROR ) || varName.equals( VAR_MSG ) )
                 return "";
-  
+
             throw new NoSuchVariableException( "No variable "+varName+" 
defined." );
         }
         catch( Exception e )
@@ -363,7 +366,7 @@ public class VariableManager
      *  calls var.toLowerCase(), the getters for the variables do not have
      *  capitalization anywhere.  This may look a bit odd, but then again, this
      *  is not meant to be a public class.
-     *  
+     *
      *  @since 2.7.0
      *
      */
@@ -434,7 +437,7 @@ public class VariableManager
                 String link = i.next();
                 res.append( link );
                 res.append( " --> " );
-                res.append( m_context.getEngine().getInterWikiURL(link) );    
+                res.append( m_context.getEngine().getInterWikiURL(link) );
             }
             return res.toString();
         }
@@ -488,7 +491,7 @@ public class VariableManager
         public String getUsername()
         {
             Principal wup = m_context.getCurrentUser();
-            
+
             ResourceBundle rb = Preferences.getBundle( m_context, 
InternationalizationManager.CORE_BUNDLE );
             return wup != null ? wup.getName() : rb.getString( 
"varmgr.not.logged.in" );
         }

http://git-wip-us.apache.org/repos/asf/jspwiki/blob/a96dd18f/jspwiki-war/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java
----------------------------------------------------------------------
diff --git 
a/jspwiki-war/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java 
b/jspwiki-war/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java
index 5cbe771..765ef23 100644
--- a/jspwiki-war/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java
+++ b/jspwiki-war/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java
@@ -1313,7 +1313,7 @@ public class JSPWikiMarkupParser extends MarkupParser {
             //
             //  In many cases these are the same.  [linktext|linkref].
             //
-            if( VariableManager.isVariableLink( linktext ) )
+            if( m_linkParsingOperations.isVariableLink( linktext ) )
             {
                 Content el = new VariableContent(linktext);
 

http://git-wip-us.apache.org/repos/asf/jspwiki/blob/a96dd18f/jspwiki-war/src/main/java/org/apache/wiki/parser/LinkParsingOperations.java
----------------------------------------------------------------------
diff --git 
a/jspwiki-war/src/main/java/org/apache/wiki/parser/LinkParsingOperations.java 
b/jspwiki-war/src/main/java/org/apache/wiki/parser/LinkParsingOperations.java
index 4348315..edc43d7 100755
--- 
a/jspwiki-war/src/main/java/org/apache/wiki/parser/LinkParsingOperations.java
+++ 
b/jspwiki-war/src/main/java/org/apache/wiki/parser/LinkParsingOperations.java
@@ -92,7 +92,13 @@ public class LinkParsingOperations {
     }
 
     /**
-     * @see {@link VariableManager#isVariableLink()}
+     *  Returns true if the link is really command to insert
+     *  a variable.
+     *  <P>
+     *  Currently we just check if the link starts with "{$".
+     *
+     *  @param link The link text
+     *  @return {@code true}, if this represents a variable link.
      */
     public boolean isVariableLink( String link ) {
         return link.startsWith( "{$" );

Reply via email to