use of org.whole.lang.xsd.factories.XsdEntityFactory in project whole by wholeplatform.
the class AttributesPreprocessor method processNoNamespaceSchemaLocation.
protected void processNoNamespaceSchemaLocation(String schemaLocationUrl) {
String targetNamespace = calculateInternalNamespace(true);
Schema schema = SchemaUtils.load(targetNamespace, schemaLocationUrl, getFolderLocation(), getLSResourceResolver());
// add the generated default namespace to the schema
final XsdEntityFactory xef = XsdEntityFactory.instance;
NamespaceDecl namespaceDecl = xef.createNamespaceDecl();
namespaceDecl.setUri(xef.createAnyURI(targetNamespace));
schema.getNamespaces().add(namespaceDecl);
schema.setTargetNamespace(xef.createAnyURI(targetNamespace));
if (XsdDeployStrategies.shouldDeploy(bindings, targetNamespace))
SchemaUtils.deploy(schema, BindingManagerFactory.instance.createArguments());
redefineDefaultNamespace(namespaces, targetNamespace);
}
use of org.whole.lang.xsd.factories.XsdEntityFactory in project whole by wholeplatform.
the class ByChildAPITest method testAbstractSimpleEntity.
// public void testAbstractMapEntity() {
// InfoEntityFactory infof = InfoEntityFactory.instance;
//
// Value k1 = infof.createValue("key1");
// Value k2 = infof.createValue("key2");
// Value k3 = infof.createValue("key3");
//
// Value v1 = infof.createValue("value");
// Value v2 = infof.createValue("value");
// Value v3 = infof.createValue("value");
//
// Value[] keysArray = new Value[] {k1, k2, k3};
// Value[] valuesArray = new Value[] {v1, v2, v3};
// ValuesMap values = infof.createValuesMap();
// for (int i=0; i<keysArray.length; i++)
// values.wSet(keysArray[i], valuesArray[i]);
//
// mapCompositeOperationsEntityTest(keysArray, values);
// commonOperationsEntityTest(keysArray, valuesArray, values);
// uniqueOperationsEntityTest(keysArray, values);
// propertyChangeEntityTest(keysArray, values, infof.createValue("value4"));
// }
@Test
public void testAbstractSimpleEntity() {
XsdEntityFactory mf = XsdEntityFactory.instance;
NamespaceDecls decls = mf.createNamespaceDecls(mf.createNamespaceDecl(mf.createName("prefix"), mf.createAnyURI("uri")));
QName ref = mf.createQName("testQName");
org.whole.lang.xsd.model.Attributes attributes = mf.createAttributes(0);
Bounded min = mf.createBounded(1);
Bounded max = mf.createBounded(1);
Annotation ann = mf.createAnnotation();
StringData id = mf.createStringData("myId");
IEntity[] featuresArray = new IEntity[] { decls, id, attributes, min, max, ref, ann };
int[] businessEquivalence = new int[] { -1, 1, -1, 3, 3, 5, -1 };
ElementRef elementRef = mf.createElementRef(decls, id, attributes, min, max, ref, ann);
// object identity
for (int i = 0; i < elementRef.wSize(); i++) Assert.assertTrue(elementRef.wIndexOf(featuresArray[i]) == i);
// business identity
for (int i = 0; i < elementRef.wSize(); i++) Assert.assertTrue(elementRef.wIndexOf(EntityUtils.clone(featuresArray[i])) == businessEquivalence[i]);
// business identity
for (int i = 0; i < elementRef.wSize(); i++) if (businessEquivalence[i] >= 0)
Assert.assertTrue(elementRef.wGet(EntityUtils.clone(featuresArray[i])).equals(featuresArray[businessEquivalence[i]]));
// test wContains
for (int i = 0; i < elementRef.wSize(); i++) {
Assert.assertTrue(elementRef.wContains(featuresArray[i]));
if (businessEquivalence[i] >= 0)
Assert.assertTrue(elementRef.wContains(EntityUtils.clone(featuresArray[i])));
}
// object identity
for (int i = 0; i < elementRef.wSize(); i++) Assert.assertTrue(elementRef.wGet(featuresArray[i]).equals(featuresArray[i]));
// test wRemove
IEntity entityCopy = EntityUtils.clone(elementRef);
IEntity[] refs = new IEntity[entityCopy.wSize()];
for (int i = 0; i < entityCopy.wSize(); i++) refs[i] = entityCopy.wGet(i);
IEntity entitySecondCopy = EntityUtils.clone(entityCopy);
for (int i = refs.length - 1; i >= 0; i--) {
Assert.assertTrue(entityCopy.wRemove(refs[i]));
if (businessEquivalence[i] >= 0)
Assert.assertTrue(entitySecondCopy.wRemove(refs[i]));
}
for (int i = refs.length - 1; i >= 0; i--) {
Assert.assertFalse(entityCopy.wRemove(refs[i]));
if (businessEquivalence[i] >= 0)
Assert.assertFalse(entitySecondCopy.wRemove(refs[i]));
}
IEntity newEntity = EntityUtils.clone(elementRef);
EntityDescriptor<?> ed = elementRef.wGetEntityDescriptor();
TestPropertyChangeListener listener = new TestPropertyChangeListener(elementRef);
for (int i = 0; i < newEntity.wSize(); i++) {
IEntity oldChild = elementRef.wGet(i);
IEntity newChild = EntityUtils.clone(newEntity.wGet(i));
listener.setFeatureDescriptor(ed.getEntityFeatureDescriptor(i));
listener.setOldValue(oldChild);
listener.setNewValue(newChild);
elementRef.wSet(oldChild, newChild);
}
}
Aggregations