private <T> T assertHasIdProperty(T instance) { MappedClass mappedClass = configuration.getMappedClass(instance.getClass()); if (mappedClass.getIdProperty() == null) { throw new IllegalArgumentException(instance.getClass().getName() + " has no id property"); } return instance; }
public EntityValueEncoderFactory(SessionFactory sessionFactory, Configuration rdfBeanConfiguration, Class<T> cl) { this.sessionFactory = sessionFactory; this.cl = cl; this.idProperty = rdfBeanConfiguration.getMappedClass(cl).getIdProperty(); }
private UID getContext(Class<?> clazz, @Nullable ID subject, @Nullable UID defaultContext) { UID contextUID = configuration.getMappedClass(clazz).getContext(); if (contextUID != null) { return contextUID; } else { return defaultContext; } }
@Override public <T> List<T> findInstances(Class<T> clazz) { UID type = configuration.getMappedClass(clazz).getUID(); if (type != null) { Set<T> instances = new LinkedHashSet<T>(); findInstances(clazz, type, instances); return new ArrayList<T>(instances); } else { throw new IllegalArgumentException("No RDF type specified for " + clazz.getName()); } }
protected UID getTypeForDomainClass(Class<?> clazz) { MappedClass mc = configuration.getMappedClass(clazz); if (mc.getUID() != null) { return mc.getUID(); } else { throw new IllegalArgumentException("Got no RDF type for " + clazz.getName()); } }
@Override public <T> T get(Class<T> clazz, ID subject) { Assert.notNull(subject, "subject"); boolean polymorphic = true; MappedClass mappedClass = configuration.getMappedClass(clazz); polymorphic = isPolymorphic(mappedClass); return convertMappedObject(subject, clazz, polymorphic, false); }
private Set<UID> getUIDs(Class<?>... classes) { Set<UID> uids = new HashSet<UID>(); for (Class<?> cl : classes) { uids.add(configuration.getMappedClass(cl).getUID()); } return uids; } }
private void deleteInternal(Object instance) { BeanMap beanMap = toBeanMap(instance); ID subject = resourceCache.get(instance); Class<?> clazz = getClass(instance); MappedClass mappedClass = configuration.getMappedClass(clazz); if (subject == null) { subject = getId(mappedClass, beanMap); } if (subject != null) { UID context = getContext(clazz, subject, null); deleteResource(subject, context); } }
@Test(expected = IllegalArgumentException.class) public void Default_Namespace_Missing() { Configuration configuration = new DefaultConfiguration(Entity.class); configuration.getMappedClass(Entity.class); }
@Ignore @Test(expected = IllegalArgumentException.class) public void InvalidProject1() { // TODO How to handle this case configuration.getMappedClass(InvalidProject1.class); }
@Override public void autowire(Object instance) { Assert.notNull(instance, "instance"); BeanMap beanMap = toBeanMap(instance); MappedClass mappedClass = configuration.getMappedClass(getClass(instance)); bind(mappedClass, getId(mappedClass, beanMap), beanMap, new PropertiesMap()); }
private MappedPath getMappedPath(Path<?> path) { PathMetadata<?> md = path.getMetadata(); if (path.getMetadata().getPathType() != PathType.PROPERTY) { md = md.getParent().getMetadata(); } MappedClass mc = configuration.getMappedClass(md.getParent().getType()); return mc.getMappedPath(md.getElement().toString()); }
@Test public void Default_Namespace_Available() { Configuration configuration = new DefaultConfiguration(TEST.NS, Entity.class); MappedClass mappedClass = configuration.getMappedClass(Entity.class); assertEquals(new UID(TEST.NS, Entity.class.getSimpleName()), mappedClass.getUID()); }
@Test public void GetMappedSubtypes() { MappedClass cl = configuration.getMappedClass(Entity1.class); assertEquals(getUIDs(Entity1.class, Entity2.class, Entity3.class), ontology.getSubtypes(cl.getUID())); cl = configuration.getMappedClass(Entity2.class); assertEquals(getUIDs(Entity2.class, Entity3.class), ontology.getSubtypes(cl.getUID())); cl = configuration.getMappedClass(Entity3.class); assertEquals(getUIDs(Entity3.class), ontology.getSubtypes(cl.getUID())); }
@Test public void GetMappedSupertypes() { MappedClass cl = configuration.getMappedClass(Entity3.class); assertEquals(getUIDs(Entity1.class, Entity2.class), ontology.getSupertypes(cl.getUID())); cl = configuration.getMappedClass(Entity2.class); assertEquals(getUIDs(Entity1.class), ontology.getSupertypes(cl.getUID())); cl = configuration.getMappedClass(Entity1.class); assertEquals(getUIDs(), ontology.getSupertypes(cl.getUID())); }
@Test public void VverrideWithinClass() { Configuration configuration = new DefaultConfiguration(TEST.NS, WithinClass.class); MappedClass mappedClass = configuration.getMappedClass(WithinClass.class); MappedPath path = mappedClass.getMappedPath("reference"); assertEquals(new UID(TEST.NS, "reference"), path.get(0).getUID()); MappedProperty<?> property = path.getMappedProperty(); assertTrue(property.isInjection()); }
@Test public void ToString() throws SecurityException, NoSuchMethodException { Configuration configuration = new DefaultConfiguration(TEST.NS, MappedPathTest.class); MappedClass mappedClass = configuration.getMappedClass(MappedPathTest.class); MethodProperty property = new MethodProperty(MappedPathTest.class.getMethod("getProperty"), mappedClass); MappedPredicate predicate = new MappedPredicate(TEST.NS, new DummyPredicate(RDF.type), null); MappedPath path = new MappedPath(property, Collections.<MappedPredicate> singletonList(predicate), false); assertEquals("public java.lang.String com.mysema.rdfbean.object.MappedPathTest.getProperty() { http://www.w3.org/1999/02/22-rdf-syntax-ns#type }", path.toString()); }
@Test public void Without_namespace() { ConfigurationBuilder builder = new ConfigurationBuilder(); for (Class<?> cl : Arrays.<Class<?>> asList(Person.class, Department.class, Company.class, Labeled.class)) { builder.addClass(cl).addProperties(); } Configuration configuration = builder.build(); MappedClass person = configuration.getMappedClass(Person.class); String ns = "java:com.mysema.rdfbean.object.ConfigurationBuilderTest.Person#"; assertEquals(new UID(ns, "Person"), person.getUID()); assertEquals(new UID(ns, "labeled"), person.getMappedPath("labeled").getPredicatePath().get(0).getUID()); }
@Test public void Namespaces() { ConfigurationBuilder builder = new ConfigurationBuilder(); builder.addClass(TEST.NS, Labeled.class) .addProperty("label", RDFS.label) .addProperty("comment", RDFS.comment); Configuration configuration = builder.build(); // labeled MappedClass labeled = configuration.getMappedClass(Labeled.class); MappedPath labeled_label = labeled.getMappedPath("label"); assertEquals(RDFS.label, labeled_label.getPredicatePath().get(0).getUID()); MappedPath labeled_comment = labeled.getMappedPath("comment"); assertEquals(RDFS.comment, labeled_comment.getPredicatePath().get(0).getUID()); }
@Test public void Mixin() { ConfigurationBuilder builder = new ConfigurationBuilder(); builder.addClass(TEST.NS, Person.class) .addMixin("labeled"); Configuration configuration = builder.build(); // labeled MappedClass person = configuration.getMappedClass(Person.class); MappedPath person_labeled = person.getMappedPath("labeled"); assertTrue(person_labeled.getMappedProperty().isMixin()); }