workflow.idgen.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /**
  2. * ID Generator
  3. * Generate a new ID starting from 1.
  4. * - Accepts a prefix that will be prepended like so: <prefix>:<id number>
  5. */
  6. var IdGeneratorModule = function($) {
  7. return function(options) {
  8. var self = this;
  9. $.extend(self, options);
  10. self.counter = 1;
  11. self.nextId = function() {
  12. return ((self.prefix) ? self.prefix + ':' : '') + self.counter++;
  13. };
  14. };
  15. };
  16. var IdGenerator = IdGeneratorModule($);
  17. var IdGeneratorTable = {
  18. mapreduce: new IdGenerator({prefix: 'mapreduce'}),
  19. streaming: new IdGenerator({prefix: 'streaming'}),
  20. java: new IdGenerator({prefix: 'java'}),
  21. pig: new IdGenerator({prefix: 'pig'}),
  22. hive: new IdGenerator({prefix: 'hive'}),
  23. sqoop: new IdGenerator({prefix: 'sqoop'}),
  24. shell: new IdGenerator({prefix: 'shell'}),
  25. ssh: new IdGenerator({prefix: 'ssh'}),
  26. distcp: new IdGenerator({prefix: 'distcp'}),
  27. fs: new IdGenerator({prefix: 'fs'}),
  28. email: new IdGenerator({prefix: 'email'}),
  29. subworkflow: new IdGenerator({prefix: 'subworkflow'}),
  30. generic: new IdGenerator({prefix: 'generic'}),
  31. fork: new IdGenerator({prefix: 'fork'}),
  32. decision: new IdGenerator({prefix: 'decision'}),
  33. join: new IdGenerator({prefix: 'join'}),
  34. decisionend: new IdGenerator({prefix: 'decisionend'}),
  35. kill: new IdGenerator({prefix: 'kill'})
  36. };