private static <T extends AbstractJaxb> void execute(T target, Pattern pattern) { TagEnum tagEnum = TagEnum.valueOf(target.getClass().getSimpleName().toUpperCase()); switch (tagEnum) { case A: A a = (A) target; if (idMatch(a.getId(), pattern)) { a.setId(null); } unsetAllIdWithinObjectList(a.getContent(), pattern); break; case ABBR: Abbr abbr = (Abbr) target; if (idMatch(abbr.getId(), pattern)) { abbr.setId(null); } unsetAllIdWithinObjectList(abbr.getContent(), pattern); break; case ACRONYM: Acronym acronym = (Acronym) target; if (idMatch(acronym.getId(), pattern)) { acronym.setId(null); } unsetAllIdWithinObjectList(acronym.getContent(), pattern); break; case ADDRESS: Address address = (Address) target; if (idMatch(address.getId(), pattern)) { address.setId(null); } unsetAllIdWithinObjectList(address.getContent(), pattern); break; case APPLET: Applet applet = (Applet) target; if (idMatch(applet.getId(), pattern)) { applet.setId(null); } unsetAllIdWithinObjectList(applet.getContent(), pattern); break; case AREA: Area area = (Area) target; if (idMatch(area.getId(), pattern)) { area.setId(null); } // area is empty element. break; case B: B b = (B) target; if (idMatch(b.getId(), pattern)) { b.setId(null); } unsetAllIdWithinObjectList(b.getContent(), pattern); break; case BASE: Base base = (Base) target; if (idMatch(base.getId(), pattern)) { base.setId(null); } // empty element. break; case BASEFONT: Basefont basefont = (Basefont) target; if (idMatch(basefont.getId(), pattern)) { basefont.setId(null); } // empty element. break; case BDO: Bdo bdo = (Bdo) target; if (idMatch(bdo.getId(), pattern)) { bdo.setId(null); } unsetAllIdWithinObjectList(bdo.getContent(), pattern); break; case BIG: Big big = (Big) target; if (idMatch(big.getId(), pattern)) { big.setId(null); } unsetAllIdWithinObjectList(big.getContent(), pattern); break; case BLOCKQUOTE: Blockquote blockquote = (Blockquote) target; if (idMatch(blockquote.getId(), pattern)) { blockquote.setId(null); } unsetAllIdWithinObjectList(blockquote.getContent(), pattern); break; case BODY: Body body = (Body) target; if (idMatch(body.getId(), pattern)) { body.setId(null); } unsetAllIdWithinObjectList(body.getContent(), pattern); break; case BR: Br br = (Br) target; if (idMatch(br.getId(), pattern)) { br.setId(null); } // empty element. break; case BUTTON: Button button = (Button) target; if (idMatch(button.getId(), pattern)) { button.setId(null); } unsetAllIdWithinObjectList(button.getContent(), pattern); break; case CAPTION: Caption caption = (Caption) target; if (idMatch(caption.getId(), pattern)) { caption.setId(null); } unsetAllIdWithinObjectList(caption.getContent(), pattern); break; case CENTER: Center center = (Center) target; if (idMatch(center.getId(), pattern)) { center.setId(null); } unsetAllIdWithinObjectList(center.getContent(), pattern); break; case CITE: Cite cite = (Cite) target; if (idMatch(cite.getId(), pattern)) { cite.setId(null); } unsetAllIdWithinObjectList(cite.getContent(), pattern); break; case CODE: Code code = (Code) target; if (idMatch(code.getId(), pattern)) { code.setId(null); } unsetAllIdWithinObjectList(code.getContent(), pattern); break; case COL: Col col = (Col) target; if (idMatch(col.getId(), pattern)) { col.setId(null); } // empty element. break; case COLGROUP: Colgroup colgroup = (Colgroup) target; if (idMatch(colgroup.getId(), pattern)) { colgroup.setId(null); } for (Col tmpcol : colgroup.getCol()) { execute(tmpcol, pattern); } break; case DD: Dd dd = (Dd) target; if (idMatch(dd.getId(), pattern)) { dd.setId(null); } unsetAllIdWithinObjectList(dd.getContent(), pattern); break; case DEL: Del del = (Del) target; if (idMatch(del.getId(), pattern)) { del.setId(null); } unsetAllIdWithinObjectList(del.getContent(), pattern); break; case DFN: Dfn dfn = (Dfn) target; if (idMatch(dfn.getId(), pattern)) { dfn.setId(null); } unsetAllIdWithinObjectList(dfn.getContent(), pattern); break; case DIR: Dir dir = (Dir) target; if (idMatch(dir.getId(), pattern)) { dir.setId(null); } for (Li tmpli : dir.getLi()) { execute(tmpli, pattern); } break; case DIV: Div div = (Div) target; if (idMatch(div.getId(), pattern)) { div.setId(null); } unsetAllIdWithinObjectList(div.getContent(), pattern); break; case DL: Dl dl = (Dl) target; if (idMatch(dl.getId(), pattern)) { dl.setId(null); } for (AbstractJaxb aj : dl.getDtOrDd()) { execute(aj, pattern); } break; case DT: Dt dt = (Dt) target; if (idMatch(dt.getId(), pattern)) { dt.setId(null); } unsetAllIdWithinObjectList(dt.getContent(), pattern); break; case EM: Em em = (Em) target; if (idMatch(em.getId(), pattern)) { em.setId(null); } unsetAllIdWithinObjectList(em.getContent(), pattern); break; case FIELDSET: Fieldset fieldset = (Fieldset) target; if (idMatch(fieldset.getId(), pattern)) { fieldset.setId(null); } unsetAllIdWithinObjectList(fieldset.getContent(), pattern); break; case FONT: Font font = (Font) target; if (idMatch(font.getId(), pattern)) { font.setId(null); } unsetAllIdWithinObjectList(font.getContent(), pattern); break; case FORM: Form form = (Form) target; if (idMatch(form.getId(), pattern)) { form.setId(null); } unsetAllIdWithinObjectList(form.getContent(), pattern); break; case H1: H1 h1 = (H1) target; if (idMatch(h1.getId(), pattern)) { h1.setId(null); } unsetAllIdWithinObjectList(h1.getContent(), pattern); break; case H2: H2 h2 = (H2) target; if (idMatch(h2.getId(), pattern)) { h2.setId(null); } unsetAllIdWithinObjectList(h2.getContent(), pattern); break; case H3: H3 h3 = (H3) target; if (idMatch(h3.getId(), pattern)) { h3.setId(null); } unsetAllIdWithinObjectList(h3.getContent(), pattern); break; case H4: H4 h4 = (H4) target; if (idMatch(h4.getId(), pattern)) { h4.setId(null); } unsetAllIdWithinObjectList(h4.getContent(), pattern); break; case H5: H5 h5 = (H5) target; if (idMatch(h5.getId(), pattern)) { h5.setId(null); } unsetAllIdWithinObjectList(h5.getContent(), pattern); break; case H6: H6 h6 = (H6) target; if (idMatch(h6.getId(), pattern)) { h6.setId(null); } unsetAllIdWithinObjectList(h6.getContent(), pattern); break; case HGROUP: Hgroup hgroup = (Hgroup) target; if (idMatch(hgroup.getId(), pattern)) { hgroup.setId(null); } for (AbstractJaxb aj : hgroup.getH1OrH2OrH3()) { execute(aj, pattern); } break; case HEAD: Head head = (Head) target; if (idMatch(head.getId(), pattern)) { head.setId(null); } for (AbstractJaxb aj : head.getContent()) { execute(aj, pattern); } break; case HR: Hr hr = (Hr) target; if (idMatch(hr.getId(), pattern)) { hr.setId(null); } // hr is empty element. break; case HTML: Html html = (Html) target; if (idMatch(html.getId(), pattern)) { html.setId(null); } execute(html.getHead(), pattern); execute(html.getBody(), pattern); break; case I: I i = (I) target; if (idMatch(i.getId(), pattern)) { i.setId(null); } unsetAllIdWithinObjectList(i.getContent(), pattern); break; case IFRAME: Iframe iframe = (Iframe) target; if (idMatch(iframe.getId(), pattern)) { iframe.setId(null); } unsetAllIdWithinObjectList(iframe.getContent(), pattern); break; case IMG: Img img = (Img) target; if (idMatch(img.getId(), pattern)) { img.setId(null); } // img is empty element. break; case INPUT: Input input = (Input) target; if (idMatch(input.getId(), pattern)) { input.setId(null); } // input is empty element. break; case INS: Ins ins = (Ins) target; if (idMatch(ins.getId(), pattern)) { ins.setId(null); } unsetAllIdWithinObjectList(ins.getContent(), pattern); break; case ISINDEX: Isindex isindex = (Isindex) target; if (idMatch(isindex.getId(), pattern)) { isindex.setId(null); } // empty element. break; case KBD: Kbd kbd = (Kbd) target; if (idMatch(kbd.getId(), pattern)) { kbd.setId(null); } unsetAllIdWithinObjectList(kbd.getContent(), pattern); break; case LABEL: Label label = (Label) target; if (idMatch(label.getId(), pattern)) { label.setId(null); } unsetAllIdWithinObjectList(label.getContent(), pattern); break; case LEGEND: Legend legend = (Legend) target; if (idMatch(legend.getId(), pattern)) { legend.setId(null); } unsetAllIdWithinObjectList(legend.getContent(), pattern); break; case LI: Li li = (Li) target; if (idMatch(li.getId(), pattern)) { li.setId(null); } unsetAllIdWithinObjectList(li.getContent(), pattern); break; case LINK: Link link = (Link) target; if (idMatch(link.getId(), pattern)) { link.setId(null); } // empty element. break; case MAIN: Main main = (Main) target; if (idMatch(main.getId(), pattern)) { main.setId(null); } unsetAllIdWithinObjectList(main.getContent(), pattern); break; case MAP: Map map = (Map) target; if (idMatch(map.getId(), pattern)) { map.setId(null); } for (Area tmpArea : map.getArea()) { execute(tmpArea, pattern); } break; case MENU: Menu menu = (Menu) target; if (idMatch(menu.getId(), pattern)) { menu.setId(null); } unsetAllIdWithinObjectList(menu.getContent(), pattern); break; case META: Meta meta = (Meta) target; if (idMatch(meta.getId(), pattern)) { meta.setId(null); } // empty element. break; case NOFRAMES: Noframes noframes = (Noframes) target; if (idMatch(noframes.getId(), pattern)) { noframes.setId(null); } unsetAllIdWithinObjectList(noframes.getContent(), pattern); break; case NOSCRIPT: Noscript noscript = (Noscript) target; if (idMatch(noscript.getId(), pattern)) { noscript.setId(null); } unsetAllIdWithinObjectList(noscript.getContent(), pattern); break; case OBJECT: org.mixer2.jaxb.xhtml.Object object = (org.mixer2.jaxb.xhtml.Object) target; if (idMatch(object.getId(), pattern)) { object.setId(null); } unsetAllIdWithinObjectList(object.getContent(), pattern); break; case OL: Ol ol = (Ol) target; if (idMatch(ol.getId(), pattern)) { ol.setId(null); } for (Li tmpli : ol.getLi()) { execute(tmpli, pattern); } break; case OPTGROUP: Optgroup optgroup = (Optgroup) target; if (idMatch(optgroup.getId(), pattern)) { optgroup.setId(null); } for (Option tmpOption : optgroup.getOption()) { execute(tmpOption, pattern); } break; case OPTION: Option option = (Option) target; if (idMatch(option.getId(), pattern)) { option.setId(null); } // option tag includes no other element. break; case P: P p = (P) target; if (idMatch(p.getId(), pattern)) { p.setId(null); } unsetAllIdWithinObjectList(p.getContent(), pattern); break; case PARAM: Param param = (Param) target; if (idMatch(param.getId(), pattern)) { param.setId(null); } // empty element. break; case PRE: Pre pre = (Pre) target; if (idMatch(pre.getId(), pattern)) { pre.setId(null); } unsetAllIdWithinObjectList(pre.getContent(), pattern); break; case Q: Q q = (Q) target; if (idMatch(q.getId(), pattern)) { q.setId(null); } unsetAllIdWithinObjectList(q.getContent(), pattern); break; case S: S s = (S) target; if (idMatch(s.getId(), pattern)) { s.setId(null); } unsetAllIdWithinObjectList(s.getContent(), pattern); break; case SAMP: Samp samp = (Samp) target; if (idMatch(samp.getId(), pattern)) { samp.setId(null); } unsetAllIdWithinObjectList(samp.getContent(), pattern); break; case SCRIPT: Script script = (Script) target; if (idMatch(script.getId(), pattern)) { script.setId(null); } // script include no other element. break; case SELECT: Select select = (Select) target; if (idMatch(select.getId(), pattern)) { select.setId(null); } for (AbstractJaxb aj : select.getOptgroupOrOption()) { execute(aj, pattern); } break; case SMALL: Small small = (Small) target; if (idMatch(small.getId(), pattern)) { small.setId(null); } unsetAllIdWithinObjectList(small.getContent(), pattern); break; case SPAN: Span span = (Span) target; if (idMatch(span.getId(), pattern)) { span.setId(null); } unsetAllIdWithinObjectList(span.getContent(), pattern); break; case STRIKE: Strike strike = (Strike) target; if (idMatch(strike.getId(), pattern)) { strike.setId(null); } unsetAllIdWithinObjectList(strike.getContent(), pattern); break; case STRONG: Strong strong = (Strong) target; if (idMatch(strong.getId(), pattern)) { strong.setId(null); } unsetAllIdWithinObjectList(strong.getContent(), pattern); break; case STYLE: Style style = (Style) target; if (idMatch(style.getId(), pattern)) { style.setId(null); } // has no other element. break; case SUB: Sub sub = (Sub) target; if (idMatch(sub.getId(), pattern)) { sub.setId(null); } unsetAllIdWithinObjectList(sub.getContent(), pattern); break; case SUP: Sup sup = (Sup) target; if (idMatch(sup.getId(), pattern)) { sup.setId(null); } unsetAllIdWithinObjectList(sup.getContent(), pattern); break; case TABLE: Table table = (Table) target; if (idMatch(table.getId(), pattern)) { table.setId(null); } if (table.isSetCaption()) { execute(table.getCaption(), pattern); } for (Col tmpCol : table.getCol()) { execute(tmpCol, pattern); } for (Colgroup tmpColgroup : table.getColgroup()) { execute(tmpColgroup, pattern); } for (Tbody tmpTbody : table.getTbody()) { execute(tmpTbody, pattern); } if (table.isSetThead()) { execute(table.getThead(), pattern); } if (table.isSetTfoot()) { execute(table.getTfoot(), pattern); } for (Tr tmpTr : table.getTr()) { execute(tmpTr, pattern); } break; case TBODY: Tbody tbody = (Tbody) target; if (idMatch(tbody.getId(), pattern)) { tbody.setId(null); } for (Tr tmpTr : tbody.getTr()) { execute(tmpTr, pattern); } break; case TD: Td td = (Td) target; if (idMatch(td.getId(), pattern)) { td.setId(null); } unsetAllIdWithinObjectList(td.getContent(), pattern); break; case TEXTAREA: Textarea textarea = (Textarea) target; if (idMatch(textarea.getId(), pattern)) { textarea.setId(null); } // textarea has no other element. break; case TFOOT: Tfoot tfoot = (Tfoot) target; if (idMatch(tfoot.getId(), pattern)) { tfoot.setId(null); } for (Tr tmpTr : tfoot.getTr()) { execute(tmpTr, pattern); } break; case TH: Th th = (Th) target; if (idMatch(th.getId(), pattern)) { th.setId(null); } unsetAllIdWithinObjectList(th.getContent(), pattern); break; case THEAD: Thead thead = (Thead) target; if (idMatch(thead.getId(), pattern)) { thead.setId(null); } for (Tr tmpTr : thead.getTr()) { execute(tmpTr, pattern); } break; case TITLE: Title title = (Title) target; if (idMatch(title.getId(), pattern)) { title.setId(null); } // has no other element. break; case TR: Tr tr = (Tr) target; if (idMatch(tr.getId(), pattern)) { tr.setId(null); } for (AbstractJaxb aj : tr.getThOrTd()) { execute(aj, pattern); } break; case TT: Tt tt = (Tt) target; if (idMatch(tt.getId(), pattern)) { tt.setId(null); } unsetAllIdWithinObjectList(tt.getContent(), pattern); break; case U: U u = (U) target; if (idMatch(u.getId(), pattern)) { u.setId(null); } unsetAllIdWithinObjectList(u.getContent(), pattern); break; case UL: Ul ul = (Ul) target; if (idMatch(ul.getId(), pattern)) { ul.setId(null); } for (Li tmpLi : ul.getLi()) { execute(tmpLi, pattern); } break; case VAR: Var var = (Var) target; if (idMatch(var.getId(), pattern)) { var.setId(null); } unsetAllIdWithinObjectList(var.getContent(), pattern); break; case ARTICLE: Article article = (Article) target; if (idMatch(article.getId(), pattern)) { article.setId(null); } unsetAllIdWithinObjectList(article.getContent(), pattern); break; case ASIDE: Aside aside = (Aside) target; if (idMatch(aside.getId(), pattern)) { aside.setId(null); } unsetAllIdWithinObjectList(aside.getContent(), pattern); break; case AUDIO: Audio audio = (Audio) target; if (idMatch(audio.getId(), pattern)) { audio.setId(null); } unsetAllIdWithinObjectList(audio.getContent(), pattern); break; case BDI: Bdi bdi = (Bdi) target; if (idMatch(bdi.getId(), pattern)) { bdi.setId(null); } unsetAllIdWithinObjectList(bdi.getContent(), pattern); break; case CANVAS: Canvas canvas = (Canvas) target; if (idMatch(canvas.getId(), pattern)) { canvas.setId(null); } unsetAllIdWithinObjectList(canvas.getContent(), pattern); break; case COMMAND: Command command = (Command) target; if (idMatch(command.getId(), pattern)) { command.setId(null); } // empty element break; case DATALIST: Datalist datalist = (Datalist) target; if (idMatch(datalist.getId(), pattern)) { datalist.setId(null); } unsetAllIdWithinObjectList(datalist.getContent(), pattern); break; case DETAILS: Details details = (Details) target; if (idMatch(details.getId(), pattern)) { details.setId(null); } unsetAllIdWithinObjectList(details.getContent(), pattern); break; case EMBED: Embed embed = (Embed) target; if (idMatch(embed.getId(), pattern)) { embed.setId(null); } // empty element break; case FIGCAPTION: Figcaption figcaption = (Figcaption) target; if (idMatch(figcaption.getId(), pattern)) { figcaption.setId(null); } unsetAllIdWithinObjectList(figcaption.getContent(), pattern); break; case FIGURE: Figure figure = (Figure) target; if (idMatch(figure.getId(), pattern)) { figure.setId(null); } unsetAllIdWithinObjectList(figure.getContent(), pattern); break; case FOOTER: Footer footer = (Footer) target; if (idMatch(footer.getId(), pattern)) { footer.setId(null); } unsetAllIdWithinObjectList(footer.getContent(), pattern); break; case HEADER: Header header = (Header) target; if (idMatch(header.getId(), pattern)) { header.setId(null); } unsetAllIdWithinObjectList(header.getContent(), pattern); break; case KEYGEN: Keygen keygen = (Keygen) target; if (idMatch(keygen.getId(), pattern)) { keygen.setId(null); } // empty element break; case MARK: Mark mark = (Mark) target; if (idMatch(mark.getId(), pattern)) { mark.setId(null); } unsetAllIdWithinObjectList(mark.getContent(), pattern); break; case METER: Meter meter = (Meter) target; if (idMatch(meter.getId(), pattern)) { meter.setId(null); } unsetAllIdWithinObjectList(meter.getContent(), pattern); break; case NAV: Nav nav = (Nav) target; if (idMatch(nav.getId(), pattern)) { nav.setId(null); } unsetAllIdWithinObjectList(nav.getContent(), pattern); break; case OUTPUT: Output output = (Output) target; if (idMatch(output.getId(), pattern)) { output.setId(null); } unsetAllIdWithinObjectList(output.getContent(), pattern); break; case PROGRESS: Progress progress = (Progress) target; if (idMatch(progress.getId(), pattern)) { progress.setId(null); } unsetAllIdWithinObjectList(progress.getContent(), pattern); break; case RP: Rp rp = (Rp) target; if (idMatch(rp.getId(), pattern)) { rp.setId(null); } unsetAllIdWithinObjectList(rp.getContent(), pattern); break; case RT: Rt rt = (Rt) target; if (idMatch(rt.getId(), pattern)) { rt.setId(null); } unsetAllIdWithinObjectList(rt.getContent(), pattern); break; case RUBY: Ruby ruby = (Ruby) target; if (idMatch(ruby.getId(), pattern)) { ruby.setId(null); } unsetAllIdWithinObjectList(ruby.getContent(), pattern); break; case SECTION: Section section = (Section) target; if (idMatch(section.getId(), pattern)) { section.setId(null); } unsetAllIdWithinObjectList(section.getContent(), pattern); break; case SOURCE: Source source = (Source) target; if (idMatch(source.getId(), pattern)) { source.setId(null); } break; case SUMMARY: Summary summary = (Summary) target; if (idMatch(summary.getId(), pattern)) { summary.setId(null); } unsetAllIdWithinObjectList(summary.getContent(), pattern); break; case TIME: Time time = (Time) target; if (idMatch(time.getId(), pattern)) { time.setId(null); } unsetAllIdWithinObjectList(time.getContent(), pattern); break; case TRACK: Track track = (Track) target; if (idMatch(track.getId(), pattern)) { track.setId(null); } // empty element break; case VIDEO: Video video = (Video) target; if (idMatch(video.getId(), pattern)) { video.setId(null); } unsetAllIdWithinObjectList(video.getContent(), pattern); break; case WBR: Wbr wbr = (Wbr) target; if (idMatch(wbr.getId(), pattern)) { wbr.setId(null); } // empty element break; } }
/** Tests the setArticleToOpenIssue function */ public void testLinkArticles() { Newsletter newsletter = new Newsletter("BFH Newsletter", "blablabla", 6); Issue issue = newsletter.compileIssueAndCreateNew(2007, new Date()); Article article1 = newsletter.addArticle("Article 1", "The newsletter project is really funny ;)"); Article article2 = newsletter.addArticle("Article 2", "The newsletter project is really funny ;)"); Article article3 = newsletter.addArticle("Article 3", "The newsletter project is really funny ;)"); newsletter.setArticleToOpenIssue(article1.getId()); newsletter.setArticleToOpenIssue(article2.getId()); Map unlinkedArticles = newsletter.getUnlinkedArticles(); Map issueArticles = issue.getArticles(); assertFalse(unlinkedArticles.containsValue(article1)); assertFalse(unlinkedArticles.containsValue(article2)); assertTrue(unlinkedArticles.containsValue(article3)); assertTrue(unlinkedArticles.size() == 1); assertTrue(issueArticles.containsValue(article1)); assertTrue(issueArticles.containsValue(article2)); assertFalse(issueArticles.containsValue(article3)); assertTrue(issueArticles.size() == 2); }
/** Tests the addArticle function */ public void testAddArticle() { Newsletter newsletter = new Newsletter("BFH Newsletter", "blablabla", 6); Article article = newsletter.addArticle("NewsletterArticle", "The newsletter project is really funny ;)"); assertTrue("NewsletterArticle".equals(newsletter.getArticle(article.getId()).getTitle())); }
/** Tests the getArticle function */ public void testGetArticle() { Newsletter newsletter = new Newsletter("BFH Newsletter", "blablabla", 6); Article article1 = newsletter.addArticle("Article 1", "The newsletter project is really funny ;)"); assertTrue(article1.equals(newsletter.getArticle(article1.getId()))); }
public ActionForward execute( ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse reponse) throws Exception { BeanEcrireCommentaire bean = (BeanEcrireCommentaire) actionForm; String contenu = bean.getContenu(); BeanCommentaire beanCommentaire = new BeanCommentaire(); beanCommentaire.setContenu(contenu); Abonne abonne = (Abonne) bdutil.getUtilisateur(((Integer) request.getSession().getAttribute("id")).intValue()); beanCommentaire.setIdRedacteur(abonne.getId()); Article article = bdart.getArticle(Integer.parseInt(request.getParameter("idArticle"))); beanCommentaire.setIdArticle(article.getId()); // beanCommentaire.setId(bdart.getIdLibre()); if (contenu.equals("")) return mapping.findForward("echec"); else { bdcom.addCommentaire(beanCommentaire.getCommentaire()); // bdart.addArticle(beanArticle.getArticle()); // beanCommentaire.setIdRedacteur(request.getSession(true)); // beanCommentaire.setIdArticle(((Article)request.getAttribute("article")).getId()); // bean.setId(BDArticles.getIdLibre()) /// bdart.addArticle(beanCommentaire.getCommentaire()); // /!\ omg!!! return mapping.findForward("succes"); } }
@Test public void testAdd() { Article article = new Article( null, "test.home", "测试", "一个测试", "article.state.recommand", "推荐", "visible.true", "可见", "0", DateUtils.getSystemTime(), "admin", "管理员"); assertEquals(1, Article.add(article)); article = Article.getAll(article, "0", "1", "id", "desc").getList().get(0); String id = article.getId(); assertNotNull(article); assertNotNull(id); article.setCid("test.home1"); assertEquals(1, Article.edit(article)); assertEquals("test.home1", Article.get(id).getCid()); assertEquals(1, Article.remove(id)); }
@Override public void write(ContentValues values) { values.put("type", type.value); values.put("author_id", author.getId()); values.put("article_id", article.getId()); values.put("updated_time", time); }
@Override public int hashCode() { int result = (int) getId(); result = 31 * result + getName().hashCode(); result = 31 * result + getSurname().hashCode(); result = 31 * result + (int) (mArticle == null ? 0 : mArticle.getId()); result = 31 * result + (getSource() != null ? getSource().hashCode() : 0); return result; }
/** test the getArticleText function */ public void testGetArticleText() { NewsletterCollection newsletterCollection = NewsletterCollection.getInstance(); String newsletter1 = newsletterCollection.add("Newsletter1", "blablabla", 6); Article article = newsletterCollection.getNewsletter(newsletter1).addArticle("Article1", "blablabla"); ArticleController controller = new ArticleController(); assertTrue("blablabla".equals(controller.getArticleText(newsletter1, article.getId()))); }
private static void processFile(String fileName, String outDir) throws Exception { // read file into a String String fileContent = readFileAsString(fileName); // extract different articles List<Article> articles = new LinkedList<Article>(); Matcher matcher = DOC_PATTERN.matcher(fileContent); while (matcher.find()) { int id = Integer.parseInt(matcher.group(1)); String text = stripAnchorTags(matcher.group(2)); articles.add(new Article(id, text)); } // for each article strip all anchor tags and write the article in // separate file for (Article article : articles) { String outFileName = outDir + "/" + article.getId(); new File(outDir).mkdirs(); writeStringToFile(article.getText(), outFileName); } }
@Override public void updateReward(User user, Article a, boolean clicked) { String aId = a.getId(); // Collect Variables RealMatrix xta = MatrixUtils.createColumnRealMatrix(a.getFeatures()); RealMatrix zta = makeZta(MatrixUtils.createColumnRealMatrix(user.getFeatures()), xta); RealMatrix Aa = AMap.get(aId); RealMatrix ba = bMap.get(aId); RealMatrix Ba = BMap.get(aId); // Find common transpose/inverse to save computation RealMatrix AaInverse = MatrixUtils.inverse(Aa); RealMatrix BaTranspose = Ba.transpose(); RealMatrix xtaTranspose = xta.transpose(); RealMatrix ztaTranspose = zta.transpose(); // Update A0 = A0.add(BaTranspose.multiply(AaInverse).multiply(Ba)); b0 = b0.add(BaTranspose.multiply(AaInverse).multiply(ba)); Aa = Aa.add(xta.multiply(xtaTranspose)); AMap.put(aId, Aa); Ba = Ba.add(xta.multiply(ztaTranspose)); BMap.put(aId, Ba); if (clicked) { ba = ba.add(xta); bMap.put(aId, ba); } // Update A0 and b0 with the new values A0 = A0.add(zta.multiply(ztaTranspose)) .subtract(Ba.transpose().multiply(MatrixUtils.inverse(Aa).multiply(Ba))); b0 = b0.subtract(Ba.transpose().multiply(MatrixUtils.inverse(Aa)).multiply(ba)); if (clicked) { b0 = b0.add(zta); } }
@Override public String toString() { return "PrimitiveAuthor{" + "mId=" + mId + ", mName='" + mName + '\'' + ", mSurname='" + mSurname + '\'' + ", mArticleId=" + (mArticle == null ? -1 : mArticle.getId()) + ", mSource='" + mSource + '\'' + ", mEncoding='" + mEncoding + '\'' + ", mInferenceId=" + mInferenceId + '}'; }
private void updateImageForArticle(Article article) throws SQLException { try { List<String> html = executeHttpGet(Constants.pathToArticleDescription + article.getId()); LinkedList<String> possibleLinks = new LinkedList<String>(); Pattern pattern = Pattern.compile("\"[^\"]*.jpg"); for (String line : html) { Matcher m = pattern.matcher(line); while (m.find()) { String possibleLink = m.group().substring(1, m.group().length()); possibleLinks.add(possibleLink); } } if (possibleLinks.size() > 0) article.setImageUrl(possibleLinks.get(0)); else article.setImageUrl(""); } catch (Exception e) { Log.i("UpdataDatabase", "Couldn't get Sites html"); e.printStackTrace(); article.setImageUrl(""); } article.createOrUpdate(); }
@Override public Article chooseArm(User user, List<Article> articles) { Article bestA = null; double bestArmP = Double.MIN_VALUE; RealMatrix Aa; RealMatrix Ba; RealMatrix ba; for (Article a : articles) { String aId = a.getId(); if (!AMap.containsKey(aId)) { Aa = MatrixUtils.createRealIdentityMatrix(6); AMap.put(aId, Aa); // set as identity for now and we will update // in reward double[] zeros = {0, 0, 0, 0, 0, 0}; ba = MatrixUtils.createColumnRealMatrix(zeros); bMap.put(aId, ba); double[][] BMapZeros = new double[6][36]; for (double[] row : BMapZeros) { Arrays.fill(row, 0.0); } Ba = MatrixUtils.createRealMatrix(BMapZeros); BMap.put(aId, Ba); } else { Aa = AMap.get(aId); ba = bMap.get(aId); Ba = BMap.get(aId); } // Make column vector out of features RealMatrix xta = MatrixUtils.createColumnRealMatrix(a.getFeatures()); RealMatrix zta = makeZta(MatrixUtils.createColumnRealMatrix(user.getFeatures()), xta); // Set up common variables RealMatrix A0Inverse = MatrixUtils.inverse(A0); RealMatrix AaInverse = MatrixUtils.inverse(Aa); RealMatrix ztaTranspose = zta.transpose(); RealMatrix BaTranspose = Ba.transpose(); RealMatrix xtaTranspose = xta.transpose(); // Find theta RealMatrix theta = AaInverse.multiply(ba.subtract(Ba.multiply(BetaHat))); // Find sta RealMatrix staMatrix = ztaTranspose.multiply(A0Inverse).multiply(zta); staMatrix = staMatrix.subtract( ztaTranspose .multiply(A0Inverse) .multiply(BaTranspose) .multiply(AaInverse) .multiply(xta) .scalarMultiply(2)); staMatrix = staMatrix.add(xtaTranspose.multiply(AaInverse).multiply(xta)); staMatrix = staMatrix.add( xtaTranspose .multiply(AaInverse) .multiply(Ba) .multiply(A0Inverse) .multiply(BaTranspose) .multiply(AaInverse) .multiply(xta)); // Find pta for arm RealMatrix ptaMatrix = ztaTranspose.multiply(BetaHat); ptaMatrix = ptaMatrix.add(xtaTranspose.multiply(theta)); double ptaVal = ptaMatrix.getData()[0][0]; double staVal = staMatrix.getData()[0][0]; ptaVal = ptaVal + alpha * Math.sqrt(staVal); // Update argmax if (ptaVal > bestArmP) { bestArmP = ptaVal; bestA = a; } } return bestA; }