private ClassDescriptor getProjectDescriptor() { EISDescriptor descriptor = new EISDescriptor(); descriptor.setJavaClass(Project.class); descriptor.setDataTypeName("project"); descriptor.setPrimaryKeyFieldName("@id"); EISDirectMapping nameMapping = new EISDirectMapping(); nameMapping.setAttributeName("name"); nameMapping.setXPath("name/text()"); descriptor.addMapping(nameMapping); EISDirectMapping idMapping = new EISDirectMapping(); idMapping.setAttributeName("id"); idMapping.setXPath("@id"); descriptor.addMapping(idMapping); // Insert XQueryInteraction insertCall = new XQueryInteraction(); insertCall.setXQueryString("project"); insertCall.setFunctionName("insert"); insertCall.setProperty("fileName", "project.xml"); descriptor.getQueryManager().setInsertCall(insertCall); // Read object XQueryInteraction readObjectCall = new XQueryInteraction(); readObjectCall.setFunctionName("read"); readObjectCall.setProperty("fileName", "project.xml"); readObjectCall.setXQueryString("project[@id='#@id']"); readObjectCall.setOutputResultPath("result"); descriptor.getQueryManager().setReadObjectCall(readObjectCall); // Read all XQueryInteraction readAllCall = new XQueryInteraction(); readAllCall.setFunctionName("read-all"); readAllCall.setProperty("fileName", "project.xml"); readAllCall.setXQueryString("project"); readAllCall.setOutputResultPath("result"); descriptor.getQueryManager().setReadAllCall(readAllCall); // Delete XQueryInteraction deleteCall = new XQueryInteraction(); deleteCall.setFunctionName("delete"); readAllCall.setProperty("fileName", "project.xml"); readObjectCall.setXQueryString("project[@id='#@id']"); descriptor.getQueryManager().setDeleteCall(deleteCall); // Update XQueryInteraction updateCall = new XQueryInteraction(); updateCall.setFunctionName("update"); readAllCall.setProperty("fileName", "project.xml"); readObjectCall.setXQueryString("project[@id='#@id']"); descriptor.getQueryManager().setUpdateCall(updateCall); return descriptor; }
private EISDescriptor getEmployeeDescriptor() { EISDescriptor descriptor = new EISDescriptor(); descriptor.setJavaClass(Employee.class); descriptor.setDataTypeName("employee"); descriptor.descriptorIsAggregate(); EISDirectMapping firstNameMapping = new EISDirectMapping(); firstNameMapping.setAttributeName("firstName"); firstNameMapping.setXPath("first-name/text()"); descriptor.addMapping(firstNameMapping); EISOneToOneMapping projectMapping = new EISOneToOneMapping(); projectMapping.setReferenceClass(Project.class); projectMapping.setAttributeName("project"); projectMapping.dontUseIndirection(); XQueryInteraction projectInteraction = new XQueryInteraction(); projectInteraction.setFunctionName("read-project"); projectInteraction.setProperty("fileName", "project.xml"); projectInteraction.setXQueryString("project[@id='#project-id/text()']"); projectInteraction.setOutputResultPath("result"); projectMapping.setSelectionCall(projectInteraction); projectMapping.addForeignKeyFieldName("project-id/text()", "@id"); descriptor.addMapping(projectMapping); return descriptor; }
private EISDescriptor getCompanyDescriptor() { EISDescriptor descriptor = new EISDescriptor(); descriptor.setJavaClass(Company.class); descriptor.setDataTypeName("company"); descriptor.setPrimaryKeyFieldName("name/text()"); EISDirectMapping nameMapping = new EISDirectMapping(); nameMapping.setAttributeName("name"); nameMapping.setXPath("name/text()"); descriptor.addMapping(nameMapping); EISCompositeCollectionMapping departmentsMapping = new EISCompositeCollectionMapping(); departmentsMapping.setAttributeName("departments"); departmentsMapping.useCollectionClass(java.util.Vector.class); departmentsMapping.setReferenceClass(Department.class); departmentsMapping.setXPath("department"); descriptor.addMapping(departmentsMapping); // Insert XQueryInteraction insertCall = new XQueryInteraction(); insertCall.setFunctionName("insert"); insertCall.setProperty("fileName", "company.xml"); insertCall.setXQueryString("company"); descriptor.getQueryManager().setInsertCall(insertCall); // Read object XQueryInteraction readObjectCall = new XQueryInteraction(); readObjectCall.setFunctionName("read"); readObjectCall.setProperty("fileName", "company.xml"); readObjectCall.setXQueryString("company[name/text()='#name/text()']"); readObjectCall.setOutputResultPath("result"); descriptor.getQueryManager().setReadObjectCall(readObjectCall); // Read all XQueryInteraction readAllCall = new XQueryInteraction(); readAllCall.setFunctionName("read-all"); readAllCall.setProperty("fileName", "company.xml"); readAllCall.setXQueryString("company"); readAllCall.setOutputResultPath("result"); descriptor.getQueryManager().setReadAllCall(readAllCall); // Delete XQueryInteraction deleteCall = new XQueryInteraction(); deleteCall.setFunctionName("delete"); deleteCall.setProperty("fileName", "company.xml"); deleteCall.setXQueryString("company[name/text()='#name/text()']"); descriptor.getQueryManager().setDeleteCall(deleteCall); // Update XQueryInteraction updateCall = new XQueryInteraction(); updateCall.setFunctionName("update"); updateCall.setProperty("fileName", "company.xml"); updateCall.setXQueryString("company[name/text()='#name/text()']"); descriptor.getQueryManager().setUpdateCall(updateCall); return descriptor; }
private EISDescriptor getDepartmentDescriptor() { EISDescriptor descriptor = new EISDescriptor(); descriptor.setJavaClass(Department.class); descriptor.setDataTypeName("department"); descriptor.descriptorIsAggregate(); EISDirectMapping nameMapping = new EISDirectMapping(); nameMapping.setAttributeName("deptName"); nameMapping.setXPath("name/text()"); descriptor.addMapping(nameMapping); EISCompositeCollectionMapping employeesMapping = new EISCompositeCollectionMapping(); employeesMapping.setAttributeName("employees"); employeesMapping.useCollectionClass(java.util.Vector.class); employeesMapping.setReferenceClass(Employee.class); employeesMapping.setXPath("employee"); descriptor.addMapping(employeesMapping); return descriptor; }
private EISDescriptor getEmployeeDescriptor() { EISDescriptor descriptor = new EISDescriptor(); descriptor.setJavaClass(Employee.class); descriptor.setDataTypeName("ns1:employee"); descriptor.setPrimaryKeyFieldName("first-name/text()"); EISDirectMapping firstNameMapping = new EISDirectMapping(); firstNameMapping.setAttributeName("firstName"); firstNameMapping.setXPath("first-name/text()"); descriptor.addMapping(firstNameMapping); EISOneToManyMapping projectMapping = new EISOneToManyMapping(); projectMapping.setReferenceClass(Project.class); projectMapping.setAttributeName("projects"); projectMapping.dontUseIndirection(); XQueryInteraction projectInteraction = new XQueryInteraction(); projectInteraction.setFunctionName("read-projects"); projectInteraction.setProperty("fileName", "project.xml"); projectInteraction.setXQueryString("project[leader/text()='#first-name/text()']"); projectInteraction.setOutputResultPath("result"); projectMapping.setSelectionCall(projectInteraction); descriptor.addMapping(projectMapping); NamespaceResolver resolver = new NamespaceResolver(); resolver.put("ns1", "myNamespace"); descriptor.setNamespaceResolver(resolver); // Insert XQueryInteraction insertCall = new XQueryInteraction(); insertCall.setFunctionName("insert"); insertCall.setProperty("fileName", "employee.xml"); insertCall.setXQueryString("ns1:employee"); descriptor.getQueryManager().setInsertCall(insertCall); // Read object XQueryInteraction readObjectCall = new XQueryInteraction(); readObjectCall.setFunctionName("read"); readObjectCall.setProperty("fileName", "employee.xml"); readObjectCall.setXQueryString("ns1:employee[first-name='#first-name/text()']"); readObjectCall.setOutputResultPath("result"); descriptor.getQueryManager().setReadObjectCall(readObjectCall); // Read all XQueryInteraction readAllCall = new XQueryInteraction(); readAllCall.setFunctionName("read-all"); readAllCall.setProperty("fileName", "employee.xml"); readAllCall.setXQueryString("ns1:employee"); readAllCall.setOutputResultPath("result"); descriptor.getQueryManager().setReadAllCall(readAllCall); // Delete XQueryInteraction deleteCall = new XQueryInteraction(); deleteCall.setFunctionName("delete"); deleteCall.setProperty("fileName", "employee.xml"); deleteCall.setXQueryString("ns1:employee[first-name='#first-name/text()']"); descriptor.getQueryManager().setDeleteCall(deleteCall); // Update XQueryInteraction updateCall = new XQueryInteraction(); updateCall.setFunctionName("update"); updateCall.setProperty("fileName", "employee.xml"); updateCall.setXQueryString("ns1:employee[first-name='#first-name/text()']"); descriptor.getQueryManager().setUpdateCall(updateCall); return descriptor; }
private ClassDescriptor getProjectDescriptor() { EISDescriptor descriptor = new EISDescriptor(); descriptor.setJavaClass(Project.class); descriptor.setDataTypeName("project"); descriptor.setPrimaryKeyFieldName("@id"); EISDirectMapping nameMapping = new EISDirectMapping(); nameMapping.setAttributeName("name"); nameMapping.setXPath("name/text()"); descriptor.addMapping(nameMapping); EISDirectMapping idMapping = new EISDirectMapping(); idMapping.setAttributeName("id"); idMapping.setXPath("@id"); descriptor.addMapping(idMapping); EISOneToOneMapping leaderMapping = new EISOneToOneMapping(); leaderMapping.setReferenceClass(Employee.class); leaderMapping.setAttributeName("leader"); leaderMapping.dontUseIndirection(); XQueryInteraction leaderInteraction = new XQueryInteraction(); leaderInteraction.setFunctionName("read-leader"); leaderInteraction.setProperty("fileName", "employee.xml"); leaderInteraction.setXQueryString("ns1:employee[first-name/text()='#leader/text()']"); leaderInteraction.setOutputResultPath("result"); leaderMapping.setSelectionCall(leaderInteraction); leaderMapping.addForeignKeyFieldName("leader/text()", "first-name/text()"); descriptor.addMapping(leaderMapping); // Insert XQueryInteraction insertCall = new XQueryInteraction(); insertCall.setXQueryString("project"); insertCall.setFunctionName("insert"); insertCall.setProperty("fileName", "project.xml"); descriptor.getQueryManager().setInsertCall(insertCall); // Read object XQueryInteraction readObjectCall = new XQueryInteraction(); readObjectCall.setFunctionName("read"); readObjectCall.setProperty("fileName", "project.xml"); readObjectCall.setXQueryString("project[@id='#@id']"); readObjectCall.setOutputResultPath("result"); descriptor.getQueryManager().setReadObjectCall(readObjectCall); // Read all XQueryInteraction readAllCall = new XQueryInteraction(); readAllCall.setFunctionName("read-all"); readAllCall.setProperty("fileName", "project.xml"); readAllCall.setXQueryString("project"); readAllCall.setOutputResultPath("result"); descriptor.getQueryManager().setReadAllCall(readAllCall); // Delete XQueryInteraction deleteCall = new XQueryInteraction(); deleteCall.setFunctionName("delete"); readAllCall.setProperty("fileName", "project.xml"); readObjectCall.setXQueryString("project[@id='#@id']"); descriptor.getQueryManager().setDeleteCall(deleteCall); // Update XQueryInteraction updateCall = new XQueryInteraction(); updateCall.setFunctionName("update"); readAllCall.setProperty("fileName", "project.xml"); readObjectCall.setXQueryString("project[@id='#@id']"); descriptor.getQueryManager().setUpdateCall(updateCall); return descriptor; }
private EISDescriptor getEmployeeDescriptor() { EISDescriptor descriptor = new EISDescriptor(); descriptor.setJavaClass(Employee.class); descriptor.setDataTypeName("employee"); descriptor.setPrimaryKeyFieldName("first-name/text()"); EISDirectMapping firstNameMapping = new EISDirectMapping(); firstNameMapping.setAttributeName("firstName"); firstNameMapping.setXPath("first-name/text()"); descriptor.addMapping(firstNameMapping); EISOneToManyMapping projectMapping = new EISOneToManyMapping(); projectMapping.setAttributeName("projects"); projectMapping.setReferenceClass(Project.class); projectMapping.setForeignKeyGroupingElement("project"); projectMapping.setIsForeignKeyRelationship(true); projectMapping.dontUseIndirection(); XQueryInteraction projectInteraction = new XQueryInteraction(); projectInteraction.setFunctionName("read-projects"); projectInteraction.setProperty("fileName", "project.xml"); projectInteraction.setXQueryString("project[@id='#project-id/text()']"); projectInteraction.setOutputResultPath("result"); // do not set a selection call on this mapping... /* projectMapping.setSelectionCall(projectInteraction); */ projectMapping.addForeignKeyFieldName("project-id/text()", "@id"); descriptor.addMapping(projectMapping); // Insert XQueryInteraction insertCall = new XQueryInteraction(); insertCall.setFunctionName("insert"); insertCall.setProperty("fileName", "employee.xml"); insertCall.setXQueryString("employee"); descriptor.getQueryManager().setInsertCall(insertCall); // Read object XQueryInteraction readObjectCall = new XQueryInteraction(); readObjectCall.setFunctionName("read"); readObjectCall.setProperty("fileName", "employee.xml"); readObjectCall.setXQueryString("employee[first-name='#first-name/text()']"); readObjectCall.setOutputResultPath("result"); descriptor.getQueryManager().setReadObjectCall(readObjectCall); // Read all XQueryInteraction readAllCall = new XQueryInteraction(); readAllCall.setFunctionName("read-all"); readAllCall.setProperty("fileName", "employee.xml"); readAllCall.setXQueryString("employee"); readAllCall.setOutputResultPath("result"); descriptor.getQueryManager().setReadAllCall(readAllCall); // Delete XQueryInteraction deleteCall = new XQueryInteraction(); deleteCall.setFunctionName("delete"); deleteCall.setProperty("fileName", "employee.xml"); deleteCall.setXQueryString("employee[first-name='#first-name/text()']"); descriptor.getQueryManager().setDeleteCall(deleteCall); // Update XQueryInteraction updateCall = new XQueryInteraction(); updateCall.setFunctionName("update"); updateCall.setProperty("fileName", "employee.xml"); updateCall.setXQueryString("employee[first-name='#first-name/text()']"); descriptor.getQueryManager().setUpdateCall(updateCall); return descriptor; }