Modified: manifoldcf/trunk/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/PipelineSpecificationBasic.java URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/PipelineSpecificationBasic.java?rev=1603199&r1=1603198&r2=1603199&view=diff ============================================================================== --- manifoldcf/trunk/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/PipelineSpecificationBasic.java (original) +++ manifoldcf/trunk/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/PipelineSpecificationBasic.java Tue Jun 17 15:17:34 2014 @@ -26,16 +26,39 @@ import org.apache.manifoldcf.crawler.int */ public class PipelineSpecificationBasic implements IPipelineSpecificationBasic { - protected final String[] transformationConnectionNames; - protected final String outputConnectionName; - + protected final IJobDescription job; + + // This is offset by 1, so the first element corresponds to -1 + protected final int[][] pipelineStageChildren; + + protected final int[] outputs; + public PipelineSpecificationBasic(IJobDescription job) { - transformationConnectionNames = new String[job.countPipelineStages()]; - outputConnectionName = job.getOutputConnectionName(); - for (int i = 0; i < transformationConnectionNames.length; i++) + this.job = job; + this.pipelineStageChildren = new int[job.countPipelineStages()+1][]; + int[] childrenCount = new int[pipelineStageChildren.length]; + int outputCount = 0; + for (int i = 0; i < job.countPipelineStages(); i++) + { + int prerequisite = job.getPipelineStagePrerequisite(i); + childrenCount[prerequisite+1] ++; + if (job.getPipelineStageIsOutputConnection(i)) + outputCount++; + } + for (int i = 0; i < pipelineStageChildren.length; i++) + { + pipelineStageChildren[i] = new int[childrenCount[i]]; + childrenCount[i] = 0; + } + outputs = new int[outputCount]; + outputCount = 0; + for (int i = 0; i < job.countPipelineStages(); i++) { - transformationConnectionNames[i] = job.getPipelineStageConnectionName(i); + int prerequisite = job.getPipelineStagePrerequisite(i); + (pipelineStageChildren[prerequisite+1])[childrenCount[prerequisite+1]++] = i; + if (job.getPipelineStageIsOutputConnection(i)) + outputs[outputCount++] = i; } } @@ -45,7 +68,7 @@ public class PipelineSpecificationBasic @Override public int getStageCount() { - return transformationConnectionNames.length + 1; + return job.countPipelineStages(); } /** Find children of a given pipeline stage. Pass -1 to find the children of the root stage. @@ -55,9 +78,7 @@ public class PipelineSpecificationBasic @Override public int[] getStageChildren(int stage) { - if (stage < transformationConnectionNames.length + 1) - return new int[]{stage + 1}; - return new int[0]; + return pipelineStageChildren[stage+1]; } /** Find parent of a given pipeline stage. Returns -1 if there's no parent (it's the root). @@ -66,7 +87,7 @@ public class PipelineSpecificationBasic */ public int getStageParent(int stage) { - return stage - 1; + return job.getPipelineStagePrerequisite(stage); } /** Get the connection name for a pipeline stage. @@ -76,9 +97,7 @@ public class PipelineSpecificationBasic @Override public String getStageConnectionName(int stage) { - if (stage < transformationConnectionNames.length) - return transformationConnectionNames[stage]; - return outputConnectionName; + return job.getPipelineStageConnectionName(stage); } /** Check if a stage is an output stage. @@ -88,7 +107,7 @@ public class PipelineSpecificationBasic @Override public boolean checkStageOutputConnection(int stage) { - return stage == transformationConnectionNames.length; + return job.getPipelineStageIsOutputConnection(stage); } /** Return the number of output connections. @@ -96,7 +115,7 @@ public class PipelineSpecificationBasic */ public int getOutputCount() { - return 1; + return outputs.length; } /** Given an output index, return the stage number for that output. @@ -105,7 +124,7 @@ public class PipelineSpecificationBasic */ public int getOutputStage(int index) { - return transformationConnectionNames.length; + return outputs[index]; } }
Modified: manifoldcf/trunk/framework/pull-agent/src/test/java/org/apache/manifoldcf/crawler/tests/SchedulerTester.java URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/pull-agent/src/test/java/org/apache/manifoldcf/crawler/tests/SchedulerTester.java?rev=1603199&r1=1603198&r2=1603199&view=diff ============================================================================== --- manifoldcf/trunk/framework/pull-agent/src/test/java/org/apache/manifoldcf/crawler/tests/SchedulerTester.java (original) +++ manifoldcf/trunk/framework/pull-agent/src/test/java/org/apache/manifoldcf/crawler/tests/SchedulerTester.java Tue Jun 17 15:17:34 2014 @@ -72,7 +72,8 @@ public class SchedulerTester IJobDescription job = jobManager.createJob(); job.setDescription("Test Job"); job.setConnectionName("SchedulerTest Connection"); - job.setOutputConnectionName("Null Connection"); + job.addPipelineStage(-1,true,"Null Connection",""); + //job.setOutputConnectionName("Null Connection"); job.setType(job.TYPE_SPECIFIED); job.setStartMethod(job.START_DISABLE); job.setHopcountMode(job.HOPCOUNT_ACCURATE); 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=1603199&r1=1603198&r2=1603199&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 Tue Jun 17 15:17:34 2014 @@ -403,14 +403,23 @@ editjob.EditJob=Edit job editjob.PipelineColon=Pipeline: editjob.StageNumber=Stage +editjob.StageType=Type +editjob.StagePrecedent=Precedent editjob.StageDescription=Description editjob.StageConnectionName=Connection name -editjob.RepositoryStage=(Repository) -editjob.OutputStage=(Output) -editjob.InsertBefore=Insert before +editjob.Repository=Repository +editjob.Output=Output +editjob.Transformation=Transformation +editjob.InsertTransformationBefore=Insert transformation before +editjob.InsertOutputBefore=Insert output before editjob.Insertnewstagehere=Insert new stage here -editjob.SelectAPipelineStageConnectionName=Select a pipeline stage connection name -editjob.Deletestage=Delete stage +editjob.SelectATransformationStageConnectionName=Select a transformation stage connection name +editjob.SelectAnOutputStageConnectionName=Select an output stage connection name +editjob.AddAnOutput=Add an output +editjob.AddOutput=Add output +editjob.Deletepipelinestage=Delete pipeline stage +editjob.Insertnewtransformationhere=Insert new transformation here +editjob.Insertnewoutputhere=Insert new output here editjob.NoRepositoryConnectionsDefinedCreateOneFirst=No repository connections defined - create one first editjob.NoOutputConnectionsDefinedCreateOneFirst=No output connections defined - create one first @@ -844,10 +853,13 @@ viewjob.ViewAJob=View a Job viewjob.PipelineColon=Pipeline: viewjob.StageNumber=Stage +viewjob.StageType=Type +viewjob.StagePrecedent=Precedent viewjob.StageDescription=Description viewjob.StageConnectionName=Connection name -viewjob.RepositoryStage=(Repository) -viewjob.OutputStage=(Output) +viewjob.Repository=Repository +viewjob.Output=Output +viewjob.Transformation=Transformation viewjob.ScheduleTypeColon=Schedule type: viewjob.MinimumRecrawlIntervalColon=Minimum recrawl interval: 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=1603199&r1=1603198&r2=1603199&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 Tue Jun 17 15:17:34 2014 @@ -429,14 +429,23 @@ editjob.EditJob=ã¸ã§ãã® editjob.PipelineColon=Pipeline: editjob.StageNumber=Stage +editjob.StageType=Type +editjob.StagePrecedent=Precedent editjob.StageDescription=Description editjob.StageConnectionName=Connection name -editjob.RepositoryStage=(Repository) -editjob.OutputStage=(Output) -editjob.InsertBefore=Insert before +editjob.Repository=Repository +editjob.Output=Output +editjob.Transformation=Transformation +editjob.InsertTransformationBefore=Insert transformation before +editjob.InsertOutputBefore=Insert output before editjob.Insertnewstagehere=Insert new stage here -editjob.SelectAPipelineStageConnectionName=Select a pipeline stage connection name -editjob.Deletestage=Delete stage +editjob.SelectATransformationStageConnectionName=Select a transformation stage connection name +editjob.SelectAnOutputStageConnectionName=Select an output stage connection name +editjob.AddAnOutput=Add an output +editjob.AddOutput=Add output +editjob.Deletepipelinestage=Delete pipeline stage +editjob.Insertnewtransformationhere=Insert new transformation here +editjob.Insertnewoutputhere=Insert new output here editjob.NoRepositoryConnectionsDefinedCreateOneFirst=ãªãã¸ããªã³ãã¯ã·ã§ã³ãæªæå®ã§ã - 使ãã¦ãã ãã editjob.NoOutputConnectionsDefinedCreateOneFirst=åºåã³ãã¯ã·ã§ã³ãæªæå®ã§ã - 使ãã¦ãã ãã @@ -871,10 +880,13 @@ viewjob.ViewAJob=ã¸ã§ãæ� viewjob.PipelineColon=Pipeline: viewjob.StageNumber=Stage +viewjob.StageType=Type +viewjob.StagePrecedent=Precedent viewjob.StageDescription=Description viewjob.StageConnectionName=Connection name -viewjob.RepositoryStage=(Repository) -viewjob.OutputStage=(Output) +viewjob.Repository=Repository +viewjob.Output=Output +viewjob.Transformation=Transformation viewjob.ScheduleTypeColon=ã¹ã±ã¸ã¥ã¼ã«ã¿ã¤ãï¼ viewjob.MinimumRecrawlIntervalColon=æå°åèªè¾¼ã¿ééï¼ Modified: manifoldcf/trunk/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_zh_CN.properties URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_zh_CN.properties?rev=1603199&r1=1603198&r2=1603199&view=diff ============================================================================== --- manifoldcf/trunk/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_zh_CN.properties (original) +++ manifoldcf/trunk/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_zh_CN.properties Tue Jun 17 15:17:34 2014 @@ -429,14 +429,23 @@ editjob.EditJob=ç¼è¾ä½ä¸ editjob.PipelineColon=Pipeline: editjob.StageNumber=Stage +editjob.StageType=Type +editjob.StagePrecedent=Precedent editjob.StageDescription=Description editjob.StageConnectionName=Connection name -editjob.RepositoryStage=(Repository) -editjob.OutputStage=(Output) -editjob.InsertBefore=Insert before +editjob.Repository=Repository +editjob.Output=Output +editjob.Transformation=Transformation +editjob.InsertTransformationBefore=Insert transformation before +editjob.InsertOutputBefore=Insert output before editjob.Insertnewstagehere=Insert new stage here -editjob.SelectAPipelineStageConnectionName=Select a pipeline stage connection name -editjob.Deletestage=Delete stage +editjob.SelectATransformationStageConnectionName=Select a transformation stage connection name +editjob.SelectAnOutputStageConnectionName=Select an output stage connection name +editjob.AddAnOutput=Add an output +editjob.AddOutput=Add output +editjob.Deletepipelinestage=Delete pipeline stage +editjob.Insertnewtransformationhere=Insert new transformation here +editjob.Insertnewoutputhere=Insert new output here editjob.NoRepositoryConnectionsDefinedCreateOneFirst=åå¨åºè¿æ¥æªæå® - 请å建 editjob.NoOutputConnectionsDefinedCreateOneFirst=è¾åºè¿æ¥æªæå® - 请å建 @@ -871,10 +880,13 @@ viewjob.ViewAJob=ä½ä¸ä¿¡æ� viewjob.PipelineColon=Pipeline: viewjob.StageNumber=Stage +viewjob.StageType=Type +viewjob.StagePrecedent=Precedent viewjob.StageDescription=Description viewjob.StageConnectionName=Connection name -viewjob.RepositoryStage=(Repository) -viewjob.OutputStage=(Output) +viewjob.Repository=Repository +viewjob.Output=Output +viewjob.Transformation=Transformation viewjob.ScheduleTypeColon=è°åº¦ç±»å: viewjob.MinimumRecrawlIntervalColon=æå°éæ°ç¬åé´é:
