public void testClone() { Option opt1 = new Option(); opt1.addDependentGroup("abc"); //$NON-NLS-1$ opt1.addNotDependentGroup("xyz"); //$NON-NLS-1$ opt1.addNoCacheGroup("abc"); //$NON-NLS-1$ Option opt2 = (Option) opt1.clone(); UnitTestUtil.helpTestEquivalence(0, opt1, opt2); }
option = savedOption; } else if (savedOption != null && savedOption.isNoCache() && savedOption != option) { //merge no cache settings if (savedOption.getNoCacheGroups() == null || savedOption.getNoCacheGroups().isEmpty()) { if (option.getNoCacheGroups() != null) { option.getNoCacheGroups().clear(); // full no cache } else if (option.getNoCacheGroups() != null && !option.getNoCacheGroups().isEmpty()) { for (String noCache : savedOption.getNoCacheGroups()) { option.addNoCacheGroup(noCache); // only groups option.setNoCache(true); if(cmd.getOption().getMakeDepOptions() != null) { distributeDependentHints(cmd.getOption().getDependentGroups(), result, NodeConstants.Info.MAKE_DEP, cmd.getOption().getMakeDepOptions()); if (cmd.getOption().getNotDependentGroups() != null) { distributeDependentHints(cmd.getOption().getNotDependentGroups(), result, NodeConstants.Info.MAKE_NOT_DEP, Collections.nCopies(cmd.getOption().getNotDependentGroups().size(), Boolean.TRUE));
static Option mergeOptions(Option parent, Option child) { if (child == null) { return parent; } if (parent != null && parent.isNoCache() && parent != child) { //merge no cache settings if (parent.getNoCacheGroups() == null || parent.getNoCacheGroups().isEmpty()) { if (child.getNoCacheGroups() != null) { child.getNoCacheGroups().clear(); // full no cache } } else if (child.getNoCacheGroups() != null && !child.getNoCacheGroups().isEmpty()) { for (String noCache : parent.getNoCacheGroups()) { child.addNoCacheGroup(noCache); // only groups } } child.setNoCache(true); } return child; }
/** * Return deep copy of this option object * @return Deep copy of the object */ public Object clone() { Option newOption = new Option(); newOption.setNoCache(noCache); if(this.makeDependentGroups != null) { newOption.makeDependentGroups = new ArrayList<String>(this.makeDependentGroups); newOption.makeDependentOptions = new ArrayList<MakeDep>(this.makeDependentOptions); } if(this.makeIndependentGroups != null) { newOption.makeIndependentGroups = new ArrayList<String>(this.makeIndependentGroups); newOption.makeIndependentOptions = new ArrayList<MakeDep>(this.makeIndependentOptions); } if(getNotDependentGroups() != null) { newOption.makeNotDependentGroups = new ArrayList<String>(getNotDependentGroups()); } if(getNoCacheGroups() != null) { newOption.noCacheGroups = new ArrayList<String>(getNoCacheGroups()); } return newOption; } }
/** * Get hash code for Option. * @return Hash code */ public int hashCode() { int hc = 0; if(this.makeDependentGroups != null) { hc = HashCodeUtil.hashCode(hc, this.makeDependentGroups); } if(getNotDependentGroups() != null) { hc = HashCodeUtil.hashCode(hc, getNotDependentGroups()); } if(getNoCacheGroups() != null) { hc = HashCodeUtil.hashCode(hc, getNoCacheGroups()); } return hc; }
final public Option option(ParseInfo info) throws ParseException { String id = null; Token nocache = null; Option option = new Option(); Option.MakeDep makedep = null; jj_consume_token(OPTION); id = id(null); makedep = makedepOptions(); option.addDependentGroup(id, makedep); label_29: while (true) { id = id(null); makedep = makedepOptions(); option.addDependentGroup(id, makedep); id = id(null); makedep = makedepOptions(); option.addIndependentGroup(id, makedep); label_30: while (true) { id = id(null); makedep = makedepOptions(); option.addIndependentGroup(id, makedep); jj_consume_token(MAKENOTDEP); id = id(null); option.addNotDependentGroup(id);
@Test public void testOptionNoCache2(){ GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$ From from = new From(); from.addGroup(g); Select select = new Select(); ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$ select.addSymbol(a); Option option = new Option(); option.setNoCache(true); option.addNoCacheGroup("a.b.c"); //$NON-NLS-1$ option.addNoCacheGroup("d.e.f"); //$NON-NLS-1$ Query query = new Query(); query.setSelect(select); query.setFrom(from); query.setOption(option); TestParser.helpTest("Select a From db.g Option nocache a.b.c, d.e.f", //$NON-NLS-1$ "SELECT a FROM db.g OPTION NOCACHE a.b.c, d.e.f", //$NON-NLS-1$ query); }
append(OPTION); Collection<String> groups = obj.getDependentGroups(); if (groups != null && groups.size() > 0) { append(" "); //$NON-NLS-1$ Iterator<MakeDep> iter1 = obj.getMakeDepOptions().iterator(); groups = obj.getNotDependentGroups(); if (groups != null && groups.size() > 0) { append(" "); //$NON-NLS-1$ groups = obj.getNoCacheGroups(); if (groups != null && groups.size() > 0) { append(" "); //$NON-NLS-1$ } else if (obj.isNoCache()) { append(" "); //$NON-NLS-1$ append(NOCACHE);
public void testGetNotDependentGroups() { Option o = new Option(); o.addDependentGroup("a"); //$NON-NLS-1$ o.addNotDependentGroup("b"); //$NON-NLS-1$ o.addNotDependentGroup("c"); //$NON-NLS-1$ assertEquals(Arrays.asList(new Object[] {"b", "c"}), o.getNotDependentGroups()); //$NON-NLS-1$ //$NON-NLS-2$ } }
@Test public void testOption5() { Option option = new Option(); option.addDependentGroup("abc"); //$NON-NLS-1$ option.addDependentGroup("def"); //$NON-NLS-1$ option.addDependentGroup("xyz"); //$NON-NLS-1$ helpTest(option, "OPTION MAKEDEP abc, def, xyz"); //$NON-NLS-1$ }
@Test public void testOption9() { Option option = new Option(); option.setNoCache(true); helpTest(option, "OPTION NOCACHE"); //$NON-NLS-1$ }
public void testOptionEquals5() { Option opt1 = new Option(); opt1.addDependentGroup("abc"); //$NON-NLS-1$ opt1.addNotDependentGroup("xyz"); //$NON-NLS-1$ Option opt2 = new Option(); opt2.addDependentGroup("abc"); //$NON-NLS-1$ opt2.addNotDependentGroup("xyz"); //$NON-NLS-1$ assertTrue("Options should be equal", opt1.equals(opt2)); //$NON-NLS-1$ assertTrue("Options should be equal", opt2.equals(opt1)); //$NON-NLS-1$ }
public void testObjectEquivalence3() { Option opt1 = new Option(); opt1.addDependentGroup("abc"); //$NON-NLS-1$ opt1.addNotDependentGroup("xyz"); //$NON-NLS-1$ UnitTestUtil.helpTestEquivalence(0, opt1, opt1); }
public void testDefect15870() { Option opt1 = new Option(); opt1.setNoCache(true); Option opt2 = (Option) opt1.clone(); UnitTestUtil.helpTestEquivalence(0, opt1, opt2); }
public void testObjectEquivalence2() { Option opt1 = new Option(); opt1.addNotDependentGroup("abc"); //$NON-NLS-1$ UnitTestUtil.helpTestEquivalence(0, opt1, opt1); }
public void testOptionEqualsFail5() { Option opt1 = new Option(); opt1.addNoCacheGroup("abc"); //$NON-NLS-1$ Option opt2 = new Option(); opt1.addNoCacheGroup("abc.def"); //$NON-NLS-1$ assertTrue("Options should not be equal", ! opt1.equals(opt2)); //$NON-NLS-1$ assertTrue("Options should not be equal", ! opt2.equals(opt1)); //$NON-NLS-1$ }
public void testOptionEquals4() { Option opt1 = new Option(); opt1.addNotDependentGroup("abc"); //$NON-NLS-1$ Option opt2 = new Option(); opt2.addNotDependentGroup("abc"); //$NON-NLS-1$ assertTrue("Options should be equal", opt1.equals(opt2)); //$NON-NLS-1$ assertTrue("Options should be equal", opt2.equals(opt1)); //$NON-NLS-1$ }
public void testOptionEquals2() { Option opt1 = new Option(); opt1.addDependentGroup("abc"); //$NON-NLS-1$ Option opt2 = new Option(); opt2.addDependentGroup("abc"); //$NON-NLS-1$ assertTrue("Options should be equal", opt1.equals(opt2)); //$NON-NLS-1$ assertTrue("Options should be equal", opt2.equals(opt1)); //$NON-NLS-1$ }
if(cmd.getOption().getMakeDepOptions() != null) { distributeDependentHints(cmd.getOption().getDependentGroups(), result, NodeConstants.Info.MAKE_DEP, cmd.getOption().getMakeDepOptions()); if (cmd.getOption().getNotDependentGroups() != null) { distributeDependentHints(cmd.getOption().getNotDependentGroups(), result, NodeConstants.Info.MAKE_NOT_DEP, Collections.nCopies(cmd.getOption().getNotDependentGroups().size(), Boolean.TRUE));
public void visit(Option obj) { List<String> dep = obj.getDependentGroups(); List<String> notDep = obj.getNotDependentGroups(); if (dep != null && !dep.isEmpty() && notDep != null && !notDep.isEmpty()) { String groupName = null; String notDepGroup = null; for (Iterator<String> i = dep.iterator(); i.hasNext();) { groupName = i.next(); for (Iterator<String> j = notDep.iterator(); j.hasNext();) { notDepGroup = j.next(); if (notDepGroup.equalsIgnoreCase(groupName)) { handleValidationError(QueryPlugin.Util.getString("ValidationVisitor.group_in_both_dep", groupName), obj); //$NON-NLS-1$ return; } } } } }