test_class.declarator: parser = (FeedEntityParser)
              EntityParserFactory.getParser(EntityType.FEED)
test_class.modifier: private final
test_class.original_string: private final FeedEntityParser parser = (FeedEntityParser)
              EntityParserFactory.getParser(EntityType.FEED);
test_class.type: FeedEntityParser
test_class.var_name: parser
test_class.declarator: processParser = (ProcessEntityParser)
              EntityParserFactory.getParser(EntityType.PROCESS)
test_class.modifier: private final
test_class.original_string: private final ProcessEntityParser processParser = (ProcessEntityParser)
              EntityParserFactory.getParser(EntityType.PROCESS);
test_class.type: ProcessEntityParser
test_class.var_name: processParser
test_class.file: common/src/test/java/org/apache/ivory/update/UpdateHelperTest.java
test_class.identifier: UpdateHelperTest
test_class.superclass: extends AbstractTestBase
test_case.body: @Test
  	public void testShouldUpdate2() throws Exception {
          Feed oldFeed = parser.parseAndValidate(this.getClass()
                  .getResourceAsStream(FEED_XML));
          String cluster = "testCluster";
          Feed newFeed = (Feed)oldFeed.clone();
          Assert.assertFalse(UpdateHelper.shouldUpdate(oldFeed, newFeed, cluster));
          
          newFeed.setGroups("newgroups");
          Assert.assertFalse(UpdateHelper.shouldUpdate(oldFeed, newFeed, cluster));
          newFeed.getLateArrival().setCutOff(Frequency.fromString("hours(8)"));
          Assert.assertFalse(UpdateHelper.shouldUpdate(oldFeed, newFeed, cluster));
          newFeed.setFrequency(Frequency.fromString("days(1)"));
          Assert.assertTrue(UpdateHelper.shouldUpdate(oldFeed, newFeed, cluster));
          
          Process oldProcess = processParser.parseAndValidate(this.getClass().
                  getResourceAsStream(PROCESS_XML));
          Process newProcess = (Process) oldProcess.clone();
          
          newProcess.getRetry().setPolicy(PolicyType.FINAL);
          Assert.assertFalse(UpdateHelper.shouldUpdate(oldProcess, newProcess, cluster));
          newProcess.getLateProcess().getLateInputs().remove(1);
          Assert.assertFalse(UpdateHelper.shouldUpdate(oldProcess, newProcess, cluster));
          newProcess.getLateProcess().setPolicy(PolicyType.PERIODIC);
          Assert.assertFalse(UpdateHelper.shouldUpdate(oldProcess, newProcess, cluster));
          newProcess.setFrequency(Frequency.fromString("days(1)"));
          Assert.assertTrue(UpdateHelper.shouldUpdate(oldProcess, newProcess, cluster));        
  	}
