Author: kwright
Date: Mon Jan 28 08:40:59 2013
New Revision: 1439301

URL: http://svn.apache.org/viewvc?rev=1439301&view=rev
Log:
Add (not yet working) job edit support for forced metadata

Modified:
    manifoldcf/trunk/CHANGES.txt
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editjob.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/execute.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewjob.jsp
    
manifoldcf/trunk/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_en_US.properties
    
manifoldcf/trunk/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_ja_JP.properties

Modified: manifoldcf/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/CHANGES.txt?rev=1439301&r1=1439300&r2=1439301&view=diff
==============================================================================
--- manifoldcf/trunk/CHANGES.txt (original)
+++ manifoldcf/trunk/CHANGES.txt Mon Jan 28 08:40:59 2013
@@ -3,6 +3,9 @@ $Id$
 
 ======================= 1.2-dev =====================
 
+CONNECTORS-552: Add support for forced metadata in all jobs.
+(Maciej Li¿ewski, Karl Wright)
+
 CONNECTORS-624: Add indexing via subsidiary thread to OpenSearchServer
 connector.
 (Karl Wright)

Modified: manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editjob.jsp
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editjob.jsp?rev=1439301&r1=1439300&r2=1439301&view=diff
==============================================================================
--- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editjob.jsp (original)
+++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editjob.jsp Mon Jan 
28 08:40:59 2013
@@ -90,6 +90,8 @@
        int hopcountMode = IJobDescription.HOPCOUNT_ACCURATE;
        // Hop filters
        Map hopFilterMap = new HashMap();
+       // Forced metadata
+       Map<String,Set<String>> forcedMetadata = new 
HashMap<String,Set<String>>();
 
        // If the job is not null, prepopulate everything with what comes from 
it.
        if (job != null)
@@ -118,6 +120,7 @@
                value = job.getExpiration();
                expirationInterval = (value==null)?null:new 
Long(value.longValue()/60000L);
                hopFilterMap = job.getHopCountFilters();
+               forcedMetadata = job.getForcedMetadata();
        }
 
 
@@ -154,6 +157,7 @@
                
tabsArray.add(Messages.getString(pageContext.getRequest().getLocale(),"editjob.Scheduling"));
                if (relationshipTypes != null && relationshipTypes.length > 0)
                        
tabsArray.add(Messages.getString(pageContext.getRequest().getLocale(),"editjob.HopFilters"));
+               
tabsArray.add(Messages.getString(pageContext.getRequest().getLocale(),"editjob.ForcedMetadata"));
        }
 
 
@@ -276,6 +280,27 @@
                        postFormSetAnchor("remove_schedule_"+(n-1));
        }
 
+       function AddForcedMetadata()
+       {
+               if (editjob.forcedmetadata_name.value == "")
+               {
+                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.ForcedMetadataNameMustNotBeNull")%>");
+                       editjob.forcedmetadata_name.focus();
+                       return;
+               }
+               document.editjob.forcedmetadata_op.value="Add";
+               postFormSetAnchor("forcedmetadata_tag");
+       }
+       
+       function DeleteForcedMetadata(k)
+       {
+               eval("document.editjob.forcedmetadata_"+n+"_op.value = 
'Delete'");
+               if (n == 0)
+                       postFormSetAnchor("forcedmetadata_tag");
+               else
+                       postFormSetAnchor("forcedmetadata_"+(n-1)+"_tag");
+       }
+       
        function checkForm()
        {
                if (!checkRecrawl())
@@ -517,6 +542,117 @@
 <%
        }
 
+       // Forced Metadata tab
+       if 
(tabName.equals(Messages.getString(pageContext.getRequest().getLocale(),"editjob.ForcedMetadata")))
+       {
+%>
+                 <table class="displaytable">
+                       <tr>
+                               <td class="separator" colspan="4"><hr/></td>
+                       </tr>
+                       <tr>
+                               <td class="description" 
colspan="1"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.ForcedMetadataColon")%></nobr></td>
+                               <td class="boxcell" colspan="3">
+                                       <input type="hidden" 
name="forcedmetadata_op" value="Continue"/>
+                                       <input type="hidden" 
name="forcedmetadata_number" value=""/>
+                                       <table class="formtable">
+                                               <tr class="formheaderrow">
+                                                       <td 
class="formcolumnheader"></td>
+                                                       <td 
class="formcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.ParameterName")%></nobr></td>
+                                                       <td 
class="formcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.ParameterValue")%></nobr></td>
+                                               </tr>
+<%
+               String[] paramNames = new String[forcedMetadata.size()];
+               int k = 0;
+               int q = 0;
+               for (String paramName : forcedMetadata.keySet())
+               {
+                       paramNames[q++] = paramName;
+               }
+               java.util.Arrays.sort(paramNames);
+               for (String paramName : paramNames)
+               {
+                       Set<String> values = forcedMetadata.get(paramName);
+                       String[] paramValues = new String[values.size()];
+                       q = 0;
+                       for (String paramValue : values)
+                       {
+                               paramValues[q++] = paramValue;
+                       }
+                       java.util.Arrays.sort(paramValues);
+                       for (String paramValue : paramValues)
+                       {
+                               String prefix = "forcedmetadata_"+k;
+%>
+                                               <tr class='<%=((k % 
2)==0)?"evenformrow":"oddformrow"%>'>
+                                                       <td 
class="formcolumncell">
+                                                               <a 
name="<%=prefix+"_tag"%>"/>
+                                                               <input 
type="button" 
value="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"editjob.Delete")%>"
 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"editjob.Deleteforcedmetadatanumber")+Integer.toString(k)%>"
 onclick='<%="javascript:DeleteForcedMetadata("+Integer.toString(k)+");"%>'/>
+                                                               <input 
type="hidden" name="<%=prefix+"_op"%>" value="Continue"/>
+                                                               <input 
type="hidden" name="<%=prefix+"_name"%>" 
value="<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(paramName)%>"/>
+                                                               <input 
type="hidden" name="<%=prefix+"_value"%>" 
value="<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(paramValue)%>"/>
+                                                       </td>
+                                                       <td 
class="formcolumncell">
+                                                               
<nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(paramName)%></nobr>
+                                                       </td>
+                                                       <td 
class="formcolumncell">
+                                                               
<nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(paramValue)%></nobr>
+                                                       </td>
+                                               </tr>
+<%
+                               k++;
+                       }
+               }
+               if (k == 0)
+               {
+%>
+                                               <tr class="formrow"><td 
colspan="3" 
class="formcolumnmessage"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NoForcedMetadataSpecified")%></nobr></td></tr>
+<%
+               }
+%>
+                                               <tr class="formrow"><td 
colspan="3" class="formseparator"><hr/></td></tr>
+                                               <tr class="formrow">
+                                                       <td 
class="formcolumncell">
+                                                               <a 
name="forcedmetadata_tag"/>
+                                                               <input 
type="hidden" name="forcedmetadata_op" value="Continue"/>
+                                                               <input 
type="button" 
value="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"editjob.Add")%>"
 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"editjob.Addforcedmetadata")%>"
 onclick="javascript:AddForcedMetadata();"/>
+                                                               <input 
type="hidden" name="forcedmetadata_count" value="<%=k%>"/>
+                                                       </td>
+                                                       <td 
class="formcolumncell">
+                                                               <input 
type="text" name="forcedmetadata_name" size="30" value=""/>
+                                                       </td>
+                                                       <td 
class="formcolumncell">
+                                                               <input 
type="text" name="forcedmetadata_value" size="30" value=""/>
+                                                       </td>
+                                               </tr>
+
+                                       </table>
+                               </td>
+                       </tr>
+                 </table>
+<%
+       }
+       else
+       {
+               int k = 0;
+               for (String paramName : forcedMetadata.keySet())
+               {
+                       Set<String> values = forcedMetadata.get(paramName);
+                       for (String paramValue : values)
+                       {
+                               String prefix = "forcedmetadata_"+k;
+%>
+                 <input type="hidden" name="<%=prefix+"_name"%>" 
value="<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(paramName)%>"/>
+                 <input type="hidden" name="<%=prefix+"_value"%>" 
value="<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(paramValue)%>"/>
+<%
+                               k++;
+                       }
+               }
+%>
+                 <input type="hidden" name="forcedmetadata_count" 
value="<%=k%>"/>
+<%
+       }
+       
        // Hop Filters tab
        if 
(tabName.equals(Messages.getString(pageContext.getRequest().getLocale(),"editjob.HopFilters")))
        {

Modified: manifoldcf/trunk/framework/crawler-ui/src/main/webapp/execute.jsp
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/execute.jsp?rev=1439301&r1=1439300&r2=1439301&view=diff
==============================================================================
--- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/execute.jsp (original)
+++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/execute.jsp Mon Jan 
28 08:40:59 2013
@@ -666,6 +666,36 @@
                                                job.addScheduleRecord(sr);
                                        }
 
+                                       // Handle forced metadata
+                                       x = 
variableContext.getParameter("forcedmetadata_count");
+                                       if (x != null)
+                                       {
+                                               job.clearForcedMetadata();
+                                               int count = Integer.parseInt(x);
+                                               for (int k = 0; k < count; k++)
+                                               {
+                                                       String prefix = 
"forcedmetadata_"+k;
+                                                       x = 
variableContext.getParameter(prefix+"_op");
+                                                       if (x != null && 
!x.equals("Delete"))
+                                                       {
+                                                               String 
paramName = variableContext.getParameter(prefix+"_name");
+                                                               String 
paramValue = variableContext.getParameter(prefix+"_value");
+                                                               if (paramValue 
== null)
+                                                                       
paramValue = "";
+                                                               
job.addForcedMetadataValue(paramName,paramValue);
+                                                       }
+                                               }
+                                               x = 
variableContext.getParameter("forcedmetadata_op");
+                                               if (x != null && 
x.equals("Add"))
+                                               {
+                                                       String paramName = 
variableContext.getParameter("forcedmetadata_name");
+                                                       String paramValue = 
variableContext.getParameter("forcedmetadata_value");
+                                                       if (paramValue == null)
+                                                               paramValue = "";
+                                                       
job.addForcedMetadataValue(paramName,paramValue);
+                                               }
+                                       }
+                                       
                                        x = 
variableContext.getParameter("priority");
                                        if (x != null)
                                                
job.setPriority(Integer.parseInt(x));

Modified: manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewjob.jsp
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewjob.jsp?rev=1439301&r1=1439300&r2=1439301&view=diff
==============================================================================
--- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewjob.jsp (original)
+++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewjob.jsp Mon Jan 
28 08:40:59 2013
@@ -505,7 +505,11 @@
                                j++;
                        }
                }
-               
+%>
+                       <tr>
+                               <td class="separator" colspan="4"><hr/></td>
+                       </tr>
+<%
                if (forcedMetadata.size() == 0)
                {
 %>

Modified: 
manifoldcf/trunk/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_en_US.properties
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_en_US.properties?rev=1439301&r1=1439300&r2=1439301&view=diff
==============================================================================
--- 
manifoldcf/trunk/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_en_US.properties
 (original)
+++ 
manifoldcf/trunk/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_en_US.properties
 Mon Jan 28 08:40:59 2013
@@ -305,6 +305,16 @@ editjob.RecrawlIntervalMustBeAValidInteg
 editjob.ReseedIntervalMustBeAValidIntegerOrNull=Reseed interval must be a 
valid integer or null
 editjob.ExpirationIntervalMustBeAValidIntegerOrNull=Expiration interval must 
be a valid integer or null
 editjob.RemoveScheduleRecord=Remove schedule record #
+editjob.ForcedMetadata=Forced Metadata
+editjob.ForcedMetadataColon=Forced metadata:
+editjob.ParameterName=Parameter name
+editjob.ParameterValue=Parameter value
+editjob.Deleteforcedmetadatanumber=Delete forced metadata #
+editjob.Delete=Delete
+editjob.NoForcedMetadataSpecified=No forced metadata specified
+editjob.Add=Add
+editjob.Addforcedmetadata=Add forced metadata
+editjob.ForcedMetadataNameMustNotBeNull=Forced metadata name must not be null
 
 showjobstatus.ApacheManifoldCFStatusOfAllJobs=Apache ManifoldCF: Status of all 
jobs
 showjobstatus.Name=Name

Modified: 
manifoldcf/trunk/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_ja_JP.properties
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_ja_JP.properties?rev=1439301&r1=1439300&r2=1439301&view=diff
==============================================================================
--- 
manifoldcf/trunk/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_ja_JP.properties
 (original)
+++ 
manifoldcf/trunk/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_ja_JP.properties
 Mon Jan 28 08:40:59 2013
@@ -305,6 +305,16 @@ editjob.RecrawlIntervalMustBeAValidInteg
 
editjob.ReseedIntervalMustBeAValidIntegerOrNull=再シード間隔には整数又はnullをå
…¥åŠ›ã—ã¦ãã ã•ã„
 
editjob.ExpirationIntervalMustBeAValidIntegerOrNull=失効期間には整数又はnullをå
…¥åŠ›ã—ã¦ãã ã•ã„
 editjob.RemoveScheduleRecord=スケジュールレコードを削除: #
+editjob.ForcedMetadata=Forced Metadata
+editjob.ForcedMetadataColon=Forced metadata:
+editjob.ParameterName=Parameter name
+editjob.ParameterValue=Parameter value
+editjob.Deleteforcedmetadatanumber=Delete forced metadata #
+editjob.Delete=Delete
+editjob.NoForcedMetadataSpecified=No forced metadata specified
+editjob.Add=Add
+editjob.Addforcedmetadata=Add forced metadata
+editjob.ForcedMetadataNameMustNotBeNull=Forced metadata name must not be null
 
 showjobstatus.ApacheManifoldCFStatusOfAllJobs=Apache 
ManifoldCF:すべてのジョブの状態
 showjobstatus.Name=名前


Reply via email to