@Override public void setValue(Locator value) { Check.valueNotNull(this, value); wrapped.setLocator(topicMap.unwrapLocator(value)); }
@Override public VariantNameIF makeVariantName(TopicNameIF name, LocatorIF locator) { if (name == null) throw new NullPointerException(MSG_TOPIC_NAME_NOT_NULL); if (locator == null) throw new NullPointerException(MSG_VARIANT_LOCATOR_NOT_NULL); CrossTopicMapException.check(name, this.tm); VariantNameIF vname = new VariantName(txn); ((TopicName)name).addVariant(vname); vname.setLocator(locator); return vname; }
@Override public VariantNameIF makeVariantName(TopicNameIF name, LocatorIF locator) { if (name == null) throw new NullPointerException(MSG_TOPIC_NAME_NOT_NULL); if (locator == null) throw new NullPointerException(MSG_VARIANT_LOCATOR_NOT_NULL); CrossTopicMapException.check(name, this.tm); VariantNameIF vname = new VariantName(tm); ((TopicName)name).addVariant(vname); vname.setLocator(locator); return vname; }
@Override public VariantNameIF makeVariantName(TopicNameIF name, LocatorIF locator, Collection<TopicIF> scope) { if (name == null) throw new NullPointerException(MSG_TOPIC_NAME_NOT_NULL); if (locator == null) throw new NullPointerException(MSG_VARIANT_LOCATOR_NOT_NULL); CrossTopicMapException.check(name, this.tm); checkCollection(scope); VariantNameIF vname = new VariantName(tm); ((TopicName)name).addVariant(vname); vname.setLocator(locator); addScope(vname, scope); return vname; }
@Override public VariantNameIF makeVariantName(TopicNameIF name, LocatorIF locator, Collection scope) { if (name == null) throw new NullPointerException(MSG_TOPIC_NAME_NOT_NULL); if (locator == null) throw new NullPointerException(MSG_VARIANT_LOCATOR_NOT_NULL); CrossTopicMapException.check(name, this.tm); checkCollection(scope); VariantNameIF vname = new VariantName(txn); ((TopicName)name).addVariant(vname); vname.setLocator(locator); addScope(vname, scope); return vname; }
@Override public void modify(TMObjectIF object, Object v) { try { LocatorIF loc = new URILocator((String) v); if (object instanceof OccurrenceIF) ((OccurrenceIF) object).setLocator(loc); else if (object instanceof VariantNameIF) ((VariantNameIF) object).setLocator(loc); else throw new OntopiaRuntimeException("OUCH!"); } catch (MalformedURLException e) { throw new OntopiaRuntimeException(e); } } }
@Override public void run() { VariantNameIF vn = getVariantName(); vn.setLocator(URILocator.create("x:variant-locator:clear")); this.objectId = vn.getObjectId(); } });
@Override public void run() { VariantNameIF vn = getVariantName(); vn.setLocator(URILocator.create("x:variant-locator")); this.objectId = vn.getObjectId(); } });
public void perform(ActionParametersIF params, ActionResponseIF response) { //test params ActionSignature paramsType = ActionSignature.getSignature("v b?"); paramsType.validateArguments(params, this); VariantNameIF variant = (VariantNameIF) params.get(0); TopicNameIF basename = (TopicNameIF) params.get(1); String value = params.getStringValue(); if (variant == null) { // check if new variant should be created, otherwise do nothing if (value.trim().length() == 0) return; // create new occurrence TopicMapBuilderIF builder = basename.getTopicMap().getBuilder(); variant = builder.makeVariantName(basename, ""); } try { URILocator loc = new URILocator(value); variant.setLocator(loc); } catch (MalformedURLException e) { throw new ActionRuntimeException("Malformed URL for variant: '" + value + "'", false); } }
vname.setLocator(locator);
public void testGenericURILocator() { LocatorIF loc1 = new GenericLocator("URI", "foo:bar"); variant.setLocator(loc1); LocatorIF loc2 = variant.getLocator(); assertTrue("Locator notation is not URI", loc2.getNotation().equals("URI")); assertTrue("Locator value is not foo:bar", loc2.getAddress().equals("foo:bar")); assertTrue("Input locator is not equal output locator", loc2.equals(loc1)); assertTrue("Output locator is not equal input locator", loc1.equals(loc2)); }
public void testLocator() { assertTrue("initial locator not null", variant.getLocator() == null); try { URILocator loc = new URILocator("http://www.ontopia.net"); variant.setLocator(loc); assertTrue("locator identity not maintained after set", variant.getLocator().equals(loc)); assertTrue("data type is incorrect. should be xsd:anyURI", Objects.equals(variant.getDataType(), DataTypes.TYPE_URI)); try { variant.setLocator(null); fail("value could be set to null"); } catch (NullPointerException e) { } } catch (MalformedURLException e) { fail("(INTERNAL) given URI was malformed"); } }
public void testVariantIndexExternal() { // STATE 1: No variant locators defined TopicIF topic = builder.makeTopic(); TopicNameIF bn = builder.makeTopicName(topic, ""); VariantNameIF vn = builder.makeVariantName(bn, "", Collections.<TopicIF>emptySet()); LocatorIF loc = null; try { loc = new URILocator("http://www.ontopia.net/test-data/variant-locator.xml"); } catch (java.net.MalformedURLException ex) { fail("Test Setup: Malformed URL while creating locator for variant name test."); } assertTrue("Index of variant names by locator is not empty.", ix.getVariants(loc.getAddress(), DataTypes.TYPE_URI).isEmpty()); // STATE 2: Variant locator defined vn.setLocator(loc); assertTrue("Index of variant names by locator does not contain test value.", ix.getVariants(loc.getAddress(), DataTypes.TYPE_URI).contains(vn)); // STATE 3: Duplicate variant locator defined VariantNameIF vn2 = builder.makeVariantName(bn, loc, Collections.<TopicIF>emptySet()); assertTrue("second variant not found by locator", ix.getVariants(loc.getAddress(), DataTypes.TYPE_URI).size() == 2); }
public void testNonURILocator() { try { variant.setLocator(new GenericLocator("URG", "l/e")); fail("non URI-locator could be set"); } catch (ConstraintViolationException e) { } try { variant.setValue("foo", new GenericLocator("URG", "l/e")); fail("non URI datatype could be set"); } catch (ConstraintViolationException e) { } try { variant.setReader(new StringReader("foo"), 3, new GenericLocator("URG", "l/e")); fail("non URI datatype could be set"); } catch (ConstraintViolationException e) { } }
vn.setLocator(URILocator.create("x:variant-locator")); afterTest();