414
415 if (!ImageResourcesTree.isTreeInfoResource(name)) {
416 if (moduleAction != null) {
417 int offset = name.indexOf('/', 1);
418
419 String newModule = offset != -1 ?
420 name.substring(1, offset) :
421 "<unknown>";
422
423 if (!oldModule.equals(newModule)) {
424 moduleAction.apply(reader, oldModule, newModule);
425 oldModule = newModule;
426 }
427 }
428
429 ImageLocation location = reader.findLocation(name);
430 resourceAction.apply(reader, name, location);
431 }
432 }
433 }
434 }
435 }
436 }
437
438 private boolean run() throws Exception, BadArgs {
439 switch (options.task) {
440 case EXTRACT:
441 iterate(null, null, this::extract);
442 break;
443 case INFO:
444 iterate(this::info, null, null);
445 break;
446 case LIST:
447 iterate(this::listTitle, this::listModule, this::list);
448 break;
449 case VERIFY:
450 iterate(this::listTitle, null, this::verify);
451 break;
452 default:
453 throw TASK_HELPER.newBadArgs("err.not.a.task",
|
414
415 if (!ImageResourcesTree.isTreeInfoResource(name)) {
416 if (moduleAction != null) {
417 int offset = name.indexOf('/', 1);
418
419 String newModule = offset != -1 ?
420 name.substring(1, offset) :
421 "<unknown>";
422
423 if (!oldModule.equals(newModule)) {
424 moduleAction.apply(reader, oldModule, newModule);
425 oldModule = newModule;
426 }
427 }
428
429 ImageLocation location = reader.findLocation(name);
430 resourceAction.apply(reader, name, location);
431 }
432 }
433 }
434 } catch (IOException ioe) {
435 throw TASK_HELPER.newBadArgs("err.invalid.jimage", file.getName(), ioe.getMessage());
436 }
437 }
438 }
439
440 private boolean run() throws Exception, BadArgs {
441 switch (options.task) {
442 case EXTRACT:
443 iterate(null, null, this::extract);
444 break;
445 case INFO:
446 iterate(this::info, null, null);
447 break;
448 case LIST:
449 iterate(this::listTitle, this::listModule, this::list);
450 break;
451 case VERIFY:
452 iterate(this::listTitle, null, this::verify);
453 break;
454 default:
455 throw TASK_HELPER.newBadArgs("err.not.a.task",
|