MCPcopy Create free account
hub / github.com/annmuor/jnode / rewrite

Method rewrite

jnode-core/src/jnode/ftn/FtnTools.java:774–825  ·  view source on GitHub ↗

Перезапись сообщения @param rewrite @param message @return

(Rewrite rewrite, FtnMessage message)

Source from the content-addressed store, hash-verified

772 * @return
773 */
774 public static void rewrite(Rewrite rewrite, FtnMessage message) {
775 String[] fields = new String[] { rewrite.getNew_from_addr(),
776 rewrite.getNew_to_addr(), rewrite.getNew_from_name(),
777 rewrite.getNew_to_name(), rewrite.getNew_subject() };
778 for (int i = 0; i < 5; i++) {
779 if (fields[i] != null && !fields[i].equals("*")) {
780 switch (i) {
781 case 0:
782 FtnAddress nfa = new FtnAddress(fields[i]);
783 if (message.getMsgid() != null) {
784 Matcher msgid = Pattern.compile(
785 "^" + message.getFromAddr() + " (\\S+)$")
786 .matcher(message.getMsgid());
787 if (msgid.find()) {
788 String msg = msgid.replaceFirst(nfa + " $1");
789 message.setText(message.getText().replace(
790 message.getMsgid(), msg));
791 message.setMsgid(msg);
792
793 }
794 } // TODO : netmail msgid
795 Matcher origin = Pattern.compile(
796 "^ \\* Origin: (.*) \\(" + message.getFromAddr()
797 + "\\)$", Pattern.MULTILINE).matcher(
798 message.getText());
799 if (origin.find()) {
800 message.setText(origin.replaceFirst(" * Origin: $1 ("
801 + nfa + ")"));
802 }
803 message.setFromAddr(nfa);
804 logger.l5("Rewrite fromAddr to " + fields[i]);
805 break;
806 case 1:
807 message.setToAddr(new FtnAddress(fields[i]));
808 logger.l5("Rewrite toAddr to " + fields[i]);
809 break;
810 case 2:
811 message.setFromName(fields[i]);
812 logger.l5("Rewrite fromAddr to " + fields[i]);
813 break;
814 case 3:
815 message.setToName(fields[i]);
816 logger.l5("Rewrite fromAddr to " + fields[i]);
817 break;
818 case 4:
819 message.setSubject(fields[i]);
820 logger.l5("Rewrite fromAddr to " + fields[i]);
821 break;
822 }
823 }
824 }
825 }
826
827 /**
828 * Проверям сообщение на соответствие роботу

Callers 1

processRewriteMethod · 0.95

Calls 15

findMethod · 0.80
l5Method · 0.80
setTextMethod · 0.65
getTextMethod · 0.65
setFromNameMethod · 0.65
setToNameMethod · 0.65
setSubjectMethod · 0.65
getNew_from_addrMethod · 0.45
getNew_to_addrMethod · 0.45
getNew_from_nameMethod · 0.45
getNew_to_nameMethod · 0.45
getNew_subjectMethod · 0.45

Tested by

no test coverage detected