test_case.class_method_signature: UpdateHelperTest.testShouldUpdate2()
test_case.full_signature: @Test public void testShouldUpdate2()
test_case.identifier: testShouldUpdate2
test_case.invocations: parseAndValidate getResourceAsStream getClass clone assertFalse shouldUpdate setGroups assertFalse shouldUpdate setCutOff getLateArrival fromString assertFalse shouldUpdate setFrequency fromString assertTrue shouldUpdate parseAndValidate getResourceAsStream getClass clone setPolicy getRetry assertFalse shouldUpdate remove getLateInputs getLateProcess assertFalse shouldUpdate setPolicy getLateProcess assertFalse shouldUpdate setFrequency fromString assertTrue shouldUpdate
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testShouldUpdate2()
focal_class.declarator: LOG = Logger.getLogger(UpdateHelper.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOG = Logger.getLogger(UpdateHelper.class);
focal_class.type: Logger
focal_class.var_name: LOG
focal_class.declarator: FEED_FIELDS = new String[] { "partitions", "groups", "lateArrival.cutOff", "schema.location", "schema.provider",
          "ACL.group", "ACL.owner", "ACL.permission"}
focal_class.modifier: private static final
focal_class.original_string: private static final String[] FEED_FIELDS = new String[] { "partitions", "groups", "lateArrival.cutOff", "schema.location", "schema.provider",
          "ACL.group", "ACL.owner", "ACL.permission"};
focal_class.type: String[]
focal_class.var_name: FEED_FIELDS
focal_class.declarator: PROCESS_FIELDS = new String[] { "retry.policy", "retry.delay", "retry.attempts", 
          "lateProcess.policy", "lateProcess.delay", "lateProcess.lateInputs[\\d+].input", "lateProcess.lateInputs[\\d+].workflowPath"}
focal_class.modifier: private static final
focal_class.original_string: private static final String[] PROCESS_FIELDS = new String[] { "retry.policy", "retry.delay", "retry.attempts", 
          "lateProcess.policy", "lateProcess.delay", "lateProcess.lateInputs[\\d+].input", "lateProcess.lateInputs[\\d+].workflowPath"};
focal_class.type: String[]
focal_class.var_name: PROCESS_FIELDS
focal_class.file: common/src/main/java/org/apache/ivory/update/UpdateHelper.java
focal_class.identifier: UpdateHelper
focal_class.class_method_signature: UpdateHelper.shouldUpdate(Entity oldEntity, Entity newEntity, String cluster)
focal_class.full_signature: public static boolean shouldUpdate(Entity oldEntity, Entity newEntity, String cluster)
focal_class.identifier: shouldUpdate
focal_class.modifiers: public static
focal_class.parameters: (Entity oldEntity, Entity newEntity, String cluster)
focal_class.return: boolean
focal_class.signature: boolean shouldUpdate(Entity oldEntity, Entity newEntity, String cluster)
focal_class.class_method_signature: UpdateHelper.shouldUpdate(Entity oldEntity, Entity newEntity, Entity affectedEntity)
focal_class.full_signature: public static boolean shouldUpdate(Entity oldEntity, Entity newEntity, Entity affectedEntity)
focal_class.identifier: shouldUpdate
focal_class.modifiers: public static
focal_class.parameters: (Entity oldEntity, Entity newEntity, Entity affectedEntity)
focal_class.return: boolean
focal_class.signature: boolean shouldUpdate(Entity oldEntity, Entity newEntity, Entity affectedEntity)
focal_class.class_method_signature: UpdateHelper.shouldUpdate(Feed oldFeed, Feed newFeed, Process affectedProcess)
focal_class.full_signature: public static boolean shouldUpdate(Feed oldFeed, Feed newFeed, Process affectedProcess)
focal_class.identifier: shouldUpdate
focal_class.modifiers: public static
focal_class.parameters: (Feed oldFeed, Feed newFeed, Process affectedProcess)
focal_class.return: boolean
focal_class.signature: boolean shouldUpdate(Feed oldFeed, Feed newFeed, Process affectedProcess)
focal_class.class_method_signature: UpdateHelper.getPartitions(Partitions partitions)
focal_class.full_signature: private static List<String> getPartitions(Partitions partitions)
focal_class.identifier: getPartitions
focal_class.modifiers: private static
focal_class.parameters: (Partitions partitions)
focal_class.return: List<String>
focal_class.signature: List<String> getPartitions(Partitions partitions)
focal_method.body: public static boolean shouldUpdate(Entity oldEntity, Entity newEntity, String cluster) throws IvoryException {
          Entity oldView = EntityUtil.getClusterView(oldEntity, cluster);
          Entity newView = EntityUtil.getClusterView(newEntity, cluster);
          switch(oldEntity.getEntityType()) {
              case FEED:
                  if(EntityUtil.equals(oldView, newView, FEED_FIELDS))
                      return false;
                  return true;
                  
              case PROCESS:
                  if(EntityUtil.equals(oldView, newView, PROCESS_FIELDS))
                      return false;
                  return true;
          }
          throw new IllegalArgumentException("Unhandled entity type " + oldEntity.getEntityType());
      }
focal_method.class_method_signature: UpdateHelper.shouldUpdate(Entity oldEntity, Entity newEntity, String cluster)
focal_method.full_signature: public static boolean shouldUpdate(Entity oldEntity, Entity newEntity, String cluster)
focal_method.identifier: shouldUpdate
focal_method.invocations: getClusterView getClusterView getEntityType equals equals getEntityType
focal_method.modifiers: public static
focal_method.parameters: (Entity oldEntity, Entity newEntity, String cluster)
focal_method.return: boolean
focal_method.signature: boolean shouldUpdate(Entity oldEntity, Entity newEntity, String cluster)