You can subscribe to this list here.
2009 |
Jan
|
Feb
(28) |
Mar
(85) |
Apr
(81) |
May
(32) |
Jun
(51) |
Jul
(134) |
Aug
(21) |
Sep
|
Oct
|
Nov
|
Dec
|
---|
From: <ro...@us...> - 2009-05-14 11:54:15
|
Revision: 212 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=212&view=rev Author: roekens Date: 2009-05-14 11:54:08 +0000 (Thu, 14 May 2009) Log Message: ----------- - added cobertura dependencies to enable site generation - bugfixing and code polishing Modified Paths: -------------- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/EventBuilderBean.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java trunk/cse-ip/sc-mapper/pom.xml Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/EventBuilderBean.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/EventBuilderBean.java 2009-05-14 11:22:07 UTC (rev 211) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/EventBuilderBean.java 2009-05-14 11:54:08 UTC (rev 212) @@ -73,7 +73,7 @@ @Override public void setEventTime(Date eventTime) { - this.eventTime = eventTime; + this.eventTime = new Date(eventTime.getTime()); } @Override Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java 2009-05-14 11:22:07 UTC (rev 211) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java 2009-05-14 11:54:08 UTC (rev 212) @@ -155,22 +155,23 @@ visitor.visit(this); } + @Override + public boolean equals(Object other) { + if (this == other) { + return true; + } + if (!(other instanceof Account)) { + return false; + } + if (this.getId() == null) { + return super.equals( other ); + } + else { + return this.getId().equals(((Account)other).getId()); + } + } + @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (!(obj instanceof Account)) { - return false; - } - if (this.getId() == null) { - return false; - } else { - return this.getId().equals(((Account) obj).getId()); - } - } - - @Override public int hashCode() { if (this.getId() == null) { return super.hashCode(); Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java 2009-05-14 11:22:07 UTC (rev 211) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java 2009-05-14 11:54:08 UTC (rev 212) @@ -167,5 +167,20 @@ visitor.visit(this); } + @Override + public boolean equals(Object other) { + if (this == other) { + return true; + } + if (!(other instanceof Category)) { + return false; + } + if (this.getId() == null) { + return super.equals( other ); + } + else { + return this.getId().equals(((Category)other).getId()); + } + } } Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java 2009-05-14 11:22:07 UTC (rev 211) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java 2009-05-14 11:54:08 UTC (rev 212) @@ -32,7 +32,8 @@ public DeleteReferenceVisitor(Entity persistentTarget, Entity associatedTarget, ReferenceType type) { this.type = type; this.persistentTarget = persistentTarget; - this.associatedTarget = associatedTarget; + //FIXME check if needed +// this.associatedTarget = associatedTarget; } @Override Modified: trunk/cse-ip/sc-mapper/pom.xml =================================================================== --- trunk/cse-ip/sc-mapper/pom.xml 2009-05-14 11:22:07 UTC (rev 211) +++ trunk/cse-ip/sc-mapper/pom.xml 2009-05-14 11:54:08 UTC (rev 212) @@ -83,6 +83,10 @@ <artifactId>junit</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>cobertura</groupId> + <artifactId>cobertura</artifactId> + </dependency> </dependencies> <build> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-05-14 11:22:15
|
Revision: 211 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=211&view=rev Author: roekens Date: 2009-05-14 11:22:07 +0000 (Thu, 14 May 2009) Log Message: ----------- - fixed pom to get site generation to work (scope of added cobertura dependency has to be checked) - fixed PMD violations Modified Paths: -------------- trunk/cse-ip/pom.xml trunk/cse-ip/sc-cdmm/pom.xml trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelMergerBean.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java Modified: trunk/cse-ip/pom.xml =================================================================== --- trunk/cse-ip/pom.xml 2009-05-13 12:07:28 UTC (rev 210) +++ trunk/cse-ip/pom.xml 2009-05-14 11:22:07 UTC (rev 211) @@ -351,6 +351,11 @@ <version>${jaxws-rt.version}</version> <scope>compile</scope> </dependency> + <dependency> + <groupId>cobertura</groupId> + <artifactId>cobertura</artifactId> + <version>1.9rc1</version> + </dependency> </dependencies> </dependencyManagement> Modified: trunk/cse-ip/sc-cdmm/pom.xml =================================================================== --- trunk/cse-ip/sc-cdmm/pom.xml 2009-05-13 12:07:28 UTC (rev 210) +++ trunk/cse-ip/sc-cdmm/pom.xml 2009-05-14 11:22:07 UTC (rev 211) @@ -84,6 +84,10 @@ <artifactId>junit</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>cobertura</groupId> + <artifactId>cobertura</artifactId> + </dependency> </dependencies> <build> Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java 2009-05-13 12:07:28 UTC (rev 210) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java 2009-05-14 11:22:07 UTC (rev 211) @@ -7,7 +7,6 @@ import javax.ejb.Stateless; import javax.jws.WebService; -import org.apache.commons.lang.NotImplementedException; import org.apache.log4j.Logger; import de.campussource.cse.cdmm.dao.EntityDaoJPA; @@ -61,8 +60,8 @@ logger.debug("Received delete message: "+message); } - Entity input = message.getEntity(); - Entity loaded = entityDao.find(input.getClass(), input.getId()); +// Entity input = message.getEntity(); +// Entity loaded = entityDao.find(input.getClass(), input.getId()); EventBuilder eventBuilder = new EventBuilderBean(); eventBuilder.setEventTime(message.getEventTime()); Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelMergerBean.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelMergerBean.java 2009-05-13 12:07:28 UTC (rev 210) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelMergerBean.java 2009-05-14 11:22:07 UTC (rev 211) @@ -1,10 +1,6 @@ package de.campussource.cse.cdmm; -import java.util.HashMap; -import java.util.HashSet; import java.util.List; -import java.util.Map; -import java.util.Set; import javax.ejb.EJB; import javax.ejb.Local; @@ -17,7 +13,6 @@ import de.campussource.cse.cdmm.domain.ReferenceType; import de.campussource.cse.cdmm.domain.ReferencesVisitor; import de.campussource.cse.cdmm.domain.State; -import de.campussource.cse.cdmm.domain.Visitor; import de.campussource.cse.cdmm.messages.OutputEventType; /** Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java 2009-05-13 12:07:28 UTC (rev 210) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java 2009-05-14 11:22:07 UTC (rev 211) @@ -1,9 +1,6 @@ package de.campussource.cse.cdmm.domain; -import javax.management.remote.TargetedNotification; -import org.apache.commons.lang.NotImplementedException; - /** * Visitor to remove Reference to an entity object. * @@ -22,7 +19,8 @@ /** * represents associated target entity in given object structure */ - private Entity associatedTarget; + //FIXME check if needed +// private Entity associatedTarget; /** * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-05-13 12:07:38
|
Revision: 210 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=210&view=rev Author: roekens Date: 2009-05-13 12:07:28 +0000 (Wed, 13 May 2009) Log Message: ----------- refactoring and further implementation of cdmm: (still in progress) - fixed some implementation in DMMBean - added new messages: EntityEventMessage and ReferenceEventMessage with supertype Eventmessage to represent event for creating and deleting references of objects - added methods to EventBuilder and EventBuilderBean to add these events - fixed logic in ModelMergerBean - changed several visitors to allow return values (events) to handle changed references, attributes and entities (needs more work...) Modified Paths: -------------- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/EventBuilder.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/EventBuilderBean.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelMergerBean.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/AddReferenceVisitor.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/ReferencesVisitor.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/EventMessage.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/EventBuilderBeanTest.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelMergerTest.java Added Paths: ----------- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Reference.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/EntityEventMessage.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/ReferenceEventMessage.java Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java 2009-05-04 14:50:46 UTC (rev 209) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java 2009-05-13 12:07:28 UTC (rev 210) @@ -57,8 +57,26 @@ @Override public List<EventMessage> delete(InputMessage message) { - throw new NotImplementedException(); - // TODO Auto-generated method stub + if (logger.isDebugEnabled()) { + logger.debug("Received delete message: "+message); + } + + Entity input = message.getEntity(); + Entity loaded = entityDao.find(input.getClass(), input.getId()); + + EventBuilder eventBuilder = new EventBuilderBean(); + eventBuilder.setEventTime(message.getEventTime()); + +// FIXME implement for delete +// if (loaded.isOlder(input.getDate())) { +// ModelMergerBean merger = new ModelMergerBean(); +// merger.setEventBuilder(eventBuilder); +// merger.merge(input); +// +// entityDao.persist(loaded); +// } + + return eventBuilder.build(); } } Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/EventBuilder.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/EventBuilder.java 2009-05-04 14:50:46 UTC (rev 209) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/EventBuilder.java 2009-05-13 12:07:28 UTC (rev 210) @@ -4,7 +4,9 @@ import java.util.List; import de.campussource.cse.cdmm.domain.Entity; +import de.campussource.cse.cdmm.domain.ReferenceType; import de.campussource.cse.cdmm.messages.EventMessage; +import de.campussource.cse.cdmm.messages.OutputEventType; /** * Builder to create events lists during entity merge analyse. @@ -37,6 +39,22 @@ * @return List of Events. If no events were added the list is empty. */ public List<EventMessage> build(); + + /** + * Add an create/update event for a reference + * @param source entity + * @param target entity + * @param referenceType + */ + public void addSaveReferenceEvent(Entity source, Entity target, ReferenceType referenceType, OutputEventType type); + + /** + * Add an delete event for a reference + * @param source entity + * @param target entity + * @param referenceType + */ + public void addDeleteReferenceEvent(Entity source, Entity target, ReferenceType referenceType, OutputEventType type); /** * Define the Event time Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/EventBuilderBean.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/EventBuilderBean.java 2009-05-04 14:50:46 UTC (rev 209) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/EventBuilderBean.java 2009-05-13 12:07:28 UTC (rev 210) @@ -7,8 +7,11 @@ import org.apache.log4j.Logger; import de.campussource.cse.cdmm.domain.Entity; +import de.campussource.cse.cdmm.domain.ReferenceType; +import de.campussource.cse.cdmm.messages.EntityEventMessage; import de.campussource.cse.cdmm.messages.EventMessage; import de.campussource.cse.cdmm.messages.OutputEventType; +import de.campussource.cse.cdmm.messages.ReferenceEventMessage; /** * Default implementation of an Event Builder @@ -57,7 +60,7 @@ throw new IllegalArgumentException("Parameter source must not be null!"); } - EventMessage event = new EventMessage(); + EntityEventMessage event = new EntityEventMessage(); event.setEventTime(eventTime); event.setEntity(entity); @@ -72,4 +75,62 @@ public void setEventTime(Date eventTime) { this.eventTime = eventTime; } + + @Override + public void addDeleteReferenceEvent(Entity source, Entity target, + ReferenceType referenceType, OutputEventType type) { + assert type != null; + if (eventTime == null) { + throw new IllegalStateException("EventTime must be defined first!"); + } + if (source == null) { + throw new IllegalArgumentException("Parameter source must not be null!"); + } + if (target == null) { + throw new IllegalArgumentException("Parameter source must not be null!"); + } + if (referenceType == null) { + throw new IllegalArgumentException("Parameter source must not be null!"); + } + + ReferenceEventMessage refMessage = new ReferenceEventMessage(); + refMessage.setSource(source); + refMessage.setTarget(target); + refMessage.setReferenceType(referenceType); + refMessage.setEventTime(eventTime); + refMessage.setOutputEvent(type); + + events.add(refMessage); + if (logger.isDebugEnabled()) + logger.debug("Created output event message "+refMessage); + } + + @Override + public void addSaveReferenceEvent(Entity source, Entity target, + ReferenceType referenceType, OutputEventType type) { + assert type != null; + if (eventTime == null) { + throw new IllegalStateException("EventTime must be defined first!"); + } + if (source == null) { + throw new IllegalArgumentException("Parameter source must not be null!"); + } + if (target == null) { + throw new IllegalArgumentException("Parameter source must not be null!"); + } + if (referenceType == null) { + throw new IllegalArgumentException("Parameter source must not be null!"); + } + + ReferenceEventMessage refMessage = new ReferenceEventMessage(); + refMessage.setSource(source); + refMessage.setTarget(target); + refMessage.setReferenceType(referenceType); + refMessage.setEventTime(eventTime); + refMessage.setOutputEvent(type); + + events.add(refMessage); + if (logger.isDebugEnabled()) + logger.debug("Created output event message "+refMessage); + } } Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelMergerBean.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelMergerBean.java 2009-05-04 14:50:46 UTC (rev 209) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelMergerBean.java 2009-05-13 12:07:28 UTC (rev 210) @@ -1,5 +1,11 @@ package de.campussource.cse.cdmm; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + import javax.ejb.EJB; import javax.ejb.Local; import javax.ejb.Stateless; @@ -7,10 +13,12 @@ import de.campussource.cse.cdmm.dao.EntityDao; import de.campussource.cse.cdmm.domain.AddReferenceVisitor; import de.campussource.cse.cdmm.domain.Entity; +import de.campussource.cse.cdmm.domain.Reference; import de.campussource.cse.cdmm.domain.ReferenceType; import de.campussource.cse.cdmm.domain.ReferencesVisitor; import de.campussource.cse.cdmm.domain.State; import de.campussource.cse.cdmm.domain.Visitor; +import de.campussource.cse.cdmm.messages.OutputEventType; /** * Merger @@ -28,23 +36,24 @@ @SuppressWarnings("unchecked") public <E extends Entity> E merge(E input) { - E entity = (E) dao.find(input.getClass(), input.getId()); - mergeEntities(input, entity); - return entity; + E loaded = (E) dao.find(input.getClass(), input.getId()); + mergeEntities(input, loaded); + return loaded; } /* * TODO - * 1. Traverse all references of the input message and select them in a list - * 2. Traverse all references of the entity and check if there in this list - * 3. Remove all not existing references + * 1. Traverse all references of the entity in the input message and collect them in a list + * 2. Traverse all references of the loaded entity and check if they are in this list + * 3. Add all new references and remove all not existing references */ - private <E extends Entity> void mergeEntities(E input, E loaded) { switch (loaded.getState()) { case NOT_EXISTS: eventBuilder.addCreateEvent(loaded); - checkReferences(input, loaded); + for (Reference ref : checkReferences(input, loaded)){ + eventBuilder.addSaveReferenceEvent(ref.getSource(), ref.getTarget(), ref.getReferenceType(), OutputEventType.CREATE); + } // loaded.setId(input.getId()); is already set by the find method loaded.setAttributes(input.getAttributes()); loaded.setDate(input.getDate()); // TODO may be the input message event time is to use. @@ -73,10 +82,11 @@ } } - public <E extends Entity> void checkReferences(final E input, final E loaded) { -// Map<Entity, Entity> foundReferences; - - Visitor visitor = new ReferencesVisitor() { + + + public <E extends Entity> List<Reference> checkReferences(final E input, final E loaded) { + + ReferencesVisitor visitor = new ReferencesVisitor() { @Override public void foundReference(Entity target, Entity source, ReferenceType type) { Entity entity = dao.find(target.getClass(), target.getId()); @@ -84,14 +94,17 @@ entity.setState(State.KNOWN); entity.setDate(input.getDate()); } - // TODO Is it possible that the reference allready exists? - loaded.accept(new AddReferenceVisitor(entity, target, type)); + // TODO Is it possible that the reference already exists? + AddReferenceVisitor addReferenceVisitor = new AddReferenceVisitor(entity, target, type); + loaded.accept(addReferenceVisitor); // add to reference found list - + this.setSavedReferences(addReferenceVisitor.getSavedReferences()); } }; input.accept(visitor); + return visitor.getSavedReferences(); +// // Visitor deleteReferences = new ReferencesVisitor() { // // public void foundReference(Entity target, Entity source, ReferenceType type) { @@ -102,6 +115,7 @@ // }; // // loaded.accept(visitor); + } public void setEntityDao(EntityDao dao) { Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/AddReferenceVisitor.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/AddReferenceVisitor.java 2009-05-04 14:50:46 UTC (rev 209) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/AddReferenceVisitor.java 2009-05-13 12:07:28 UTC (rev 210) @@ -1,5 +1,8 @@ package de.campussource.cse.cdmm.domain; +import java.util.ArrayList; +import java.util.List; + /** * Visitor to add Reference to an entity object. * @@ -7,7 +10,9 @@ * @author Sebastian Roekens */ public class AddReferenceVisitor implements Visitor { - + + private List<Reference> savedReferences = new ArrayList<Reference>(); + private ReferenceType type; /** @@ -38,12 +43,14 @@ switch (type) { case GROUP: account.addToGroup((Group) persistentTarget); + savedReferences.add(new Reference(persistentTarget, associatedTarget, type)); break; case ROLE: ((Role)persistentTarget).setAccount(((Role)associatedTarget).getAccount()); ((Role)persistentTarget).setCourse(((Role)associatedTarget).getCourse()); ((Role)persistentTarget).setType(((Role)associatedTarget).getType()); account.addRole((Role) persistentTarget); + savedReferences.add(new Reference(persistentTarget, associatedTarget, type)); break; default: throw new IllegalStateException("Reference type doesn't apply to entity."); @@ -55,12 +62,15 @@ switch (type) { case PARENT: category.addToParentCategory((Category) persistentTarget); + savedReferences.add(new Reference(persistentTarget, associatedTarget, type)); break; case COURSE: ((Course)persistentTarget).addToCategory(category); + savedReferences.add(new Reference(persistentTarget, associatedTarget, type)); break; case CHILD: ((Category) persistentTarget).addToParentCategory(category); + savedReferences.add(new Reference(persistentTarget, associatedTarget, type)); break; default: throw new IllegalStateException("Reference type doesn't apply to entity."); @@ -72,18 +82,22 @@ switch (type) { case CATEGORY: course.addToCategory((Category) persistentTarget); + savedReferences.add(new Reference(persistentTarget, associatedTarget, type)); break; case WORKGROUP: ((Course) persistentTarget).addAsWorkgroupTo(course); + savedReferences.add(new Reference(persistentTarget, associatedTarget, type)); break; case PARENT: course.setParent((Course) persistentTarget); + savedReferences.add(new Reference(persistentTarget, associatedTarget, type)); break; case ROLE: ((Role)persistentTarget).setAccount(((Role)associatedTarget).getAccount()); ((Role)persistentTarget).setCourse(((Role)associatedTarget).getCourse()); ((Role)persistentTarget).setType(((Role)associatedTarget).getType()); course.addRole((Role) persistentTarget); + savedReferences.add(new Reference(persistentTarget, associatedTarget, type)); break; default: throw new IllegalStateException("Reference type doesn't apply to entity."); @@ -95,6 +109,7 @@ switch (type){ case MEMBER: ((Account)persistentTarget).addToGroup(group); + savedReferences.add(new Reference(persistentTarget, associatedTarget, type)); break; default: throw new IllegalStateException("Reference type doesn't apply to entity."); @@ -106,13 +121,23 @@ switch (type){ case ACCOUNT: ((Account)persistentTarget).addRole(role); + savedReferences.add(new Reference(persistentTarget, associatedTarget, type)); break; case COURSE: ((Course)persistentTarget).addRole(role); + savedReferences.add(new Reference(persistentTarget, associatedTarget, type)); break; default: throw new IllegalStateException("Reference type doesn't apply to entity."); } } + public List<Reference> getSavedReferences() { + return savedReferences; + } + + public void setSavedReferences(List<Reference> savedReferences) { + this.savedReferences = savedReferences; + } + } Added: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Reference.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Reference.java (rev 0) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Reference.java 2009-05-13 12:07:28 UTC (rev 210) @@ -0,0 +1,80 @@ +package de.campussource.cse.cdmm.domain; + +public class Reference { + + private Entity source; + + private Entity target; + + private ReferenceType referenceType; + + public Reference(Entity source, Entity target, ReferenceType referenceType){ + this.source = source; + this.target = target; + this.referenceType = referenceType; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + + ((referenceType == null) ? 0 : referenceType.hashCode()); + result = prime * result + ((source == null) ? 0 : source.hashCode()); + result = prime * result + ((target == null) ? 0 : target.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + Reference other = (Reference) obj; + if (referenceType == null) { + if (other.referenceType != null) + return false; + } else if (!referenceType.equals(other.referenceType)) + return false; + if (source == null) { + if (other.source != null) + return false; + } else if (!source.equals(other.source)) + return false; + if (target == null) { + if (other.target != null) + return false; + } else if (!target.equals(other.target)) + return false; + return true; + } + + public Entity getSource() { + return source; + } + + public void setSource(Entity source) { + this.source = source; + } + + public Entity getTarget() { + return target; + } + + public void setTarget(Entity target) { + this.target = target; + } + + public ReferenceType getReferenceType() { + return referenceType; + } + + public void setReferenceType(ReferenceType referenceType) { + this.referenceType = referenceType; + } + + +} \ No newline at end of file Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/ReferencesVisitor.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/ReferencesVisitor.java 2009-05-04 14:50:46 UTC (rev 209) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/ReferencesVisitor.java 2009-05-13 12:07:28 UTC (rev 210) @@ -1,6 +1,9 @@ package de.campussource.cse.cdmm.domain; +import java.util.ArrayList; +import java.util.List; + /** * Traverse References of the Entity an calls perform method with reference * target and source entity. @@ -10,6 +13,9 @@ */ public abstract class ReferencesVisitor implements Visitor { + private List<Reference> savedReferences = new ArrayList<Reference>(); + + /** * Is call for each endpoint of outgoing references of an entity * @param target entity of the reference @@ -75,5 +81,15 @@ foundReference(role.getAccount(), role, ReferenceType.ACCOUNT); } } + + + public List<Reference> getSavedReferences() { + return savedReferences; + } + + + public void setSavedReferences(List<Reference> savedReferences) { + this.savedReferences = savedReferences; + } } Added: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/EntityEventMessage.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/EntityEventMessage.java (rev 0) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/EntityEventMessage.java 2009-05-13 12:07:28 UTC (rev 210) @@ -0,0 +1,89 @@ +package de.campussource.cse.cdmm.messages; + +import java.util.Date; + +import javax.xml.bind.annotation.XmlElement; + +import org.apache.commons.lang.builder.ToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; + +import de.campussource.cse.cdmm.domain.Constants; +import de.campussource.cse.cdmm.domain.Entity; + +public class EntityEventMessage extends EventMessage { + private Entity entity; + + private Date eventTime; + + private OutputEventType outputEvent; + + @XmlElement(name=Constants.ENTITY) + public Entity getEntity() { + return entity; + } + + public void setEntity(Entity entity) { + this.entity = entity; + } + + @XmlElement(name=Constants.OUTPUT_EVENT) + public OutputEventType getOutputEvent() { + return outputEvent; + } + + public void setOutputEvent(OutputEventType outputEvent) { + this.outputEvent = outputEvent; + } + + @XmlElement(name=Constants.EVENT_TIME) + public Date getEventTime() { + return eventTime; + } + + public void setEventTime(Date eventTime) { + this.eventTime = eventTime; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((entity == null) ? 0 : entity.hashCode()); + result = prime * result + ((eventTime == null) ? 0 : eventTime.hashCode()); + result = prime * result + ((outputEvent == null) ? 0 : outputEvent.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + EntityEventMessage other = (EntityEventMessage) obj; + if (entity == null) { + if (other.entity != null) + return false; + } else if (!entity.equals(other.entity)) + return false; + if (eventTime == null) { + if (other.eventTime != null) + return false; + } else if (!eventTime.equals(other.eventTime)) + return false; + if (outputEvent == null) { + if (other.outputEvent != null) + return false; + } else if (!outputEvent.equals(other.outputEvent)) + return false; + return true; + } + + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append(outputEvent).append(eventTime).append(entity).toString(); + } +} Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/EventMessage.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/EventMessage.java 2009-05-04 14:50:46 UTC (rev 209) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/EventMessage.java 2009-05-13 12:07:28 UTC (rev 210) @@ -1,16 +1,9 @@ package de.campussource.cse.cdmm.messages; -import java.util.Date; - -import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; -import org.apache.commons.lang.builder.ToStringBuilder; -import org.apache.commons.lang.builder.ToStringStyle; - import de.campussource.cse.cdmm.domain.Constants; -import de.campussource.cse.cdmm.domain.Entity; /** * Event message object @@ -21,80 +14,4 @@ @XmlType(name=Constants.EVENT_MESSAGE_TYPE, propOrder={}) public class EventMessage{ - private Entity entity; - - private Date eventTime; - - private OutputEventType outputEvent; - - @XmlElement(name=Constants.ENTITY) - public Entity getEntity() { - return entity; - } - - public void setEntity(Entity entity) { - this.entity = entity; - } - - @XmlElement(name=Constants.OUTPUT_EVENT) - public OutputEventType getOutputEvent() { - return outputEvent; - } - - public void setOutputEvent(OutputEventType outputEvent) { - this.outputEvent = outputEvent; - } - - @XmlElement(name=Constants.EVENT_TIME) - public Date getEventTime() { - return eventTime; - } - - public void setEventTime(Date eventTime) { - this.eventTime = eventTime; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((entity == null) ? 0 : entity.hashCode()); - result = prime * result + ((eventTime == null) ? 0 : eventTime.hashCode()); - result = prime * result + ((outputEvent == null) ? 0 : outputEvent.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - EventMessage other = (EventMessage) obj; - if (entity == null) { - if (other.entity != null) - return false; - } else if (!entity.equals(other.entity)) - return false; - if (eventTime == null) { - if (other.eventTime != null) - return false; - } else if (!eventTime.equals(other.eventTime)) - return false; - if (outputEvent == null) { - if (other.outputEvent != null) - return false; - } else if (!outputEvent.equals(other.outputEvent)) - return false; - return true; - } - - - @Override - public String toString() { - return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append(outputEvent).append(eventTime).append(entity).toString(); - } - } Added: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/ReferenceEventMessage.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/ReferenceEventMessage.java (rev 0) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/ReferenceEventMessage.java 2009-05-13 12:07:28 UTC (rev 210) @@ -0,0 +1,120 @@ +package de.campussource.cse.cdmm.messages; + +import java.util.Date; + +import org.apache.commons.lang.builder.ToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; + +import de.campussource.cse.cdmm.domain.Entity; +import de.campussource.cse.cdmm.domain.ReferenceType; + +public class ReferenceEventMessage extends EventMessage { + + private Entity source; + + public Entity getSource() { + return source; + } + + public void setSource(Entity source) { + this.source = source; + } + + public Entity getTarget() { + return target; + } + + public void setTarget(Entity target) { + this.target = target; + } + + public ReferenceType getReferenceType() { + return referenceType; + } + + public void setReferenceType(ReferenceType referenceType) { + this.referenceType = referenceType; + } + + public Date getEventTime() { + return eventTime; + } + + public void setEventTime(Date eventTime) { + this.eventTime = eventTime; + } + + public OutputEventType getOutputEvent() { + return outputEvent; + } + + public void setOutputEvent(OutputEventType outputEvent) { + this.outputEvent = outputEvent; + } + + private Entity target; + + private ReferenceType referenceType; + + private Date eventTime; + + private OutputEventType outputEvent; + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + + ((eventTime == null) ? 0 : eventTime.hashCode()); + result = prime * result + + ((outputEvent == null) ? 0 : outputEvent.hashCode()); + result = prime * result + + ((referenceType == null) ? 0 : referenceType.hashCode()); + result = prime * result + ((source == null) ? 0 : source.hashCode()); + result = prime * result + ((target == null) ? 0 : target.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + ReferenceEventMessage other = (ReferenceEventMessage) obj; + if (eventTime == null) { + if (other.eventTime != null) + return false; + } else if (!eventTime.equals(other.eventTime)) + return false; + if (outputEvent == null) { + if (other.outputEvent != null) + return false; + } else if (!outputEvent.equals(other.outputEvent)) + return false; + if (referenceType == null) { + if (other.referenceType != null) + return false; + } else if (!referenceType.equals(other.referenceType)) + return false; + if (source == null) { + if (other.source != null) + return false; + } else if (!source.equals(other.source)) + return false; + if (target == null) { + if (other.target != null) + return false; + } else if (!target.equals(other.target)) + return false; + return true; + } + + @Override + public String toString(){ + return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append(outputEvent).append(eventTime).append(source).append(target).append(referenceType).toString(); + } + +} Modified: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/EventBuilderBeanTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/EventBuilderBeanTest.java 2009-05-04 14:50:46 UTC (rev 209) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/EventBuilderBeanTest.java 2009-05-13 12:07:28 UTC (rev 210) @@ -12,6 +12,7 @@ import de.campussource.cse.cdmm.domain.Category; import de.campussource.cse.cdmm.domain.Entity; +import de.campussource.cse.cdmm.messages.EntityEventMessage; import de.campussource.cse.cdmm.messages.EventMessage; import de.campussource.cse.cdmm.messages.OutputEventType; @@ -63,8 +64,8 @@ assertFalse(events.isEmpty()); assertEquals(3, events.size()); - assertEquals(OutputEventType.CREATE, events.get(0).getOutputEvent()); - assertEquals(OutputEventType.UPDATE, events.get(1).getOutputEvent()); - assertEquals(OutputEventType.DELETE, events.get(2).getOutputEvent()); + assertEquals(OutputEventType.CREATE, ((EntityEventMessage)events.get(0)).getOutputEvent()); + assertEquals(OutputEventType.UPDATE, ((EntityEventMessage)events.get(1)).getOutputEvent()); + assertEquals(OutputEventType.DELETE, ((EntityEventMessage)events.get(2)).getOutputEvent()); } } Modified: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelMergerTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelMergerTest.java 2009-05-04 14:50:46 UTC (rev 209) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelMergerTest.java 2009-05-13 12:07:28 UTC (rev 210) @@ -14,9 +14,11 @@ import de.campussource.cse.cdmm.domain.Category; import de.campussource.cse.cdmm.domain.Course; import de.campussource.cse.cdmm.domain.Entity; +import de.campussource.cse.cdmm.domain.ReferenceType; import de.campussource.cse.cdmm.domain.Role; import de.campussource.cse.cdmm.domain.State; import de.campussource.cse.cdmm.messages.EventMessage; +import de.campussource.cse.cdmm.messages.OutputEventType; public class ModelMergerTest { @@ -185,6 +187,8 @@ public void addCreateEvent(Entity source) { } public void addDeleteEvent(Entity source) { } public void addUpdateEvent(Entity source) { } + public void addSaveReferenceEvent(Entity source, Entity target, ReferenceType referenceType, OutputEventType type) { } + public void addDeleteReferenceEvent(Entity source, Entity target, ReferenceType referenceType, OutputEventType type) { } public List<EventMessage> build() { return null; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pka...@us...> - 2009-05-04 14:50:51
|
Revision: 209 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=209&view=rev Author: pkasprzak Date: 2009-05-04 14:50:46 +0000 (Mon, 04 May 2009) Log Message: ----------- * Added support for creating categories * Added appropriate Testcase Modified Paths: -------------- trunk/sandbox/lsf-adapter-demo/CSEIPCA/build.xml trunk/sandbox/lsf-adapter-demo/CSEIPCA/nbproject/build-impl.xml trunk/sandbox/lsf-adapter-demo/CSEIPCA/nbproject/genfiles.properties trunk/sandbox/lsf-adapter-demo/CSEIPCA/src/conf/CSEIPCA.casa Added Paths: ----------- trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCategoryMessage/ trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCategoryMessage/Concurrent.properties trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCategoryMessage/Input.xml trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCategoryMessage/Output.xml trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCourseMessage/ trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCourseMessage/Concurrent.properties trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCourseMessage/Input.xml trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCourseMessage/Output.xml Modified: trunk/sandbox/lsf-adapter-demo/CSEIPCA/build.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/CSEIPCA/build.xml 2009-05-04 14:50:32 UTC (rev 208) +++ trunk/sandbox/lsf-adapter-demo/CSEIPCA/build.xml 2009-05-04 14:50:46 UTC (rev 209) @@ -56,17 +56,13 @@ nbproject/build-impl.xml file. --> - <target name="-check-netbeans-home"> - <condition property="no.netbeans.home"> - <not> - <isset property="netbeans.home"/> - </not> - </condition> + <target name="-init-esb-ide" if="netbeans.home"> + <property name="esb.netbeans.platform" value="${netbeans.home}"/> </target> - <target name="-init-caps" if="no.netbeans.home"> + <target name="-init-esb-cmdline" unless="netbeans.home"> <property file="${basedir}/nbproject/private/private.properties"/> - <property name="netbeans.home" value="${caps.netbeans.home}/platform9"/> - <property name="netbeans.user" value="${caps.netbeans.user}"/> + <property name="esb.netbeans.platform" value="${esb.netbeans.home}/platform9"/> + <property name="netbeans.user" value="${esb.netbeans.user}"/> <property name="from.commandline" value="true"/> </target> <target name="-check-catd-context"> @@ -79,5 +75,5 @@ <target name="-init-catd" if="no.catd.context"> <property name="org.netbeans.modules.compapp.catd.context" value=""/> </target> - <target name="pre-init" depends="-check-netbeans-home,-init-caps,-check-catd-context,-init-catd"/> + <target name="pre-init" depends="-init-esb-ide,-init-esb-cmdline,-check-catd-context,-init-catd"/> </project> Modified: trunk/sandbox/lsf-adapter-demo/CSEIPCA/nbproject/build-impl.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/CSEIPCA/nbproject/build-impl.xml 2009-05-04 14:50:32 UTC (rev 208) +++ trunk/sandbox/lsf-adapter-demo/CSEIPCA/nbproject/build-impl.xml 2009-05-04 14:50:46 UTC (rev 209) @@ -45,9 +45,9 @@ <available file="${test.dir}"/> </or> </condition> - <condition property="netbeans.home+have.tests"> + <condition property="esb.netbeans.platform+have.tests"> <and> - <isset property="netbeans.home"/> + <isset property="esb.netbeans.platform"/> <isset property="have.tests"/> </and> </condition> @@ -72,14 +72,14 @@ <pathelement location="${soa.module.install.dir}/org-netbeans-soa-libs-xmlbeans.jar"/> <pathelement location="${soa.module.install.dir}/ext/jbi/jbi-admin-common.jar"/> <pathelement location="${soa.module.install.dir}/../ant/nblib/org-netbeans-modules-compapp-projects-jbi.jar"/> - <pathelement location="${netbeans.home}/lib/org-openide-util.jar"/> - <pathelement location="${netbeans.home}/lib/org-openide-modules.jar"/> - <pathelement location="${netbeans.home}/modules/org-openide-options.jar"/> - <pathelement location="${netbeans.home}/modules/org-openide-text.jar"/> - <pathelement location="${netbeans.home}/modules/org-openide-loaders.jar"/> - <pathelement location="${netbeans.home}/modules/org-openide-nodes.jar"/> - <pathelement location="${netbeans.home}/modules/org-openide-dialogs.jar"/> - <pathelement location="${netbeans.home}/core/org-openide-filesystems.jar"/> + <pathelement location="${esb.netbeans.platform}/lib/org-openide-util.jar"/> + <pathelement location="${esb.netbeans.platform}/lib/org-openide-modules.jar"/> + <pathelement location="${esb.netbeans.platform}/modules/org-openide-options.jar"/> + <pathelement location="${esb.netbeans.platform}/modules/org-openide-text.jar"/> + <pathelement location="${esb.netbeans.platform}/modules/org-openide-loaders.jar"/> + <pathelement location="${esb.netbeans.platform}/modules/org-openide-nodes.jar"/> + <pathelement location="${esb.netbeans.platform}/modules/org-openide-dialogs.jar"/> + <pathelement location="${esb.netbeans.platform}/core/org-openide-filesystems.jar"/> <pathelement location="${ide.module.install.dir}/ext/xerces-2.8.0.jar"/> <pathelement location="${ide.module.install.dir}/ext/xml-commons-dom-ranges-1.0.b2.jar"/> <pathelement location="${ide.module.install.dir}/org-netbeans-modules-xml-retriever.jar"/> @@ -269,7 +269,7 @@ <!-- DIST BUILDING SECTION --> - <target name="jbi-build" depends="init,init-deploy,deps-jar, deps-javaee-jar" description="Build Service Assembly."> + <target name="jbi-build" depends="init,init-deploy,deps-jar,deps-javaee-jar" description="Build Service Assembly."> <mkdir dir="${src.dir}"/> <copy todir="${src.dir}/../jbiServiceUnits" overwrite="true"> <fileset dir="${src.dir}"/> @@ -303,6 +303,11 @@ <loadproperties srcFile="${basedir}/nbproject/private/private.properties"/> <jbi-deploy-service-assembly serviceAssemblyID="${jbi.service-assembly.id}" serviceAssemblyLocation="${basedir}/${dist.jar}" netBeansUserDir="${netbeans.user}" j2eeServerInstance="${j2ee.server.instance}"/> </target> + <target name="run-jbi-deploy-without-build" depends="init,init-deploy"> + <property name="j2ee.server.instance" value=""/> + <loadproperties srcFile="${basedir}/nbproject/private/private.properties"/> + <jbi-deploy-service-assembly serviceAssemblyID="${jbi.service-assembly.id}" serviceAssemblyLocation="${basedir}/${dist.jar}" netBeansUserDir="${netbeans.user}" j2eeServerInstance="${j2ee.server.instance}"/> + </target> <target name="undeploy" depends="init"> <property name="j2ee.server.instance" value=""/> <loadproperties srcFile="${basedir}/nbproject/private/private.properties"/> @@ -319,15 +324,15 @@ <!-- DEBUGGING SECTION --> - <target name="debug" description="Debug project in IDE." depends="run,-pre-debug" if="netbeans.home"/> + <target name="debug" description="Debug project in IDE." depends="run,-pre-debug" if="esb.netbeans.platform"/> <target name="pre-debug-fix" depends="init"> <fail unless="fix.includes">Must set fix.includes</fail> <property name="javac.includes" value="${fix.includes}.java"/> </target> - <target name="do-debug-fix" if="netbeans.home" depends="init,pre-debug-fix,compile-single"> + <target name="do-debug-fix" if="esb.netbeans.platform" depends="init,pre-debug-fix,compile-single"> <j2seproject:nbjpdareload xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"/> </target> - <target name="debug-fix" if="netbeans.home" depends="init,pre-debug-fix,do-debug-fix"/> + <target name="debug-fix" if="esb.netbeans.platform" depends="init,pre-debug-fix,do-debug-fix"/> <!-- CLEANUP SECTION --> @@ -385,18 +390,18 @@ <pathelement path="${ide.module.install.dir}/org-netbeans-modules-xml-xdm.jar"/> <pathelement path="${ide.module.install.dir}/org-netbeans-modules-xml-xam.jar"/> <pathelement path="${ide.module.install.dir}/ext/jaxb/activation.jar"/> - <pathelement path="${netbeans.home}/lib/org-openide-modules.jar"/> - <pathelement path="${netbeans.home}/lib/org-openide-util.jar"/> - <pathelement path="${netbeans.home}/modules/org-openide-options.jar"/> - <pathelement path="${netbeans.home}/modules/org-openide-text.jar"/> - <pathelement path="${netbeans.home}/modules/org-openide-loaders.jar"/> - <pathelement path="${netbeans.home}/modules/org-openide-nodes.jar"/> - <pathelement path="${netbeans.home}/modules/org-netbeans-modules-editor-mimelookup.jar"/> - <pathelement path="${netbeans.home}/modules/org-netbeans-modules-editor-mimelookup-impl.jar"/> - <pathelement path="${netbeans.home}/core/org-openide-filesystems.jar"/> + <pathelement path="${esb.netbeans.platform}/lib/org-openide-modules.jar"/> + <pathelement path="${esb.netbeans.platform}/lib/org-openide-util.jar"/> + <pathelement path="${esb.netbeans.platform}/modules/org-openide-options.jar"/> + <pathelement path="${esb.netbeans.platform}/modules/org-openide-text.jar"/> + <pathelement path="${esb.netbeans.platform}/modules/org-openide-loaders.jar"/> + <pathelement path="${esb.netbeans.platform}/modules/org-openide-nodes.jar"/> + <pathelement path="${esb.netbeans.platform}/modules/org-netbeans-modules-editor-mimelookup.jar"/> + <pathelement path="${esb.netbeans.platform}/modules/org-netbeans-modules-editor-mimelookup-impl.jar"/> + <pathelement path="${esb.netbeans.platform}/core/org-openide-filesystems.jar"/> </path> </target> - <target name="-do-test-run" if="netbeans.home+have.tests" depends="init,-pre-test-run"> + <target name="-do-test-run" if="esb.netbeans.platform+have.tests" depends="init,-pre-test-run"> <junit showoutput="true" fork="yes" dir="${basedir}" failureproperty="tests.failed" errorproperty="tests.failed"> <classpath refid="unit.test.classpath"/> <sysproperty key="NetBeansUserDir" value="${netbeans.user}"/> @@ -410,7 +415,7 @@ <formatter type="xml"/> </junit> </target> - <target name="-do-single-test-run" if="netbeans.home+have.tests" depends="init,-pre-test-run"> + <target name="-do-single-test-run" if="esb.netbeans.platform+have.tests" depends="init,-pre-test-run"> <junit showoutput="true" fork="yes" dir="${basedir}" failureproperty="tests.failed" errorproperty="tests.failed"> <classpath refid="unit.test.classpath"/> <sysproperty key="NetBeansUserDir" value="${netbeans.user}"/> @@ -432,7 +437,7 @@ <fail if="tests.failed">Some tests failed; see details above.</fail> </target> <target name="test-report" if="have.tests" depends="init"/> - <target name="-test-browse" if="netbeans.home+have.tests" depends="init"/> + <target name="-test-browse" if="esb.netbeans.platform+have.tests" depends="init"/> <target name="test" depends="init,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests."/> <target name="test-single" depends="init,-pre-test-run,-do-single-test-run,test-report,-post-single-test-run,-test-browse" description="Run unit tests."/> <target name="debug-single" depends="init,-pre-test-run,-pre-debug,-do-single-test-run,-post-debug,test-report,-post-single-test-run,-test-browse" description="Debug unit tests."/> Modified: trunk/sandbox/lsf-adapter-demo/CSEIPCA/nbproject/genfiles.properties =================================================================== --- trunk/sandbox/lsf-adapter-demo/CSEIPCA/nbproject/genfiles.properties 2009-05-04 14:50:32 UTC (rev 208) +++ trunk/sandbox/lsf-adapter-demo/CSEIPCA/nbproject/genfiles.properties 2009-05-04 14:50:46 UTC (rev 209) @@ -1,8 +1,8 @@ build.xml.data.CRC32=b15138c1 -build.xml.script.CRC32=7a0b0a73 -build.xml.stylesheet.CRC32=c1dfe9a8 +build.xml.script.CRC32=bd4e221c +build.xml.stylesheet.CRC32=d4244632 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=b15138c1 -nbproject/build-impl.xml.script.CRC32=dc38a3a6 -nbproject/build-impl.xml.stylesheet.CRC32=b6a25443 +nbproject/build-impl.xml.script.CRC32=29630ce0 +nbproject/build-impl.xml.stylesheet.CRC32=c7d487f2 Modified: trunk/sandbox/lsf-adapter-demo/CSEIPCA/src/conf/CSEIPCA.casa =================================================================== --- trunk/sandbox/lsf-adapter-demo/CSEIPCA/src/conf/CSEIPCA.casa 2009-05-04 14:50:32 UTC (rev 208) +++ trunk/sandbox/lsf-adapter-demo/CSEIPCA/src/conf/CSEIPCA.casa 2009-05-04 14:50:46 UTC (rev 209) @@ -45,23 +45,13 @@ <consumes endpoint="endpoint1"/> <provides endpoint="endpoint1"/> </port> - <port x="67" y="114"> - <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ilias-3.10.5.wsdl#xpointer(/definitions/service[@name='ILIASSoapWebservice']/port[@name='ILIASSoapWebservicePort'])" xlink:type="simple"/> - <consumes endpoint="endpoint5"/> - <provides endpoint="endpoint5"/> - </port> - <port x="67" y="191"> - <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ILIASClientAdapter.wsdl#xpointer(/definitions/service[@name='ILIASClientAdapterService']/port[@name='ILIASClientAdapterPort'])" xlink:type="simple"/> - <consumes endpoint="endpoint6"/> - <provides endpoint="endpoint6"/> - </port> <port state="deleted" x="67" y="37"> <link xlink:href="../jbiServiceUnits/LSFClientAdapter/XSLTTransform.wsdl#xpointer(/definitions/service[@name='XSLTTransformService']/port[@name='XSLTTransformPort'])" xlink:type="simple"/> <consumes endpoint="endpoint2"/> <provides endpoint="endpoint2"/> </port> - <port x="67" y="37"> - <link xlink:href="../jbiServiceUnits/META-INF/LSFClientAdapter/src/_references/_projects/ObjectProcessor/src/ObjectProcessor.wsdl#xpointer(/definitions/service[@name='ObjectProcessorService']/port[@name='ObjectProcessorPortTypeBindingPort'])" xlink:type="simple"/> + <port x="67" y="114"> + <link xlink:href="../jbiServiceUnits/ObjectProcessor/ObjectProcessor.wsdl#xpointer(/definitions/service[@name='ObjectProcessorService']/port[@name='ObjectProcessorPortTypeBindingPort'])" xlink:type="simple"/> <consumes endpoint="endpoint4"/> <provides endpoint="endpoint4"/> </port> @@ -70,6 +60,16 @@ <consumes endpoint="endpoint3"/> <provides endpoint="endpoint3"/> </port> + <port x="67" y="37"> + <link xlink:href="../jbiServiceUnits/META-INF/ILIASClientAdapter/src/ilias-3.10.5.wsdl#xpointer(/definitions/service[@name='ILIASSoapWebservice']/port[@name='ILIASSoapWebservicePort'])" xlink:type="simple"/> + <consumes endpoint="endpoint5"/> + <provides endpoint="endpoint5"/> + </port> + <port x="67" y="191"> + <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ILIASClientAdapter.wsdl#xpointer(/definitions/service[@name='ILIASClientAdapterService']/port[@name='ILIASClientAdapterPort'])" xlink:type="simple"/> + <consumes endpoint="endpoint6"/> + <provides endpoint="endpoint6"/> + </port> </ports> </binding-component-service-unit> </service-units> @@ -86,56 +86,56 @@ </connections> <porttypes> <link xlink:href="../jbiasa/CSEIPCA.wsdl#xpointer(/definitions/portType[@name='dummyCasaPortType'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ilias-3.10.5.wsdl#xpointer(/definitions/portType[@name='ILIASSoapWebservicePortType'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ILIASClientAdapter.wsdl#xpointer(/definitions/portType[@name='ILIASClientAdapterPortType'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ilias-3.10.5-fixed.wsdl#xpointer(/definitions/portType[@name='ILIASSoapWebservicePortType'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/Common/CDMM.wsdl#xpointer(/definitions/portType[@name='CDMMPortType'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/LSFClientAdapter/LSFClientAdapter.wsdl#xpointer(/definitions/portType[@name='LSFClientAdapterPortType'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/LSFClientAdapter/XSLTTransform.wsdl#xpointer(/definitions/portType[@name='XSLTTransformPortType'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/CSEIPCA.wsdl#xpointer(/definitions/portType[@name='dummyCasaPortType'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/META-INF/ILIASClientAdapter/src/ilias-3.10.5.wsdl#xpointer(/definitions/portType[@name='ILIASSoapWebservicePortType'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/ObjectProcessor/ObjectProcessor.wsdl#xpointer(/definitions/portType[@name='ObjectProcessorPortType'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/XSLTTransform/META-INF/wsdl/XSLTTransform/XSLTTransform.wsdl#xpointer(/definitions/portType[@name='XSLTTransformPortType'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/META-INF/Common/src/CDMM.wsdl#xpointer(/definitions/portType[@name='CDMMPortType'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/META-INF/LSFClientAdapter/src/_references/_projects/ObjectProcessor/src/ObjectProcessor.wsdl#xpointer(/definitions/portType[@name='ObjectProcessorPortType'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/META-INF/ObjectProcessor/src/_references/_projects/IdentityMapper/src/conf/wsdl/IdentityMapperWS/IdentityMapper.wsdl#xpointer(/definitions/portType[@name='IdentityMapperPortType'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/META-INF/ILIASClientAdapter/src/ilias-3.10.5.wsdl#xpointer(/definitions/portType[@name='ILIASSoapWebservicePortType'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/CSEIPCA.wsdl#xpointer(/definitions/portType[@name='dummyCasaPortType'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ILIASClientAdapter.wsdl#xpointer(/definitions/portType[@name='ILIASClientAdapterPortType'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ilias-3.10.5-fixed.wsdl#xpointer(/definitions/portType[@name='ILIASSoapWebservicePortType'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ilias-3.10.5.wsdl#xpointer(/definitions/portType[@name='ILIASSoapWebservicePortType'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/IdentityMapper/IdentityMapper.wsdl#xpointer(/definitions/portType[@name='IdentityMapperPortType'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/IdentityMapper/META-INF/wsdl/IdentityMapperWS/IdentityMapper.wsdl#xpointer(/definitions/portType[@name='IdentityMapperPortType'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/IdentityMapper/IdentityMapper.wsdl#xpointer(/definitions/portType[@name='IdentityMapperPortType'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/XSLTTransform/META-INF/wsdl/XSLTTransform/XSLTTransform.wsdl#xpointer(/definitions/portType[@name='XSLTTransformPortType'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/ObjectProcessor/ObjectProcessor.wsdl#xpointer(/definitions/portType[@name='ObjectProcessorPortType'])" xlink:type="simple"/> </porttypes> <bindings> <link xlink:href="../jbiasa/CSEIPCA.wsdl#xpointer(/definitions/binding[@name='casaBinding1'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ilias-3.10.5.wsdl#xpointer(/definitions/binding[@name='ILIASSoapWebserviceBinding'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ILIASClientAdapter.wsdl#xpointer(/definitions/binding[@name='ILIASClientAdapterBinding'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ilias-3.10.5-fixed.wsdl#xpointer(/definitions/binding[@name='ILIASSoapWebserviceBinding'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/Common/CDMM.wsdl#xpointer(/definitions/binding[@name='CDMMPortTypeBinding'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/LSFClientAdapter/LSFClientAdapter.wsdl#xpointer(/definitions/binding[@name='LSFClientAdapterPortTypeBinding'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/LSFClientAdapter/XSLTTransform.wsdl#xpointer(/definitions/binding[@name='XSLTTransformBinding'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/CSEIPCA.wsdl#xpointer(/definitions/binding[@name='casaBinding1'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/META-INF/ILIASClientAdapter/src/ilias-3.10.5.wsdl#xpointer(/definitions/binding[@name='ILIASSoapWebserviceBinding'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/ObjectProcessor/ObjectProcessor.wsdl#xpointer(/definitions/binding[@name='ObjectProcessorPortTypeBinding'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/XSLTTransform/META-INF/wsdl/XSLTTransform/XSLTTransform.wsdl#xpointer(/definitions/binding[@name='XSLTTransformBinding'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/META-INF/Common/src/CDMM.wsdl#xpointer(/definitions/binding[@name='CDMMPortTypeBinding'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/META-INF/LSFClientAdapter/src/_references/_projects/ObjectProcessor/src/ObjectProcessor.wsdl#xpointer(/definitions/binding[@name='ObjectProcessorPortTypeBinding'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/META-INF/ObjectProcessor/src/_references/_projects/IdentityMapper/src/conf/wsdl/IdentityMapperWS/IdentityMapper.wsdl#xpointer(/definitions/binding[@name='IdentityMapperBinding'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/META-INF/ILIASClientAdapter/src/ilias-3.10.5.wsdl#xpointer(/definitions/binding[@name='ILIASSoapWebserviceBinding'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/CSEIPCA.wsdl#xpointer(/definitions/binding[@name='casaBinding1'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ILIASClientAdapter.wsdl#xpointer(/definitions/binding[@name='ILIASClientAdapterBinding'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ilias-3.10.5-fixed.wsdl#xpointer(/definitions/binding[@name='ILIASSoapWebserviceBinding'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ilias-3.10.5.wsdl#xpointer(/definitions/binding[@name='ILIASSoapWebserviceBinding'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/IdentityMapper/IdentityMapper.wsdl#xpointer(/definitions/binding[@name='IdentityMapperBinding'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/IdentityMapper/META-INF/wsdl/IdentityMapperWS/IdentityMapper.wsdl#xpointer(/definitions/binding[@name='IdentityMapperBinding'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/IdentityMapper/IdentityMapper.wsdl#xpointer(/definitions/binding[@name='IdentityMapperBinding'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/XSLTTransform/META-INF/wsdl/XSLTTransform/XSLTTransform.wsdl#xpointer(/definitions/binding[@name='XSLTTransformBinding'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/ObjectProcessor/ObjectProcessor.wsdl#xpointer(/definitions/binding[@name='ObjectProcessorPortTypeBinding'])" xlink:type="simple"/> </bindings> <services> <link xlink:href="../jbiasa/CSEIPCA.wsdl#xpointer(/definitions/service[@name='casaService1'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ilias-3.10.5.wsdl#xpointer(/definitions/service[@name='ILIASSoapWebservice'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ILIASClientAdapter.wsdl#xpointer(/definitions/service[@name='ILIASClientAdapterService'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ilias-3.10.5-fixed.wsdl#xpointer(/definitions/service[@name='ILIASSoapWebservice'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/Common/CDMM.wsdl#xpointer(/definitions/service[@name='CDMMService'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/LSFClientAdapter/XSLTTransform.wsdl#xpointer(/definitions/service[@name='XSLTTransformService'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/CSEIPCA.wsdl#xpointer(/definitions/service[@name='casaService1'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/META-INF/ILIASClientAdapter/src/ilias-3.10.5.wsdl#xpointer(/definitions/service[@name='ILIASSoapWebservice'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/ObjectProcessor/ObjectProcessor.wsdl#xpointer(/definitions/service[@name='ObjectProcessorService'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/XSLTTransform/META-INF/wsdl/XSLTTransform/XSLTTransform.wsdl#xpointer(/definitions/service[@name='XSLTTransformService'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/META-INF/Common/src/CDMM.wsdl#xpointer(/definitions/service[@name='CDMMService'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/META-INF/LSFClientAdapter/src/_references/_projects/ObjectProcessor/src/ObjectProcessor.wsdl#xpointer(/definitions/service[@name='ObjectProcessorService'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/META-INF/ObjectProcessor/src/_references/_projects/IdentityMapper/src/conf/wsdl/IdentityMapperWS/IdentityMapper.wsdl#xpointer(/definitions/service[@name='IdentityMapperService'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/META-INF/ILIASClientAdapter/src/ilias-3.10.5.wsdl#xpointer(/definitions/service[@name='ILIASSoapWebservice'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/CSEIPCA.wsdl#xpointer(/definitions/service[@name='casaService1'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ILIASClientAdapter.wsdl#xpointer(/definitions/service[@name='ILIASClientAdapterService'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ilias-3.10.5-fixed.wsdl#xpointer(/definitions/service[@name='ILIASSoapWebservice'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/ILIASClientAdapter/ilias-3.10.5.wsdl#xpointer(/definitions/service[@name='ILIASSoapWebservice'])" xlink:type="simple"/> + <link xlink:href="../jbiServiceUnits/IdentityMapper/IdentityMapper.wsdl#xpointer(/definitions/service[@name='IdentityMapperService'])" xlink:type="simple"/> <link xlink:href="../jbiServiceUnits/IdentityMapper/META-INF/wsdl/IdentityMapperWS/IdentityMapper.wsdl#xpointer(/definitions/service[@name='IdentityMapperService'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/IdentityMapper/IdentityMapper.wsdl#xpointer(/definitions/service[@name='IdentityMapperService'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/XSLTTransform/META-INF/wsdl/XSLTTransform/XSLTTransform.wsdl#xpointer(/definitions/service[@name='XSLTTransformService'])" xlink:type="simple"/> - <link xlink:href="../jbiServiceUnits/ObjectProcessor/ObjectProcessor.wsdl#xpointer(/definitions/service[@name='ObjectProcessorService'])" xlink:type="simple"/> </services> <regions> <region name="WSDL Endpoints" width="150"/> Added: trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCategoryMessage/Concurrent.properties =================================================================== --- trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCategoryMessage/Concurrent.properties (rev 0) +++ trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCategoryMessage/Concurrent.properties 2009-05-04 14:50:46 UTC (rev 209) @@ -0,0 +1,13 @@ +calculatethroughput=false +#comparisontype's possible values: identical|binary|equals +comparisontype=identical +concurrentthreads=1 +description=testcase FeedIliasAdapterWithCategoryMessage +destination=http://localhost:${HttpDefaultPort}/ILIASClientAdapterService/ILIASClientAdapterPort +#featurestatus's possible values: progress|done +featurestatus=done +inputfile=Input.xml +invokesperthread=1 +outputfile=Output.xml +soapaction= +testtimeout=30 Added: trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCategoryMessage/Input.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCategoryMessage/Input.xml (rev 0) +++ trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCategoryMessage/Input.xml 2009-05-04 14:50:46 UTC (rev 209) @@ -0,0 +1,32 @@ +<soapenv:Envelope xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ili="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/ILIASClientAdapter"> + <soapenv:Body> + <ili:ProcessCategoryOperation> + <categoryMessage> + <category> + <busId>?string?</busId> + <eventTime>?2008-09-29T03:49:45?</eventTime> + <!--Zero or more repetitions:--> + <attribute> + <name>name</name> + <value>Fakultät 4 (Sprach-, Literatur- u. Kulturwissenschaften)</value> + <transient>false</transient> + </attribute> + <!--Optional:--> + <parent>?string?</parent> + <!--Optional:--> + <categories> + <!--Zero or more repetitions:--> + <category>?string?</category> + </categories> + <!--Optional:--> + <courses> + <!--Zero or more repetitions:--> + <course>?string?</course> + </courses> + </category> + <eventTime>?2004-02-14T19:44:14?</eventTime> + <inputEvent>?DELETE?</inputEvent> + </categoryMessage> + </ili:ProcessCategoryOperation> + </soapenv:Body> +</soapenv:Envelope> \ No newline at end of file Added: trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCourseMessage/Concurrent.properties =================================================================== --- trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCourseMessage/Concurrent.properties (rev 0) +++ trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCourseMessage/Concurrent.properties 2009-05-04 14:50:46 UTC (rev 209) @@ -0,0 +1,13 @@ +calculatethroughput=false +#comparisontype's possible values: identical|binary|equals +comparisontype=identical +concurrentthreads=1 +description=testcase FeedILIASAdapter +destination=http://localhost:${HttpDefaultPort}/ILIASClientAdapterService/ILIASClientAdapterPort +#featurestatus's possible values: progress|done +featurestatus=done +inputfile=Input.xml +invokesperthread=1 +outputfile=Output.xml +soapaction= +testtimeout=30 Added: trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCourseMessage/Input.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCourseMessage/Input.xml (rev 0) +++ trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedIliasAdapterWithCourseMessage/Input.xml 2009-05-04 14:50:46 UTC (rev 209) @@ -0,0 +1,189 @@ +<soapenv:Envelope xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ili="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/ILIASClientAdapter"> + <soapenv:Body> + <ili:ProcessCourseOperation> + <courseMessage> + <course> + + <busId>?string?</busId> + <eventTime>?2008-09-29T03:49:45?</eventTime> + + <!--- - - - - Attribute: lsfId - - - - - --> + <attribute> + <name>lsfId</name> + <value>32350</value> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: logicalNumber - - - - - --> + <attribute> + <name>logicalNumber</name> + <value/> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: type - - - - - --> + <attribute> + <name>type</name> + <value>Tutorium</value> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: title - - - - - --> + <attribute> + <name>title</name> + <value>Tutorium-Test</value> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: shortDescription - - - - - --> + <attribute> + <name>shortDescription</name> + <value/> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: abbreviation - - - - - --> + <attribute> + <name>abbreviation</name> + <value/> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: necessaryAssignment - - - - - --> + <attribute> + <name>necessaryAssignment</name> + <value>J</value> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: note - - - - - --> + <attribute> + <name>note</name> + <value/> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: comment - - - - - --> + <attribute> + <name>comment</name> + <value/> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: semesterAsInt - - - - - --> + <attribute> + <name>semesterAsInt</name> + <value>20081</value> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: semesterPeriodsPerWeek - - - - - --> + <attribute> + <name>semesterPeriodsPerWeek</name> + <value/> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: expectedRegistrations - - - - - --> + <attribute> + <name>expectedRegistrations</name> + <value/> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: maximumRegistrations - - - - - --> + <attribute> + <name>maximumRegistrations</name> + <value>20</value> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: activityConfirmation - - - - - --> + <attribute> + <name>activityConfirmation</name> + <value/> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: lectureTypeId - - - - - --> + <attribute> + <name>lectureTypeId</name> + <value>40</value> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: active - - - - - --> + <attribute> + <name>active</name> + <value>A</value> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: semesterAbbr - - - - - --> + <attribute> + <name>semesterAbbr</name> + <value>SS 2008</value> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: semesterFull - - - - - --> + <attribute> + <name>semesterFull</name> + <value>SS 2008</value> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: dates - - - - - --> + <attribute> + <name>dates</name> + <value> + + + + 14:00 + 16:00 + + + Montag + wöchentlich + + + + + 14:00 + 15:00 + + + Mittwoch + wöchentlich + + </value> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: clientId - - - - - --> + <attribute> + <name>clientId</name> + <value>lecture:32350</value> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: semesterId - - - - - --> + <attribute> + <name>semesterId</name> + <value>20081</value> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: startDate - - - - - --> + <attribute> + <name>startDate</name> + <value>14.04.2008</value> + <transient>false</transient> + </attribute> + <!--- - - - - Attribute: endDate - - - - - --> + <attribute> + <name>endDate</name> + <value>18.07.2008</value> + <transient>false</transient> + </attribute> + + <!--Optional:--> + <categories> + <!--Zero or more repetitions:--> + <category>?string?</category> + </categories> + <!--Optional:--> + <parent>?string?</parent> + <!--Optional:--> + <workgroups> + <!--Zero or more repetitions:--> + <workgroup>?string?</workgroup> + </workgroups> + </course> + + <eventTime>?2004-02-14T19:44:14?</eventTime> + <inputEvent>?DELETE?</inputEvent> + </courseMessage> + </ili:ProcessCourseOperation> + </soapenv:Body> +</soapenv:Envelope> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pka...@us...> - 2009-05-04 14:50:33
|
Revision: 208 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=208&view=rev Author: pkasprzak Date: 2009-05-04 14:50:32 +0000 (Mon, 04 May 2009) Log Message: ----------- * Added support for creating categories * Added appropriate Testcase Removed Paths: ------------- trunk/sandbox/lsf-adapter-demo/CSEIPCA/test/FeedILIASAdapter/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pka...@us...> - 2009-05-04 14:50:29
|
Revision: 207 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=207&view=rev Author: pkasprzak Date: 2009-05-04 14:50:27 +0000 (Mon, 04 May 2009) Log Message: ----------- * Added support for creating categories * Added appropriate Testcase Modified Paths: -------------- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/catalog.xml trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ILIASClientAdapter.wsdl trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel Added Paths: ----------- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course-exported.xml Modified: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/catalog.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/catalog.xml 2009-05-04 13:54:05 UTC (rev 206) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/catalog.xml 2009-05-04 14:50:27 UTC (rev 207) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system"> <system systemId="file:/home/pete/openESB/ilias-3.10.5.wsdl" uri="src/ilias-3.10.5.wsdl"/> + <nextCatalog catalog="nbproject/private/cache/retriever/catalog.xml"/> <system systemId="Common/CDDM.xsd" uri="nb-uri:Common#src/CDDM.xsd"/> - <nextCatalog catalog="nbproject/private/cache/retriever/catalog.xml"/> </catalog> Modified: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ILIASClientAdapter.wsdl =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ILIASClientAdapter.wsdl 2009-05-04 13:54:05 UTC (rev 206) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ILIASClientAdapter.wsdl 2009-05-04 14:50:27 UTC (rev 207) @@ -11,10 +11,16 @@ <message name="ProcessCourseOperationRequest"> <part name="courseMessage" type="ns:courseMessageType"/> </message> + <message name="ProcessCategoryOperationRequest"> + <part name="categoryMessage" type="ns:categoryMessageType"/> + </message> <portType name="ILIASClientAdapterPortType"> <operation name="ProcessCourseOperation"> <input name="input1" message="tns:ProcessCourseOperationRequest"/> </operation> + <operation name="ProcessCategoryOperation"> + <input name="input2" message="tns:ProcessCategoryOperationRequest"/> + </operation> </portType> <binding name="ILIASClientAdapterBinding" type="tns:ILIASClientAdapterPortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> @@ -24,6 +30,12 @@ <soap:body use="literal" namespace="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/ILIASClientAdapter"/> </input> </operation> + <operation name="ProcessCategoryOperation"> + <soap:operation/> + <input name="input2"> + <soap:body use="literal" namespace="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/ILIASClientAdapter"/> + </input> + </operation> </binding> <service name="ILIASClientAdapterService"> <port name="ILIASClientAdapterPort" binding="tns:ILIASClientAdapterBinding"> Modified: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel 2009-05-04 13:54:05 UTC (rev 206) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel 2009-05-04 14:50:27 UTC (rev 207) @@ -27,6 +27,9 @@ <variables> <!-- Messages --> + <variable name="ProcessCategoryOperationIn" xmlns:tns="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/ILIASClientAdapter" messageType="tns:ProcessCategoryOperationRequest"/> + <variable name="ProcessCourseOperationIn" xmlns:tns="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/ILIASClientAdapter" messageType="tns:ProcessCourseOperationRequest"/> + <variable name="AddObjectOut" xmlns:tns="urn:ilUserAdministration" messageType="tns:addObjectResponse"/> <variable name="AddObjectIn" xmlns:tns="urn:ilUserAdministration" messageType="tns:addObjectRequest"/> <variable name="GetObjectsByTitleOut" xmlns:tns="urn:ilUserAdministration" messageType="tns:getObjectsByTitleResponse"/> @@ -37,7 +40,6 @@ <variable name="LogoutIn" xmlns:tns="urn:ilUserAdministration" messageType="tns:logoutRequest"/> <variable name="LoginOut" xmlns:tns="urn:ilUserAdministration" messageType="tns:loginResponse"/> <variable name="LoginIn" xmlns:tns="urn:ilUserAdministration" messageType="tns:loginRequest"/> - <variable name="ProcessCourseOperationIn" xmlns:tns="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/ILIASClientAdapter" messageType="tns:ProcessCourseOperationRequest"/> <!-- Ilias --> @@ -54,156 +56,325 @@ </variables> <sequence> + <pick name="processObjects" createInstance="yes"> + <onMessage partnerLink="ILIASAdapter" operation="ProcessCourseOperation" xmlns:tns="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/ILIASClientAdapter" portType="tns:ILIASClientAdapterPortType" variable="ProcessCourseOperationIn"> + <sequence> + <assign name="prepareLogin"> + <copy> + <from>'test'</from> + <to variable="LoginIn" part="client"/> + </copy> + <copy> + <from>'root'</from> + <to variable="LoginIn" part="username"/> + </copy> + <copy> + <from>'homer'</from> + <to variable="LoginIn" part="password"/> + </copy> + </assign> - <receive name="receive" createInstance="yes" partnerLink="ILIASAdapter" operation="ProcessCourseOperation" xmlns:tns="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/ILIASClientAdapter" portType="tns:ILIASClientAdapterPortType" variable="ProcessCourseOperationIn"/> - - <assign name="prepareLogin"> - <copy> - <from>'test'</from> - <to variable="LoginIn" part="client"/> - </copy> - <copy> - <from>'root'</from> - <to variable="LoginIn" part="username"/> - </copy> - <copy> - <from>'homer'</from> - <to variable="LoginIn" part="password"/> - </copy> - </assign> - - <invoke name="login" partnerLink="ILIAS" operation="login" xmlns:tns="urn:ilUserAdministration" + <invoke name="login" partnerLink="ILIAS" operation="login" xmlns:tns="urn:ilUserAdministration" portType="tns:ILIASSoapWebservicePortType" inputVariable="LoginIn" outputVariable="LoginOut"> - <sxt:trace> - <sxt:log level="info" location="onComplete"> - <from>concat('*** SID: ', $LoginOut.sid)</from> - </sxt:log> - </sxt:trace> - </invoke> + <sxt:trace> + <sxt:log level="info" location="onComplete"> + <from>concat('*** SID: ', $LoginOut.sid)</from> + </sxt:log> + </sxt:trace> + </invoke> - <assign name="saveSID"> - <copy> - <from variable="LoginOut" part="sid"/> - <to variable="SID"/> - </copy> - </assign> + <assign name="saveSID"> + <copy> + <from variable="LoginOut" part="sid"/> + <to variable="SID"/> + </copy> + </assign> - <!-- Check if "test" category exists and if not add it --> - <scope name="CheckAndCreateTestCategory"> + <!-- Check if "test" category exists and if not add it --> + <scope name="CheckAndCreateTestCategory"> - <variables> - <!-- Category description as object in Ilias-Format --> - <variable name="CategoryXML" element="il_objs:Object"/> + <variables> + <!-- Category description as object in Ilias-Format --> + <variable name="CategoryXML" element="il_objs:Object"/> - <!-- Result of object search for title --> - <variable name="ObjectsRawXML" element="il_objs:Objects"/> - <variable name="ObjectsXML" element="il_objs:Objects"/> + <!-- Result of object search for title --> + <variable name="ObjectsRawXML" element="il_objs:Objects"/> + <variable name="ObjectsXML" element="il_objs:Objects"/> - </variables> + </variables> - <sequence name="CheckForTestCategory"> - <!-- Init variables --> - <assign name="init"> - <copy> - <from>0</from> - <to variable="CategoryRefId"/> - </copy> - </assign> + <sequence name="CheckForTestCategory"> + <!-- Init variables --> + <assign name="init"> + <copy> + <from>0</from> + <to variable="CategoryRefId"/> + </copy> + </assign> - <!-- Prepeare search by title --> - <assign name="prepareGetObjectsByTitle"> - <copy> - <from variable="SID"/> - <to>$GetObjectsByTitleIn.sid</to> - </copy> - <copy> - <from>'test'</from> - <to>$GetObjectsByTitleIn.title</to> - </copy> - <copy> - <from>0</from> - <to>$GetObjectsByTitleIn.user_id</to> - </copy> - </assign> + <!-- Prepeare search by title --> + <assign name="prepareGetObjectsByTitle"> + <copy> + <from variable="SID"/> + <to>$GetObjectsByTitleIn.sid</to> + </copy> + <copy> + <from>'test'</from> + <to>$GetObjectsByTitleIn.title</to> + </copy> + <copy> + <from>0</from> + <to>$GetObjectsByTitleIn.user_id</to> + </copy> + </assign> - <!-- Do search --> - <invoke name="getObjectsByTitle" partnerLink="ILIAS" operation="getObjectsByTitle" xmlns:tns="urn:ilUserAdministration" - portType="tns:ILIASSoapWebservicePortType" - inputVariable="GetObjectsByTitleIn" - outputVariable="GetObjectsByTitleOut"> + <!-- Do search --> + <invoke name="getObjectsByTitle" partnerLink="ILIAS" operation="getObjectsByTitle" xmlns:tns="urn:ilUserAdministration" + portType="tns:ILIASSoapWebservicePortType" + inputVariable="GetObjectsByTitleIn" + outputVariable="GetObjectsByTitleOut"> <!-- - BUG: java.util.logging.ErrorManager: 5: Error in extracting Name Value Pairs - java.lang.NullPointerException - <sxt:trace> - <sxt:log level="info" location="onComplete"> - <from>concat('*** ObjectsXML: ', $GetObjectsByTitleOut.object_xml)</from> - </sxt:log> - </sxt:trace> + BUG: java.util.logging.ErrorManager: 5: Error in extracting Name Value Pairs + java.lang.NullPointerException + <sxt:trace> + <sxt:log level="info" location="onComplete"> + <from>concat('*** ObjectsXML: ', $GetObjectsByTitleOut.object_xml)</from> + </sxt:log> + </sxt:trace> --> - </invoke> + </invoke> - <!-- Don't try to unmarshal empty string (i.e. no objects found) --> - <if> - <condition>$GetObjectsByTitleOut.object_xml != ""</condition> - <sequence name="processObjectsXML"> + <!-- Don't try to unmarshal empty string (i.e. no objects found) --> + <if> + <condition>$GetObjectsByTitleOut.object_xml != ''</condition> + <sequence name="processObjectsXML"> + <sxt:trace> + <sxt:log level="info" location="onStart"> + <from>'*** Processing ObjectsXML...'</from> + </sxt:log> + </sxt:trace> + + <!-- Convert to XML structure --> + <assign name="unmarshalResult" > + <copy> + <from>sxxf:doUnMarshal($GetObjectsByTitleOut.object_xml)</from> + <to variable="ObjectsRawXML"/> + </copy> + </assign> + + <assign> +<!-- + BUG: java.util.logging.ErrorManager: 5: Error in extracting Name Value Pairs + java.lang.NullPointerException + <sxt:trace> + <sxt:log level="info" location="onComplete"> + <from>concat('*** ObjectsXML (after xslt): ', sxxf:doMarshal($ObjectsXML))</from> + </sxt:log> + </sxt:trace> +--> + <copy> + <from>ns0:doXslTransform('urn:stylesheets:setObjectsNS.xsl', $ObjectsRawXML)</from> + <to variable="ObjectsXML"/> + </copy> + </assign> + + <!-- Determine, if there is a category in the result (Object/@type = "cat") and get it's refId for later --> + <assign name="checkForCategories"> + +<!-- + BUG: java.util.logging.ErrorManager: 5: Error in extracting Name Value Pairs + java.lang.NullPointerException + + <sxt:trace> + <sxt:log level="info" location="onComplete"> + <from>concat('*** CategoryRefId: ', string($CategoryRefId))</from> + </sxt:log> + </sxt:trace> +--> + <!-- Note: if an empty node is return below, it is converted by number() to "NaN" --> + <copy> + <from>number($ObjectsXML/il_objs:Object[@il_objs:type = 'cat']/il_objs:References/@il_objs:ref_id)</from> + <to variable="CategoryRefId"/> + </copy> + </assign> + </sequence> + </if> + + <!-- If no appropriate catgeory was found, create one --> + <if> + <condition>string($CategoryRefId) = 'NaN' or $CategoryRefId = 0</condition> + <sequence name="addTestCategory"> + <assign name="prepareAddCategory"> + <copy> + <from variable="SID"/> + <to>$AddObjectIn.sid</to> + </copy> + <copy> + <from>1</from> + <to>$AddObjectIn.target_id</to> + </copy> + <copy> + <from> + <literal> + <Object xmlns="http://cse.campussource.de/schema/ilias/objects" type="cat"> + <Title>test</Title> + <Description>test category</Description> + </Object> + </literal> + </from> + <to variable="CategoryXML"/> + </copy> + </assign> + + <!-- Render XML to string --> + <assign name="marshalCategoryXML"> + <copy> + <from>sxxf:doMarshal($CategoryXML)</from> + <to>$AddObjectIn.object_xml</to> + </copy> + </assign> + + <invoke name="addCategory" partnerLink="ILIAS" operation="addObject" xmlns:tns="urn:ilUserAdministration" + portType="tns:ILIASSoapWebservicePortType" + inputVariable="AddObjectIn" + outputVariable="AddObjectOut"> + <sxt:trace> + <sxt:log level="info" location="onStart"> + <from>concat('*** Adding Category: ', $AddObjectIn.object_xml)</from> + </sxt:log> + </sxt:trace> + </invoke> + + <!-- Set RefId --> + <assign name="setRefId"> + <copy> + <from>$AddObjectOut.ref_id</from> + <to variable="CategoryRefId"/> + </copy> + </assign> + </sequence> + </if> + </sequence> + </scope> + + <!-- Initialize course xml skeleton --> + <assign name="initializeCourseXML"> + <copy> + <from> + <literal> + <Course xmlns="http://cse.campussource.de/schema/ilias/course"> + <MetaData xmlns="http://cse.campussource.de/schema/ilias/course"> + <General> + <Title Language="en">test3</Title> + <Language Language="en">en</Language> + <Description Language="en">bpel test2</Description> + </General> + </MetaData> + </Course> + </literal> + </from> + <to>$CourseXML</to> + </copy> + </assign> + + <!-- Set relevant course data --> + <assign name="setCourseData"> + <copy> +<!-- + <from>$ProcessCourseOperationIn.courseMessage/course/attribute[name = 'title']/value</from> +--> + <from>'test6'</from> + <to>$CourseXML/il_crs:MetaData/il_crs:General/il_crs:Title/text()</to> + </copy> +<!-- + <copy> + <from>$ProcessCourseOperationIn.courseMessage/course/attribute[name = 'languageISO']/value</from> + <to>$CourseXML/MetaData/General/Title/@Language</to> + </copy> + <copy> + <from>$ProcessCourseOperationIn.courseMessage/course/attribute[name = 'languageISO']/value</from> + <to>$CourseXML/MetaData/General/Language[0]/@Language</to> + </copy> +--> + </assign> + + <!-- Set all parts for addCourse call --> + <assign name="prepareAddCourse"> + <!-- Set SID --> + <copy> + <from variable="SID"/> + <to variable="AddCourseIn" part="sid"/> + </copy> + <!-- Set targetRefId with defaut value (= catgeory-root hopefully...) --> + <copy> + <from variable="CategoryRefId"/> + <to variable="AddCourseIn" part="target_id"/> + </copy> + <!-- Set CourseXML (as string) --> + <copy> + <from>sxxf:doMarshal($CourseXML)</from> + <to variable="AddCourseIn" part="crs_xml"/> + </copy> + </assign> + + <invoke name="createLecture" partnerLink="ILIAS" operation="addCourse" xmlns:tns="urn:ilUserAdministration" + portType="tns:ILIASSoapWebservicePortType" + inputVariable="AddCourseIn" + outputVariable="AddCourseOut"> <sxt:trace> <sxt:log level="info" location="onStart"> - <from>'*** Processing ObjectsXML...'</from> + <from>concat('*** Adding Course (refId: ', $AddCourseIn.target_id, ', xml: ', $AddCourseIn.crs_xml, ')')</from> </sxt:log> + + <sxt:log level="info" location="onComplete"> + <from>concat('*** Result of addCourse: ', $AddCourseOut.course_id)</from> + </sxt:log> </sxt:trace> - - <!-- Convert to XML structure --> - <assign name="unmarshalResult" > + </invoke> + </sequence> + </onMessage> + <onMessage partnerLink="ILIASAdapter" operation="ProcessCategoryOperation" xmlns:tns="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/ILIASClientAdapter" portType="tns:ILIASClientAdapterPortType" variable="ProcessCategoryOperationIn"> + <scope name="createCategory"> + <variables> + <!-- Category description as object in Ilias-Format --> + <variable name="CategoryXML" element="il_objs:Object"/> + </variables> + <sequence> + <assign name="prepareLoginForProcessCategory"> <copy> - <from>sxxf:doUnMarshal($GetObjectsByTitleOut.object_xml)</from> - <to variable="ObjectsRawXML"/> + <from>'test'</from> + <to variable="LoginIn" part="client"/> </copy> - </assign> - - <assign> -<!-- - BUG: java.util.logging.ErrorManager: 5: Error in extracting Name Value Pairs - java.lang.NullPointerException - <sxt:trace> - <sxt:log level="info" location="onComplete"> - <from>concat('*** ObjectsXML (after xslt): ', sxxf:doMarshal($ObjectsXML))</from> - </sxt:log> - </sxt:trace> ---> <copy> - <from>ns0:doXslTransform('urn:stylesheets:setObjectsNS.xsl', $ObjectsRawXML)</from> - <to variable="ObjectsXML"/> + <from>'root'</from> + <to variable="LoginIn" part="username"/> </copy> + <copy> + <from>'homer'</from> + <to variable="LoginIn" part="password"/> + </copy> </assign> - <!-- Determine, if there is a category in the result (Object/@type = "cat") and get it's refId for later --> - <assign name="checkForCategories"> - -<!-- - BUG: java.util.logging.ErrorManager: 5: Error in extracting Name Value Pairs - java.lang.NullPointerException - + <invoke name="loginForProcessCategory" partnerLink="ILIAS" operation="login" xmlns:tns="urn:ilUserAdministration" + portType="tns:ILIASSoapWebservicePortType" + inputVariable="LoginIn" + outputVariable="LoginOut"> <sxt:trace> <sxt:log level="info" location="onComplete"> - <from>concat('*** CategoryRefId: ', string($CategoryRefId))</from> + <from>concat('*** SID: ', $LoginOut.sid)</from> </sxt:log> </sxt:trace> ---> - <!-- Note: if an empty node is return below, it is converted by number() to "NaN" --> + </invoke> + + <assign name="saveSIDForProcessCategory"> <copy> - <from>number($ObjectsXML/il_objs:Object[@il_objs:type = 'cat']/il_objs:References/@il_objs:ref_id)</from> - <to variable="CategoryRefId"/> + <from variable="LoginOut" part="sid"/> + <to variable="SID"/> </copy> </assign> - </sequence> - </if> - <!-- If no appropriate catgeory was found, create one --> - <if> - <condition>string($CategoryRefId) = 'NaN' or $CategoryRefId = 0</condition> - <sequence name="addTestCategory"> <assign name="prepareAddCategory"> <copy> <from variable="SID"/> @@ -217,7 +388,7 @@ <from> <literal> <Object xmlns="http://cse.campussource.de/schema/ilias/objects" type="cat"> - <Title>test</Title> + <Title>category1</Title> <Description>test category</Description> </Object> </literal> @@ -225,7 +396,7 @@ <to variable="CategoryXML"/> </copy> </assign> - + <!-- Render XML to string --> <assign name="marshalCategoryXML"> <copy> @@ -244,105 +415,11 @@ </sxt:log> </sxt:trace> </invoke> - - <!-- Set RefId --> - <assign name="setRefId"> - <copy> - <from>$AddObjectOut.ref_id</from> - <to variable="CategoryRefId"/> - </copy> - </assign> </sequence> - </if> - </sequence> - </scope> -<!-- - <forEach name="SearchForCategoryInResult" parallel="no" counterName="ObjectCounter"> - <startCounterValue>1</startCounterValue> - <finalCounterValue>$ObjectsXML/object[.]</finalCounterValue> - <completionCondition> - <branches>6</branches> - </completionCondition> - <scope name="Scope1"> - <assign name="Assign1"/> - </scope> - </forEach> ---> - <!-- Initialize course xml skeleton --> - <assign name="initializeCourseXML"> - <copy> - <from> - <literal> - <Course xmlns="http://cse.campussource.de/schema/ilias/course"> - <MetaData xmlns="http://cse.campussource.de/schema/ilias/course"> - <General> - <Title Language="en">test3</Title> - <Language Language="en">en</Language> - <Description Language="en">bpel test2</Description> - </General> - </MetaData> - </Course> - </literal> - </from> - <to>$CourseXML</to> - </copy> - </assign> + </scope> + </onMessage> + </pick> - <!-- Set relevant course data --> - <assign name="setCourseData"> - <copy> -<!-- - <from>$ProcessCourseOperationIn.courseMessage/course/attribute[name = 'title']/value</from> ---> - <from>'test6'</from> - <to>$CourseXML/il_crs:MetaData/il_crs:General/il_crs:Title/text()</to> - </copy> -<!-- - <copy> - <from>$ProcessCourseOperationIn.courseMessage/course/attribute[name = 'languageISO']/value</from> - <to>$CourseXML/MetaData/General/Title/@Language</to> - </copy> - <copy> - <from>$ProcessCourseOperationIn.courseMessage/course/attribute[name = 'languageISO']/value</from> - <to>$CourseXML/MetaData/General/Language[0]/@Language</to> - </copy> ---> - </assign> - - <!-- Set all parts for addCourse call --> - <assign name="prepareAddCourse"> - <!-- Set SID --> - <copy> - <from variable="SID"/> - <to variable="AddCourseIn" part="sid"/> - </copy> - <!-- Set targetRefId with defaut value (= catgeory-root hopefully...) --> - <copy> - <from variable="CategoryRefId"/> - <to variable="AddCourseIn" part="target_id"/> - </copy> - <!-- Set CourseXML (as string) --> - <copy> - <from>sxxf:doMarshal($CourseXML)</from> - <to variable="AddCourseIn" part="crs_xml"/> - </copy> - </assign> - - <invoke name="createLecture" partnerLink="ILIAS" operation="addCourse" xmlns:tns="urn:ilUserAdministration" - portType="tns:ILIASSoapWebservicePortType" - inputVariable="AddCourseIn" - outputVariable="AddCourseOut"> - <sxt:trace> - <sxt:log level="info" location="onStart"> - <from>concat('*** Adding Course (refId: ', $AddCourseIn.target_id, ', xml: ', $AddCourseIn.crs_xml, ')')</from> - </sxt:log> - - <sxt:log level="info" location="onComplete"> - <from>concat('*** Result of addCourse: ', $AddCourseOut.course_id)</from> - </sxt:log> - </sxt:trace> - </invoke> - <assign name="prepareLogout"> <copy> <from variable="SID"/> Added: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course-exported.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course-exported.xml (rev 0) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course-exported.xml 2009-05-04 14:50:27 UTC (rev 207) @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="utf-8"?><!DOCTYPE Course PUBLIC "-//ILIAS//DTD Course//EN" "http://localhost/ilias3/xml/ilias_course_3_8.dtd"> + <!-- + Document : ilias-course-real.xml + Created on : 29. April 2009, 10:07 + Author : pete + Description: + Purpose of the document follows. +--> +<!--Export of ILIAS course 179 of installation 0 (refId [used for export] = 43).--> +<Course exportVersion="2" id="il_0_crs_179"> + <MetaData> + <General Structure="Hierarchical"> + <Identifier Catalog="ILIAS" Entry="il__crs_179"/> + <Title Language="en">test - manual</Title> + <Language Language="en"/> + <Description Language="en">test - manual</Description> + <Keyword Language="en"/> + </General> + </MetaData> + <AdvancedMetaData></AdvancedMetaData> + <Admin id="il_0_usr_6" notification="No" passed="No"></Admin> + <Settings> + <Availability> + <NotAvailable/> + </Availability> + <Syllabus></Syllabus> + <ImportantInformation></ImportantInformation> + <Contact> + <Name></Name> + <Responsibility></Responsibility> + <Phone></Phone> + <Email></Email> + <Consultation></Consultation> + </Contact> + <Registration registrationType="Direct" maxMembers="0" notification="Yes" waitingList="Yes"> + <Unlimited/> + </Registration> + <Sort type="Manual"/> + <Archive Access="Disabled"> + <Start>1240992000</Start> + <End>1323644400</End> + </Archive> + </Settings> +</Course> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pka...@us...> - 2009-05-04 13:56:03
|
Revision: 206 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=206&view=rev Author: pkasprzak Date: 2009-05-04 13:54:05 +0000 (Mon, 04 May 2009) Log Message: ----------- * Use real clientIds Modified Paths: -------------- trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/InboundClientAdapter.bpel trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/sync-test_output.xml Modified: trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/InboundClientAdapter.bpel =================================================================== --- trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/InboundClientAdapter.bpel 2009-05-04 13:17:19 UTC (rev 205) +++ trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/InboundClientAdapter.bpel 2009-05-04 13:54:05 UTC (rev 206) @@ -79,7 +79,7 @@ <to variable="ProcessCourseOperationIn" part="clientInstanceId"/> </copy> <copy> - <from>'lsf-id-1'</from> + <from>$synchronizationMessage/courses/course[$CourseCounter]/clientId</from> <to variable="ProcessCourseOperationIn" part="clientObjectId"/> </copy> </assign> @@ -116,7 +116,7 @@ <to variable="ProcessCategoryOperationIn" part="clientInstanceId"/> </copy> <copy> - <from>'lsf-id-1'</from> + <from>$synchronizationMessage/categories/category[$CategoryCounter]/clientId</from> <to variable="ProcessCategoryOperationIn" part="clientObjectId"/> </copy> </assign> Modified: trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/sync-test_output.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/sync-test_output.xml 2009-05-04 13:17:19 UTC (rev 205) +++ trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/sync-test_output.xml 2009-05-04 13:54:05 UTC (rev 206) @@ -1,222 +1,222 @@ <?xml version="1.0" encoding="UTF-8"?> <synchronizationMessage xmlns="http://cse.campussource.de/schema/DataTypes"> -<isSyncMessage>true</isSyncMessage> -<semesterName>SS 2008</semesterName> -<semesterLsfId>20081</semesterLsfId> -<rootCategoryId>category:11517</rootCategoryId> + <isSyncMessage>true</isSyncMessage> + <semesterName>SS 2008</semesterName> + <semesterLsfId>20081</semesterLsfId> + <rootCategoryId>category:11517</rootCategoryId> <!--##################################################################--> <!--# Generating "accounts" (merging "accounts" and "accounts2") #--> <!--##################################################################--> -<accounts> -<account> -<clientId>account:8</clientId> -<globalRole>Tutor</globalRole> -<lsfId>8</lsfId> -<surname>Glaser</surname> -<firstName>Horst</firstName> -<academicTitle>Univ.-Prof. Dr. rer. pol.</academicTitle> -<gender>M</gender> -<emailAddress>h.g...@wi...</emailAddress> -</account> -<account> -<clientId>account:9</clientId> -<globalRole>Tutor</globalRole> -<lsfId>9</lsfId> -<surname>Beckmann</surname> -<firstName>Roland Michael</firstName> -<academicTitle>Univ.-Prof. Dr. jur.</academicTitle> -<gender>M</gender> -<emailAddress/> -</account> -<account> -<clientId>account:10</clientId> -<globalRole>Tutor</globalRole> -<lsfId>10</lsfId> -<surname>Bieg</surname> -<firstName>Hartmut</firstName> -<academicTitle>Univ.-Prof. Dr. rer. oec.</academicTitle> -<gender>M</gender> -<emailAddress>h....@mx...</emailAddress> -</account> -</accounts> + <accounts> + <account> + <clientId>account:8</clientId> + <globalRole>Tutor</globalRole> + <lsfId>8</lsfId> + <surname>Glaser</surname> + <firstName>Horst</firstName> + <academicTitle>Univ.-Prof. Dr. rer. pol.</academicTitle> + <gender>M</gender> + <emailAddress>h.g...@wi...</emailAddress> + </account> + <account> + <clientId>account:9</clientId> + <globalRole>Tutor</globalRole> + <lsfId>9</lsfId> + <surname>Beckmann</surname> + <firstName>Roland Michael</firstName> + <academicTitle>Univ.-Prof. Dr. jur.</academicTitle> + <gender>M</gender> + <emailAddress/> + </account> + <account> + <clientId>account:10</clientId> + <globalRole>Tutor</globalRole> + <lsfId>10</lsfId> + <surname>Bieg</surname> + <firstName>Hartmut</firstName> + <academicTitle>Univ.-Prof. Dr. rer. oec.</academicTitle> + <gender>M</gender> + <emailAddress>h....@mx...</emailAddress> + </account> + </accounts> <!--##################################################################--> <!--# Generating "lectureType" #--> <!--##################################################################--> -<lectureTypes/> + <lectureTypes/> <!--##################################################################--> <!--# Generating "courses" #--> <!--##################################################################--> -<courses> -<course> -<lsfId>32350</lsfId> -<logicalNumber/> -<type>Tutorium</type> -<title>Tutorium-Test</title> -<shortDescription/> -<abbreviation/> -<necessaryAssignment>J</necessaryAssignment> -<note/> -<comment/> -<semesterAsInt>20081</semesterAsInt> -<semesterPeriodsPerWeek/> -<expectedRegistrations/> -<maximumRegistrations>20</maximumRegistrations> -<activityConfirmation/> -<lectureTypeId>40</lectureTypeId> -<active>A</active> -<semesterAbbr>SS 2008</semesterAbbr> -<semesterFull>SS 2008</semesterFull> -<dates> - <date> - <startdate/> - <enddate/> - <starttime>14:00</starttime> - <endtime>16:00</endtime> - <enddate/> - <stct/> - <dayofweek>Montag</dayofweek> - <rythm>wöchentlich</rythm> - </date> - <date> - <startdate/> - <enddate/> - <starttime>14:00</starttime> - <endtime>15:00</endtime> - <enddate/> - <stct/> - <dayofweek>Mittwoch</dayofweek> - <rythm>wöchentlich</rythm> - </date> - </dates> -<clientId>lecture:32350</clientId> -<semesterId>20081</semesterId> -<startDate>14.04.2008</startDate> -<endDate>18.07.2008</endDate> -</course> -<course> -<lsfId>28232</lsfId> -<logicalNumber>28232</logicalNumber> -<type>Hauptseminar</type> -<title>Phonetische Aspekte des Sorbischen</title> -<shortDescription/> -<abbreviation/> -<necessaryAssignment>N</necessaryAssignment> -<note/> -<comment/> -<semesterAsInt>20081</semesterAsInt> -<semesterPeriodsPerWeek/> -<expectedRegistrations/> -<maximumRegistrations/> -<activityConfirmation/> -<lectureTypeId>98</lectureTypeId> -<active>A</active> -<languageISO>de</languageISO> -<languageFull>deutsch</languageFull> -<semesterAbbr>SS 2008</semesterAbbr> -<semesterFull>SS 2008</semesterFull> -<dates> - <date> - <startdate/> - <enddate/> - <starttime>10:00</starttime> - <endtime>12:00</endtime> - <enddate/> - <stct/> - <dayofweek>Freitag</dayofweek> - <rythm>wöchentlich</rythm> - </date> - </dates> -<clientId>lecture:28232</clientId> -<semesterId>20081</semesterId> -<startDate>14.04.2008</startDate> -<endDate>18.07.2008</endDate> -</course> -<course> -<lsfId>28481</lsfId> -<logicalNumber>28481</logicalNumber> -<type>Weiterführende Vorlesung</type> -<title>Numerical Algorithms for Visual Computing I</title> -<shortDescription/> -<abbreviation/> -<necessaryAssignment>N</necessaryAssignment> -<note/> -<comment/> -<semesterAsInt>20081</semesterAsInt> -<semesterPeriodsPerWeek/> -<expectedRegistrations/> -<maximumRegistrations/> -<activityConfirmation/> -<lectureTypeId>147</lectureTypeId> -<active>A</active> -<languageISO>en</languageISO> -<languageFull>englisch</languageFull> -<semesterAbbr>SS 2008</semesterAbbr> -<semesterFull>SS 2008</semesterFull> -<dates> - <date> - <startdate/> - <enddate/> - <starttime>16:00</starttime> - <endtime>18:00</endtime> - <enddate/> - <stct/> - <dayofweek>Montag</dayofweek> - <rythm>wöchentlich</rythm> - </date> - </dates> -<clientId>lecture:28481</clientId> -<semesterId>20081</semesterId> -<startDate>14.04.2008</startDate> -<endDate>18.07.2008</endDate> -</course> -</courses> + <courses> + <course> + <lsfId>32350</lsfId> + <logicalNumber/> + <type>Tutorium</type> + <title>Tutorium-Test</title> + <shortDescription/> + <abbreviation/> + <necessaryAssignment>J</necessaryAssignment> + <note/> + <comment/> + <semesterAsInt>20081</semesterAsInt> + <semesterPeriodsPerWeek/> + <expectedRegistrations/> + <maximumRegistrations>20</maximumRegistrations> + <activityConfirmation/> + <lectureTypeId>40</lectureTypeId> + <active>A</active> + <semesterAbbr>SS 2008</semesterAbbr> + <semesterFull>SS 2008</semesterFull> + <dates> + <date> + <startdate/> + <enddate/> + <starttime>14:00</starttime> + <endtime>16:00</endtime> + <enddate/> + <stct/> + <dayofweek>Montag</dayofweek> + <rythm>wöchentlich</rythm> + </date> + <date> + <startdate/> + <enddate/> + <starttime>14:00</starttime> + <endtime>15:00</endtime> + <enddate/> + <stct/> + <dayofweek>Mittwoch</dayofweek> + <rythm>wöchentlich</rythm> + </date> + </dates> + <clientId>lecture:32350</clientId> + <semesterId>20081</semesterId> + <startDate>14.04.2008</startDate> + <endDate>18.07.2008</endDate> + </course> + <course> + <lsfId>28232</lsfId> + <logicalNumber>28232</logicalNumber> + <type>Hauptseminar</type> + <title>Phonetische Aspekte des Sorbischen</title> + <shortDescription/> + <abbreviation/> + <necessaryAssignment>N</necessaryAssignment> + <note/> + <comment/> + <semesterAsInt>20081</semesterAsInt> + <semesterPeriodsPerWeek/> + <expectedRegistrations/> + <maximumRegistrations/> + <activityConfirmation/> + <lectureTypeId>98</lectureTypeId> + <active>A</active> + <languageISO>de</languageISO> + <languageFull>deutsch</languageFull> + <semesterAbbr>SS 2008</semesterAbbr> + <semesterFull>SS 2008</semesterFull> + <dates> + <date> + <startdate/> + <enddate/> + <starttime>10:00</starttime> + <endtime>12:00</endtime> + <enddate/> + <stct/> + <dayofweek>Freitag</dayofweek> + <rythm>wöchentlich</rythm> + </date> + </dates> + <clientId>lecture:28232</clientId> + <semesterId>20081</semesterId> + <startDate>14.04.2008</startDate> + <endDate>18.07.2008</endDate> + </course> + <course> + <lsfId>28481</lsfId> + <logicalNumber>28481</logicalNumber> + <type>Weiterführende Vorlesung</type> + <title>Numerical Algorithms for Visual Computing I</title> + <shortDescription/> + <abbreviation/> + <necessaryAssignment>N</necessaryAssignment> + <note/> + <comment/> + <semesterAsInt>20081</semesterAsInt> + <semesterPeriodsPerWeek/> + <expectedRegistrations/> + <maximumRegistrations/> + <activityConfirmation/> + <lectureTypeId>147</lectureTypeId> + <active>A</active> + <languageISO>en</languageISO> + <languageFull>englisch</languageFull> + <semesterAbbr>SS 2008</semesterAbbr> + <semesterFull>SS 2008</semesterFull> + <dates> + <date> + <startdate/> + <enddate/> + <starttime>16:00</starttime> + <endtime>18:00</endtime> + <enddate/> + <stct/> + <dayofweek>Montag</dayofweek> + <rythm>wöchentlich</rythm> + </date> + </dates> + <clientId>lecture:28481</clientId> + <semesterId>20081</semesterId> + <startDate>14.04.2008</startDate> + <endDate>18.07.2008</endDate> + </course> + </courses> <!--##################################################################--> <!--# Generating "workgroups" #--> <!--##################################################################--> -<workgroups> + <workgroups> <!--### Processing groups from (Tutorium-Test) ###--> <!--### Processing groups from (Phonetische Aspekte des Sorbischen) ###--> <!--### Processing groups from (Numerical Algorithms for Visual Computing I) ###--> -</workgroups> + </workgroups> <!--##################################################################--> <!--# Generating "categories" #--> <!--##################################################################--> -<categories> -<category> -<clientId>category:11517</clientId> -<semesterId>20081</semesterId> -<lsfId>11517</lsfId> -<name>Vorlesungsverzeichnis</name> -<sort>0</sort> -</category> -<category> -<clientId>category:10477</clientId> -<semesterId>20081</semesterId> -<lsfId>10477</lsfId> -<name>Fakultät 4 (Sprach-, Literatur- u. Kulturwissenschaften)</name> -<sort>1040</sort> -</category> -<category> -<clientId>category:10482</clientId> -<semesterId>20081</semesterId> -<lsfId>10482</lsfId> -<name>Fakultät 1 (Rechts- u. Wirtschaftswissenschaft)</name> -<sort>1010</sort> -</category> -<category> -<clientId>category:10512</clientId> -<semesterId>20081</semesterId> -<lsfId>10512</lsfId> -<name>Neue Bachelorstudiengänge der phil. Fakultäten (Fakultäten 3 - 5)</name> -<sort>1300</sort> -</category> -</categories> -<relations> + <categories> + <category> + <clientId>category:11517</clientId> + <semesterId>20081</semesterId> + <lsfId>11517</lsfId> + <name>Vorlesungsverzeichnis</name> + <sort>0</sort> + </category> + <category> + <clientId>category:10477</clientId> + <semesterId>20081</semesterId> + <lsfId>10477</lsfId> + <name>Fakultät 4 (Sprach-, Literatur- u. Kulturwissenschaften)</name> + <sort>1040</sort> + </category> + <category> + <clientId>category:10482</clientId> + <semesterId>20081</semesterId> + <lsfId>10482</lsfId> + <name>Fakultät 1 (Rechts- u. Wirtschaftswissenschaft)</name> + <sort>1010</sort> + </category> + <category> + <clientId>category:10512</clientId> + <semesterId>20081</semesterId> + <lsfId>10512</lsfId> + <name>Neue Bachelorstudiengänge der phil. Fakultäten (Fakultäten 3 - 5)</name> + <sort>1300</sort> + </category> + </categories> + <relations> <!--##################################################################--> <!--# Generating lecture -> workgroup relations #--> <!--##################################################################--> @@ -229,132 +229,132 @@ <!--##################################################################--> <!--### Processing lecture (Tutorium-Test) ###--> -<relation> -<clientId>relation:category:10482:lecture:32350</clientId> -<relationType>category_to_lectures</relationType> -<clientParentId>category:10482</clientParentId> -<clientChildId>lecture:32350</clientChildId> -<childSort/> -</relation> + <relation> + <clientId>relation:category:10482:lecture:32350</clientId> + <relationType>category_to_lectures</relationType> + <clientParentId>category:10482</clientParentId> + <clientChildId>lecture:32350</clientChildId> + <childSort/> + </relation> <!--### Processing lecture (Phonetische Aspekte des Sorbischen) ###--> -<relation> -<clientId>relation:category:10512:lecture:28232</clientId> -<relationType>category_to_lectures</relationType> -<clientParentId>category:10512</clientParentId> -<clientChildId>lecture:28232</clientChildId> -<childSort>6</childSort> -</relation> + <relation> + <clientId>relation:category:10512:lecture:28232</clientId> + <relationType>category_to_lectures</relationType> + <clientParentId>category:10512</clientParentId> + <clientChildId>lecture:28232</clientChildId> + <childSort>6</childSort> + </relation> <!--### Processing lecture (Numerical Algorithms for Visual Computing I) ###--> -<relation> -<clientId>relation:category:10512:lecture:28481</clientId> -<relationType>category_to_lectures</relationType> -<clientParentId>category:10512</clientParentId> -<clientChildId>lecture:28481</clientChildId> -<childSort>1010</childSort> -</relation> + <relation> + <clientId>relation:category:10512:lecture:28481</clientId> + <relationType>category_to_lectures</relationType> + <clientParentId>category:10512</clientParentId> + <clientChildId>lecture:28481</clientChildId> + <childSort>1010</childSort> + </relation> <!--##################################################################--> <!--# Generating lectureType -> lecture relations #--> <!--##################################################################--> <!--### Processing lecture (Tutorium-Test) ###--> -<relation> -<clientId>relation:lecturetype:40:lecture:32350</clientId> -<relationType>lecturetype_to_lectures</relationType> -<clientParentId>lecturetype:40</clientParentId> -<clientChildId>lecture:32350</clientChildId> -</relation> + <relation> + <clientId>relation:lecturetype:40:lecture:32350</clientId> + <relationType>lecturetype_to_lectures</relationType> + <clientParentId>lecturetype:40</clientParentId> + <clientChildId>lecture:32350</clientChildId> + </relation> <!--### Processing lecture (Phonetische Aspekte des Sorbischen) ###--> -<relation> -<clientId>relation:lecturetype:98:lecture:28232</clientId> -<relationType>lecturetype_to_lectures</relationType> -<clientParentId>lecturetype:98</clientParentId> -<clientChildId>lecture:28232</clientChildId> -</relation> + <relation> + <clientId>relation:lecturetype:98:lecture:28232</clientId> + <relationType>lecturetype_to_lectures</relationType> + <clientParentId>lecturetype:98</clientParentId> + <clientChildId>lecture:28232</clientChildId> + </relation> <!--### Processing lecture (Numerical Algorithms for Visual Computing I) ###--> -<relation> -<clientId>relation:lecturetype:147:lecture:28481</clientId> -<relationType>lecturetype_to_lectures</relationType> -<clientParentId>lecturetype:147</clientParentId> -<clientChildId>lecture:28481</clientChildId> -</relation> + <relation> + <clientId>relation:lecturetype:147:lecture:28481</clientId> + <relationType>lecturetype_to_lectures</relationType> + <clientParentId>lecturetype:147</clientParentId> + <clientChildId>lecture:28481</clientChildId> + </relation> <!--##################################################################--> <!--# Generating Category -> category relations #--> <!--##################################################################--> <!--### Processing children of category (Vorlesungsverzeichnis) ###--> -<relation> -<clientId>relation:category:11517:category:10477</clientId> -<relationType>category_to_categories</relationType> -<clientParentId>category:11517</clientParentId> -<clientChildId>category:10477</clientChildId> -</relation> -<relation> -<clientId>relation:category:11517:category:10482</clientId> -<relationType>category_to_categories</relationType> -<clientParentId>category:11517</clientParentId> -<clientChildId>category:10482</clientChildId> -</relation> -<relation> -<clientId>relation:category:11517:category:10512</clientId> -<relationType>category_to_categories</relationType> -<clientParentId>category:11517</clientParentId> -<clientChildId>category:10512</clientChildId> -</relation> + <relation> + <clientId>relation:category:11517:category:10477</clientId> + <relationType>category_to_categories</relationType> + <clientParentId>category:11517</clientParentId> + <clientChildId>category:10477</clientChildId> + </relation> + <relation> + <clientId>relation:category:11517:category:10482</clientId> + <relationType>category_to_categories</relationType> + <clientParentId>category:11517</clientParentId> + <clientChildId>category:10482</clientChildId> + </relation> + <relation> + <clientId>relation:category:11517:category:10512</clientId> + <relationType>category_to_categories</relationType> + <clientParentId>category:11517</clientParentId> + <clientChildId>category:10512</clientChildId> + </relation> <!--### Processing children of category (Fakultät 4 (Sprach-, Literatur- u. Kulturwissenschaften)) ###--> <!--### Processing children of category (Fakultät 1 (Rechts- u. Wirtschaftswissenschaft)) ###--> <!--### Processing children of category (Neue Bachelorstudiengänge der phil. Fakultäten (Fakultäten 3 - 5)) ###--> -</relations> + </relations> <!--##################################################################--> <!--# Generating "roles" #--> <!--##################################################################--> -<roles> + <roles> <!--### Processing roles defined in lecture (Tutorium-Test) ###--> <!--### - -> lecture roles ###--> -<role> -<clientId>role:account:8:lecture:32350</clientId> -<name>lecture:dozent</name> -<clientAccountId>account:8</clientAccountId> -<clientObjectId>lecture:32350</clientObjectId> -<roleStatus/> -</role> + <role> + <clientId>role:account:8:lecture:32350</clientId> + <name>lecture:dozent</name> + <clientAccountId>account:8</clientAccountId> + <clientObjectId>lecture:32350</clientObjectId> + <roleStatus/> + </role> <!--### - -> group roles ###--> <!--### Processing roles defined in lecture (Phonetische Aspekte des Sorbischen) ###--> <!--### - -> lecture roles ###--> -<role> -<clientId>role:account:8:lecture:28232</clientId> -<name>lecture:dozent</name> -<clientAccountId>account:8</clientAccountId> -<clientObjectId>lecture:28232</clientObjectId> -<roleStatus/> -</role> -<role> -<clientId>role:account:9:lecture:28232</clientId> -<name>lecture:dozent</name> -<clientAccountId>account:9</clientAccountId> -<clientObjectId>lecture:28232</clientObjectId> -<roleStatus/> -</role> -<role> -<clientId>role:account:10:lecture:28232</clientId> -<name>lecture:dozent</name> -<clientAccountId>account:10</clientAccountId> -<clientObjectId>lecture:28232</clientObjectId> -<roleStatus/> -</role> + <role> + <clientId>role:account:8:lecture:28232</clientId> + <name>lecture:dozent</name> + <clientAccountId>account:8</clientAccountId> + <clientObjectId>lecture:28232</clientObjectId> + <roleStatus/> + </role> + <role> + <clientId>role:account:9:lecture:28232</clientId> + <name>lecture:dozent</name> + <clientAccountId>account:9</clientAccountId> + <clientObjectId>lecture:28232</clientObjectId> + <roleStatus/> + </role> + <role> + <clientId>role:account:10:lecture:28232</clientId> + <name>lecture:dozent</name> + <clientAccountId>account:10</clientAccountId> + <clientObjectId>lecture:28232</clientObjectId> + <roleStatus/> + </role> <!--### - -> group roles ###--> <!--### Processing roles defined in lecture (Numerical Algorithms for Visual Computing I) ###--> <!--### - -> lecture roles ###--> -<role> -<clientId>role:account:9:lecture:28481</clientId> -<name>lecture:dozent</name> -<clientAccountId>account:9</clientAccountId> -<clientObjectId>lecture:28481</clientObjectId> -<roleStatus/> -</role> + <role> + <clientId>role:account:9:lecture:28481</clientId> + <name>lecture:dozent</name> + <clientAccountId>account:9</clientAccountId> + <clientObjectId>lecture:28481</clientObjectId> + <roleStatus/> + </role> <!--### - -> group roles ###--> -</roles> -<lecturesToDelete/> -<accountsToDelete/> -<lectureTypesToDelete/> + </roles> + <lecturesToDelete/> + <accountsToDelete/> + <lectureTypesToDelete/> </synchronizationMessage> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pka...@us...> - 2009-05-04 13:17:25
|
Revision: 205 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=205&view=rev Author: pkasprzak Date: 2009-05-04 13:17:19 +0000 (Mon, 04 May 2009) Log Message: ----------- * Support for categories (mostly copy + paste of courses; consolidation into one xslt follows in the next few days) * Cleanup Modified Paths: -------------- trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/build.xml trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/nbproject/build-impl.xml trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/nbproject/genfiles.properties trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/InboundClientAdapter.bpel trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/sync-test_output2.xml Added Paths: ----------- trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/CategoryToCDDMCategoryMessage.xsl trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/CourseToCDDMCourseMessage.xsl Removed Paths: ------------- trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/toCDDM.xsl Modified: trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/build.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/build.xml 2009-05-04 13:13:47 UTC (rev 204) +++ trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/build.xml 2009-05-04 13:17:19 UTC (rev 205) @@ -53,18 +53,14 @@ properties which you can use check the target you are overriding in nbproject/build-impl.xml file. --> - <target name="-check-netbeans-home"> - <condition property="no.netbeans.home"> - <not> - <isset property="netbeans.home"/> - </not> - </condition> + <target name="-init-esb-ide" if="netbeans.home"> + <property name="esb.netbeans.platform" value="${netbeans.home}"/> </target> - <target name="-init-caps" if="no.netbeans.home"> + <target name="-init-esb-cmdline" unless="netbeans.home"> <property file="${basedir}/nbproject/private/private.properties"/> - <property name="netbeans.home" value="${caps.netbeans.home}/platform9"/> - <property name="netbeans.user" value="${caps.netbeans.user}"/> + <property name="esb.netbeans.platform" value="${esb.netbeans.home}/platform9"/> + <property name="netbeans.user" value="${esb.netbeans.user}"/> <property name="from.commandline" value="true"/> </target> - <target name="-pre-init" depends="-check-netbeans-home,-init-caps"/> + <target name="-pre-init" depends="-init-esb-ide,-init-esb-cmdline"/> </project> Modified: trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/nbproject/build-impl.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/nbproject/build-impl.xml 2009-05-04 13:13:47 UTC (rev 204) +++ trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/nbproject/build-impl.xml 2009-05-04 13:17:19 UTC (rev 205) @@ -48,42 +48,42 @@ </target> <target name="-init-taskdefs" if="from.commandline"> <path id="ant.task.classpath"> - <pathelement location="${netbeans.home}/../ide10/modules/ext/resolver-1.2.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-apache-xml-resolver.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-project-ant.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-project-libraries.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-projectapi.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-projectuiapi.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-xml-catalog.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-xml-xam.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-xml-schema-model.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-xml-wsdl-model.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-xml-retriever.jar"/> - <pathelement location="${netbeans.home}/../platform9/core/core.jar"/> - <pathelement location="${netbeans.home}/../platform9/core/org-openide-filesystems.jar"/> - <pathelement location="${netbeans.home}/../platform9/lib/boot.jar"/> - <pathelement location="${netbeans.home}/../platform9/lib/org-openide-modules.jar"/> - <pathelement location="${netbeans.home}/../platform9/lib/org-openide-util.jar"/> - <pathelement location="${netbeans.home}/../platform9/modules/org-openide-dialogs.jar"/> - <pathelement location="${netbeans.home}/../platform9/modules/org-openide-loaders.jar"/> - <pathelement location="${netbeans.home}/../platform9/modules/org-openide-nodes.jar"/> - <pathelement location="${netbeans.home}/../platform9/modules/org-openide-text.jar"/> - <pathelement location="${netbeans.home}/../platform9/modules/org-netbeans-modules-masterfs.jar"/> - <pathelement location="${netbeans.home}/../platform9/modules/org-netbeans-modules-queries.jar"/> - <pathelement location="${netbeans.home}/../soa2/ant/nblib/org-netbeans-modules-bpel-project.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-bpel-debugger-api.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-bpel-model.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-bpel-project.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-bpel-validation.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-soa-ui.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-soa-validation.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-compapp-projects-base.jar"/> - <pathelement location="${netbeans.home}/../xml2/modules/ext/jxpath/jxpath1.1.jar"/> - <pathelement location="${netbeans.home}/../xml2/modules/org-netbeans-modules-xml-catalogsupport.jar"/> - <pathelement location="${netbeans.home}/../xml2/modules/org-netbeans-modules-xml-search.jar"/> - <pathelement location="${netbeans.home}/../xml2/modules/org-netbeans-modules-xml-wsdl-extensions.jar"/> - <pathelement location="${netbeans.home}/../xml2/modules/org-netbeans-modules-xml-xpath.jar"/> - <pathelement location="${netbeans.home}/../xml2/modules/org-netbeans-modules-xml-xpath-ext.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/ext/resolver-1.2.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-apache-xml-resolver.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-project-ant.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-project-libraries.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-projectapi.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-projectuiapi.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-xml-catalog.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-xml-xam.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-xml-schema-model.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-xml-wsdl-model.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-xml-retriever.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/core/core.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/core/org-openide-filesystems.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/lib/boot.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/lib/org-openide-modules.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/lib/org-openide-util.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/modules/org-openide-dialogs.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/modules/org-openide-loaders.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/modules/org-openide-nodes.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/modules/org-openide-text.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/modules/org-netbeans-modules-masterfs.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/modules/org-netbeans-modules-queries.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/ant/nblib/org-netbeans-modules-bpel-project.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-bpel-debugger-api.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-bpel-model.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-bpel-project.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-bpel-validation.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-soa-ui.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-soa-validation.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-compapp-projects-base.jar"/> + <pathelement location="${esb.netbeans.platform}/../xml2/modules/ext/jxpath/jxpath1.1.jar"/> + <pathelement location="${esb.netbeans.platform}/../xml2/modules/org-netbeans-modules-xml-catalogsupport.jar"/> + <pathelement location="${esb.netbeans.platform}/../xml2/modules/org-netbeans-modules-xml-search.jar"/> + <pathelement location="${esb.netbeans.platform}/../xml2/modules/org-netbeans-modules-xml-wsdl-extensions.jar"/> + <pathelement location="${esb.netbeans.platform}/../xml2/modules/org-netbeans-modules-xml-xpath.jar"/> + <pathelement location="${esb.netbeans.platform}/../xml2/modules/org-netbeans-modules-xml-xpath-ext.jar"/> </path> <taskdef name="validate-project" classname="org.netbeans.modules.bpel.project.anttasks.cli.CliValidateBpelProjectTask"> <classpath refid="ant.task.classpath"/> Modified: trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/nbproject/genfiles.properties =================================================================== --- trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/nbproject/genfiles.properties 2009-05-04 13:13:47 UTC (rev 204) +++ trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/nbproject/genfiles.properties 2009-05-04 13:17:19 UTC (rev 205) @@ -1,8 +1,8 @@ build.xml.data.CRC32=2842e5db -build.xml.script.CRC32=3d3dbc12 -build.xml.stylesheet.CRC32=1947459d +build.xml.script.CRC32=60b50638 +build.xml.stylesheet.CRC32=f35fd70d # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=2842e5db -nbproject/build-impl.xml.script.CRC32=272d045c -nbproject/build-impl.xml.stylesheet.CRC32=749ec361 +nbproject/build-impl.xml.script.CRC32=e5dd60c9 +nbproject/build-impl.xml.stylesheet.CRC32=5068533b Added: trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/CategoryToCDDMCategoryMessage.xsl =================================================================== --- trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/CategoryToCDDMCategoryMessage.xsl (rev 0) +++ trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/CategoryToCDDMCategoryMessage.xsl 2009-05-04 13:17:19 UTC (rev 205) @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Document : toCDDM.xsl.xsl + Created on : April 16, 2009, 10:18 PM + Author : pete + Description: Transform "old" CSE:Category -> CDDM:CategoryMessage + +--> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:dt="http://cse.campussource.de/schema/DataTypes" + xmlns="http://cse.campussource.de/schema/DataTypes" + version="1.0"> + + <xsl:output method="xml" + media-type="text/xml" + indent="yes" + encoding="UTF-8" + omit-xml-declaration="no"/> + + <xsl:template match="/dt:category"> +<!-- + <xsl:for-each select="/dt:synchronizationMessage/dt:courses/*"> +--> + <xsl:comment>##### Creating category (<xsl:value-of select="dt:name"/>) #####</xsl:comment> + <xsl:element name="categoryMessage"> + <xsl:element name="category"> + <xsl:element name="busId">1</xsl:element> + <xsl:element name="eventTime">2000-01-20T12:00:00</xsl:element> + <xsl:for-each select="*[position() < 6]"> + <xsl:comment>----- Attribute: <xsl:value-of select="local-name(.)"/> -----</xsl:comment> + <xsl:element name="attribute"> + <xsl:element name="name"> + <xsl:value-of select="local-name(.)"/> + </xsl:element> + <xsl:element name="value"> + <xsl:value-of select="."/> + </xsl:element> + <xsl:element name="transient"> + <xsl:text>false</xsl:text> + </xsl:element> + </xsl:element> + </xsl:for-each> + </xsl:element> + <xsl:element name="eventTime">2000-01-20T12:00:00</xsl:element> + <xsl:element name="inputEvent">CREATE_UPDATE</xsl:element> + </xsl:element> +<!-- + </xsl:for-each> +--> + </xsl:template> + +</xsl:stylesheet> Copied: trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/CourseToCDDMCourseMessage.xsl (from rev 200, trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/toCDDM.xsl) =================================================================== --- trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/CourseToCDDMCourseMessage.xsl (rev 0) +++ trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/CourseToCDDMCourseMessage.xsl 2009-05-04 13:17:19 UTC (rev 205) @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Document : CourseToCDDMCourseMessage.xsl + Created on : April 16, 2009, 10:18 PM + Author : pete + Description: Transform "old" CSE:Course -> CDDM:CourseMessage + +--> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:dt="http://cse.campussource.de/schema/DataTypes" + xmlns="http://cse.campussource.de/schema/DataTypes" + version="1.0"> + + <xsl:output method="xml" + media-type="text/xml" + indent="yes" + encoding="UTF-8" + omit-xml-declaration="no"/> + + <xsl:template match="/dt:course"> +<!-- + <xsl:for-each select="/dt:synchronizationMessage/dt:courses/*"> +--> + <xsl:comment>##### Creating course (<xsl:value-of select="dt:title"/>) #####</xsl:comment> + <xsl:element name="courseMessage"> + <xsl:element name="course"> + <xsl:element name="busId">1</xsl:element> + <xsl:element name="eventTime">2000-01-20T12:00:00</xsl:element> + <xsl:for-each select="*[position() < 6]"> + <xsl:comment>----- Attribute: <xsl:value-of select="local-name(.)"/> -----</xsl:comment> + <xsl:element name="attribute"> + <xsl:element name="name"> + <xsl:value-of select="local-name(.)"/> + </xsl:element> + <xsl:element name="value"> + <xsl:value-of select="."/> + </xsl:element> + <xsl:element name="transient"> + <xsl:text>false</xsl:text> + </xsl:element> + </xsl:element> + </xsl:for-each> + </xsl:element> + <xsl:element name="eventTime">2000-01-20T12:00:00</xsl:element> + <xsl:element name="inputEvent">CREATE_UPDATE</xsl:element> + </xsl:element> +<!-- + </xsl:for-each> +--> + </xsl:template> + +</xsl:stylesheet> Modified: trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/InboundClientAdapter.bpel =================================================================== --- trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/InboundClientAdapter.bpel 2009-05-04 13:13:47 UTC (rev 204) +++ trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/InboundClientAdapter.bpel 2009-05-04 13:17:19 UTC (rev 205) @@ -15,130 +15,128 @@ xmlns:ns0="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:ns1="http://j2ee.netbeans.org/wsdl/ObjectProcessor/ObjectProcessor"> - <import namespace="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/LSFClientAdapter" location="LSFClientAdapter.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/> - <import namespace="http://cse.campussource.de/schema/LSFDataTypes" location="LSFDataTypes.xsd" importType="http://www.w3.org/2001/XMLSchema"/> - <import namespace="http://cse.campussource.de/schema/DataTypes" location="Common/CDDM.xsd" importType="http://www.w3.org/2001/XMLSchema"/> - <import namespace="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/XSLTTransform" location="XSLTTransform.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/> - <import namespace="http://j2ee.netbeans.org/wsdl/ObjectProcessor/ObjectProcessor" location="ObjectProcessor/ObjectProcessor.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/> + <import namespace="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/LSFClientAdapter" location="LSFClientAdapter.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/> + <import namespace="http://cse.campussource.de/schema/LSFDataTypes" location="LSFDataTypes.xsd" importType="http://www.w3.org/2001/XMLSchema"/> + <import namespace="http://cse.campussource.de/schema/DataTypes" location="Common/CDDM.xsd" importType="http://www.w3.org/2001/XMLSchema"/> + <import namespace="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/XSLTTransform" location="XSLTTransform.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/> + <import namespace="http://j2ee.netbeans.org/wsdl/ObjectProcessor/ObjectProcessor" location="ObjectProcessor/ObjectProcessor.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/> - <partnerLinks> - <partnerLink name="XSLTTransform" xmlns:tns="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/XSLTTransform" partnerLinkType="tns:XSLTTransform" partnerRole="XSLTTransformPortTypeRole"/> - <partnerLink name="ObjectProcessor" xmlns:tns="http://j2ee.netbeans.org/wsdl/ObjectProcessor/ObjectProcessor" partnerLinkType="tns:ObjectProcessor" partnerRole="ObjectProcessorPortTypeRole"/> - <partnerLink name="LSF" xmlns:tns="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/LSFClientAdapter" partnerLinkType="tns:LSFClientAdapter" myRole="LSFClientAdapterPortTypeRole"/> - </partnerLinks> - <variables> - <variable name="XSLTTransformOperationOut" xmlns:tns="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/XSLTTransform" messageType="tns:XSLTTransformOperationResponse"/> - <variable name="XSLTTransformOperationIn" xmlns:tns="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/XSLTTransform" messageType="tns:XSLTTransformOperationRequest"/> - <variable name="ReceiveIn" xmlns:tns="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/LSFClientAdapter" messageType="tns:receiveRequest"/> - <variable name="synchronizationMessage" xmlns:tns="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/LSFClientAdapter" element="lsfdt:synchronizationMessage"/> - </variables> - <sequence> - <receive name="receive" createInstance="yes" partnerLink="LSF" operation="receive" xmlns:tns="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/LSFClientAdapter" portType="tns:LSFClientAdapterPortType" variable="ReceiveIn"/> - <assign name="prepareXSLTTransform"> - <copy> - <from variable="ReceiveIn" part="InputData"/> - <to variable="XSLTTransformOperationIn" part="inputXML"/> - </copy> - </assign> - <invoke name="doXSLTTransform" partnerLink="XSLTTransform" operation="XSLTTransformOperation" xmlns:tns="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/XSLTTransform" portType="tns:XSLTTransformPortType" inputVariable="XSLTTransformOperationIn" outputVariable="XSLTTransformOperationOut"/> - <assign name="convertResult"> - <sxt:trace> + <partnerLinks> + <partnerLink name="XSLTTransform" xmlns:tns="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/XSLTTransform" partnerLinkType="tns:XSLTTransform" partnerRole="XSLTTransformPortTypeRole"/> + <partnerLink name="ObjectProcessor" xmlns:tns="http://j2ee.netbeans.org/wsdl/ObjectProcessor/ObjectProcessor" partnerLinkType="tns:ObjectProcessor" partnerRole="ObjectProcessorPortTypeRole"/> + <partnerLink name="LSF" xmlns:tns="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/LSFClientAdapter" partnerLinkType="tns:LSFClientAdapter" myRole="LSFClientAdapterPortTypeRole"/> + </partnerLinks> + <variables> + <variable name="XSLTTransformOperationOut" xmlns:tns="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/XSLTTransform" messageType="tns:XSLTTransformOperationResponse"/> + <variable name="XSLTTransformOperationIn" xmlns:tns="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/XSLTTransform" messageType="tns:XSLTTransformOperationRequest"/> + <variable name="ReceiveIn" xmlns:tns="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/LSFClientAdapter" messageType="tns:receiveRequest"/> + <variable name="synchronizationMessage" xmlns:tns="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/LSFClientAdapter" element="lsfdt:synchronizationMessage"/> + </variables> + <sequence> + <receive name="receive" createInstance="yes" partnerLink="LSF" operation="receive" xmlns:tns="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/LSFClientAdapter" portType="tns:LSFClientAdapterPortType" variable="ReceiveIn"/> + <assign name="prepareXSLTTransform"> + <copy> + <from variable="ReceiveIn" part="InputData"/> + <to variable="XSLTTransformOperationIn" part="inputXML"/> + </copy> + </assign> + <invoke name="doXSLTTransform" partnerLink="XSLTTransform" operation="XSLTTransformOperation" xmlns:tns="http://j2ee.netbeans.org/wsdl/LSFClientAdapter/XSLTTransform" portType="tns:XSLTTransformPortType" inputVariable="XSLTTransformOperationIn" outputVariable="XSLTTransformOperationOut"/> + <assign name="convertResult"> + <sxt:trace> <!-- <sxt:log level="info" location="onStart"> <ns0:from>concat('XSLT-Transofmation-Output: ', $XSLTTransformOperationOut.result)</ns0:from> </sxt:log> --> - <sxt:log level="info" location="onComplete"> - <ns0:from>concat('Variable.SemesterName: ', $synchronizationMessage/semesterName)</ns0:from> - </sxt:log> - </sxt:trace> - <copy> - <from>sxxf:doUnMarshal($XSLTTransformOperationOut.result)</from> - <to variable="synchronizationMessage"/> - </copy> - </assign> - <forEach name="CourseSplitter" parallel="no" counterName="CourseCounter"> - <sxt:trace> - <sxt:log level="info" location="onStart"> - <ns0:from>'*** ForEach before start'</ns0:from> - </sxt:log> - </sxt:trace> - <startCounterValue>1</startCounterValue> - <finalCounterValue>count($synchronizationMessage/courses/course[.])</finalCounterValue> - <scope name="ObjectProcessor"> - <variables> - <variable name="ProcessCourseOperationIn" xmlns:tns="http://j2ee.netbeans.org/wsdl/ObjectProcessor/ObjectProcessor" messageType="tns:ProcessCourseOperationRequest"/> - </variables> - <sequence name="CourseSplitSequence"> - <!-- Init courseMessage part of ProcessCourseOperationIn --> - <assign name="initCourseMessagePartStructure"> - <copy> - <from> - <literal> - <courseMessage xmlns="http://cse.campussource.de/schema/DataTypes"> - <course> - <busId/> - <eventTime>2000-01-20T12:00:00</eventTime> - <attribute> - <name/> - <value/> - <transient/> - </attribute> - <categories/> - <workgroups/> - </course> - <eventTime>2000-01-20T12:00:00</eventTime> - <inputEvent>CREATE_UPDATE</inputEvent> - </courseMessage> - </literal> - </from> - <to variable="ProcessCourseOperationIn" part="courseMessage"/> - </copy> - <copy> - <from>1</from> - <to variable="ProcessCourseOperationIn" part="clientInstanceId"/> - </copy> - <copy> - <from>'lsf-id-1'</from> - <to variable="ProcessCourseOperationIn" part="clientObjectId"/> - </copy> - </assign> - <!-- Copy relevant attributes --> - <assign name="transformToCDDM"> - <copy> - <from>ns0:doXslTransform('urn:stylesheets:toCDDM.xsl', $synchronizationMessage/courses/course[$CourseCounter])</from> - <to>$ProcessCourseOperationIn.courseMessage</to> - </copy> - </assign> -<!-- - <assign name="prepareProcessCourse"> - <copy> - <from variable="synchronizationMessage"/> - <to variable="ProcessCourseOperationIn" part="courseMessage"/> - </copy> - </assign> ---> -<!-- - <assign name="setObject"> - <sxt:trace> - <sxt:log level="fine" location="onStart"> - <ns0:from variable="CourseCounter"/> - </sxt:log> - </sxt:trace> + <sxt:log level="info" location="onComplete"> + <ns0:from>concat('Variable.SemesterName: ', $synchronizationMessage/semesterName)</ns0:from> + </sxt:log> + </sxt:trace> + <copy> + <from>sxxf:doUnMarshal($XSLTTransformOperationOut.result)</from> + <to variable="synchronizationMessage"/> + </copy> + </assign> - <copy> - <from>$synchronizationMessage/courses/course[$ObjectCounter]</from> - <to>$ProcessObjectOperationIn.objectMessage/courses/course[1]</to> - </copy> - <copy> - <from>1</from> - <to variable="ProcessCourseOperationIn" part="clientInstanceId"/> - </copy> - </assign> ---> - <invoke name="processObject" partnerLink="ObjectProcessor" operation="ProcessCourseOperation" portType="ns1:ObjectProcessorPortType" inputVariable="ProcessCourseOperationIn"/> - </sequence> - </scope> - </forEach> - </sequence> + <!-- Convert CSE:Courses -> CDDM:CourseMessages --> + <forEach name="CourseSplitter" parallel="no" counterName="CourseCounter"> + <sxt:trace> + <sxt:log level="info" location="onStart"> + <ns0:from>'*** CourseSplitter start'</ns0:from> + </sxt:log> + </sxt:trace> + <startCounterValue>1</startCounterValue> + <finalCounterValue>count($synchronizationMessage/courses/course[.])</finalCounterValue> + <scope name="invokeObjectProcessorForCourseMessages"> + <variables> + <variable name="ProcessCourseOperationIn" xmlns:tns="http://j2ee.netbeans.org/wsdl/ObjectProcessor/ObjectProcessor" messageType="tns:ProcessCourseOperationRequest"/> + </variables> + <sequence name="CourseSplitSequence"> + <!-- Init courseMessage part of ProcessCourseOperationIn --> + <assign name="initCourseMessagePartStructure"> + <copy> + <from>1</from> + <to variable="ProcessCourseOperationIn" part="clientInstanceId"/> + </copy> + <copy> + <from>'lsf-id-1'</from> + <to variable="ProcessCourseOperationIn" part="clientObjectId"/> + </copy> + </assign> + <!-- Copy relevant attributes --> + <assign name="transformCourseToCDDMCourseMessage"> + <copy> + <from>ns0:doXslTransform('urn:stylesheets:CourseToCDDMCourseMessage.xsl', $synchronizationMessage/courses/course[$CourseCounter])</from> + <to>$ProcessCourseOperationIn.courseMessage</to> + </copy> + </assign> + <invoke name="processCourseMessage" partnerLink="ObjectProcessor" operation="ProcessCourseOperation" portType="ns1:ObjectProcessorPortType" inputVariable="ProcessCourseOperationIn"/> + </sequence> + </scope> + </forEach> + + <!-- Convert CSE:category -> CDDM:categoryMessage --> + <forEach name="CategorySplitter" parallel="no" counterName="CategoryCounter"> + <sxt:trace> + <sxt:log level="info" location="onStart"> + <ns0:from>'*** CategorySplitter start'</ns0:from> + </sxt:log> + </sxt:trace> + <startCounterValue>1</startCounterValue> + <finalCounterValue>count($synchronizationMessage/categories/category[.])</finalCounterValue> + <scope name="invokeObjectProcessorForCategoryMessages"> + <variables> + <variable name="ProcessCategoryOperationIn" messageType="ns1:ProcessCategoryOperationRequest"/> + </variables> + <sequence name="CategorySplitSequence"> + <!-- Init courseMessage part of ProcessCourseOperationIn --> + <assign name="initCourseMessagePartStructure"> + <copy> + <from>1</from> + <to variable="ProcessCategoryOperationIn" part="clientInstanceId"/> + </copy> + <copy> + <from>'lsf-id-1'</from> + <to variable="ProcessCategoryOperationIn" part="clientObjectId"/> + </copy> + </assign> + <!-- Copy relevant attributes --> + <assign name="transformCategoryToCDDMCategoryMessage"> + <copy> + <from>ns0:doXslTransform('urn:stylesheets:CategoryToCDDMCategoryMessage.xsl', $synchronizationMessage/categories/category[$CategoryCounter])</from> + <to>$ProcessCategoryOperationIn.categoryMessage</to> + </copy> + </assign> + <invoke name="processCategoryMessage" partnerLink="ObjectProcessor" operation="ProcessCategoryOperation" portType="ns1:ObjectProcessorPortType" inputVariable="ProcessCategoryOperationIn"> + <sxt:trace> + <sxt:log level="info" location="onStart"> + <ns0:from>concat('*** Sending CategoryMessage: ', $ProcessCategoryOperationIn.categoryMessage)</ns0:from> + </sxt:log> + </sxt:trace> + </invoke> + </sequence> + </scope> + </forEach> + + </sequence> </process> Modified: trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/sync-test_output2.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/sync-test_output2.xml 2009-05-04 13:13:47 UTC (rev 204) +++ trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/sync-test_output2.xml 2009-05-04 13:17:19 UTC (rev 205) @@ -1,120 +1,120 @@ <?xml version="1.0" encoding="UTF-8"?> <!--##### Creating course (Tutorium-Test) #####--> <course xmlns="http://cse.campussource.de/schema/DataTypes"> -<busId/> -<eventTime/> + <busId/> + <eventTime/> <!--- - - - - Attribute: lsfId - - - - - --> -<attribute> -<name>lsfId</name> -<value>32350</value> -<transient>false</transient> -</attribute> + <attribute> + <name>lsfId</name> + <value>32350</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: logicalNumber - - - - - --> -<attribute> -<name>logicalNumber</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>logicalNumber</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: type - - - - - --> -<attribute> -<name>type</name> -<value>Tutorium</value> -<transient>false</transient> -</attribute> + <attribute> + <name>type</name> + <value>Tutorium</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: title - - - - - --> -<attribute> -<name>title</name> -<value>Tutorium-Test</value> -<transient>false</transient> -</attribute> + <attribute> + <name>title</name> + <value>Tutorium-Test</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: shortDescription - - - - - --> -<attribute> -<name>shortDescription</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>shortDescription</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: abbreviation - - - - - --> -<attribute> -<name>abbreviation</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>abbreviation</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: necessaryAssignment - - - - - --> -<attribute> -<name>necessaryAssignment</name> -<value>J</value> -<transient>false</transient> -</attribute> + <attribute> + <name>necessaryAssignment</name> + <value>J</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: note - - - - - --> -<attribute> -<name>note</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>note</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: comment - - - - - --> -<attribute> -<name>comment</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>comment</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: semesterAsInt - - - - - --> -<attribute> -<name>semesterAsInt</name> -<value>20081</value> -<transient>false</transient> -</attribute> + <attribute> + <name>semesterAsInt</name> + <value>20081</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: semesterPeriodsPerWeek - - - - - --> -<attribute> -<name>semesterPeriodsPerWeek</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>semesterPeriodsPerWeek</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: expectedRegistrations - - - - - --> -<attribute> -<name>expectedRegistrations</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>expectedRegistrations</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: maximumRegistrations - - - - - --> -<attribute> -<name>maximumRegistrations</name> -<value>20</value> -<transient>false</transient> -</attribute> + <attribute> + <name>maximumRegistrations</name> + <value>20</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: activityConfirmation - - - - - --> -<attribute> -<name>activityConfirmation</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>activityConfirmation</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: lectureTypeId - - - - - --> -<attribute> -<name>lectureTypeId</name> -<value>40</value> -<transient>false</transient> -</attribute> + <attribute> + <name>lectureTypeId</name> + <value>40</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: active - - - - - --> -<attribute> -<name>active</name> -<value>A</value> -<transient>false</transient> -</attribute> + <attribute> + <name>active</name> + <value>A</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: semesterAbbr - - - - - --> -<attribute> -<name>semesterAbbr</name> -<value>SS 2008</value> -<transient>false</transient> -</attribute> + <attribute> + <name>semesterAbbr</name> + <value>SS 2008</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: semesterFull - - - - - --> -<attribute> -<name>semesterFull</name> -<value>SS 2008</value> -<transient>false</transient> -</attribute> + <attribute> + <name>semesterFull</name> + <value>SS 2008</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: dates - - - - - --> -<attribute> -<name>dates</name> -<value> + <attribute> + <name>dates</name> + <value> @@ -135,162 +135,164 @@ Mittwoch wöchentlich - </value> -<transient>false</transient> -</attribute> + </value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: clientId - - - - - --> -<attribute> -<name>clientId</name> -<value>lecture:32350</value> -<transient>false</transient> -</attribute> + <attribute> + <name>clientId</name> + <value>lecture:32350</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: semesterId - - - - - --> -<attribute> -<name>semesterId</name> -<value>20081</value> -<transient>false</transient> -</attribute> + <attribute> + <name>semesterId</name> + <value>20081</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: startDate - - - - - --> -<attribute> -<name>startDate</name> -<value>14.04.2008</value> -<transient>false</transient> -</attribute> + <attribute> + <name>startDate</name> + <value>14.04.2008</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: endDate - - - - - --> -<attribute> -<name>endDate</name> -<value>18.07.2008</value> -<transient>false</transient> -</attribute> + <attribute> + <name>endDate</name> + <value>18.07.2008</value> + <transient>false</transient> + </attribute> </course> + + <!--##### Creating course (Phonetische Aspekte des Sorbischen) #####--> <course xmlns="http://cse.campussource.de/schema/DataTypes"> -<busId/> -<eventTime/> + <busId/> + <eventTime/> <!--- - - - - Attribute: lsfId - - - - - --> -<attribute> -<name>lsfId</name> -<value>28232</value> -<transient>false</transient> -</attribute> + <attribute> + <name>lsfId</name> + <value>28232</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: logicalNumber - - - - - --> -<attribute> -<name>logicalNumber</name> -<value>28232</value> -<transient>false</transient> -</attribute> + <attribute> + <name>logicalNumber</name> + <value>28232</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: type - - - - - --> -<attribute> -<name>type</name> -<value>Hauptseminar</value> -<transient>false</transient> -</attribute> + <attribute> + <name>type</name> + <value>Hauptseminar</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: title - - - - - --> -<attribute> -<name>title</name> -<value>Phonetische Aspekte des Sorbischen</value> -<transient>false</transient> -</attribute> + <attribute> + <name>title</name> + <value>Phonetische Aspekte des Sorbischen</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: shortDescription - - - - - --> -<attribute> -<name>shortDescription</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>shortDescription</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: abbreviation - - - - - --> -<attribute> -<name>abbreviation</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>abbreviation</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: necessaryAssignment - - - - - --> -<attribute> -<name>necessaryAssignment</name> -<value>N</value> -<transient>false</transient> -</attribute> + <attribute> + <name>necessaryAssignment</name> + <value>N</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: note - - - - - --> -<attribute> -<name>note</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>note</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: comment - - - - - --> -<attribute> -<name>comment</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>comment</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: semesterAsInt - - - - - --> -<attribute> -<name>semesterAsInt</name> -<value>20081</value> -<transient>false</transient> -</attribute> + <attribute> + <name>semesterAsInt</name> + <value>20081</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: semesterPeriodsPerWeek - - - - - --> -<attribute> -<name>semesterPeriodsPerWeek</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>semesterPeriodsPerWeek</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: expectedRegistrations - - - - - --> -<attribute> -<name>expectedRegistrations</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>expectedRegistrations</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: maximumRegistrations - - - - - --> -<attribute> -<name>maximumRegistrations</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>maximumRegistrations</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: activityConfirmation - - - - - --> -<attribute> -<name>activityConfirmation</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>activityConfirmation</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: lectureTypeId - - - - - --> -<attribute> -<name>lectureTypeId</name> -<value>98</value> -<transient>false</transient> -</attribute> + <attribute> + <name>lectureTypeId</name> + <value>98</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: active - - - - - --> -<attribute> -<name>active</name> -<value>A</value> -<transient>false</transient> -</attribute> + <attribute> + <name>active</name> + <value>A</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: languageISO - - - - - --> -<attribute> -<name>languageISO</name> -<value>de</value> -<transient>false</transient> -</attribute> + <attribute> + <name>languageISO</name> + <value>de</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: languageFull - - - - - --> -<attribute> -<name>languageFull</name> -<value>deutsch</value> -<transient>false</transient> -</attribute> + <attribute> + <name>languageFull</name> + <value>deutsch</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: semesterAbbr - - - - - --> -<attribute> -<name>semesterAbbr</name> -<value>SS 2008</value> -<transient>false</transient> -</attribute> + <attribute> + <name>semesterAbbr</name> + <value>SS 2008</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: semesterFull - - - - - --> -<attribute> -<name>semesterFull</name> -<value>SS 2008</value> -<transient>false</transient> -</attribute> + <attribute> + <name>semesterFull</name> + <value>SS 2008</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: dates - - - - - --> -<attribute> -<name>dates</name> -<value> + <attribute> + <name>dates</name> + <value> @@ -301,162 +303,164 @@ Freitag wöchentlich - </value> -<transient>false</transient> -</attribute> + </value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: clientId - - - - - --> -<attribute> -<name>clientId</name> -<value>lecture:28232</value> -<transient>false</transient> -</attribute> + <attribute> + <name>clientId</name> + <value>lecture:28232</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: semesterId - - - - - --> -<attribute> -<name>semesterId</name> -<value>20081</value> -<transient>false</transient> -</attribute> + <attribute> + <name>semesterId</name> + <value>20081</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: startDate - - - - - --> -<attribute> -<name>startDate</name> -<value>14.04.2008</value> -<transient>false</transient> -</attribute> + <attribute> + <name>startDate</name> + <value>14.04.2008</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: endDate - - - - - --> -<attribute> -<name>endDate</name> -<value>18.07.2008</value> -<transient>false</transient> -</attribute> + <attribute> + <name>endDate</name> + <value>18.07.2008</value> + <transient>false</transient> + </attribute> </course> + + <!--##### Creating course (Numerical Algorithms for Visual Computing I) #####--> <course xmlns="http://cse.campussource.de/schema/DataTypes"> -<busId/> -<eventTime/> + <busId/> + <eventTime/> <!--- - - - - Attribute: lsfId - - - - - --> -<attribute> -<name>lsfId</name> -<value>28481</value> -<transient>false</transient> -</attribute> + <attribute> + <name>lsfId</name> + <value>28481</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: logicalNumber - - - - - --> -<attribute> -<name>logicalNumber</name> -<value>28481</value> -<transient>false</transient> -</attribute> + <attribute> + <name>logicalNumber</name> + <value>28481</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: type - - - - - --> -<attribute> -<name>type</name> -<value>Weiterführende Vorlesung</value> -<transient>false</transient> -</attribute> + <attribute> + <name>type</name> + <value>Weiterführende Vorlesung</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: title - - - - - --> -<attribute> -<name>title</name> -<value>Numerical Algorithms for Visual Computing I</value> -<transient>false</transient> -</attribute> + <attribute> + <name>title</name> + <value>Numerical Algorithms for Visual Computing I</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: shortDescription - - - - - --> -<attribute> -<name>shortDescription</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>shortDescription</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: abbreviation - - - - - --> -<attribute> -<name>abbreviation</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>abbreviation</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: necessaryAssignment - - - - - --> -<attribute> -<name>necessaryAssignment</name> -<value>N</value> -<transient>false</transient> -</attribute> + <attribute> + <name>necessaryAssignment</name> + <value>N</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: note - - - - - --> -<attribute> -<name>note</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>note</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: comment - - - - - --> -<attribute> -<name>comment</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>comment</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: semesterAsInt - - - - - --> -<attribute> -<name>semesterAsInt</name> -<value>20081</value> -<transient>false</transient> -</attribute> + <attribute> + <name>semesterAsInt</name> + <value>20081</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: semesterPeriodsPerWeek - - - - - --> -<attribute> -<name>semesterPeriodsPerWeek</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>semesterPeriodsPerWeek</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: expectedRegistrations - - - - - --> -<attribute> -<name>expectedRegistrations</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>expectedRegistrations</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: maximumRegistrations - - - - - --> -<attribute> -<name>maximumRegistrations</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>maximumRegistrations</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: activityConfirmation - - - - - --> -<attribute> -<name>activityConfirmation</name> -<value/> -<transient>false</transient> -</attribute> + <attribute> + <name>activityConfirmation</name> + <value/> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: lectureTypeId - - - - - --> -<attribute> -<name>lectureTypeId</name> -<value>147</value> -<transient>false</transient> -</attribute> + <attribute> + <name>lectureTypeId</name> + <value>147</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: active - - - - - --> -<attribute> -<name>active</name> -<value>A</value> -<transient>false</transient> -</attribute> + <attribute> + <name>active</name> + <value>A</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: languageISO - - - - - --> -<attribute> -<name>languageISO</name> -<value>en</value> -<transient>false</transient> -</attribute> + <attribute> + <name>languageISO</name> + <value>en</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: languageFull - - - - - --> -<attribute> -<name>languageFull</name> -<value>englisch</value> -<transient>false</transient> -</attribute> + <attribute> + <name>languageFull</name> + <value>englisch</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: semesterAbbr - - - - - --> -<attribute> -<name>semesterAbbr</name> -<value>SS 2008</value> -<transient>false</transient> -</attribute> + <attribute> + <name>semesterAbbr</name> + <value>SS 2008</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: semesterFull - - - - - --> -<attribute> -<name>semesterFull</name> -<value>SS 2008</value> -<transient>false</transient> -</attribute> + <attribute> + <name>semesterFull</name> + <value>SS 2008</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: dates - - - - - --> -<attribute> -<name>dates</name> -<value> + <attribute> + <name>dates</name> + <value> @@ -467,31 +471,31 @@ Montag wöchentlich - </value> -<transient>false</transient> -</attribute> + </value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: clientId - - - - - --> -<attribute> -<name>clientId</name> -<value>lecture:28481</value> -<transient>false</transient> -</attribute> + <attribute> + <name>clientId</name> + <value>lecture:28481</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: semesterId - - - - - --> -<attribute> -<name>semesterId</name> -<value>20081</value> -<transient>false</transient> -</attribute> + <attribute> + <name>semesterId</name> + <value>20081</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: startDate - - - - - --> -<attribute> -<name>startDate</name> -<value>14.04.2008</value> -<transient>false</transient> -</attribute> + <attribute> + <name>startDate</name> + <value>14.04.2008</value> + <transient>false</transient> + </attribute> <!--- - - - - Attribute: endDate - - - - - --> -<attribute> -<name>endDate</name> -<value>18.07.2008</value> -<transient>false</transient> -</attribute> + <attribute> + <name>endDate</name> + <value>18.07.2008</value> + <transient>false</transient> + </attribute> </course> Deleted: trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/toCDDM.xsl =================================================================== --- trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/toCDDM.xsl 2009-05-04 13:13:47 UTC (rev 204) +++ trunk/sandbox/lsf-adapter-demo/LSFClientAdapter/src/toCDDM.xsl 2009-05-04 13:17:19 UTC (rev 205) @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- - Document : toCDDM.xsl.xsl - Created on : April 16, 2009, 10:18 PM - Author : pete - Description: - Purpose of transformation follows. ---> - -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:dt="http://cse.campussource.de/schema/DataTypes" - xmlns="http://cse.campussource.de/schema/DataTypes" - version="1.0"> - - <xsl:output method="xml" - media-type="text/xml" - indent="yes" - encoding="UTF-8" - omit-xml-declaration="no"/> - - <xsl:template match="/dt:course"> -<!-- - <xsl:for-each select="/dt:synchronizationMessage/dt:courses/*"> ---> - <xsl:comment>##### Creating course (<xsl:value-of select="dt:title"/>) #####</xsl:comment> - <xsl:element name="courseMessage"> - <xsl:element name="course"> - <xsl:element name="busId">1</xsl:element> - <xsl:element name="eventTime">2000-01-20T12:00:00</xsl:element> - <xsl:for-each select="*[position() < 6]"> - <xsl:comment>----- Attribute: <xsl:value-of select="local-name(.)"/> -----</xsl:comment> - <xsl:element name="attribute"> - <xsl:element name="name"> - <xsl:value-of select="local-name(.)"/> - </xsl:element> - <xsl:element name="value"> - <xsl:value-of select="."/> - </xsl:element> - <xsl:element name="transient"> - <xsl:text>false</xsl:text> - </xsl:element> - </xsl:element> - </xsl:for-each> - </xsl:element> - <xsl:element name="eventTime">2000-01-20T12:00:00</xsl:element> - <xsl:element name="inputEvent">CREATE_UPDATE</xsl:element> - </xsl:element> -<!-- - </xsl:for-each> ---> - </xsl:template> - -</xsl:stylesheet> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pka...@us...> - 2009-05-04 13:13:55
|
Revision: 204 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=204&view=rev Author: pkasprzak Date: 2009-05-04 13:13:47 +0000 (Mon, 04 May 2009) Log Message: ----------- * Fixed categoryMessage element name (course -> category) Modified Paths: -------------- trunk/sandbox/lsf-adapter-demo/Common/build.xml trunk/sandbox/lsf-adapter-demo/Common/nbproject/build-impl.xml trunk/sandbox/lsf-adapter-demo/Common/nbproject/genfiles.properties trunk/sandbox/lsf-adapter-demo/Common/src/CDDM.xsd Modified: trunk/sandbox/lsf-adapter-demo/Common/build.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/Common/build.xml 2009-05-04 12:44:14 UTC (rev 203) +++ trunk/sandbox/lsf-adapter-demo/Common/build.xml 2009-05-04 13:13:47 UTC (rev 204) @@ -53,18 +53,14 @@ properties which you can use check the target you are overriding in nbproject/build-impl.xml file. --> - <target name="-check-netbeans-home"> - <condition property="no.netbeans.home"> - <not> - <isset property="netbeans.home"/> - </not> - </condition> + <target name="-init-esb-ide" if="netbeans.home"> + <property name="esb.netbeans.platform" value="${netbeans.home}"/> </target> - <target name="-init-caps" if="no.netbeans.home"> + <target name="-init-esb-cmdline" unless="netbeans.home"> <property file="${basedir}/nbproject/private/private.properties"/> - <property name="netbeans.home" value="${caps.netbeans.home}/platform9"/> - <property name="netbeans.user" value="${caps.netbeans.user}"/> + <property name="esb.netbeans.platform" value="${esb.netbeans.home}/platform9"/> + <property name="netbeans.user" value="${esb.netbeans.user}"/> <property name="from.commandline" value="true"/> </target> - <target name="-pre-init" depends="-check-netbeans-home,-init-caps"/> + <target name="-pre-init" depends="-init-esb-ide,-init-esb-cmdline"/> </project> Modified: trunk/sandbox/lsf-adapter-demo/Common/nbproject/build-impl.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/Common/nbproject/build-impl.xml 2009-05-04 12:44:14 UTC (rev 203) +++ trunk/sandbox/lsf-adapter-demo/Common/nbproject/build-impl.xml 2009-05-04 13:13:47 UTC (rev 204) @@ -48,42 +48,42 @@ </target> <target name="-init-taskdefs" if="from.commandline"> <path id="ant.task.classpath"> - <pathelement location="${netbeans.home}/../ide10/modules/ext/resolver-1.2.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-apache-xml-resolver.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-project-ant.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-project-libraries.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-projectapi.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-projectuiapi.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-xml-catalog.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-xml-xam.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-xml-schema-model.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-xml-wsdl-model.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-xml-retriever.jar"/> - <pathelement location="${netbeans.home}/../platform9/core/core.jar"/> - <pathelement location="${netbeans.home}/../platform9/core/org-openide-filesystems.jar"/> - <pathelement location="${netbeans.home}/../platform9/lib/boot.jar"/> - <pathelement location="${netbeans.home}/../platform9/lib/org-openide-modules.jar"/> - <pathelement location="${netbeans.home}/../platform9/lib/org-openide-util.jar"/> - <pathelement location="${netbeans.home}/../platform9/modules/org-openide-dialogs.jar"/> - <pathelement location="${netbeans.home}/../platform9/modules/org-openide-loaders.jar"/> - <pathelement location="${netbeans.home}/../platform9/modules/org-openide-nodes.jar"/> - <pathelement location="${netbeans.home}/../platform9/modules/org-openide-text.jar"/> - <pathelement location="${netbeans.home}/../platform9/modules/org-netbeans-modules-masterfs.jar"/> - <pathelement location="${netbeans.home}/../platform9/modules/org-netbeans-modules-queries.jar"/> - <pathelement location="${netbeans.home}/../soa2/ant/nblib/org-netbeans-modules-bpel-project.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-bpel-debugger-api.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-bpel-model.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-bpel-project.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-bpel-validation.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-soa-ui.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-soa-validation.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-compapp-projects-base.jar"/> - <pathelement location="${netbeans.home}/../xml2/modules/ext/jxpath/jxpath1.1.jar"/> - <pathelement location="${netbeans.home}/../xml2/modules/org-netbeans-modules-xml-catalogsupport.jar"/> - <pathelement location="${netbeans.home}/../xml2/modules/org-netbeans-modules-xml-search.jar"/> - <pathelement location="${netbeans.home}/../xml2/modules/org-netbeans-modules-xml-wsdl-extensions.jar"/> - <pathelement location="${netbeans.home}/../xml2/modules/org-netbeans-modules-xml-xpath.jar"/> - <pathelement location="${netbeans.home}/../xml2/modules/org-netbeans-modules-xml-xpath-ext.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/ext/resolver-1.2.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-apache-xml-resolver.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-project-ant.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-project-libraries.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-projectapi.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-projectuiapi.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-xml-catalog.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-xml-xam.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-xml-schema-model.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-xml-wsdl-model.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-xml-retriever.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/core/core.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/core/org-openide-filesystems.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/lib/boot.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/lib/org-openide-modules.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/lib/org-openide-util.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/modules/org-openide-dialogs.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/modules/org-openide-loaders.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/modules/org-openide-nodes.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/modules/org-openide-text.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/modules/org-netbeans-modules-masterfs.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/modules/org-netbeans-modules-queries.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/ant/nblib/org-netbeans-modules-bpel-project.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-bpel-debugger-api.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-bpel-model.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-bpel-project.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-bpel-validation.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-soa-ui.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-soa-validation.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-compapp-projects-base.jar"/> + <pathelement location="${esb.netbeans.platform}/../xml2/modules/ext/jxpath/jxpath1.1.jar"/> + <pathelement location="${esb.netbeans.platform}/../xml2/modules/org-netbeans-modules-xml-catalogsupport.jar"/> + <pathelement location="${esb.netbeans.platform}/../xml2/modules/org-netbeans-modules-xml-search.jar"/> + <pathelement location="${esb.netbeans.platform}/../xml2/modules/org-netbeans-modules-xml-wsdl-extensions.jar"/> + <pathelement location="${esb.netbeans.platform}/../xml2/modules/org-netbeans-modules-xml-xpath.jar"/> + <pathelement location="${esb.netbeans.platform}/../xml2/modules/org-netbeans-modules-xml-xpath-ext.jar"/> </path> <taskdef name="validate-project" classname="org.netbeans.modules.bpel.project.anttasks.cli.CliValidateBpelProjectTask"> <classpath refid="ant.task.classpath"/> Modified: trunk/sandbox/lsf-adapter-demo/Common/nbproject/genfiles.properties =================================================================== --- trunk/sandbox/lsf-adapter-demo/Common/nbproject/genfiles.properties 2009-05-04 12:44:14 UTC (rev 203) +++ trunk/sandbox/lsf-adapter-demo/Common/nbproject/genfiles.properties 2009-05-04 13:13:47 UTC (rev 204) @@ -1,8 +1,8 @@ build.xml.data.CRC32=56915d2e -build.xml.script.CRC32=3d3dbc12 -build.xml.stylesheet.CRC32=1947459d +build.xml.script.CRC32=60b50638 +build.xml.stylesheet.CRC32=f35fd70d # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=56915d2e -nbproject/build-impl.xml.script.CRC32=4479156a -nbproject/build-impl.xml.stylesheet.CRC32=749ec361 +nbproject/build-impl.xml.script.CRC32=704fb878 +nbproject/build-impl.xml.stylesheet.CRC32=5068533b Modified: trunk/sandbox/lsf-adapter-demo/Common/src/CDDM.xsd =================================================================== --- trunk/sandbox/lsf-adapter-demo/Common/src/CDDM.xsd 2009-05-04 12:44:14 UTC (rev 203) +++ trunk/sandbox/lsf-adapter-demo/Common/src/CDDM.xsd 2009-05-04 13:13:47 UTC (rev 204) @@ -102,7 +102,7 @@ <xs:complexType name="categoryMessageType"> <xs:sequence> - <xs:element name="course" type="tns:categoryType"/> + <xs:element name="category" type="tns:categoryType"/> <xs:element name="eventTime" type="xs:dateTime"/> <xs:element name="inputEvent" type="tns:inputEventType"/> </xs:sequence> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-05-04 12:44:21
|
Revision: 203 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=203&view=rev Author: roekens Date: 2009-05-04 12:44:14 +0000 (Mon, 04 May 2009) Log Message: ----------- refactoring of cdmm (in progress) - removed not needed messages Removed Paths: ------------- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/AccountMessage.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/CategoryMessage.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/CourseMessage.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/GroupMessage.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/RoleMessage.java Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/AccountMessage.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/AccountMessage.java 2009-05-04 12:19:09 UTC (rev 202) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/AccountMessage.java 2009-05-04 12:44:14 UTC (rev 203) @@ -1,30 +0,0 @@ -package de.campussource.cse.cdmm.messages; - -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; - -import de.campussource.cse.cdmm.domain.Account; -import de.campussource.cse.cdmm.domain.Constants; - -/** - * Account message object - * @author Sebastian Roekens - * - */ -@XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) -@XmlType(name=Constants.ACCOUNT_MESSAGE_TYPE, propOrder={}) -public class AccountMessage extends InputMessage{ - - private Account account; - - @XmlElement(name=Constants.ACCOUNT) - public Account getAccount() { - return account; - } - - public void setAccount(Account account) { - this.account = account; - } - -} Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/CategoryMessage.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/CategoryMessage.java 2009-05-04 12:19:09 UTC (rev 202) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/CategoryMessage.java 2009-05-04 12:44:14 UTC (rev 203) @@ -1,30 +0,0 @@ -package de.campussource.cse.cdmm.messages; - -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; - -import de.campussource.cse.cdmm.domain.Category; -import de.campussource.cse.cdmm.domain.Constants; - -/** - * Category message object - * @author Sebastian Roekens - * - */ -@XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) -@XmlType(name=Constants.CATEGORY_MESSAGE_TYPE, propOrder={}) -public class CategoryMessage extends InputMessage{ - - private Category category; - - @XmlElement(name=Constants.CATEGORY) - public Category getCategory() { - return category; - } - - public void setCategory(Category category) { - this.category = category; - } - -} \ No newline at end of file Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/CourseMessage.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/CourseMessage.java 2009-05-04 12:19:09 UTC (rev 202) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/CourseMessage.java 2009-05-04 12:44:14 UTC (rev 203) @@ -1,30 +0,0 @@ -package de.campussource.cse.cdmm.messages; - -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; - -import de.campussource.cse.cdmm.domain.Constants; -import de.campussource.cse.cdmm.domain.Course; - -/** - * Course message object - * @author Sebastian Roekens - * - */ -@XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) -@XmlType(name=Constants.COURSE_MESSAGE_TYPE, propOrder={}) -public class CourseMessage extends InputMessage{ - - private Course course; - - @XmlElement(name=Constants.COURSE) - public Course getCourse() { - return course; - } - - public void setCourse(Course course) { - this.course = course; - } - -} Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/GroupMessage.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/GroupMessage.java 2009-05-04 12:19:09 UTC (rev 202) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/GroupMessage.java 2009-05-04 12:44:14 UTC (rev 203) @@ -1,30 +0,0 @@ -package de.campussource.cse.cdmm.messages; - -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; - -import de.campussource.cse.cdmm.domain.Constants; -import de.campussource.cse.cdmm.domain.Group; - -/** - * Group message object - * @author Sebastian Roekens - * - */ -@XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) -@XmlType(name=Constants.GROUP_MESSAGE_TYPE, propOrder={}) -public class GroupMessage extends InputMessage{ - - private Group group; - - @XmlElement(name=Constants.ROLE) - public Group getGroup() { - return group; - } - - public void setGroup(Group group) { - this.group = group; - } - -} Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/RoleMessage.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/RoleMessage.java 2009-05-04 12:19:09 UTC (rev 202) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/messages/RoleMessage.java 2009-05-04 12:44:14 UTC (rev 203) @@ -1,30 +0,0 @@ -package de.campussource.cse.cdmm.messages; - -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; - -import de.campussource.cse.cdmm.domain.Constants; -import de.campussource.cse.cdmm.domain.Role; - -/** - * Role message object - * @author Sebastian Roekens - * - */ -@XmlRootElement(namespace=Constants.NAMESPACE_DATATYPES) -@XmlType(name=Constants.ROLE_MESSAGE_TYPE, propOrder={}) -public class RoleMessage extends InputMessage{ - - private Role role; - - @XmlElement(name=Constants.ROLE) - public Role getRole() { - return role; - } - - public void setRole(Role role) { - this.role = role; - } - -} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-05-04 12:19:15
|
Revision: 202 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=202&view=rev Author: roekens Date: 2009-05-04 12:19:09 +0000 (Mon, 04 May 2009) Log Message: ----------- refactoring of cdmm (in progress) - removed old web service interface and bean class Modified Paths: -------------- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelManagerTest.java Added Paths: ----------- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManager.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java Removed Paths: ------------- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManager.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelManager.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelManagerBean.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/DataModelManagerBeanTest.java Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManager.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManager.java 2009-05-04 12:07:57 UTC (rev 201) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManager.java 2009-05-04 12:19:09 UTC (rev 202) @@ -1,37 +0,0 @@ -package de.campussource.cse.cdmm; - -import java.util.List; - -import de.campussource.cse.cdmm.messages.AccountMessage; -import de.campussource.cse.cdmm.messages.CategoryMessage; -import de.campussource.cse.cdmm.messages.CourseMessage; -import de.campussource.cse.cdmm.messages.EventMessage; -import de.campussource.cse.cdmm.messages.GroupMessage; -import de.campussource.cse.cdmm.messages.RoleMessage; - -/** - * Service bean for CDMM package - * @author Sebastian Roekens - * - */ -public interface DataModelManager { - public List<EventMessage> createOrUpdateCourse(CourseMessage courseMessage); - - public List<EventMessage> deleteCourse(CourseMessage courseMessage); - - public List<EventMessage> createOrUpdateCategory(CategoryMessage categoryMessage); - - public List<EventMessage> deleteCategory(CategoryMessage categoryMessage); - - public List<EventMessage> createOrUpdateRole(RoleMessage roleMessage); - - public List<EventMessage> deleteRole(RoleMessage roleMessage); - - public List<EventMessage> createOrUpdateAccount(AccountMessage accountMessage); - - public List<EventMessage> deleteAccount(AccountMessage accountMessage); - - public List<EventMessage> createOrUpdateGroup(GroupMessage groupMessage); - - public List<EventMessage> deleteGroup(GroupMessage groupMessage); -} Copied: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManager.java (from rev 200, trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelManager.java) =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManager.java (rev 0) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManager.java 2009-05-04 12:19:09 UTC (rev 202) @@ -0,0 +1,21 @@ +package de.campussource.cse.cdmm; + +import java.util.List; + +import de.campussource.cse.cdmm.messages.EventMessage; +import de.campussource.cse.cdmm.messages.InputMessage; + +/** + * Canonical Data Model Manager + * + * @author Ingo Dueppe + * @author Sebastian Roekens + * + */ +public interface DataModelManager { + + public List<EventMessage> createOrUpdate(InputMessage message); + + public List<EventMessage> delete(InputMessage message); + +} Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java 2009-05-04 12:07:57 UTC (rev 201) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java 2009-05-04 12:19:09 UTC (rev 202) @@ -1,96 +0,0 @@ -package de.campussource.cse.cdmm; - -import java.util.List; - -import javax.ejb.Remote; -import javax.ejb.Stateless; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebResult; -import javax.jws.WebService; - -import org.apache.log4j.Logger; - -import de.campussource.cse.cdmm.messages.AccountMessage; -import de.campussource.cse.cdmm.messages.CategoryMessage; -import de.campussource.cse.cdmm.messages.CourseMessage; -import de.campussource.cse.cdmm.messages.EventMessage; -import de.campussource.cse.cdmm.messages.GroupMessage; -import de.campussource.cse.cdmm.messages.RoleMessage; - -/** - * Service bean for CDMM package - * - * @author Sebastian Roekens - * - */ -@Stateless -@Remote(value = DataModelManager.class) -@WebService(name = "DataModelManager", targetNamespace = "http://cse.campussource.de/cdmm") -public class DataModelManagerBean implements DataModelManager { - - private static final Logger logger = Logger - .getLogger(DataModelManagerBean.class); - - @Override - @WebMethod(action = "createOrUpdateCourse") - @WebResult(name = "EventMessages") - public List<EventMessage> createOrUpdateCourse( - @WebParam(name = "CourseMessage") CourseMessage courseMessage) { - return null; - } - - @Override - public List<EventMessage> deleteCourse(CourseMessage courseMessage) { - // init eventMessageList - return null; - } - - @Override - public List<EventMessage> createOrUpdateAccount( - AccountMessage accountMessage) { - return null; - } - - - @Override - public List<EventMessage> createOrUpdateCategory( - CategoryMessage categoryMessage) { - return null; - } - - @Override - public List<EventMessage> createOrUpdateGroup(GroupMessage groupMessage) { - return null; - } - - @Override - public List<EventMessage> createOrUpdateRole(RoleMessage roleMessage) { - return null; - } - - @Override - public List<EventMessage> deleteAccount(AccountMessage accountMessage) { - // TODO Auto-generated method stub - return null; - } - - @Override - public List<EventMessage> deleteCategory(CategoryMessage categoryMessage) { - // TODO Auto-generated method stub - return null; - } - - @Override - public List<EventMessage> deleteGroup(GroupMessage groupMessage) { - // TODO Auto-generated method stub - return null; - } - - @Override - public List<EventMessage> deleteRole(RoleMessage roleMessage) { - // TODO Auto-generated method stub - return null; - } - -} Copied: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java (from rev 200, trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelManagerBean.java) =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java (rev 0) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java 2009-05-04 12:19:09 UTC (rev 202) @@ -0,0 +1,64 @@ +package de.campussource.cse.cdmm; + +import java.util.List; + +import javax.ejb.EJB; +import javax.ejb.Remote; +import javax.ejb.Stateless; +import javax.jws.WebService; + +import org.apache.commons.lang.NotImplementedException; +import org.apache.log4j.Logger; + +import de.campussource.cse.cdmm.dao.EntityDaoJPA; +import de.campussource.cse.cdmm.domain.Entity; +import de.campussource.cse.cdmm.messages.EventMessage; +import de.campussource.cse.cdmm.messages.InputMessage; + +/** + * Canonical Data Model Manager implementation + * + * + * @author Ingo Dueppe + * + */ +@Stateless +@Remote(DataModelManager.class) +@WebService(name = "DataModelManager", targetNamespace = "http://cse.campussource.de/cdmm") +public class DataModelManagerBean implements DataModelManager { + + @EJB + private EntityDaoJPA entityDao; + + private static final Logger logger = Logger.getLogger(DataModelManagerBean.class); + + @Override + public List<EventMessage> createOrUpdate(InputMessage message) { + if (logger.isDebugEnabled()) { + logger.debug("Receive create or update message: "+message); + } + + Entity input = message.getEntity(); + Entity loaded = entityDao.find(input.getClass(), input.getId()); + + EventBuilder eventBuilder = new EventBuilderBean(); + eventBuilder.setEventTime(message.getEventTime()); + if (loaded.isOlder(input.getDate())) { + ModelMergerBean merger = new ModelMergerBean(); + merger.setEventBuilder(eventBuilder); + merger.merge(input); + + entityDao.persist(loaded); + } + + return eventBuilder.build(); + } + + + @Override + public List<EventMessage> delete(InputMessage message) { + throw new NotImplementedException(); + // TODO Auto-generated method stub + } + +} Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelManager.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelManager.java 2009-05-04 12:07:57 UTC (rev 201) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelManager.java 2009-05-04 12:19:09 UTC (rev 202) @@ -1,21 +0,0 @@ -package de.campussource.cse.cdmm; - -import java.util.List; - -import de.campussource.cse.cdmm.messages.EventMessage; -import de.campussource.cse.cdmm.messages.InputMessage; - -/** - * Canonical Data Model Manager - * - * @author Ingo Dueppe - * @author Sebastian Roekens - * - */ -public interface ModelManager { - - public List<EventMessage> createOrUpdate(InputMessage message); - - public List<EventMessage> delete(InputMessage message); - -} Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelManagerBean.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelManagerBean.java 2009-05-04 12:07:57 UTC (rev 201) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelManagerBean.java 2009-05-04 12:19:09 UTC (rev 202) @@ -1,62 +0,0 @@ -package de.campussource.cse.cdmm; - -import java.util.List; - -import javax.ejb.EJB; -import javax.ejb.Remote; -import javax.ejb.Stateless; - -import org.apache.commons.lang.NotImplementedException; -import org.apache.log4j.Logger; - -import de.campussource.cse.cdmm.dao.EntityDaoJPA; -import de.campussource.cse.cdmm.domain.Entity; -import de.campussource.cse.cdmm.messages.EventMessage; -import de.campussource.cse.cdmm.messages.InputMessage; - -/** - * Canonical Data Model Manager implementation - * - * - * @author Ingo Dueppe - * - */ -@Stateless -@Remote(ModelManager.class) -public class ModelManagerBean implements ModelManager { - - @EJB - private EntityDaoJPA entityDao; - - private static final Logger logger = Logger.getLogger(ModelManagerBean.class); - - @Override - public List<EventMessage> createOrUpdate(InputMessage message) { - if (logger.isDebugEnabled()) { - logger.debug("Receive create or update message: "+message); - } - - Entity input = message.getEntity(); - Entity loaded = entityDao.find(input.getClass(), input.getId()); - - EventBuilder eventBuilder = new EventBuilderBean(); - eventBuilder.setEventTime(message.getEventTime()); - if (loaded.isOlder(input.getDate())) { - ModelMergerBean merger = new ModelMergerBean(); - merger.setEventBuilder(eventBuilder); - merger.merge(input); - - entityDao.persist(loaded); - } - - return eventBuilder.build(); - } - - - @Override - public List<EventMessage> delete(InputMessage message) { - throw new NotImplementedException(); - // TODO Auto-generated method stub - } - -} Deleted: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/DataModelManagerBeanTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/DataModelManagerBeanTest.java 2009-05-04 12:07:57 UTC (rev 201) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/DataModelManagerBeanTest.java 2009-05-04 12:19:09 UTC (rev 202) @@ -1,73 +0,0 @@ -package de.campussource.cse.cdmm; - -import java.util.Date; -import java.util.List; - -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; -import static org.junit.Assert.*; - -import de.campussource.cse.cdmm.domain.Constants; -import de.campussource.cse.cdmm.domain.Course; -import de.campussource.cse.cdmm.messages.CourseMessage; -import de.campussource.cse.cdmm.messages.EventMessage; -import de.campussource.cse.cdmm.messages.InputEventType; -import de.campussource.cse.cdmm.messages.OutputEventType; -import de.campussource.cse.common.test.AbstractPersistentUnitTest; - -/** - * - * @author Sebastian Roekens - * - */ -public class DataModelManagerBeanTest extends AbstractPersistentUnitTest { - - private DataModelManagerBean dmm; - - @Before - public void setUp() { - dmm = new DataModelManagerBean(); - autowireByType(dmm); - txBegin(); - } - - @Test - public void testConstants(){ - @SuppressWarnings("unused") - Constants constants = new Constants(); - } - - @Test - @Ignore - public void testCourseOperations(){ - CourseMessage courseMessage = new CourseMessage(); - courseMessage.setCourse(new Course()); - courseMessage.setEventTime(new Date(1000L)); - courseMessage.setInputEvent(InputEventType.CREATE_UPDATE); - - List<EventMessage> events = dmm.createOrUpdateCourse(courseMessage); - - assertEquals(1, events.size()); - assertEquals(OutputEventType.CREATE, events.get(0).getOutputEvent()); - assertNotNull(events.get(0).getEntity().getId()); - - courseMessage.getCourse().setId(events.get(0).getEntity().getId()); - - events = dmm.createOrUpdateCourse(courseMessage); - assertEquals(0, events.size()); - - courseMessage.setEventTime(new Date(2000L)); - events = dmm.createOrUpdateCourse(courseMessage); - assertEquals(1, events.size()); - assertEquals(OutputEventType.UPDATE, events.get(0).getOutputEvent()); - - - courseMessage.setEventTime(new Date(3000L)); - events = dmm.deleteCourse(courseMessage); - assertEquals(1, events.size()); - assertEquals(OutputEventType.DELETE, events.get(0).getOutputEvent()); - } - - -} \ No newline at end of file Modified: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelManagerTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelManagerTest.java 2009-05-04 12:07:57 UTC (rev 201) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelManagerTest.java 2009-05-04 12:19:09 UTC (rev 202) @@ -19,14 +19,14 @@ public class ModelManagerTest extends AbstractPersistentUnitTest { - private ModelManager manager; + private DataModelManager manager; private EntityDao entityDao; @Before public void setUp() { entityDao = new EntityDaoJPA(); autowireByType(entityDao); - manager = new ModelManagerBean(); + manager = new DataModelManagerBean(); autowireByType(manager); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-05-04 12:08:10
|
Revision: 201 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=201&view=rev Author: roekens Date: 2009-05-04 12:07:57 +0000 (Mon, 04 May 2009) Log Message: ----------- refactoring of cdmm (in progress) - removed daos which are not needed any longer Modified Paths: -------------- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java Removed Paths: ------------- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/AccountDao.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CategoryDao.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CourseDao.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/DAO.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/DAOJPA.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/GroupDao.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/RoleDao.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/AccountDaoTest.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/CategoryDaoTest.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/CourseDaoTest.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/DaoTest.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/RoleDaoTest.java Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,10 +1,7 @@ package de.campussource.cse.cdmm; -import java.util.ArrayList; -import java.util.Date; import java.util.List; -import javax.ejb.EJB; import javax.ejb.Remote; import javax.ejb.Stateless; import javax.jws.WebMethod; @@ -14,22 +11,12 @@ import org.apache.log4j.Logger; -import de.campussource.cse.cdmm.dao.*; -import de.campussource.cse.cdmm.domain.Account; -import de.campussource.cse.cdmm.domain.Category; -import de.campussource.cse.cdmm.domain.Course; -import de.campussource.cse.cdmm.domain.Group; -import de.campussource.cse.cdmm.domain.Role; -import de.campussource.cse.cdmm.domain.State; import de.campussource.cse.cdmm.messages.AccountMessage; import de.campussource.cse.cdmm.messages.CategoryMessage; import de.campussource.cse.cdmm.messages.CourseMessage; import de.campussource.cse.cdmm.messages.EventMessage; import de.campussource.cse.cdmm.messages.GroupMessage; -import de.campussource.cse.cdmm.messages.InputEventType; -import de.campussource.cse.cdmm.messages.OutputEventType; import de.campussource.cse.cdmm.messages.RoleMessage; -import de.campussource.cse.common.exception.ServiceComponentException; /** * Service bean for CDMM package @@ -42,21 +29,6 @@ @WebService(name = "DataModelManager", targetNamespace = "http://cse.campussource.de/cdmm") public class DataModelManagerBean implements DataModelManager { - @EJB - private CategoryDao categoryDao; - - @EJB - private CourseDao courseDao; - - @EJB - private RoleDao roleDao; - - @EJB - private AccountDao accountDao; - - @EJB - private GroupDao groupDao; - private static final Logger logger = Logger .getLogger(DataModelManagerBean.class); @@ -65,592 +37,36 @@ @WebResult(name = "EventMessages") public List<EventMessage> createOrUpdateCourse( @WebParam(name = "CourseMessage") CourseMessage courseMessage) { - // init eventMessageList - List<EventMessage> events = new ArrayList<EventMessage>(); - - Course loadedCourse = null; - Course newCourse = courseMessage.getCourse(); - newCourse.setDate(courseMessage.getEventTime()); - newCourse.setState(State.EXISTS); - try { - loadedCourse = courseDao.find(courseMessage.getCourse().getId()); - } catch (ServiceComponentException e1) { - logger.debug(e1); - logger.debug(e1.getMessage()); // do nothing - } - - //state = NOTEXISTS - if (loadedCourse==null){ - try { - events.add(persistCourse(newCourse, OutputEventType.CREATE)); - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = KNOWN / EXISTS or DELETED - else { - // state==KNOWN - if (loadedCourse.getState()==State.KNOWN){ - try { - events.add(persistCourse(newCourse, OutputEventType.CREATE)); - //FIXME add events for associated objects - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = EXISTS or DELETED - else { - //check if inputEvent has to be handled - if (!courseMessage.getEventTime().after(loadedCourse.getDate())) { - return events; - } - if (loadedCourse.getState()==State.DELETED){ - try { - events.add(persistCourse(newCourse, OutputEventType.CREATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } else if (loadedCourse.getState()==State.EXISTS){ - try { - events.add(persistCourse(newCourse, OutputEventType.UPDATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } - } - } - - return events; + return null; } - private EventMessage persistCourse(Course newCourse, OutputEventType outputEvent) - throws ServiceComponentException { - courseDao.persist(newCourse); - - createReferences(newCourse); - - EventMessage event = new EventMessage(); - event.setEntity(newCourse); - event.setEventTime(new Date()); - event.setOutputEvent(outputEvent); - return event; - } - - private EventMessage persistAccount(Account newAccount, OutputEventType outputEvent) - throws ServiceComponentException { - accountDao.persist(newAccount); - - createReferences(newAccount); - - EventMessage event = new EventMessage(); - event.setEntity(newAccount); - event.setEventTime(new Date()); - event.setOutputEvent(outputEvent); - return event; - } - - private EventMessage persistGroup(Group newGroup, OutputEventType outputEvent) - throws ServiceComponentException { - groupDao.persist(newGroup); - - createReferences(newGroup); - - EventMessage event = new EventMessage(); - event.setEntity(newGroup); - event.setEventTime(new Date()); - event.setOutputEvent(outputEvent); - return event; - } - - private EventMessage persistRole(Role newRole, OutputEventType outputEvent) - throws ServiceComponentException { - roleDao.persist(newRole); - - createReferences(newRole); - - EventMessage event = new EventMessage(); - event.setEntity(newRole); - event.setEventTime(new Date()); - event.setOutputEvent(outputEvent); - return event; - } - - private EventMessage persistCategory(Category newCategory, OutputEventType outputEvent) - throws ServiceComponentException { - categoryDao.persist(newCategory); - - createReferences(newCategory); - - EventMessage event = new EventMessage(); - event.setEntity(newCategory); - event.setEventTime(new Date()); - event.setOutputEvent(outputEvent); - return event; - } - - private void createReferences(Course course) { - // traverse associated objects and create them - // categories - for (Category category : course.getCategories()) { - createByReference(category); - } - // workgroups - for (Course workgroup : course.getWorkgroups()) { - createByReference(workgroup); - } - // parent - createByReference(course.getParent()); - // roles - for (Role role : course.getRoles()) { - createByReference(role); - } - } - - private void createReferences(Role role) { - // traverse associated objects and create them - // course - createByReference(role.getCourse()); - // account - createByReference(role.getAccount()); - } - - private void createReferences(Category category) { - // traverse associated objects and create them - // categories - for (Category child : category.getChildren()) { - createByReference(child); - } - // courses - for (Course course : category.getCourses()) { - createByReference(course); - } - // parent - createByReference(category.getParent()); - } - - private void createReferences(Account account) { - // traverse associated objects and create them - // roles - for (Role role : account.getRoles()) { - createByReference(role); - } - // groups - for (Group group : account.getGroups()) { - createByReference(group); - } - } - - private void createReferences(Group group) { - // traverse associated objects and create them - // roles - for (Role role : group.getRoles()) { - createByReference(role); - } - // accounts - for (Account account : group.getMembers()) { - createByReference(account); - } - } - - private void createByReference(Category category) { - if (category == null){ - return; - } - try { - @SuppressWarnings("unused") - Category loadedCategory = categoryDao.find(category.getId()); - } catch (ServiceComponentException e) { - CategoryMessage cm = new CategoryMessage(); - cm.setCategory(category); - cm.setInputEvent(InputEventType.CREATE_BY_REFERENCE); - cm.setEventTime(new Date()); - createOrUpdateCategory(cm); - } - } - - private void createByReference(Course course) { - if (course == null){ - return; - } - try { - @SuppressWarnings("unused") - Course loadedCourse = courseDao.find(course.getId()); - } catch (ServiceComponentException e) { - CourseMessage cm = new CourseMessage(); - cm.setCourse(course); - cm.setInputEvent(InputEventType.CREATE_BY_REFERENCE); - cm.setEventTime(new Date()); - createOrUpdateCourse(cm); - } - } - - private void createByReference(Group group) { - if (group == null){ - return; - } - try { - @SuppressWarnings("unused") - Group loadedGroup = groupDao.find(group.getId()); - } catch (ServiceComponentException e) { - GroupMessage gm = new GroupMessage(); - gm.setGroup(group); - gm.setInputEvent(InputEventType.CREATE_BY_REFERENCE); - gm.setEventTime(new Date()); - createOrUpdateGroup(gm); - } - } - - private void createByReference(Account account) { - if (account == null){ - return; - } - try { - @SuppressWarnings("unused") - Account loadedAccount = accountDao.find(account.getId()); - } catch (ServiceComponentException e) { - AccountMessage am = new AccountMessage(); - am.setAccount(account); - am.setInputEvent(InputEventType.CREATE_BY_REFERENCE); - am.setEventTime(new Date()); - createOrUpdateAccount(am); - } - } - - private void createByReference(Role role) { - if (role == null){ - return; - } - try { - @SuppressWarnings("unused") - Role loadedRole = roleDao.find(role.getId()); - } catch (ServiceComponentException e) { - RoleMessage rm = new RoleMessage(); - rm.setRole(role); - rm.setInputEvent(InputEventType.CREATE_BY_REFERENCE); - rm.setEventTime(new Date()); - createOrUpdateRole(rm); - } - } - @Override public List<EventMessage> deleteCourse(CourseMessage courseMessage) { // init eventMessageList - List<EventMessage> events = new ArrayList<EventMessage>(); - // get state of given object in persistence - Course loadedCourse = null; - try { - loadedCourse = courseDao.find(courseMessage.getCourse().getId()); - } catch (ServiceComponentException e1) { - logger.debug(e1); - logger.debug(e1.getMessage()); // do nothing - } - loadedCourse.setState(State.DELETED); - try { - courseDao.persist(loadedCourse); - } catch (ServiceComponentException e) { - logger.debug(e); - logger.debug(e.getMessage()); - // TODO handle me - } - - EventMessage em = new EventMessage(); - em.setEntity(loadedCourse); - em.setEventTime(new Date()); - em.setOutputEvent(OutputEventType.DELETE); - events.add(em); - return events; + return null; } @Override public List<EventMessage> createOrUpdateAccount( AccountMessage accountMessage) { - // init eventMessageList - List<EventMessage> events = new ArrayList<EventMessage>(); - - Account loadedAccount = null; - Account newAccount = accountMessage.getAccount(); - newAccount.setDate(accountMessage.getEventTime()); - newAccount.setState(State.EXISTS); - try { - loadedAccount = accountDao.find(accountMessage.getAccount().getId()); - } catch (ServiceComponentException e1) { - logger.debug(e1); - logger.debug(e1.getMessage()); // do nothing - } - - //state = NOTEXISTS - if (loadedAccount==null){ - try { - events.add(persistAccount(newAccount, OutputEventType.CREATE)); - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = KNOWN / EXISTS or DELETED - else { - // state==KNOWN - if (loadedAccount.getState()==State.KNOWN){ - try { - events.add(persistAccount(newAccount, OutputEventType.CREATE)); - //FIXME add events for associated objects - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = EXISTS or DELETED - else { - //check if inputEvent has to be handled - if (!accountMessage.getEventTime().after(loadedAccount.getDate())) { - return events; - } - if (loadedAccount.getState()==State.DELETED){ - try { - events.add(persistAccount(newAccount, OutputEventType.CREATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } else if (loadedAccount.getState()==State.EXISTS){ - try { - events.add(persistAccount(newAccount, OutputEventType.UPDATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } - } - } - return events; + return null; } @Override public List<EventMessage> createOrUpdateCategory( CategoryMessage categoryMessage) { - // init eventMessageList - List<EventMessage> events = new ArrayList<EventMessage>(); - - Category loadedCategory = null; - Category newCategory = categoryMessage.getCategory(); - newCategory.setDate(categoryMessage.getEventTime()); - newCategory.setState(State.EXISTS); - try { - loadedCategory = categoryDao.find(categoryMessage.getCategory().getId()); - } catch (ServiceComponentException e1) { - logger.debug(e1); - logger.debug(e1.getMessage()); // do nothing - } - - //state = NOTEXISTS - if (loadedCategory==null){ - try { - events.add(persistCategory(newCategory, OutputEventType.CREATE)); - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = KNOWN / EXISTS or DELETED - else { - // state==KNOWN - if (loadedCategory.getState()==State.KNOWN){ - try { - events.add(persistCategory(newCategory, OutputEventType.CREATE)); - //FIXME add events for associated objects - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = EXISTS or DELETED - else { - //check if inputEvent has to be handled - if (!categoryMessage.getEventTime().after(loadedCategory.getDate())) { - return events; - } - if (loadedCategory.getState()==State.DELETED){ - try { - events.add(persistCategory(newCategory, OutputEventType.CREATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } else if (loadedCategory.getState()==State.EXISTS){ - try { - events.add(persistCategory(newCategory, OutputEventType.UPDATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } - } - } - - return events; + return null; } @Override public List<EventMessage> createOrUpdateGroup(GroupMessage groupMessage) { - // init eventMessageList - List<EventMessage> events = new ArrayList<EventMessage>(); - - Group loadedGroup = null; - Group newGroup = groupMessage.getGroup(); - newGroup.setDate(groupMessage.getEventTime()); - newGroup.setState(State.EXISTS); - try { - loadedGroup = groupDao.find(groupMessage.getGroup().getId()); - } catch (ServiceComponentException e1) { - logger.debug(e1); - logger.debug(e1.getMessage()); // do nothing - } - - //state = NOTEXISTS - if (loadedGroup==null){ - try { - events.add(persistGroup(newGroup, OutputEventType.CREATE)); - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = KNOWN / EXISTS or DELETED - else { - // state==KNOWN - if (loadedGroup.getState()==State.KNOWN){ - try { - events.add(persistGroup(newGroup, OutputEventType.CREATE)); - //FIXME add events for associated objects - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = EXISTS or DELETED - else { - //check if inputEvent has to be handled - if (!groupMessage.getEventTime().after(loadedGroup.getDate())) { - return events; - } - if (loadedGroup.getState()==State.DELETED){ - try { - events.add(persistGroup(newGroup, OutputEventType.CREATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } else if (loadedGroup.getState()==State.EXISTS){ - try { - events.add(persistGroup(newGroup, OutputEventType.UPDATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } - } - } - - return events; + return null; } @Override public List<EventMessage> createOrUpdateRole(RoleMessage roleMessage) { - // init eventMessageList - List<EventMessage> events = new ArrayList<EventMessage>(); - - Role loadedRole = null; - Role newRole = roleMessage.getRole(); - newRole.setDate(roleMessage.getEventTime()); - newRole.setState(State.EXISTS); - try { - loadedRole = roleDao.find(roleMessage.getRole().getId()); - } catch (ServiceComponentException e1) { - logger.debug(e1); - logger.debug(e1.getMessage()); // do nothing - } - - //state = NOTEXISTS - if (loadedRole==null){ - try { - events.add(persistRole(newRole, OutputEventType.CREATE)); - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = KNOWN / EXISTS or DELETED - else { - // state==KNOWN - if (loadedRole.getState()==State.KNOWN){ - try { - events.add(persistRole(newRole, OutputEventType.CREATE)); - //FIXME add events for associated objects - return events; - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - } //state = EXISTS or DELETED - else { - //check if inputEvent has to be handled - if (!roleMessage.getEventTime().after(loadedRole.getDate())) { - return events; - } - if (loadedRole.getState()==State.DELETED){ - try { - events.add(persistRole(newRole, OutputEventType.CREATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } else if (loadedRole.getState()==State.EXISTS){ - try { - events.add(persistRole(newRole, OutputEventType.UPDATE)); - } catch (ServiceComponentException e) { - //TODO handle me - logger.debug(e.getStackTrace()); - return null; - } - return events; - } - } - } - - return events; + return null; } @Override Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/AccountDao.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/AccountDao.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/AccountDao.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,12 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import de.campussource.cse.cdmm.domain.Account; - -/** - * DAO Class for Account entity - * @author Sebastian Roekens - * - */ -public class AccountDao extends DAOJPA<Account> { - -} Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CategoryDao.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CategoryDao.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CategoryDao.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,12 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import de.campussource.cse.cdmm.domain.Category; - -/** - * DAO Class for Category entity - * @author Sebastian Roekens - * - */ -public class CategoryDao extends DAOJPA<Category>{ - -} \ No newline at end of file Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CourseDao.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CourseDao.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/CourseDao.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,12 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import de.campussource.cse.cdmm.domain.Course; - -/** - * DAO Class for Course entity - * @author Sebastian Roekens - * - */ -public class CourseDao extends DAOJPA<Course> { - -} \ No newline at end of file Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/DAO.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/DAO.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/DAO.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,36 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import java.io.Serializable; - -import de.campussource.cse.common.exception.ServiceComponentException; - -/** - * @author Ingo D\xFCppe - * Interface for DAO Classes of entities - * @param <T> - */ -public interface DAO<T> { - - /** - * Finder method to find persisted entities by id - * @param id id of searched object - * @return entity object with given id - * @throws ServiceComponentException - */ - public T find(Serializable id) throws ServiceComponentException; - - /** - * DAO method to persist given object - * @param entity object to persist - * @throws ServiceComponentException - */ - public void persist(T entity) throws ServiceComponentException; - - /** - * DAO method to delete entity objects - * @param entity object to delete - * @throws ServiceComponentException - */ - public void remove(T entity) throws ServiceComponentException; - -} Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/DAOJPA.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/DAOJPA.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/DAOJPA.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,63 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import java.io.Serializable; -import java.lang.reflect.ParameterizedType; - -import javax.ejb.TransactionAttribute; -import javax.ejb.TransactionAttributeType; -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; - -import de.campussource.cse.common.exception.ServiceComponentException; -import de.campussource.cse.common.exception.IdNotFoundException; -import de.campussource.cse.cdmm.MissingParameterException; - - -/** - * Abstract DAO class for entities - * @author Ingo D\xFCppe - * - * @param <E> Entity type of DAO class - */ -public abstract class DAOJPA<E> implements DAO<E> { - - @PersistenceContext - protected EntityManager entityManager; - - private Class<E> persistentClass; - - @SuppressWarnings("unchecked") - public DAOJPA() { - this.persistentClass = (Class<E>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]; - } - - @Override - @TransactionAttribute(TransactionAttributeType.SUPPORTS) - public E find(Serializable id) throws ServiceComponentException{ - if (id==null){ - return null; - } - E result = entityManager.find(persistentClass, id); - if (result == null){ - throw new IdNotFoundException("Id: "+ id + "could not be found."); - } - return result; - } - - @Override - @TransactionAttribute(TransactionAttributeType.MANDATORY) - public void persist(E entity) throws ServiceComponentException{ - entityManager.persist(entity); - } - - @Override - public void remove(E entity) throws ServiceComponentException{ - if (entity == null){ - throw new MissingParameterException("Parameter entity is mandatory!"); - } - entityManager.remove(entity); - } - - - -} Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/GroupDao.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/GroupDao.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/GroupDao.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,12 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import de.campussource.cse.cdmm.domain.Group; - -/** - * DAO Class for Group entity - * @author Sebastian Roekens - * - */ -public class GroupDao extends DAOJPA<Group> { - -} \ No newline at end of file Deleted: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/RoleDao.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/RoleDao.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/dao/RoleDao.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,70 +0,0 @@ -package de.campussource.cse.cdmm.dao; -import java.util.List; - -import javax.persistence.NoResultException; -import javax.persistence.Query; - -import de.campussource.cse.common.exception.ServiceComponentException; -import de.campussource.cse.common.exception.IdNotFoundException; -import de.campussource.cse.cdmm.MissingAttributeException; -import de.campussource.cse.cdmm.MissingParameterException; -import de.campussource.cse.cdmm.domain.Role; - -/** - * DAO Class for Role entity - * @author Sebastian Roekens - * - */ -public class RoleDao extends DAOJPA<Role> { - - @Override - public void persist(Role role) throws MissingAttributeException{ - if (role.getAccount()==null){ - throw new MissingAttributeException("RoleDao.persist: account reference for role object missing!"); - } - if (role.getCourse()==null){ - throw new MissingAttributeException("RoleDao.persist: course reference for role object missing!"); - } - entityManager.persist(role); - } - - @Override - public void remove(Role role) throws ServiceComponentException{ - if (role==null){ - throw new MissingParameterException("Parameter role is mandatory!"); - } - List<Role> accountRoles = role.getAccount().getRoles(); - List<Role> courseRoles = role.getCourse().getRoles(); - accountRoles.remove(role); - courseRoles.remove(role); - role.getAccount().setRoles(accountRoles); - role.getCourse().setRoles(courseRoles); - persist(role); - super.remove(role); - } - - /** - * Search method to find a role with given course and account reference - * @param accountId id of account reference of searched role - * @param courseId id of course reference of searched role - * @return role object with given account and course reference - * @throws ServiceComponentException Exception is thrown, when no role with given accountId and courseId exists - */ - public Role retrieveRole(long accountId, long courseId) throws ServiceComponentException{ - if (accountId == 0){ - throw new MissingParameterException("Paramter accountId is mandatory!"); - } - if (courseId == 0){ - throw new MissingParameterException("Paramter accountId is mandatory!"); - } - try { - Query query = entityManager.createNamedQuery(Role.FIND_BY_ACCOUNT_AND_COURSE); - query.setParameter("accountId", accountId); - query.setParameter("courseId", courseId); - return (Role) query.getSingleResult(); - } catch (NoResultException nre) { - throw new IdNotFoundException("No role with account id: "+accountId+" and course id: "+courseId+" could be found"); - } - } - -} \ No newline at end of file Deleted: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/AccountDaoTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/AccountDaoTest.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/AccountDaoTest.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,89 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.fail; - -import org.junit.Before; -import org.junit.Test; - -import de.campussource.cse.cdmm.domain.Account; -import de.campussource.cse.common.exception.IdNotFoundException; -import de.campussource.cse.common.exception.ServiceComponentException; -import de.campussource.cse.common.test.AbstractPersistentUnitTest; - -public class AccountDaoTest extends AbstractPersistentUnitTest { - private AccountDao dao; - private Account account; - - @Before - public void setUp() { - account = newAccount(); - dao = new AccountDao(); - autowireByType(dao); - txBegin(); - } - - @Test - public void testPersistAccount() { - try { - dao.persist(account); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException"); - } - assertNotNull(account.getId()); - txCommit(); - } - - - @Test - public void testFindAccount() { - try { - dao.persist(account); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException"); - } - assertNotNull(account.getId()); - commitAndBeginTx(); - Account acid = null; - try { - acid = dao.find(account.getId()); - } catch (ServiceComponentException e) { - fail("Created account could not be found"); - } - assertEquals(account, acid); - } - - @Test - public void testRemoveAccount() { - try { - dao.persist(account); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException"); - } assertNotNull(account.getId()); - commitAndBeginTx(); - try { - dao.remove(account); - } catch (ServiceComponentException e) { - fail("Unexpected DataModelMaangerException"); - } - commitAndBeginTx(); - try { - @SuppressWarnings("unused") - Account retrievedAccount = dao.find(account.getId()); - fail("Deleting of account failed"); - } catch (ServiceComponentException e) { - // Exception should occur; - } - - } - - @Test(expected=IdNotFoundException.class) - public void testDoNotFindById() throws ServiceComponentException { - dao.find(-1L); - } - - private Account newAccount() { - return new Account(uniqueId()); - } -} Deleted: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/CategoryDaoTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/CategoryDaoTest.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/CategoryDaoTest.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,170 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import de.campussource.cse.cdmm.dao.CategoryDao; -import de.campussource.cse.cdmm.domain.Category; -import de.campussource.cse.common.exception.ServiceComponentException; -import de.campussource.cse.common.test.AbstractPersistentUnitTest; - -public class CategoryDaoTest extends AbstractPersistentUnitTest { - - private CategoryDao dao; - private Category category; - private Category parentCategory; - - /** - * Creates a category object, a parent object for this category and the - * category dao. - */ - @Before - public void setUp() { - category = newCategory(); - parentCategory = newCategory(); - dao = new CategoryDao(); - autowireByType(dao); - txBegin(); - } - - @After - public void tearDown() { - txCommit(); - } - - /** - * Checks if category can be persisted - */ - @Test - public void testPersistCategory() { - try { - dao.persist(category); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException on creation of category"); - } - assertNotNull(category.getId()); - } - - /** - * Checks if category can be found by id - */ - @Test - public void testFindCategory() { - try { - dao.persist(category); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException on creation of category"); - } - assertNotNull(category.getId()); - Category coid = null; - try { - coid = dao.find(category.getId()); - } catch (ServiceComponentException e) { - fail("Created category could not be retrieved"); - } - assertEquals(category, coid); - } - - /** - * Checks if category can be deleted - */ - @Test - public void testRemoveCategory() { - try { - dao.persist(category); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException on creation of category"); - } - assertNotNull(category.getId()); - try { - dao.remove(category); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException"); - } - try { - @SuppressWarnings("unused") - Category retrievedCategory = dao.find(category.getId()); - fail("Deleting of category failed"); - } catch (ServiceComponentException e) { - // Exception should occur - } - } - - /** - * Checks if cascading saving and cascading deleting work - */ - @Test - public void testCascading() { - category.addToParentCategory(parentCategory); - try { - dao.persist(category); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException on creation of category"); - } - assertNotNull(category.getId()); - assertNotNull(parentCategory.getId()); - assertEquals(category.getParent(), parentCategory); - assertEquals(parentCategory.getChildren().get(0), category); - try { - dao.remove(parentCategory); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException"); - } - try { - @SuppressWarnings("unused") - Category retrievedParentCategory = dao.find(parentCategory.getId()); - fail("Deleting of parent category failed"); - } catch (ServiceComponentException e) { - // Exception should occur - } - try { - @SuppressWarnings("unused") - Category retrievedCategory = dao.find(category.getId()); - fail("Cascaded deleting of child category failed"); - } catch (ServiceComponentException e) { - // Exception should occur - } - } - - /** - * Checks if searching for not existing ids returns null - */ - @Test - public void testDoNotFindById() { - Category foundCategory = null; - try { - foundCategory = dao.find(0L); - fail("Exception should occur"); - } catch (ServiceComponentException e) { - // Exception should occur - } - assertNull(foundCategory); - } - - /** - * Checks if circular category dependencies are prevented - */ - @Test - public void testCircularDependencyCheck() { - assertTrue(category.addToParentCategory(parentCategory)); - try { - dao.persist(category); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException on creation of category"); - } - assertFalse(parentCategory.addToParentCategory(category)); - } - - private Category newCategory() { - return new Category(uniqueId()); - } - -} Deleted: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/CourseDaoTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/CourseDaoTest.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/CourseDaoTest.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,197 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.fail; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import de.campussource.cse.cdmm.dao.CategoryDao; -import de.campussource.cse.cdmm.dao.CourseDao; -import de.campussource.cse.cdmm.domain.Category; -import de.campussource.cse.cdmm.domain.Course; -import de.campussource.cse.common.exception.ServiceComponentException; -import de.campussource.cse.common.test.AbstractPersistentUnitTest; - -public class CourseDaoTest extends AbstractPersistentUnitTest { - - private CourseDao dao; - private Course course; - - /** - * Creates a course object for testing and the course dao - */ - @Before - public void setUp() { - course = newCourse(); - dao = new CourseDao(); - autowireByType(dao); - txBegin(); - } - - @After - public void tearDown() { - txCommit(); - } - - /** - * Tests creating of a course object - */ - @Test - public void testPersistCourse() { - try { - dao.persist(course); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException!"); - } - assertNotNull(course.getId()); - } - - - - /** - * Tests searching for a course object by id - */ - @Test - public void testFindCourse() { - try { - dao.persist(course); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException!"); - } - assertNotNull(course.getId()); - commitAndBeginTx(); - Course coid = null; - try { - coid = dao.find(course.getId()); - } catch (ServiceComponentException e) { - fail("Creating or retrieving of course failed!"); - } - assertEquals(course, coid); - } - - /** - * Tests deleting of course object - */ - @Test - public void testRemoveCourse() { - try { - dao.persist(course); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException!"); - } - assertNotNull(course.getId()); - try { - dao.remove(course); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException!"); - } - try { - @SuppressWarnings("unused") - Course retrievedCourse = dao.find(course.getId()); - fail("Deleting of course failed"); - } catch (ServiceComponentException e) { - // Exception should occur - } - } - - /** - * Tests if searching for not existing id returns null - */ - @Test - public void testDoNotFindById() { - Course foundCourse = null; - try { - foundCourse = dao.find(0L); - fail("Exception should occur"); - } catch (ServiceComponentException e) { - // Exception should occur - } - assertNull(foundCourse); - } - - /** - * Tests cascading to category objects. - */ - @Test - public void testCascadingToCategory() { - Category category = new Category(uniqueId()); - CategoryDao categoryDao = new CategoryDao(); - autowireByType(categoryDao); - try { - categoryDao.persist(category); - } catch (ServiceComponentException e1) { - fail("Unexpected ServiceComponentException"); - } - assertNotNull(category.getId()); - course.addToCategory(category); - try { - dao.persist(course); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException!"); - } - assertNotNull(course.getId()); - assertNotNull(course.getCategories()); - assertNotNull(category.getCourses()); - assertEquals(course.getCategories().get(0), category); - assertEquals(category.getCourses().get(0), course); - } - - /** - * Tests cascading in course hierarchy and correct course hierarchy - */ - @Test - public void testWorkgroupCascading() { - // check correct cascading on creation of workgroup - Course workgroup1 = new Course(uniqueId()); - Course workgroup2 = new Course(uniqueId()); - workgroup1.addAsWorkgroupTo(course); - try { - dao.persist(workgroup1); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException"); - } - assertNotNull(workgroup1.getId()); - assertNotNull(course.getId()); - assertNotNull(workgroup1.getParent()); - assertEquals(workgroup1.getParent(), course); - assertNotNull(course.getWorkgroups()); - assertEquals(course.getWorkgroups().get(0), workgroup1); - // check if circular dependency is prevented - assertFalse(workgroup2.addAsWorkgroupTo(workgroup1)); - // check correct deleting cascading - try { - dao.remove(course); - } catch (ServiceComponentException e) { - fail("Unexpected Exception on removing of course"); - } - try { - @SuppressWarnings("unused") - Course retrievedCourse = dao.find(course.getId()); - fail("Deleting of course failed"); - } catch (ServiceComponentException e) { - // Exception should occur - } - try { - @SuppressWarnings("unused") - Course retrievedWorkgroup = dao.find(workgroup1.getId()); - fail("Cascaded deleting of workgroup failed"); - } catch (ServiceComponentException e) { - // Exception should occur - } - } - - /** - * Convenience method for creating a course object with a unique id - * - * @return course object with unique id - */ - private Course newCourse() { - return new Course(uniqueId()); - } - -} Deleted: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/DaoTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/DaoTest.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/DaoTest.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,31 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import static org.junit.Assert.fail; - -import org.junit.Before; -import org.junit.Test; - -import de.campussource.cse.cdmm.dao.AccountDao; -import de.campussource.cse.common.exception.ServiceComponentException; -import de.campussource.cse.common.test.AbstractPersistentUnitTest; - -public class DaoTest extends AbstractPersistentUnitTest { - private AccountDao accountDao; - - @Before - public void setUp() { - accountDao = new AccountDao(); - autowireByType(accountDao); - txBegin(); - } - - @Test - public void testAccountDao(){ - try { - accountDao.remove(null); - fail("Exception should occur"); - } catch (ServiceComponentException e) { - } - } - -} Deleted: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/RoleDaoTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/RoleDaoTest.java 2009-05-02 10:27:28 UTC (rev 200) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/dao/RoleDaoTest.java 2009-05-04 12:07:57 UTC (rev 201) @@ -1,317 +0,0 @@ -package de.campussource.cse.cdmm.dao; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.fail; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import de.campussource.cse.cdmm.MissingAttributeException; -import de.campussource.cse.cdmm.dao.AccountDao; -import de.campussource.cse.cdmm.dao.CourseDao; -import de.campussource.cse.cdmm.dao.RoleDao; -import de.campussource.cse.cdmm.domain.Account; -import de.campussource.cse.cdmm.domain.Course; -import de.campussource.cse.cdmm.domain.Role; -import de.campussource.cse.cdmm.domain.RoleType; -import de.campussource.cse.cdmm.domain.State; -import de.campussource.cse.common.exception.ServiceComponentException; -import de.campussource.cse.common.test.AbstractPersistentUnitTest; - -public class RoleDaoTest extends AbstractPersistentUnitTest { - private RoleDao dao; - private Role role; - - private Course course; - - private Account account; - - @Before - public void setUp() { - //set up daos - dao = new RoleDao(); - autowireByType(dao); - //create role object with needed dependencies - course = new Course(uniqueId()); - account = new Account(uniqueId()); - role = newRole(); - txBegin(); - } - - @After - public void tearDown(){ - txCommit(); - } - - /** - * Tests if Role can be persisted - */ - @Test - public void testPersistRole() { - try { - dao.persist(role); - } catch (MissingAttributeException e) { - e.printStackTrace(); - fail("Unexpected MissingAttributeException!"); - } - assertNotNull(role.getId()); - } - - - /** - * Tests if role can be found by id - */ - @Test - public void testFindRole() { - try { - dao.persist(role); - } catch (MissingAttributeException e) { - fail("Unexpected MissingAttributeException!"); - } - assertNotNull(role.getId()); - Role roid = null; - try { - roid = dao.find(role.getId()); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException!"); - } - assertEquals(role, roid); - } - - /** - * Tests if Role can be deleted - */ - @Test - public void testRemoveRole() { - try { - dao.persist(role); - } catch (MissingAttributeException e) { - fail("Unexpected MissingAttributeException!"); - } - assertNotNull(role.getId()); - try { - dao.remove(role); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException!"); - } - try { - @SuppressWarnings("unused") - Role retrievedRole = dao.find(role.getId()); - fail("Deleting failed"); - } catch (ServiceComponentException e) { - //Exception is correct - } - CourseDao courseDao = new CourseDao(); - autowireByType(courseDao); - try { - Course retrievedCourse = courseDao.find(course.getId()); - assertNotNull(retrievedCourse); - } catch (ServiceComponentException e) { - fail("Account should not be deleted!"); - } - } - - /** - * Tests if search for not existing id returns null - */ - @Test - public void testDoNotFindById() { - @SuppressWarnings("unused") - Role foundRole; - try { - foundRole = dao.find(0L); - fail("ServiceComponentException should have been thrown, due to search for an not existing object!"); - } catch (ServiceComponentException e) { - //Exception should occur - } - } - - /** - * Tests if create and update statements are correctly cascaded - * to account and course entities - */ - @Test - public void testCascadingOnCreate(){ - try { - dao.persist(role); - } catch (MissingAttributeException e) { - fail("Unexpected MissingAttributeException occured!"); - } - assertNotNull(role.getId()); - assertNotNull(course.getId()); - assertNotNull(account.getId()); - assertNotNull(account.getRoles()); - assertNotNull(course.getRoles()); - assertEquals(course.getRoles().get(0), role); - assertEquals(account.getRoles().get(0), role); - assertEquals(role.getCourse(), course); - assertEquals(role.getAccount(), account); - } - - /** - * Tests if role objects are deleted on deletion of parent course object - */ - @Test - public void testCascadingOnDeleteCourse(){ - try { - dao.persist(role); - } catch (MissingAttributeException e) { - fail("Unexpected MissingAttributeException occured!"); - } - assertNotNull(role.getId()); - assertNotNull(course.getId()); - assertNotNull(account.getId()); - assertNotNull(account.getRoles()); - assertNotNull(course.getRoles()); - assertEquals(course.getRoles().get(0), role); - assertEquals(account.getRoles().get(0), role); - assertEquals(role.getCourse(), course); - assertEquals(role.getAccount(), account); - - commitAndBeginTx(); - - CourseDao courseDao = new CourseDao(); - autowireByType(courseDao); - try { - courseDao.remove(course); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException occured!"); - } - try{ - @SuppressWarnings("unused") - Course retrievedCourse = courseDao.find(course.getId()); - fail("Course deleting failed!"); - } catch (ServiceComponentException e) { - //Exception should occur - } - try { - @SuppressWarnings("unused") - Role retrievedRole = dao.find(role.getId()); - fail("Cascaded Role deleting failed!"); - } catch (ServiceComponentException e) { - //Exception should occur - } - } - - @Test - public void testCascadingOnDeleteAccount(){ - try { - dao.persist(role); - } catch (MissingAttributeException e) { - fail("Unexpected MissingAttributeException occured!"); - } - assertNotNull(role.getId()); - assertNotNull(course.getId()); - assertNotNull(account.getId()); - assertNotNull(account.getRoles()); - assertNotNull(course.getRoles()); - assertEquals(course.getRoles().get(0), role); - assertEquals(account.getRoles().get(0), role); - assertEquals(role.getCourse(), course); - assertEquals(role.getAccount(), account); - - commitAndBeginTx(); - - AccountDao accountDao = new AccountDao(); - autowireByType(accountDao); - try { - accountDao.remove(account); - } catch (ServiceComponentException e) { - fail("Unexpected ServiceComponentException occured!"); - } - try { - @SuppressWarnings("unused") - Account retrievedAccount = accountDao.find(account.getId()); - fail("Account deleting failed!"); - } catch (ServiceComponentException e) { - //Exception should occur - } - try { - @SuppressWarnings("unused") - Role retrievedRole = dao.find(role.getId()); - fail("Cascaded role deleting failed"); - } catch (ServiceComponentException e) { - //Exception should occur - } - } - - @Test - public void testRetrieveRole(){ - Role role = new Role(uniqueId()); - role.setType(RoleType.PARTICIPANT); - Account account = new Account(uniqueId()); - Course course = new Course(uniqueId()); - - try { - dao.persist(role); - fail("It should not be able to persist role without course and account reference"); - } catch (MissingAttributeException e) { - //Exception should occur; - } - role.setCourse(course); - try { - dao.persist(role); - fail("It should not be able to persist role without course and account reference"); - } catch (MissingAttributeException e) { - //Exception should occur; - } - role.setCourse(null); - role.setAccount(account); - try { - dao.persist(role); - fail("It should not be able to persist role without course and account reference"); - } catch (MissingAttributeException e) { - //Exception should occur; - } - role.setCourse(course); - try { - dao.persist(role); - } catch (MissingAttributeException e) { - fail("Unexpected Missing Attribute Exception"); - } - Role retrievedRole = null; - try { - retrievedRole = dao.retrieveRole(0, course.getId()); - fail("Retrieved object should not exist"); - } catch (ServiceComponentException e) { - //Exception should occur - } - try { - retrievedRole = dao.retrieveRole(account.getId(),0); - fail("Retrieved object should not exist"); - } catch (ServiceComponentException e) { - //Exception should occur - } - try { - retrievedRole = dao.retrieveRole(1l, 1l); - fail("Retrieved object should not exist"); - } catch (ServiceComponentException e) { - //Exception should occur - } - try { - retrievedRole = dao.retrieveRole(account.getId(), course.getId()); - } catch (ServiceComponentException e) { - fail("Retrieved object should exist"); - } - assertNotNull(retrievedRole); - assertEquals(role, retrievedRole); - - try { - dao.remove(null); - fail("null can't be removed"); - } catch (ServiceComponentException e) { - //Exception should occur - } - - } - - private Role newRole() { - Role role = new Role(uniqueId()); - role.addToCourseAndAccount(course, account); - role.setType(RoleType.ASSISTANT); - role.setState(State.EXISTS); - return role; - } -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pka...@us...> - 2009-05-02 10:27:35
|
Revision: 200 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=200&view=rev Author: pkasprzak Date: 2009-05-02 10:27:28 +0000 (Sat, 02 May 2009) Log Message: ----------- * Add new courses under "test"-category * If "test"-category does not exist, create one * Demonstrates how to deal with most problems of the ilias' ws interface (no namespaces set, invalid xml, etc.) Modified Paths: -------------- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xsd Added Paths: ----------- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-getObjectsByTitle.xml trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-getObjectsByTitle_output.xml trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-objects.xml trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-objects.xsd trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/setObjectsNS.xsl Modified: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel 2009-04-30 19:18:59 UTC (rev 199) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel 2009-05-02 10:27:28 UTC (rev 200) @@ -3,6 +3,7 @@ name="OutboundClientAdapter" targetNamespace="http://enterprise.netbeans.org/bpel/ILIASClientAdapter/newProcess" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable" + xmlns:ns0="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sxt="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Trace" xmlns:sxed="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Editor" @@ -10,12 +11,14 @@ xmlns:sxeh="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling" xmlns:sxxf="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/XPathFunctions" xmlns:il_crs="http://cse.campussource.de/schema/ilias/course" + xmlns:il_objs="http://cse.campussource.de/schema/ilias/objects" xmlns:tns="http://enterprise.netbeans.org/bpel/ILIASClientAdapter/newProcess"> <import namespace="http://enterprise.netbeans.org/bpel/ilias-3.10.5-Wrapper" location="ilias-3.10.5-Wrapper.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/> <import namespace="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/ILIASClientAdapter" location="ILIASClientAdapter.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/> <import namespace="urn:ilUserAdministration" location="ilias-3.10.5-fixed.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/> <import namespace="http://cse.campussource.de/schema/ilias/course" location="ilias-course.xsd" importType="http://www.w3.org/2001/XMLSchema"/> + <import namespace="http://cse.campussource.de/schema/ilias/objects" location="ilias-objects.xsd" importType="http://www.w3.org/2001/XMLSchema"/> <partnerLinks> <partnerLink name="ILIAS" xmlns:tns="http://enterprise.netbeans.org/bpel/ilias-3.10.5-Wrapper" partnerLinkType="tns:ILIASSoapWebserviceLinkType" partnerRole="ILIASSoapWebserviceRole"/> @@ -23,6 +26,11 @@ </partnerLinks> <variables> + <!-- Messages --> + <variable name="AddObjectOut" xmlns:tns="urn:ilUserAdministration" messageType="tns:addObjectResponse"/> + <variable name="AddObjectIn" xmlns:tns="urn:ilUserAdministration" messageType="tns:addObjectRequest"/> + <variable name="GetObjectsByTitleOut" xmlns:tns="urn:ilUserAdministration" messageType="tns:getObjectsByTitleResponse"/> + <variable name="GetObjectsByTitleIn" xmlns:tns="urn:ilUserAdministration" messageType="tns:getObjectsByTitleRequest"/> <variable name="AddCourseOut" xmlns:tns="urn:ilUserAdministration" messageType="tns:addCourseResponse"/> <variable name="AddCourseIn" xmlns:tns="urn:ilUserAdministration" messageType="tns:addCourseRequest"/> <variable name="LogoutOut" xmlns:tns="urn:ilUserAdministration" messageType="tns:logoutResponse"/> @@ -30,10 +38,19 @@ <variable name="LoginOut" xmlns:tns="urn:ilUserAdministration" messageType="tns:loginResponse"/> <variable name="LoginIn" xmlns:tns="urn:ilUserAdministration" messageType="tns:loginRequest"/> <variable name="ProcessCourseOperationIn" xmlns:tns="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/ILIASClientAdapter" messageType="tns:ProcessCourseOperationRequest"/> - <!-- ILIAS session id --> + + <!-- Ilias --> + + <!-- Ilias session id --> <variable name="SID" type="xsd:string"/> - <!-- Course description in ILIAS-Format --> + + <!-- Course description in Ilias-Format --> <variable name="CourseXML" element="il_crs:Course"/> + + <!-- RefId of the category used adding courses to --> + <variable name="CategoryRefId" type="xsd:integer"/> + + </variables> <sequence> @@ -55,7 +72,10 @@ </copy> </assign> - <invoke name="login" partnerLink="ILIAS" operation="login" xmlns:tns="urn:ilUserAdministration" portType="tns:ILIASSoapWebservicePortType" inputVariable="LoginIn" outputVariable="LoginOut"> + <invoke name="login" partnerLink="ILIAS" operation="login" xmlns:tns="urn:ilUserAdministration" + portType="tns:ILIASSoapWebservicePortType" + inputVariable="LoginIn" + outputVariable="LoginOut"> <sxt:trace> <sxt:log level="info" location="onComplete"> <from>concat('*** SID: ', $LoginOut.sid)</from> @@ -70,6 +90,184 @@ </copy> </assign> + <!-- Check if "test" category exists and if not add it --> + <scope name="CheckAndCreateTestCategory"> + + <variables> + <!-- Category description as object in Ilias-Format --> + <variable name="CategoryXML" element="il_objs:Object"/> + + <!-- Result of object search for title --> + <variable name="ObjectsRawXML" element="il_objs:Objects"/> + <variable name="ObjectsXML" element="il_objs:Objects"/> + + </variables> + + <sequence name="CheckForTestCategory"> + <!-- Init variables --> + <assign name="init"> + <copy> + <from>0</from> + <to variable="CategoryRefId"/> + </copy> + </assign> + + <!-- Prepeare search by title --> + <assign name="prepareGetObjectsByTitle"> + <copy> + <from variable="SID"/> + <to>$GetObjectsByTitleIn.sid</to> + </copy> + <copy> + <from>'test'</from> + <to>$GetObjectsByTitleIn.title</to> + </copy> + <copy> + <from>0</from> + <to>$GetObjectsByTitleIn.user_id</to> + </copy> + </assign> + + <!-- Do search --> + <invoke name="getObjectsByTitle" partnerLink="ILIAS" operation="getObjectsByTitle" xmlns:tns="urn:ilUserAdministration" + portType="tns:ILIASSoapWebservicePortType" + inputVariable="GetObjectsByTitleIn" + outputVariable="GetObjectsByTitleOut"> +<!-- + BUG: java.util.logging.ErrorManager: 5: Error in extracting Name Value Pairs + java.lang.NullPointerException + <sxt:trace> + <sxt:log level="info" location="onComplete"> + <from>concat('*** ObjectsXML: ', $GetObjectsByTitleOut.object_xml)</from> + </sxt:log> + </sxt:trace> +--> + </invoke> + + <!-- Don't try to unmarshal empty string (i.e. no objects found) --> + <if> + <condition>$GetObjectsByTitleOut.object_xml != ""</condition> + <sequence name="processObjectsXML"> + <sxt:trace> + <sxt:log level="info" location="onStart"> + <from>'*** Processing ObjectsXML...'</from> + </sxt:log> + </sxt:trace> + + <!-- Convert to XML structure --> + <assign name="unmarshalResult" > + <copy> + <from>sxxf:doUnMarshal($GetObjectsByTitleOut.object_xml)</from> + <to variable="ObjectsRawXML"/> + </copy> + </assign> + + <assign> +<!-- + BUG: java.util.logging.ErrorManager: 5: Error in extracting Name Value Pairs + java.lang.NullPointerException + <sxt:trace> + <sxt:log level="info" location="onComplete"> + <from>concat('*** ObjectsXML (after xslt): ', sxxf:doMarshal($ObjectsXML))</from> + </sxt:log> + </sxt:trace> +--> + <copy> + <from>ns0:doXslTransform('urn:stylesheets:setObjectsNS.xsl', $ObjectsRawXML)</from> + <to variable="ObjectsXML"/> + </copy> + </assign> + + <!-- Determine, if there is a category in the result (Object/@type = "cat") and get it's refId for later --> + <assign name="checkForCategories"> + +<!-- + BUG: java.util.logging.ErrorManager: 5: Error in extracting Name Value Pairs + java.lang.NullPointerException + + <sxt:trace> + <sxt:log level="info" location="onComplete"> + <from>concat('*** CategoryRefId: ', string($CategoryRefId))</from> + </sxt:log> + </sxt:trace> +--> + <!-- Note: if an empty node is return below, it is converted by number() to "NaN" --> + <copy> + <from>number($ObjectsXML/il_objs:Object[@il_objs:type = 'cat']/il_objs:References/@il_objs:ref_id)</from> + <to variable="CategoryRefId"/> + </copy> + </assign> + </sequence> + </if> + + <!-- If no appropriate catgeory was found, create one --> + <if> + <condition>string($CategoryRefId) = 'NaN' or $CategoryRefId = 0</condition> + <sequence name="addTestCategory"> + <assign name="prepareAddCategory"> + <copy> + <from variable="SID"/> + <to>$AddObjectIn.sid</to> + </copy> + <copy> + <from>1</from> + <to>$AddObjectIn.target_id</to> + </copy> + <copy> + <from> + <literal> + <Object xmlns="http://cse.campussource.de/schema/ilias/objects" type="cat"> + <Title>test</Title> + <Description>test category</Description> + </Object> + </literal> + </from> + <to variable="CategoryXML"/> + </copy> + </assign> + + <!-- Render XML to string --> + <assign name="marshalCategoryXML"> + <copy> + <from>sxxf:doMarshal($CategoryXML)</from> + <to>$AddObjectIn.object_xml</to> + </copy> + </assign> + + <invoke name="addCategory" partnerLink="ILIAS" operation="addObject" xmlns:tns="urn:ilUserAdministration" + portType="tns:ILIASSoapWebservicePortType" + inputVariable="AddObjectIn" + outputVariable="AddObjectOut"> + <sxt:trace> + <sxt:log level="info" location="onStart"> + <from>concat('*** Adding Category: ', $AddObjectIn.object_xml)</from> + </sxt:log> + </sxt:trace> + </invoke> + + <!-- Set RefId --> + <assign name="setRefId"> + <copy> + <from>$AddObjectOut.ref_id</from> + <to variable="CategoryRefId"/> + </copy> + </assign> + </sequence> + </if> + </sequence> + </scope> +<!-- + <forEach name="SearchForCategoryInResult" parallel="no" counterName="ObjectCounter"> + <startCounterValue>1</startCounterValue> + <finalCounterValue>$ObjectsXML/object[.]</finalCounterValue> + <completionCondition> + <branches>6</branches> + </completionCondition> + <scope name="Scope1"> + <assign name="Assign1"/> + </scope> + </forEach> +--> <!-- Initialize course xml skeleton --> <assign name="initializeCourseXML"> <copy> @@ -91,14 +289,13 @@ </assign> <!-- Set relevant course data --> - <assign name="setCourseData"> <copy> <!-- <from>$ProcessCourseOperationIn.courseMessage/course/attribute[name = 'title']/value</from> --> - <from>'test5'</from> - <to>$CourseXML/il_crs:MetaData/il_crs:General/il_crs:Title</to> + <from>'test6'</from> + <to>$CourseXML/il_crs:MetaData/il_crs:General/il_crs:Title/text()</to> </copy> <!-- <copy> @@ -121,7 +318,7 @@ </copy> <!-- Set targetRefId with defaut value (= catgeory-root hopefully...) --> <copy> - <from>1</from> + <from variable="CategoryRefId"/> <to variable="AddCourseIn" part="target_id"/> </copy> <!-- Set CourseXML (as string) --> @@ -131,8 +328,15 @@ </copy> </assign> - <invoke name="createLecture" partnerLink="ILIAS" operation="addCourse" xmlns:tns="urn:ilUserAdministration" portType="tns:ILIASSoapWebservicePortType" inputVariable="AddCourseIn" outputVariable="AddCourseOut"> + <invoke name="createLecture" partnerLink="ILIAS" operation="addCourse" xmlns:tns="urn:ilUserAdministration" + portType="tns:ILIASSoapWebservicePortType" + inputVariable="AddCourseIn" + outputVariable="AddCourseOut"> <sxt:trace> + <sxt:log level="info" location="onStart"> + <from>concat('*** Adding Course (refId: ', $AddCourseIn.target_id, ', xml: ', $AddCourseIn.crs_xml, ')')</from> + </sxt:log> + <sxt:log level="info" location="onComplete"> <from>concat('*** Result of addCourse: ', $AddCourseOut.course_id)</from> </sxt:log> @@ -145,7 +349,10 @@ <to variable="LogoutIn" part="sid"/> </copy> </assign> - <invoke name="logout" partnerLink="ILIAS" operation="logout" xmlns:tns="urn:ilUserAdministration" portType="tns:ILIASSoapWebservicePortType" inputVariable="LogoutIn" outputVariable="LogoutOut"> + <invoke name="logout" partnerLink="ILIAS" operation="logout" xmlns:tns="urn:ilUserAdministration" + portType="tns:ILIASSoapWebservicePortType" + inputVariable="LogoutIn" + outputVariable="LogoutOut"> <sxt:trace> <sxt:log level="info" location="onComplete"> <from>concat('*** Result of logout: ', $LogoutOut.success)</from> Modified: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xsd =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xsd 2009-04-30 19:18:59 UTC (rev 199) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xsd 2009-05-02 10:27:28 UTC (rev 200) @@ -2,8 +2,11 @@ <xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://cse.campussource.de/schema/ilias/course" - targetNamespace="http://cse.campussource.de/schema/ilias/course"> + targetNamespace="http://cse.campussource.de/schema/ilias/course" + elementFormDefault="qualified" + attributeFormDefault="qualified"> + <xs:element name="Admin"> <xs:complexType> <xs:sequence/> Added: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-getObjectsByTitle.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-getObjectsByTitle.xml (rev 0) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-getObjectsByTitle.xml 2009-05-02 10:27:28 UTC (rev 200) @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="utf-8"?><!DOCTYPE Objects PUBLIC "-//ILIAS//DTD ILIAS Repositoryobjects//EN" "http://localhost/ilias3/xml/ilias_object_3_10.dtd"> +<!--Export of ILIAS objects--> +<Objects> + <Object type="crs" obj_id="175"> + <Title>test course 1</Title> + <Description>test course description</Description> + <Owner>6</Owner> + <CreateDate>2009-04-30 11:42:16</CreateDate> + <LastUpdate>2009-04-30 11:42:47</LastUpdate> + <ImportId></ImportId> + <References ref_id="41" parent_id="40" accessInfo="granted"> + <Path> + <Element ref_id="1" type="root">Repository</Element> + <Element ref_id="40" type="cat">test</Element> + </Path> + </References> + </Object> + <Object type="cat" obj_id="174"> + <Title>test</Title> + <Description>test category</Description> + <Owner>6</Owner> + <CreateDate>2009-04-30 11:41:37</CreateDate> + <LastUpdate>2009-04-30 11:41:37</LastUpdate> + <ImportId></ImportId> + <References ref_id="40" parent_id="1" accessInfo="granted"> + <Path> + <Element ref_id="1" type="root">Repository</Element> + </Path> + </References> + </Object> + <Object type="crs" obj_id="168"> + <Title>test2</Title> + <Description>bpel test2</Description> + <Owner>6</Owner> + <CreateDate>2009-04-28 00:31:35</CreateDate> + <LastUpdate>2009-04-28 00:31:35</LastUpdate> + <ImportId></ImportId> + <References ref_id="38" parent_id="1" accessInfo="granted"> + <Path> + <Element ref_id="1" type="root">Repository</Element> + </Path> + </References> + </Object> + <Object type="crs" obj_id="163"> + <Title>test</Title> + <Description></Description> + <Owner>6</Owner> + <CreateDate>2009-04-28 00:12:12</CreateDate> + <LastUpdate>2009-04-28 00:12:12</LastUpdate> + <ImportId></ImportId> + <References ref_id="36" parent_id="1" accessInfo="granted"> + <Path> + <Element ref_id="1" type="root">Repository</Element> + </Path> + </References> + </Object> +</Objects> \ No newline at end of file Added: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-getObjectsByTitle_output.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-getObjectsByTitle_output.xml (rev 0) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-getObjectsByTitle_output.xml 2009-05-02 10:27:28 UTC (rev 200) @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Export of ILIAS objects--> +<ns383:Objects xmlns:ns383="http://cse.campussource.de/schema/ilias/objects"> + <ns384:Object xmlns:ns384="http://cse.campussource.de/schema/ilias/objects" xmlns:il_objects="http://cse.campussource.de/schema/ilias/objects" il_objects:type="crs" il_objects:obj_id="175"> + <ns385:Title xmlns:ns385="http://cse.campussource.de/schema/ilias/objects">test course 1</ns385:Title> + <ns386:Description xmlns:ns386="http://cse.campussource.de/schema/ilias/objects">test course description</ns386:Description> + <ns387:Owner xmlns:ns387="http://cse.campussource.de/schema/ilias/objects">6</ns387:Owner> + <ns388:CreateDate xmlns:ns388="http://cse.campussource.de/schema/ilias/objects">2009-04-30 11:42:16</ns388:CreateDate> + <ns389:LastUpdate xmlns:ns389="http://cse.campussource.de/schema/ilias/objects">2009-04-30 11:42:47</ns389:LastUpdate> + <ns390:ImportId xmlns:ns390="http://cse.campussource.de/schema/ilias/objects"/> + <ns391:References xmlns:ns391="http://cse.campussource.de/schema/ilias/objects" il_objects:ref_id="41" il_objects:parent_id="40" il_objects:accessInfo="granted"> + <ns392:Path xmlns:ns392="http://cse.campussource.de/schema/ilias/objects"> + <ns393:Element xmlns:ns393="http://cse.campussource.de/schema/ilias/objects" il_objects:ref_id="1" il_objects:type="root">Repository</ns393:Element> + <ns394:Element xmlns:ns394="http://cse.campussource.de/schema/ilias/objects" il_objects:ref_id="40" il_objects:type="cat">test</ns394:Element> + </ns392:Path> + </ns391:References> + </ns384:Object> + <ns395:Object xmlns:ns395="http://cse.campussource.de/schema/ilias/objects" xmlns:il_objects="http://cse.campussource.de/schema/ilias/objects" il_objects:type="cat" il_objects:obj_id="174"> + <ns396:Title xmlns:ns396="http://cse.campussource.de/schema/ilias/objects">test</ns396:Title> + <ns397:Description xmlns:ns397="http://cse.campussource.de/schema/ilias/objects">test category</ns397:Description> + <ns398:Owner xmlns:ns398="http://cse.campussource.de/schema/ilias/objects">6</ns398:Owner> + <ns399:CreateDate xmlns:ns399="http://cse.campussource.de/schema/ilias/objects">2009-04-30 11:41:37</ns399:CreateDate> + <ns400:LastUpdate xmlns:ns400="http://cse.campussource.de/schema/ilias/objects">2009-04-30 11:41:37</ns400:LastUpdate> + <ns401:ImportId xmlns:ns401="http://cse.campussource.de/schema/ilias/objects"/> + <ns402:References xmlns:ns402="http://cse.campussource.de/schema/ilias/objects" il_objects:ref_id="40" il_objects:parent_id="1" il_objects:accessInfo="granted"> + <ns403:Path xmlns:ns403="http://cse.campussource.de/schema/ilias/objects"> + <ns404:Element xmlns:ns404="http://cse.campussource.de/schema/ilias/objects" il_objects:ref_id="1" il_objects:type="root">Repository</ns404:Element> + </ns403:Path> + </ns402:References> + </ns395:Object> + <ns405:Object xmlns:ns405="http://cse.campussource.de/schema/ilias/objects" xmlns:il_objects="http://cse.campussource.de/schema/ilias/objects" il_objects:type="crs" il_objects:obj_id="168"> + <ns406:Title xmlns:ns406="http://cse.campussource.de/schema/ilias/objects">test2</ns406:Title> + <ns407:Description xmlns:ns407="http://cse.campussource.de/schema/ilias/objects">bpel test2</ns407:Description> + <ns408:Owner xmlns:ns408="http://cse.campussource.de/schema/ilias/objects">6</ns408:Owner> + <ns409:CreateDate xmlns:ns409="http://cse.campussource.de/schema/ilias/objects">2009-04-28 00:31:35</ns409:CreateDate> + <ns410:LastUpdate xmlns:ns410="http://cse.campussource.de/schema/ilias/objects">2009-04-28 00:31:35</ns410:LastUpdate> + <ns411:ImportId xmlns:ns411="http://cse.campussource.de/schema/ilias/objects"/> + <ns412:References xmlns:ns412="http://cse.campussource.de/schema/ilias/objects" il_objects:ref_id="38" il_objects:parent_id="1" il_objects:accessInfo="granted"> + <ns413:Path xmlns:ns413="http://cse.campussource.de/schema/ilias/objects"> + <ns414:Element xmlns:ns414="http://cse.campussource.de/schema/ilias/objects" il_objects:ref_id="1" il_objects:type="root">Repository</ns414:Element> + </ns413:Path> + </ns412:References> + </ns405:Object> + <ns415:Object xmlns:ns415="http://cse.campussource.de/schema/ilias/objects" xmlns:il_objects="http://cse.campussource.de/schema/ilias/objects" il_objects:type="crs" il_objects:obj_id="163"> + <ns416:Title xmlns:ns416="http://cse.campussource.de/schema/ilias/objects">test</ns416:Title> + <ns417:Description xmlns:ns417="http://cse.campussource.de/schema/ilias/objects"/> + <ns418:Owner xmlns:ns418="http://cse.campussource.de/schema/ilias/objects">6</ns418:Owner> + <ns419:CreateDate xmlns:ns419="http://cse.campussource.de/schema/ilias/objects">2009-04-28 00:12:12</ns419:CreateDate> + <ns420:LastUpdate xmlns:ns420="http://cse.campussource.de/schema/ilias/objects">2009-04-28 00:12:12</ns420:LastUpdate> + <ns421:ImportId xmlns:ns421="http://cse.campussource.de/schema/ilias/objects"/> + <ns422:References xmlns:ns422="http://cse.campussource.de/schema/ilias/objects" il_objects:ref_id="36" il_objects:parent_id="1" il_objects:accessInfo="granted"> + <ns423:Path xmlns:ns423="http://cse.campussource.de/schema/ilias/objects"> + <ns424:Element xmlns:ns424="http://cse.campussource.de/schema/ilias/objects" il_objects:ref_id="1" il_objects:type="root">Repository</ns424:Element> + </ns423:Path> + </ns422:References> + </ns415:Object> +</ns383:Objects> Added: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-objects.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-objects.xml (rev 0) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-objects.xml 2009-05-02 10:27:28 UTC (rev 200) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Document : ilias-objects.xml + Created on : May 2, 2009, 12:23 AM + Author : pete + Description: + Purpose of the document follows. +--> + +<ns0:Element xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' + xmlns:ns0='http://cse.campussource.de/schema/ilias/objects' + xsi:schemaLocation='http://cse.campussource.de/schema/ilias/objects ilias-objects.xsd' ns0:ref_id="" ns0:type=""> + +</ns0:Element> Added: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-objects.xsd =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-objects.xsd (rev 0) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-objects.xsd 2009-05-02 10:27:28 UTC (rev 200) @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<xs:schema version="1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns="http://cse.campussource.de/schema/ilias/objects" + targetNamespace="http://cse.campussource.de/schema/ilias/objects" + elementFormDefault="qualified" + attributeFormDefault="qualified"> + + <xs:element name="Element"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="ref_id" type="xs:string" use="required"/> + <xs:attribute name="type" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="Object"> + <xs:complexType> + <xs:sequence> + <xs:element name="Title" type="xs:string"/> + <xs:element name="Description" type="xs:string" minOccurs="0"/> + <xs:element name="Owner" type="xs:string"/> + <xs:element name="CreateDate" type="xs:string" minOccurs="0"/> + <xs:element name="LastUpdate" type="xs:string" minOccurs="0"/> + <xs:element name="ImportId" type="xs:string" minOccurs="0"/> + <xs:element ref="References" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="type" type="xs:string" use="required"/> + <xs:attribute name="obj_id" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="Objects"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Object" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="Operation"> + <xs:simpleType> + <xs:restriction base="xs:string"/> + </xs:simpleType> + </xs:element> + + <xs:element name="Path"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Element" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="References"> + <xs:complexType> + <xs:sequence> + <xs:element ref="TimeTarget" minOccurs="0"/> + <xs:element ref="Operation" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="Path" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="ref_id" type="xs:string" use="required"/> + <xs:attribute name="parent_id" type="xs:string"/> + <xs:attribute name="accessInfo" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="Suggestion"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="starting_time" type="xs:string" use="required"/> + <xs:attribute name="ending_time" type="xs:string" use="required"/> + <xs:attribute name="changeable" type="xs:string" use="required"/> + <xs:attribute name="earliest_start" type="xs:string"/> + <xs:attribute name="latest_end" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="TimeTarget"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Timing" minOccurs="0"/> + <xs:element ref="Suggestion" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="type" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Timing"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="starting_time" type="xs:string" use="required"/> + <xs:attribute name="ending_time" type="xs:string" use="required"/> + <xs:attribute name="visibility" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> +</xs:schema> + Added: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/setObjectsNS.xsl =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/setObjectsNS.xsl (rev 0) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/setObjectsNS.xsl 2009-05-02 10:27:28 UTC (rev 200) @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Document : setObjectsNS.xsl.xsl + Created on : May 1, 2009, 10:58 PM + Author : pete + Description: + Purpose of transformation follows. +--> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:il_objects="http://cse.campussource.de/schema/ilias/objects" + xmlns="http://cse.campussource.de/schema/ilias/objects" + version="1.0"> + + <xsl:output method="xml" + media-type="text/xml" + indent="yes" + encoding="UTF-8" + omit-xml-declaration="no"/> + + <xsl:template match="*"> + <xsl:element name="{local-name()}" namespace="http://cse.campussource.de/schema/ilias/objects"> +<!-- + <xsl:copy-of select="node()"/> +--> + + <xsl:apply-templates select="@*|node()"/> + + </xsl:element> + </xsl:template> + + <xsl:template match="@*"> + <xsl:attribute name="{local-name()}" namespace="http://cse.campussource.de/schema/ilias/objects"> + <xsl:value-of select="."/> + </xsl:attribute> + </xsl:template> + + <xsl:template match="processing-instruction()|comment()"> + <xsl:copy> + <xsl:apply-templates select="node()"/> + </xsl:copy> + </xsl:template> + +</xsl:stylesheet> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pka...@us...> - 2009-04-30 19:19:11
|
Revision: 199 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=199&view=rev Author: pkasprzak Date: 2009-04-30 19:18:59 +0000 (Thu, 30 Apr 2009) Log Message: ----------- * Added support for Ilias' objects dtd Modified Paths: -------------- trunk/sandbox/lsf-adapter-demo/Tools/build.xml trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/SchemaGenerator.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Admin.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/AdvancedMetaData.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Annotation.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Archive.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Author.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Availability.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/BibItem.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/BibItemIdentifier.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Bibliography.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Booktitle.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Br.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Browser.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Caption.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Classification.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Code.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Comment.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Contact.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/ContentObject.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Contribute.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Course.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Coverage.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/CrossRef.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Definition.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Description.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Disabled.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Editor.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Educational.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Emph.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Entity.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/ExtLink.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/FileItem.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/FileList.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/FirstName.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Footnote.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Format.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/General.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Glossary.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/GlossaryItem.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/HowPublished.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/ISBN.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/ISSN.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Identifier.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Identifier_.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/InstallationRemarks.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Institution.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/IntLink.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Journal.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Keyword.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Language.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Layout.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Lifecycle.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/List.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/ListItem.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Location.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/MapArea.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/MediaAlias.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/MediaAliasItem.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/MediaItem.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/MediaObject.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Member.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/MetaData.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/MetaMetadata.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/MiddleName.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/NotAvailable.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/ObjectFactory.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/OperatingSystem.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/OrComposite.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/OtherPlatformRequirements.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/PageAlias.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/PageContent.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/PageObject.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/PageTurn.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Paragraph.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Parameter.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Properties.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Property.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Question.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Quotation.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Registration.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Relation.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Requirement.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Resource.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Rights.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/School.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Series.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/SeriesEditor.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Settings.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Sort.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Source.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Strong.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/StructureObject.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Subscriber.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Table.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/TableData.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/TableRow.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Taxon.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/TaxonPath.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Technical.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/TemporarilyAvailable.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Title.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Tutor.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Type.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/TypicalAgeRange.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/URL.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Unlimited.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Value.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Version.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Volume.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/WaitingList.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/WherePublished.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/package-info.java Added Paths: ----------- trunk/sandbox/lsf-adapter-demo/Tools/resources/ilias-xsd/ilias-course.xsd trunk/sandbox/lsf-adapter-demo/Tools/resources/ilias-xsd/ilias-objects.xsd trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/objects/ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/objects/Element.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/objects/Object.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/objects/ObjectFactory.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/objects/Objects.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/objects/Operation.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/objects/Path.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/objects/References.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/objects/Suggestion.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/objects/TimeTarget.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/objects/Timing.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/objects/package-info.java Property Changed: ---------------- trunk/sandbox/lsf-adapter-demo/Tools/build.xml Modified: trunk/sandbox/lsf-adapter-demo/Tools/build.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/build.xml 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/build.xml 2009-04-30 19:18:59 UTC (rev 199) @@ -29,6 +29,7 @@ <classpath path="${libs.jaxb.classpath}"/> </typedef> + <!-- Generate java classes from ilias_course.dtd --> <xjc package="de.campussource.cse.tools.ilias.jaxb.course" destdir="${src.dir}" catalog="catalog.xml"> <classpath> <pathelement location="${src.dir}"/> @@ -43,6 +44,19 @@ <produces dir="src/de/campussource/cse/tools/ilias/jaxb/course"/> --> </xjc> + + <!-- Generate java classes from ilias_object.dtd --> + <xjc package="de.campussource.cse.tools.ilias.jaxb.objects" destdir="${src.dir}" catalog="catalog.xml"> + <classpath> + <pathelement location="${src.dir}"/> + <pathelement path="${libs.jaxb.classpath}"/> + </classpath> + <arg value="-dtd"/> + <arg value="-verbose"/> + <schema file="resources/ilias/ilias_object_3_11.dtd"/> + <depends file="resources/ilias/ilias_course_3_11.dtd"/> + </xjc> + <!-- <copy todir="build/generated/addons/jaxb"> <fileset dir="build/generated/jaxbCache/ilias-binding-course"/> Property changes on: trunk/sandbox/lsf-adapter-demo/Tools/build.xml ___________________________________________________________________ Added: svn:mergeinfo + /trunk/sandbox/lsf-adapter-demo/Tools/build.xml:187-197 Added: trunk/sandbox/lsf-adapter-demo/Tools/resources/ilias-xsd/ilias-course.xsd =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/resources/ilias-xsd/ilias-course.xsd (rev 0) +++ trunk/sandbox/lsf-adapter-demo/Tools/resources/ilias-xsd/ilias-course.xsd 2009-04-30 19:18:59 UTC (rev 199) @@ -0,0 +1,531 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"> + + <xs:element name="Admin"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="id" type="xs:string" use="required"/> + <xs:attribute name="notification" type="xs:string"/> + <xs:attribute name="passed" type="xs:string"/> + <xs:attribute name="action" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="AdvancedMetaData"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Value" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="Annotation"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Entity"/> + <xs:element name="Date" type="xs:string"/> + <xs:element ref="Description"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="Archive"> + <xs:complexType> + <xs:sequence> + <xs:element name="Start" type="xs:string"/> + <xs:element name="End" type="xs:string"/> + </xs:sequence> + <xs:attribute name="Access" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Availability"> + <xs:complexType> + <xs:sequence> + <xs:choice maxOccurs="unbounded"> + <xs:element ref="NotAvailable"/> + <xs:element ref="Unlimited"/> + <xs:element ref="TemporarilyAvailable"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="Browser"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Name" type="xs:string" use="required"/> + <xs:attribute name="MinimumVersion" type="xs:string"/> + <xs:attribute name="MaximumVersion" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="Classification"> + <xs:complexType> + <xs:sequence> + <xs:element ref="TaxonPath" maxOccurs="unbounded"/> + <xs:element ref="Description"/> + <xs:element ref="Keyword" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="Purpose" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Contact"> + <xs:complexType> + <xs:sequence> + <xs:element name="Name" type="xs:string" minOccurs="0"/> + <xs:element name="Responsibility" type="xs:string" minOccurs="0"/> + <xs:element name="Phone" type="xs:string" minOccurs="0"/> + <xs:element name="Email" type="xs:string" minOccurs="0"/> + <xs:element name="Consultation" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="Contribute"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Entity" maxOccurs="unbounded"/> + <xs:element name="Date" type="xs:string"/> + </xs:sequence> + <xs:attribute name="Role" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Course"> + <xs:complexType> + <xs:sequence> + <xs:element ref="MetaData" minOccurs="0"/> + <xs:element ref="AdvancedMetaData" minOccurs="0"/> + <xs:element ref="Admin" maxOccurs="unbounded"/> + <xs:element ref="Tutor" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="Member" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="Subscriber" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="WaitingList" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="Settings" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="exportVersion" type="xs:string" use="required"/> + <xs:attribute name="id" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="Coverage"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="Description"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="Disabled"> + <xs:complexType> + <xs:sequence/> + </xs:complexType> + </xs:element> + + <xs:element name="Educational"> + <xs:complexType> + <xs:sequence> + <xs:element ref="TypicalAgeRange" maxOccurs="unbounded"/> + <xs:element name="TypicalLearningTime" type="xs:string"/> + <xs:element ref="Description" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="Language" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="InteractivityType" type="xs:string" use="required"/> + <xs:attribute name="LearningResourceType" type="xs:string" use="required"/> + <xs:attribute name="InteractivityLevel" type="xs:string" use="required"/> + <xs:attribute name="SemanticDensity" type="xs:string" use="required"/> + <xs:attribute name="IntendedEndUserRole" type="xs:string" use="required"/> + <xs:attribute name="Context" type="xs:string" use="required"/> + <xs:attribute name="Difficulty" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Entity"> + <xs:simpleType> + <xs:restriction base="xs:string"/> + </xs:simpleType> + </xs:element> + + <xs:element name="Format"> + <xs:simpleType> + <xs:restriction base="xs:string"/> + </xs:simpleType> + </xs:element> + + <xs:element name="General"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Identifier" maxOccurs="unbounded"/> + <xs:element ref="Title"/> + <xs:element ref="Language" maxOccurs="unbounded"/> + <xs:element ref="Description" maxOccurs="unbounded"/> + <xs:element ref="Keyword" maxOccurs="unbounded"/> + <xs:element ref="Coverage" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="Structure" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Identifier"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Catalog" type="xs:string"/> + <xs:attribute name="Entry" type="xs:ID" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Identifier_"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Catalog" type="xs:string"/> + <xs:attribute name="Entry" type="xs:IDREF"/> + </xs:complexType> + </xs:element> + + <xs:element name="InstallationRemarks"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="Keyword"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="Language"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Lifecycle"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Version"/> + <xs:element ref="Contribute" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="Status" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Location"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Type" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="Member"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="id" type="xs:string" use="required"/> + <xs:attribute name="blocked" type="xs:string"/> + <xs:attribute name="passed" type="xs:string"/> + <xs:attribute name="action" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="Meta-Metadata"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Identifier" maxOccurs="unbounded"/> + <xs:element ref="Contribute" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="MetadataScheme" type="xs:string"/> + <xs:attribute name="Language" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="MetaData"> + <xs:complexType> + <xs:sequence> + <xs:element ref="General"/> + <xs:element ref="Lifecycle" minOccurs="0"/> + <xs:element ref="Meta-Metadata" minOccurs="0"/> + <xs:element ref="Technical" minOccurs="0"/> + <xs:element ref="Educational" minOccurs="0"/> + <xs:element ref="Rights" minOccurs="0"/> + <xs:element ref="Relation" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="Annotation" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="Classification" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="NotAvailable"> + <xs:complexType> + <xs:sequence/> + </xs:complexType> + </xs:element> + + <xs:element name="OperatingSystem"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Name" type="xs:string" use="required"/> + <xs:attribute name="MinimumVersion" type="xs:string"/> + <xs:attribute name="MaximumVersion" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="OrComposite"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Requirement" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="OtherPlatformRequirements"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="Registration"> + <xs:complexType> + <xs:sequence> + <xs:choice maxOccurs="unbounded"> + <xs:element ref="Disabled"/> + <xs:element ref="Unlimited"/> + <xs:element ref="TemporarilyAvailable"/> + </xs:choice> + <xs:element name="Password" type="xs:string" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="registrationType" type="xs:string"/> + <xs:attribute name="maxMembers" type="xs:string"/> + <xs:attribute name="notification" type="xs:string"/> + <xs:attribute name="waitingList" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="Relation"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Resource"/> + </xs:sequence> + <xs:attribute name="Kind" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Requirement"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Type"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="Resource"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Identifier_" maxOccurs="unbounded"/> + <xs:element ref="Description" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="Rights"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Description"/> + </xs:sequence> + <xs:attribute name="Cost" type="xs:string" use="required"/> + <xs:attribute name="CopyrightAndOtherRestrictions" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Settings"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Availability" minOccurs="0"/> + <xs:element name="Syllabus" type="xs:string" minOccurs="0"/> + <xs:element name="ImportantInformation" type="xs:string" minOccurs="0"/> + <xs:element ref="Contact" minOccurs="0"/> + <xs:element ref="Registration" minOccurs="0"/> + <xs:element ref="Sort" minOccurs="0"/> + <xs:element ref="Archive" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="Sort"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="type" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Source"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="Subscriber"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="id" type="xs:string" use="required"/> + <xs:attribute name="subscriptionTime" type="xs:string" use="required"/> + <xs:attribute name="action" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="Taxon"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + <xs:attribute name="Id" type="xs:ID"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="TaxonPath"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Source"/> + <xs:element ref="Taxon" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="Technical"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Format" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="Size" type="xs:string" minOccurs="0"/> + <xs:element ref="Location" minOccurs="0" maxOccurs="unbounded"/> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="Requirement"/> + <xs:element ref="OrComposite"/> + </xs:choice> + <xs:element ref="InstallationRemarks" minOccurs="0"/> + <xs:element ref="OtherPlatformRequirements" minOccurs="0"/> + <xs:element name="Duration" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="TemporarilyAvailable"> + <xs:complexType> + <xs:sequence> + <xs:element name="Start" type="xs:string"/> + <xs:element name="End" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="Title"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="Tutor"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="id" type="xs:string" use="required"/> + <xs:attribute name="notification" type="xs:string" use="required"/> + <xs:attribute name="passed" type="xs:string" use="required"/> + <xs:attribute name="action" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="Type"> + <xs:complexType> + <xs:sequence> + <xs:choice maxOccurs="unbounded"> + <xs:element ref="OperatingSystem"/> + <xs:element ref="Browser"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="TypicalAgeRange"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="Unlimited"> + <xs:complexType> + <xs:sequence/> + </xs:complexType> + </xs:element> + + <xs:element name="Value"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="id" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="Version"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="WaitingList"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="id" type="xs:string" use="required"/> + <xs:attribute name="subscriptionTime" type="xs:string" use="required"/> + <xs:attribute name="action" type="xs:string"/> + </xs:complexType> + </xs:element> +</xs:schema> + Added: trunk/sandbox/lsf-adapter-demo/Tools/resources/ilias-xsd/ilias-objects.xsd =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/resources/ilias-xsd/ilias-objects.xsd (rev 0) +++ trunk/sandbox/lsf-adapter-demo/Tools/resources/ilias-xsd/ilias-objects.xsd 2009-04-30 19:18:59 UTC (rev 199) @@ -0,0 +1,96 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"> + + <xs:element name="Element"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="ref_id" type="xs:string" use="required"/> + <xs:attribute name="type" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="Object"> + <xs:complexType> + <xs:sequence> + <xs:element name="Title" type="xs:string"/> + <xs:element name="Description" type="xs:string" minOccurs="0"/> + <xs:element name="Owner" type="xs:string"/> + <xs:element name="CreateDate" type="xs:string" minOccurs="0"/> + <xs:element name="LastUpdate" type="xs:string" minOccurs="0"/> + <xs:element name="ImportId" type="xs:string" minOccurs="0"/> + <xs:element ref="References" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="type" type="xs:string" use="required"/> + <xs:attribute name="obj_id" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="Objects"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Object" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="Operation"> + <xs:simpleType> + <xs:restriction base="xs:string"/> + </xs:simpleType> + </xs:element> + + <xs:element name="Path"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Element" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="References"> + <xs:complexType> + <xs:sequence> + <xs:element ref="TimeTarget" minOccurs="0"/> + <xs:element ref="Operation" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="Path" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="ref_id" type="xs:string" use="required"/> + <xs:attribute name="parent_id" type="xs:string"/> + <xs:attribute name="accessInfo" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="Suggestion"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="starting_time" type="xs:string" use="required"/> + <xs:attribute name="ending_time" type="xs:string" use="required"/> + <xs:attribute name="changeable" type="xs:string" use="required"/> + <xs:attribute name="earliest_start" type="xs:string"/> + <xs:attribute name="latest_end" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="TimeTarget"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Timing" minOccurs="0"/> + <xs:element ref="Suggestion" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="type" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Timing"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="starting_time" type="xs:string" use="required"/> + <xs:attribute name="ending_time" type="xs:string" use="required"/> + <xs:attribute name="visibility" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> +</xs:schema> + Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/SchemaGenerator.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/SchemaGenerator.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/SchemaGenerator.java 2009-04-30 19:18:59 UTC (rev 199) @@ -6,6 +6,8 @@ package de.campussource.cse.tools.ilias; import de.campussource.cse.tools.ilias.jaxb.course.Course; +import de.campussource.cse.tools.ilias.jaxb.objects.Objects; + import java.io.File; import java.io.IOException; @@ -16,14 +18,16 @@ import javax.xml.transform.stream.StreamResult; /** + * Transforms JAXB annotated java classes (which were derived from Ilias dtds) into xsds. * * @author pete */ public class SchemaGenerator { - private static final String XSD_BASE_DIR = "./resources/ilias-xsd"; + private static final String XSD_BASE_DIR = "./resources/ilias-xsd"; - private static final String XSD_FILE_NAME = "ilias-course.xsd"; + private static final String XSD_ILIAS_COURSE_FILE_NAME = "ilias-course.xsd"; + private static final String XSD_ILIAS_OBJECTS_FILE_NAME = "ilias-objects.xsd"; private static final File baseDir = new File(XSD_BASE_DIR); @@ -31,16 +35,26 @@ * @param args the command line arguments */ public static void main(String[] args) { - class MySchemaOutputResolver extends SchemaOutputResolver { + + class CourseSchemaOutputResolver extends SchemaOutputResolver { public Result createOutput( String namespaceUri, String suggestedFileName) throws IOException { - return new StreamResult(new File(baseDir, XSD_FILE_NAME)); + return new StreamResult(new File(baseDir, XSD_ILIAS_COURSE_FILE_NAME)); } } + class ObjectsSchemaOutputResolver extends SchemaOutputResolver { + public Result createOutput( String namespaceUri, String suggestedFileName) throws IOException { + return new StreamResult(new File(baseDir, XSD_ILIAS_OBJECTS_FILE_NAME)); + } + } + try { JAXBContext context = JAXBContext.newInstance(Course.class); - context.generateSchema(new MySchemaOutputResolver()); + context.generateSchema(new CourseSchemaOutputResolver()); + context = JAXBContext.newInstance(Objects.class); + context.generateSchema(new ObjectsSchemaOutputResolver()); + } catch (IOException e) { System.out.println("IOException while generating schema:"); e.printStackTrace(); @@ -49,7 +63,5 @@ System.out.println("JAXBException while creating JAXBContext:"); e.printStackTrace(); } - // TODO code application logic here } - } Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Admin.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Admin.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Admin.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/AdvancedMetaData.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/AdvancedMetaData.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/AdvancedMetaData.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Annotation.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Annotation.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Annotation.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Archive.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Archive.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Archive.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Author.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Author.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Author.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Availability.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Availability.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Availability.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/BibItem.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/BibItem.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/BibItem.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/BibItemIdentifier.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/BibItemIdentifier.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/BibItemIdentifier.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Bibliography.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Bibliography.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Bibliography.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Booktitle.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Booktitle.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Booktitle.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Br.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Br.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Br.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Browser.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Browser.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Browser.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Caption.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Caption.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Caption.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Classification.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Classification.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Classification.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Code.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Code.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Code.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Comment.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Comment.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Comment.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Contact.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Contact.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Contact.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/ContentObject.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/ContentObject.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/ContentObject.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Contribute.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Contribute.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Contribute.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Course.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Course.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Course.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Coverage.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Coverage.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Coverage.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/CrossRef.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/CrossRef.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/CrossRef.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Definition.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Definition.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Definition.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2009.04.28 at 03:20:37 PM MESZ +// Generated on: 2009.04.30 at 11:14:19 PM CEST // Modified: trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Description.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Description.java 2009-04-30 18:00:20 UTC (rev 198) +++ trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Description.java 2009-04-30 19:18:59 UTC (rev 199) @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 // See <a href=... [truncated message content] |
From: <pka...@us...> - 2009-04-30 18:00:27
|
Revision: 198 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=198&view=rev Author: pkasprzak Date: 2009-04-30 18:00:20 +0000 (Thu, 30 Apr 2009) Log Message: ----------- * Added support for Ilias' objects dtd Removed Paths: ------------- trunk/sandbox/lsf-adapter-demo/Tools/xml-resources/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-04-29 15:26:07
|
Revision: 197 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=197&view=rev Author: roekens Date: 2009-04-29 15:25:49 +0000 (Wed, 29 Apr 2009) Log Message: ----------- added tests and implementation for DeleteReferenceVisitor concerning entities: role, account, group -> DeleteReferenceVisitor should work fine now :-) Modified Paths: -------------- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitorTest.java Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java 2009-04-29 15:14:44 UTC (rev 196) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java 2009-04-29 15:25:49 UTC (rev 197) @@ -44,8 +44,7 @@ account.removeFromGroup((Group) persistentTarget); break; case ROLE: - //FIXME how to set role if only account is known - setting of roles has to be discussed - //((Course)target).addToCategory(category); + account.removeRole((Role)persistentTarget); break; default: throw new IllegalStateException("Reference type doesn't apply to entity."); @@ -93,6 +92,7 @@ public void visit(Group group) { switch (type){ case MEMBER: + ((Account)persistentTarget).removeFromGroup(group); break; default: throw new IllegalStateException("Reference type doesn't apply to entity."); @@ -101,7 +101,16 @@ @Override public void visit(Role role) { - throw new NotImplementedException(); + switch(type){ + case COURSE: + ((Course)persistentTarget).removeRole(role); + break; + case ACCOUNT: + ((Account)persistentTarget).removeRole(role); + break; + default: + throw new IllegalStateException("Reference type doesn't apply to entity."); + } } } Modified: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitorTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitorTest.java 2009-04-29 15:14:44 UTC (rev 196) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitorTest.java 2009-04-29 15:25:49 UTC (rev 197) @@ -80,27 +80,59 @@ @Test public void testDeleteCourseFromRole(){ - //FIXME implement me + Course course = new Course(); + Account account = new Account(); + Role role = new Role(); + role.setAccount(account); + course.addRole(role); + role.accept(new DeleteReferenceVisitor(course, course, ReferenceType.COURSE)); + assertNull(role.getCourse()); + assertEquals(0, course.getRoles().size()); } @Test public void testDeleteAccountFromRole(){ - //FIXME implement me + Course course = new Course(); + Account account = new Account(); + Role role = new Role(); + role.setCourse(course); + account.addRole(role); + role.accept(new DeleteReferenceVisitor(account, account, ReferenceType.ACCOUNT)); + assertNull(role.getAccount()); + assertEquals(0, account.getRoles().size()); } @Test public void testDeleteRoleFromAccount(){ - //FIXME implement me + Course course = new Course(); + Account account = new Account(); + Role role = new Role(); + role.setCourse(course); + account.addRole(role); + account.accept(new DeleteReferenceVisitor(role, role, ReferenceType.ROLE)); + assertNull(role.getAccount()); + assertEquals(0, account.getRoles().size()); } @Test public void testDeleteGroupFromAccount(){ - //FIXME implement me + Account account = new Account(); + Group group = new Group(); + account.addToGroup(group); + account.accept(new DeleteReferenceVisitor(group, group, ReferenceType.GROUP)); + assertEquals(0, group.getMembers().size()); + assertEquals(0, account.getGroups().size()); + } @Test public void testDeleteMemberFromGroup(){ - //FIXME implement me + Account account = new Account(); + Group group = new Group(); + account.addToGroup(group); + group.accept(new DeleteReferenceVisitor(account, account, ReferenceType.MEMBER)); + assertEquals(0, group.getMembers().size()); + assertEquals(0, account.getGroups().size()); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-04-29 15:14:46
|
Revision: 196 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=196&view=rev Author: roekens Date: 2009-04-29 15:14:44 +0000 (Wed, 29 Apr 2009) Log Message: ----------- added tests and implementation for DeleteReferenceVisitor concerning entity: course Modified Paths: -------------- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitorTest.java Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java 2009-04-29 15:00:54 UTC (rev 195) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java 2009-04-29 15:14:44 UTC (rev 196) @@ -117,7 +117,7 @@ if (role == null || role.getAccount()==null){ return false; } - if (roles.contains(role)){ + if (!roles.contains(role)){ return false; } role.removeFromCourseAndAccount(); Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java 2009-04-29 15:00:54 UTC (rev 195) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java 2009-04-29 15:14:44 UTC (rev 196) @@ -73,12 +73,16 @@ public void visit(Course course) { switch (type) { case CATEGORY: + course.removeFromCategory((Category) persistentTarget); break; case WORKGROUP: + ((Course)persistentTarget).removeAsWorkgroupFrom(course); break; case PARENT: + course.removeAsWorkgroupFrom((Course)persistentTarget); break; case ROLE: + course.removeRole((Role)persistentTarget); break; default: throw new IllegalStateException("Reference type doesn't apply to entity."); Modified: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitorTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitorTest.java 2009-04-29 15:00:54 UTC (rev 195) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitorTest.java 2009-04-29 15:14:44 UTC (rev 196) @@ -38,22 +38,44 @@ @Test public void testDeleteCategoryFromCourse(){ - //FIXME implement me + Course course = new Course(); + Category category = new Category(); + course.addToCategory(category); + course.accept(new DeleteReferenceVisitor(category, category, ReferenceType.CATEGORY)); + assertEquals(0, course.getCategories().size()); + assertEquals(0, category.getCourses().size()); } @Test public void testDeleteWorkgroupFromCourse(){ - //FIXME implement me + Course course = new Course(); + Course workgroup = new Course(); + workgroup.addAsWorkgroupTo(course); + course.accept(new DeleteReferenceVisitor(workgroup, workgroup, ReferenceType.WORKGROUP)); + assertNull(workgroup.getParent()); + assertEquals(0, course.getWorkgroups().size()); } @Test public void testDeleteParentFromCourse(){ - //FIXME implement me + Course course = new Course(); + Course workgroup = new Course(); + workgroup.addAsWorkgroupTo(course); + workgroup.accept(new DeleteReferenceVisitor(course, course, ReferenceType.PARENT)); + assertNull(workgroup.getParent()); + assertEquals(0, course.getWorkgroups().size()); } @Test public void testDeleteRoleFromCourse(){ - //FIXME implement me + Course course = new Course(); + Account account = new Account(); + Role role = new Role(); + role.setAccount(account); + course.addRole(role); + course.accept(new DeleteReferenceVisitor(role, role, ReferenceType.ROLE)); + assertNull(role.getCourse()); + assertEquals(0, course.getRoles().size()); } @Test This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-04-29 15:00:55
|
Revision: 195 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=195&view=rev Author: roekens Date: 2009-04-29 15:00:54 +0000 (Wed, 29 Apr 2009) Log Message: ----------- added test stubs for coming tests for DeleteReferenceVisitor Modified Paths: -------------- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitorTest.java Modified: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitorTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitorTest.java 2009-04-29 14:56:22 UTC (rev 194) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitorTest.java 2009-04-29 15:00:54 UTC (rev 195) @@ -35,4 +35,50 @@ assertNull(course.getParent()); assertEquals(0, category.getCourses().size()); } + + @Test + public void testDeleteCategoryFromCourse(){ + //FIXME implement me + } + + @Test + public void testDeleteWorkgroupFromCourse(){ + //FIXME implement me + } + + @Test + public void testDeleteParentFromCourse(){ + //FIXME implement me + } + + @Test + public void testDeleteRoleFromCourse(){ + //FIXME implement me + } + + @Test + public void testDeleteCourseFromRole(){ + //FIXME implement me + } + + @Test + public void testDeleteAccountFromRole(){ + //FIXME implement me + } + + @Test + public void testDeleteRoleFromAccount(){ + //FIXME implement me + } + + @Test + public void testDeleteGroupFromAccount(){ + //FIXME implement me + } + + @Test + public void testDeleteMemberFromGroup(){ + //FIXME implement me + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-04-29 14:56:25
|
Revision: 194 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=194&view=rev Author: roekens Date: 2009-04-29 14:56:22 +0000 (Wed, 29 Apr 2009) Log Message: ----------- added tests and implementation for DeleteReferenceVisitor concerning entity: category Modified Paths: -------------- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java Added Paths: ----------- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitorTest.java Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java 2009-04-29 14:35:26 UTC (rev 193) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java 2009-04-29 14:56:22 UTC (rev 194) @@ -1,5 +1,7 @@ package de.campussource.cse.cdmm.domain; +import javax.management.remote.TargetedNotification; + import org.apache.commons.lang.NotImplementedException; /** @@ -12,7 +14,15 @@ private ReferenceType type; - private Entity target; + /** + * represents associated target entity in persistence + */ + private Entity persistentTarget; + + /** + * represents associated target entity in given object structure + */ + private Entity associatedTarget; /** * @@ -21,16 +31,17 @@ * @param type * of reference that will be added */ - public DeleteReferenceVisitor(Entity target, ReferenceType type) { + public DeleteReferenceVisitor(Entity persistentTarget, Entity associatedTarget, ReferenceType type) { this.type = type; - this.target = target; + this.persistentTarget = persistentTarget; + this.associatedTarget = associatedTarget; } @Override public void visit(Account account) { switch (type) { case GROUP: - account.removeFromGroup((Group) target); + account.removeFromGroup((Group) persistentTarget); break; case ROLE: //FIXME how to set role if only account is known - setting of roles has to be discussed @@ -44,11 +55,14 @@ @Override public void visit(Category category) { switch (type) { - case CATEGORY: + case CHILD: + ((Category)persistentTarget).removeFromParentCategory(category); break; case COURSE: + ((Course)persistentTarget).removeFromCategory(category); break; case PARENT: + category.removeFromParentCategory((Category)persistentTarget); break; default: throw new IllegalStateException("Reference type doesn't apply to entity."); Added: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitorTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitorTest.java (rev 0) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitorTest.java 2009-04-29 14:56:22 UTC (rev 194) @@ -0,0 +1,38 @@ +package de.campussource.cse.cdmm.domain; + +import static org.junit.Assert.*; + +import org.junit.Test; + +public class DeleteReferenceVisitorTest { + + @Test + public void testDeleteChildCategoryFromCategory(){ + Category category = new Category(); + Category parent = new Category(); + category.addToParentCategory(parent); + parent.accept(new DeleteReferenceVisitor(category, category, ReferenceType.CHILD)); + assertEquals(0, parent.getChildren().size()); + assertNull(category.getParent()); + } + + @Test + public void testDeleteParentCategoryFromCategory(){ + Category category = new Category(); + Category parent = new Category(); + category.addToParentCategory(parent); + category.accept(new DeleteReferenceVisitor(parent, parent, ReferenceType.PARENT)); + assertEquals(0, parent.getChildren().size()); + assertNull(category.getParent()); + } + + @Test + public void testDeleteCourseFromCategory(){ + Category category = new Category(); + Course course = new Course(); + course.addToCategory(category); + category.accept(new DeleteReferenceVisitor(course, course, ReferenceType.COURSE)); + assertNull(course.getParent()); + assertEquals(0, category.getCourses().size()); + } +} Property changes on: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitorTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-04-29 14:35:41
|
Revision: 193 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=193&view=rev Author: roekens Date: 2009-04-29 14:35:26 +0000 (Wed, 29 Apr 2009) Log Message: ----------- added several test and bugfixed relevant code Modified Paths: -------------- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/AddReferenceVisitor.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Group.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelMergerTest.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/AddReferenceVisitorTest.java Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/AddReferenceVisitor.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/AddReferenceVisitor.java 2009-04-29 09:32:50 UTC (rev 192) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/AddReferenceVisitor.java 2009-04-29 14:35:26 UTC (rev 193) @@ -53,14 +53,14 @@ @Override public void visit(Category category) { switch (type) { - case CATEGORY: + case PARENT: category.addToParentCategory((Category) persistentTarget); break; case COURSE: ((Course)persistentTarget).addToCategory(category); break; - case PARENT: - category.setParent((Category) persistentTarget); + case CHILD: + ((Category) persistentTarget).addToParentCategory(category); break; default: throw new IllegalStateException("Reference type doesn't apply to entity."); Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Group.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Group.java 2009-04-29 09:32:50 UTC (rev 192) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Group.java 2009-04-29 14:35:26 UTC (rev 193) @@ -80,4 +80,9 @@ public List<Account> getMembers() { return members; } + + @Override + public void accept(Visitor visitor) { + visitor.visit(this); + } } Modified: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelMergerTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelMergerTest.java 2009-04-29 09:32:50 UTC (rev 192) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelMergerTest.java 2009-04-29 14:35:26 UTC (rev 193) @@ -122,7 +122,6 @@ assertEquals(State.KNOWN, entity.getWorkgroups().get(0).getState()); // check role - //FIXME test broken due to incorrect role association updating assertFalse(entity.getRoles().isEmpty()); assertEquals(ROLE_ID, entity.getRoles().get(0).getId()); assertEquals(State.KNOWN, entity.getRoles().get(0).getState()); Modified: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/AddReferenceVisitorTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/AddReferenceVisitorTest.java 2009-04-29 09:32:50 UTC (rev 192) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/AddReferenceVisitorTest.java 2009-04-29 14:35:26 UTC (rev 193) @@ -8,6 +8,7 @@ /** * * @author Ingo Dueppe + * @author Sebastian Roekens * */ public class AddReferenceVisitorTest { @@ -51,5 +52,89 @@ assertNotNull(course.getParent()); assertEquals(parent, course.getParent()); } + + @Test + public void testAddParentCategoryToCategory(){ + Category category = new Category(); + Category parent = new Category(); + category.accept(new AddReferenceVisitor(parent, parent, ReferenceType.PARENT)); + assertNotNull(category.getParent()); + assertEquals(category.getParent(), parent); + } + + @Test + public void testAddChildCategoryToCategory(){ + Category category = new Category(); + Category parent = new Category(); + parent.accept(new AddReferenceVisitor(category, category, ReferenceType.CHILD)); + assertNotNull(parent.getChildren()); + assertEquals(1, parent.getChildren().size()); + assertEquals(category, parent.getChildren().get(0)); + } + @Test + public void testAddCourseToCategory(){ + Course course = new Course(); + Category category = new Category(); + category.accept(new AddReferenceVisitor(course, course, ReferenceType.COURSE)); + assertNotNull(category.getCourses()); + assertEquals(1, category.getCourses().size()); + assertEquals(course, category.getCourses().get(0)); + } + + @Test + public void testAddCourseToRole(){ + Role role = new Role(); + Account account = new Account(); + role.setAccount(account); + Course course = new Course(); + role.accept(new AddReferenceVisitor(course, course, ReferenceType.COURSE)); + assertNotNull(role.getCourse()); + assertEquals(course, role.getCourse()); + } + + @Test + public void testAddAccountToRole(){ + Role role = new Role(); + Course course = new Course(); + role.setCourse(course); + Account account = new Account(); + role.accept(new AddReferenceVisitor(account, account, ReferenceType.ACCOUNT)); + assertNotNull(role.getAccount()); + assertEquals(account, role.getAccount()); + } + + @Test + public void testAddRoleToAccount(){ + Account account = new Account(); + Course course = new Course(); + Role role = new Role(); + role.setCourse(course); + account.accept(new AddReferenceVisitor(role, role, ReferenceType.ROLE)); + assertNotNull(account.getRoles()); + assertEquals(1, account.getRoles().size()); + assertEquals(role, account.getRoles().get(0)); + } + + @Test + public void testAddGroupToAccount(){ + Account account = new Account(); + Group group = new Group(); + account.accept(new AddReferenceVisitor(group, group, ReferenceType.GROUP)); + assertNotNull(account.getGroups()); + assertEquals(1, account.getGroups().size()); + assertEquals(group, account.getGroups().get(0)); + + } + + @Test + public void testAddAccountToGroup(){ + Group group = new Group(); + Account account = new Account(); + group.accept(new AddReferenceVisitor(account, account, ReferenceType.MEMBER)); + assertNotNull(group.getMembers()); + assertEquals(1, group.getMembers().size()); + assertEquals(account, group.getMembers().get(0)); + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-04-29 09:32:59
|
Revision: 192 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=192&view=rev Author: roekens Date: 2009-04-29 09:32:50 +0000 (Wed, 29 Apr 2009) Log Message: ----------- fix for AddReferenceVisitor bug concerning roles -> now Roles are handled correct by creating an AddReferenceVisitor with the persistentObject, the associated object and the association type Modified Paths: -------------- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelMergerBean.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/AddReferenceVisitor.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelMergerTest.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/AddReferenceVisitorTest.java Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelMergerBean.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelMergerBean.java 2009-04-29 08:23:47 UTC (rev 191) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelMergerBean.java 2009-04-29 09:32:50 UTC (rev 192) @@ -3,7 +3,6 @@ import javax.ejb.EJB; import javax.ejb.Local; import javax.ejb.Stateless; -import javax.persistence.PersistenceContext; import de.campussource.cse.cdmm.dao.EntityDao; import de.campussource.cse.cdmm.domain.AddReferenceVisitor; @@ -27,6 +26,7 @@ private EventBuilder eventBuilder; + @SuppressWarnings("unchecked") public <E extends Entity> E merge(E input) { E entity = (E) dao.find(input.getClass(), input.getId()); mergeEntities(input, entity); @@ -85,7 +85,7 @@ entity.setDate(input.getDate()); } // TODO Is it possible that the reference allready exists? - loaded.accept(new AddReferenceVisitor(entity, type)); + loaded.accept(new AddReferenceVisitor(entity, target, type)); // add to reference found list } Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/AddReferenceVisitor.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/AddReferenceVisitor.java 2009-04-29 08:23:47 UTC (rev 191) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/AddReferenceVisitor.java 2009-04-29 09:32:50 UTC (rev 192) @@ -10,7 +10,15 @@ private ReferenceType type; - private Entity target; + /** + * represents associated target entity in persistence + */ + private Entity persistentTarget; + + /** + * represents associated target entity in given object structure + */ + private Entity associatedTarget; /** * @@ -19,19 +27,23 @@ * @param type * of reference that will be added */ - public AddReferenceVisitor(Entity target, ReferenceType type) { + public AddReferenceVisitor(Entity persistentTarget, Entity associatedTarget, ReferenceType type) { this.type = type; - this.target = target; + this.persistentTarget = persistentTarget; + this.associatedTarget = associatedTarget; } @Override public void visit(Account account) { switch (type) { case GROUP: - account.addToGroup((Group) target); + account.addToGroup((Group) persistentTarget); break; case ROLE: - account.addRole((Role) target); + ((Role)persistentTarget).setAccount(((Role)associatedTarget).getAccount()); + ((Role)persistentTarget).setCourse(((Role)associatedTarget).getCourse()); + ((Role)persistentTarget).setType(((Role)associatedTarget).getType()); + account.addRole((Role) persistentTarget); break; default: throw new IllegalStateException("Reference type doesn't apply to entity."); @@ -42,13 +54,13 @@ public void visit(Category category) { switch (type) { case CATEGORY: - category.addToParentCategory((Category) target); + category.addToParentCategory((Category) persistentTarget); break; case COURSE: - ((Course)target).addToCategory(category); + ((Course)persistentTarget).addToCategory(category); break; case PARENT: - category.setParent((Category) target); + category.setParent((Category) persistentTarget); break; default: throw new IllegalStateException("Reference type doesn't apply to entity."); @@ -59,16 +71,19 @@ public void visit(Course course) { switch (type) { case CATEGORY: - course.addToCategory((Category) target); + course.addToCategory((Category) persistentTarget); break; case WORKGROUP: - ((Course) target).addAsWorkgroupTo(course); + ((Course) persistentTarget).addAsWorkgroupTo(course); break; case PARENT: - course.setParent((Course) target); + course.setParent((Course) persistentTarget); break; case ROLE: - course.addRole((Role) target); + ((Role)persistentTarget).setAccount(((Role)associatedTarget).getAccount()); + ((Role)persistentTarget).setCourse(((Role)associatedTarget).getCourse()); + ((Role)persistentTarget).setType(((Role)associatedTarget).getType()); + course.addRole((Role) persistentTarget); break; default: throw new IllegalStateException("Reference type doesn't apply to entity."); @@ -79,7 +94,7 @@ public void visit(Group group) { switch (type){ case MEMBER: - ((Account)target).addToGroup(group); + ((Account)persistentTarget).addToGroup(group); break; default: throw new IllegalStateException("Reference type doesn't apply to entity."); @@ -90,10 +105,10 @@ public void visit(Role role) { switch (type){ case ACCOUNT: - ((Account)target).addRole(role); + ((Account)persistentTarget).addRole(role); break; case COURSE: - ((Course)target).addRole(role); + ((Course)persistentTarget).addRole(role); break; default: throw new IllegalStateException("Reference type doesn't apply to entity."); Modified: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelMergerTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelMergerTest.java 2009-04-29 08:23:47 UTC (rev 191) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelMergerTest.java 2009-04-29 09:32:50 UTC (rev 192) @@ -64,10 +64,9 @@ assertEquals(State.KNOWN, entity.getWorkgroups().get(0).getState()); // check role - //FIXME test broken due to incorrect role association updating -// assertFalse(entity.getRoles().isEmpty()); -// assertEquals(ROLE_ID, entity.getRoles().get(0).getId()); -// assertEquals(State.KNOWN, entity.getRoles().get(0).getState()); + assertFalse(entity.getRoles().isEmpty()); + assertEquals(ROLE_ID, entity.getRoles().get(0).getId()); + assertEquals(State.KNOWN, entity.getRoles().get(0).getState()); } @Test @@ -94,10 +93,9 @@ assertEquals(State.EXISTS, entity.getWorkgroups().get(0).getState()); // check role - //FIXME test broken due to incorrect role association updating -// assertFalse(entity.getRoles().isEmpty()); -// assertEquals(ROLE_ID, entity.getRoles().get(0).getId()); -// assertEquals(State.EXISTS, entity.getRoles().get(0).getState()); + assertFalse(entity.getRoles().isEmpty()); + assertEquals(ROLE_ID, entity.getRoles().get(0).getId()); + assertEquals(State.EXISTS, entity.getRoles().get(0).getState()); } @Test @@ -125,9 +123,9 @@ // check role //FIXME test broken due to incorrect role association updating -// assertFalse(entity.getRoles().isEmpty()); -// assertEquals(ROLE_ID, entity.getRoles().get(0).getId()); -// assertEquals(State.KNOWN, entity.getRoles().get(0).getState()); + assertFalse(entity.getRoles().isEmpty()); + assertEquals(ROLE_ID, entity.getRoles().get(0).getId()); + assertEquals(State.KNOWN, entity.getRoles().get(0).getState()); } /** Modified: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/AddReferenceVisitorTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/AddReferenceVisitorTest.java 2009-04-29 08:23:47 UTC (rev 191) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/AddReferenceVisitorTest.java 2009-04-29 09:32:50 UTC (rev 192) @@ -16,7 +16,7 @@ public void testAddCategoryToCourse() { Course course = new Course(); Category category = new Category(); - course.accept(new AddReferenceVisitor(category, ReferenceType.CATEGORY)); + course.accept(new AddReferenceVisitor(category, category, ReferenceType.CATEGORY)); assertFalse(course.getCategories().isEmpty()); assertEquals(category, course.getCategories().get(0)); } @@ -25,7 +25,7 @@ public void testAddWorkgroupToCourse() { Course course = new Course(); Course workgroup = new Course(); - course.accept(new AddReferenceVisitor(workgroup, ReferenceType.WORKGROUP)); + course.accept(new AddReferenceVisitor(workgroup, workgroup, ReferenceType.WORKGROUP)); assertFalse(course.getWorkgroups().isEmpty()); assertEquals(workgroup, course.getWorkgroups().get(0)); } @@ -38,7 +38,7 @@ role.setCourse(course); role.setAccount(account); - course.accept(new AddReferenceVisitor(role, ReferenceType.ROLE)); + course.accept(new AddReferenceVisitor(role, role, ReferenceType.ROLE)); assertFalse(course.getRoles().isEmpty()); assertEquals(role, course.getRoles().get(0)); } @@ -47,7 +47,7 @@ public void testAddParentToCourse() { Course course = new Course(); Course parent = new Course(); - course.accept(new AddReferenceVisitor(parent, ReferenceType.PARENT)); + course.accept(new AddReferenceVisitor(parent, parent, ReferenceType.PARENT)); assertNotNull(course.getParent()); assertEquals(parent, course.getParent()); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-04-29 08:23:48
|
Revision: 191 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=191&view=rev Author: roekens Date: 2009-04-29 08:23:47 +0000 (Wed, 29 Apr 2009) Log Message: ----------- IN PROGRESS: refactoring of cdmm - fixed several ugly code lines in entity objects - implemented AddReferenceVisitor - added and implemented DeleteReferenceVisitor - some tests still broken -> fix is in progress in the meantime tests are commented out Modified Paths: -------------- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelMergerBean.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/AddReferenceVisitor.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Entity.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/EntityContainer.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Group.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Role.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelManagerTest.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelMergerTest.java trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/AddReferenceVisitorTest.java Added Paths: ----------- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelMergerBean.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelMergerBean.java 2009-04-28 14:51:52 UTC (rev 190) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ModelMergerBean.java 2009-04-29 08:23:47 UTC (rev 191) @@ -1,5 +1,6 @@ package de.campussource.cse.cdmm; +import javax.ejb.EJB; import javax.ejb.Local; import javax.ejb.Stateless; import javax.persistence.PersistenceContext; @@ -21,7 +22,7 @@ @Local(ModelMerger.class) public class ModelMergerBean implements ModelMerger { - @PersistenceContext + @EJB private EntityDao dao; private EventBuilder eventBuilder; Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java 2009-04-28 14:51:52 UTC (rev 190) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Account.java 2009-04-29 08:23:47 UTC (rev 191) @@ -35,14 +35,14 @@ public class Account extends de.campussource.cse.cdmm.domain.Entity{ @OneToMany(mappedBy=Constants.ACCOUNT, cascade=CascadeType.REMOVE) - private List<Role> roles; + private List<Role> roles = new ArrayList<Role>(); @ManyToMany @JoinTable( name = Constants.TABLENAME_GROUP2ACCOUNT, joinColumns={@JoinColumn(name=Constants.COLUMNNAME_ACCOUNT_ID)}, inverseJoinColumns={@JoinColumn(name=Constants.COLUMNNAME_GROUP_ID)}) - private List<Group> groups; + private List<Group> groups = new ArrayList<Group>(); public Account(){ } @@ -70,9 +70,6 @@ if (group == null){ return false; } - if (group.getMembers()==null){ - return false; - } return (group.getMembers().contains(this)); } @@ -85,19 +82,11 @@ if(group==null){ return false; } - List<Group> groups = this.getGroups(); - if (groups==null){ - groups = new ArrayList<Group>(); - } - if (groups.contains(group)||(group.getMembers()!=null && group.getMembers().contains(this))){ + if (groups.contains(group)||group.getMembers().contains(this)){ return false; } groups.add(group); - setGroups(groups); List<Account> accounts = group.getMembers(); - if (accounts == null){ - accounts = new ArrayList<Account>(); - } accounts.add(this); group.setMembers(accounts); return true; @@ -112,17 +101,44 @@ if (group == null){ return false; } - List<Group> groups = this.getGroups(); - if ((!(groups==null) && !groups.contains(group))||!group.getMembers().contains(this)){ + if (!groups.contains(group)||!group.getMembers().contains(this)){ return false; } groups.remove(group); - setGroups(groups); List<Account> accounts = group.getMembers(); accounts.remove(this); group.setMembers(accounts); return true; } + + /** + * Convenience method to add role to Account + * @param role Role to add + * @return success of operation + */ + public boolean addRole(Role role){ + if (role == null || role.getCourse()==null){ + return false; + } + role.setAccount(this); + roles.add(role); + return true; + } + + /** + * Convenience method to remove role from Account + * @param role Role to be removed + * @return success of operation + */ + public boolean removeRole(Role role){ + if (role == null || !role.getAccount().equals(this) || !roles.contains(role)){ + return false; + } + roles.remove(role); + role.setAccount(null); + //FIXME destroy role? + return true; + } @XmlElementWrapper(name=Constants.GROUPS) @XmlElement(name=Constants.GROUP) Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/AddReferenceVisitor.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/AddReferenceVisitor.java 2009-04-28 14:51:52 UTC (rev 190) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/AddReferenceVisitor.java 2009-04-29 08:23:47 UTC (rev 191) @@ -1,12 +1,10 @@ package de.campussource.cse.cdmm.domain; -import org.apache.commons.lang.NotImplementedException; - /** * Visitor to add Reference to an entity object. * * @author Ingo Dueppe - * + * @author Sebastian Roekens */ public class AddReferenceVisitor implements Visitor { @@ -28,8 +26,16 @@ @Override public void visit(Account account) { - // TODO Auto-generated method stub - throw new NotImplementedException(); + switch (type) { + case GROUP: + account.addToGroup((Group) target); + break; + case ROLE: + account.addRole((Role) target); + break; + default: + throw new IllegalStateException("Reference type doesn't apply to entity."); + } } @Override @@ -71,14 +77,27 @@ @Override public void visit(Group group) { - // TODO Auto-generated method stub - throw new NotImplementedException(); + switch (type){ + case MEMBER: + ((Account)target).addToGroup(group); + break; + default: + throw new IllegalStateException("Reference type doesn't apply to entity."); + } } @Override public void visit(Role role) { - // TODO Auto-generated method stub - throw new NotImplementedException(); + switch (type){ + case ACCOUNT: + ((Account)target).addRole(role); + break; + case COURSE: + ((Course)target).addRole(role); + break; + default: + throw new IllegalStateException("Reference type doesn't apply to entity."); } + } } Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java 2009-04-28 14:51:52 UTC (rev 190) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Category.java 2009-04-29 08:23:47 UTC (rev 191) @@ -39,10 +39,10 @@ private Category parent; @OneToMany(mappedBy = Constants.PARENT, cascade = { CascadeType.REMOVE }) - private List<Category> children = new ArrayList<Category>(5); + private List<Category> children = new ArrayList<Category>(); @ManyToMany(mappedBy = Constants.CATEGORIES) - private List<Course> courses = new ArrayList<Course>(5); + private List<Course> courses = new ArrayList<Course>(); public Category() { } @@ -74,17 +74,13 @@ } /** - * Private method for adding category to list of children. If list of - * children does not exist, it is created. + * Private method for adding category to list of children. * * @param category * child category * @return success of operation */ private boolean addChild(Category category) { - if (this.children == null) { - this.children = new ArrayList<Category>(); - } if (checkForCircularDependencies(category)) { return false; } @@ -101,9 +97,30 @@ * @return Success of operation */ public boolean addToParentCategory(Category parent) { - this.parent = parent; - return parent.addChild(this); + boolean result = parent.addChild(this); + if (result){ + this.parent = parent; + } + return result; } + + /** + * Convenience method for parent <-> children connection of categories. + * Removes this as child from parent. Both categories are updated + * + * @param parent + * parent category + * @return Success of operation + */ + public boolean removeFromParentCategory(Category parent){ + if (!parent.getChildren().contains(this) || !this.getParent().equals(parent)){ + return false; + } + parent.getChildren().remove(this); + this.setParent(null); + return true; + //FIXME self destruction of branch needed? :-) + } @XmlElementWrapper(name = Constants.CATEGORIES) @XmlElement(name = Constants.CATEGORY) Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java 2009-04-28 14:51:52 UTC (rev 190) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java 2009-04-29 08:23:47 UTC (rev 191) @@ -40,7 +40,7 @@ private Course parent; @OneToMany(mappedBy=Constants.PARENT, cascade=CascadeType.REMOVE) - private List<Course> workgroups = new ArrayList<Course>(2); + private List<Course> workgroups = new ArrayList<Course>(); @ManyToMany(cascade={CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}) @JoinTable( @@ -69,22 +69,63 @@ if (category == null){ return false; } - List<Course> courses = category.getCourses(); - if (courses==null){ - courses = new ArrayList<Course>(); + if (this.getCategories().contains(category) || category.getCourses().contains(this)){ + return false; } - List<Category> categories = this.getCategories(); - if (categories == null){ - categories = new ArrayList<Category>(); - } categories.add(category); - this.setCategories(categories); + List<Course> courses = category.getCourses(); courses.add(this); category.setCourses(courses); return true; } /** + * Convenience method to remove this course from a category. + * Updates category list of course object and course list of category object. + * @param category the category this course should be removed from + * @return Success of operation + */ + public boolean removeFromCategory(Category category){ + if (category == null){ + return false; + } + if (!(this.getCategories().contains(category) && category.getCourses().contains(this))){ + return false; + } + categories.remove(category); + category.getCourses().remove(this); + return true; + } + + /** + * Convenience method to add role + * @param role Role to be added + * @return success of operation + */ + public boolean addRole(Role role){ + if (role==null || role.getAccount()==null){ + return false; + } + if (roles.contains(role)){ + return false; + } + role.addToCourseAndAccount(this, role.getAccount()); + return true; + } + + public boolean removeRole(Role role){ + if (role == null || role.getAccount()==null){ + return false; + } + if (roles.contains(role)){ + return false; + } + role.removeFromCourseAndAccount(); + return true; + } + + + /** * Convenience method for adding course to a number of categories * * @param categories List of categories course is to add to @@ -104,9 +145,8 @@ if (course==null||(course.getParent()!=null)){ return false; } - List<Course> workgroups = course.getWorkgroups(); - if (workgroups == null){ - workgroups = new ArrayList<Course>(); + if (workgroups.contains(this)&& (this.getParent()!=null)){ + return false; } workgroups.add(this); course.setWorkgroups(workgroups); @@ -114,6 +154,24 @@ return true; } + /** + * Convenience method to remove this course as a workgroup from course + * @param course parent course + * @return success of operation + */ + public boolean removeAsWorkgroupFrom(Course course){ + if (course == null){ + return false; + } + if (!(this.getParent().equals(course)&&course.getWorkgroups().contains(this))){ + return false; + } + this.setParent(null); + course.getWorkgroups().remove(this); + //FIXME self destruct needed? + return true; + } + @XmlElement(name=Constants.PARENT) @XmlIDREF public Course getParent() { @@ -155,13 +213,6 @@ this.roles = roles; } - public void addRole(Role role) { - if (role != null) { - roles.add(role); - role.setCourse(this); - } - } - public void accept(Visitor visitor) { visitor.visit(this); } Added: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java (rev 0) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java 2009-04-29 08:23:47 UTC (rev 191) @@ -0,0 +1,89 @@ +package de.campussource.cse.cdmm.domain; + +import org.apache.commons.lang.NotImplementedException; + +/** + * Visitor to remove Reference to an entity object. + * + * @author Sebastian Roekens + * + */ +public class DeleteReferenceVisitor implements Visitor { + + private ReferenceType type; + + private Entity target; + + /** + * + * @param target + * entity object to be add as reference + * @param type + * of reference that will be added + */ + public DeleteReferenceVisitor(Entity target, ReferenceType type) { + this.type = type; + this.target = target; + } + + @Override + public void visit(Account account) { + switch (type) { + case GROUP: + account.removeFromGroup((Group) target); + break; + case ROLE: + //FIXME how to set role if only account is known - setting of roles has to be discussed + //((Course)target).addToCategory(category); + break; + default: + throw new IllegalStateException("Reference type doesn't apply to entity."); + } + } + + @Override + public void visit(Category category) { + switch (type) { + case CATEGORY: + break; + case COURSE: + break; + case PARENT: + break; + default: + throw new IllegalStateException("Reference type doesn't apply to entity."); + } + } + + @Override + public void visit(Course course) { + switch (type) { + case CATEGORY: + break; + case WORKGROUP: + break; + case PARENT: + break; + case ROLE: + break; + default: + throw new IllegalStateException("Reference type doesn't apply to entity."); + } + } + + @Override + public void visit(Group group) { + switch (type){ + case MEMBER: + break; + default: + throw new IllegalStateException("Reference type doesn't apply to entity."); + } + } + + @Override + public void visit(Role role) { + throw new NotImplementedException(); + } + +} Property changes on: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/DeleteReferenceVisitor.java ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Entity.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Entity.java 2009-04-28 14:51:52 UTC (rev 190) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Entity.java 2009-04-29 08:23:47 UTC (rev 191) @@ -44,7 +44,7 @@ private Long id; @Transient - private List<Attribute> attributes; + private List<Attribute> attributes = new ArrayList<Attribute>(); @Column(name = Constants.COLUMNNAME_STATE, nullable = false, insertable = true, updatable = true) @Enumerated(EnumType.STRING) Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/EntityContainer.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/EntityContainer.java 2009-04-28 14:51:52 UTC (rev 190) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/EntityContainer.java 2009-04-29 08:23:47 UTC (rev 191) @@ -24,9 +24,9 @@ private Category rootCategory; - private List<Course> courses; + private List<Course> courses = new ArrayList<Course>(); - private List<Account> accounts; + private List<Account> accounts = new ArrayList<Account>(); @XmlElement(name=Constants.CATEGORY) @@ -57,12 +57,6 @@ @Override public String toString() { - if (courses==null){ - courses = new ArrayList<Course>(); - } - if (accounts == null){ - accounts = new ArrayList<Account>(); - } return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE).append(rootCategory).append(courses.toArray()).append(accounts.toArray()).toString(); } Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Group.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Group.java 2009-04-28 14:51:52 UTC (rev 190) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Group.java 2009-04-29 08:23:47 UTC (rev 191) @@ -1,5 +1,6 @@ package de.campussource.cse.cdmm.domain; +import java.util.ArrayList; import java.util.List; import javax.persistence.CascadeType; @@ -31,7 +32,7 @@ public class Group extends Account{ @ManyToMany(mappedBy=Constants.GROUPS, cascade={CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH}) - private List<Account> members; + private List<Account> members = new ArrayList<Account>(); public Group(){ } Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Role.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Role.java 2009-04-28 14:51:52 UTC (rev 190) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Role.java 2009-04-29 08:23:47 UTC (rev 191) @@ -1,6 +1,5 @@ package de.campussource.cse.cdmm.domain; -import java.util.ArrayList; import java.util.List; import javax.persistence.CascadeType; @@ -64,18 +63,11 @@ * @return success of operation */ public boolean addToCourseAndAccount(Course course, Account account) { - // FIXME This is ugly - do not create list objects for course objects in role!! if ((course == null) || (account == null)) { return false; } List<Role> courseRoles = course.getRoles(); - if (courseRoles == null) { - courseRoles = new ArrayList<Role>(); - } List<Role> accountRoles = account.getRoles(); - if (accountRoles == null) { - accountRoles = new ArrayList<Role>(); - } this.setAccount(account); this.setCourse(course); accountRoles.add(this); @@ -84,6 +76,23 @@ course.setRoles(courseRoles); return true; } + + /** + * Convenience method to remove role from course and account + * @return success of operation + */ + public boolean removeFromCourseAndAccount(){ + if (getAccount()!=null){ + account.getRoles().remove(this); + } + if (getCourse()!=null){ + course.getRoles().remove(this); + } + account = null; + course = null; + //FIXME self destruct needed? + return true; + } public Role(Long id, RoleType type) { setId(id); Modified: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelManagerTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelManagerTest.java 2009-04-28 14:51:52 UTC (rev 190) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelManagerTest.java 2009-04-29 08:23:47 UTC (rev 191) @@ -32,7 +32,7 @@ @Test public void testCreateInputMessage() { -// FIXME Test doesn't work in the moment + //FIXME Test doesn't work in the moment // Category category = new Category(); // category.setId(System.currentTimeMillis()); // Modified: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelMergerTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelMergerTest.java 2009-04-28 14:51:52 UTC (rev 190) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/ModelMergerTest.java 2009-04-29 08:23:47 UTC (rev 191) @@ -64,9 +64,10 @@ assertEquals(State.KNOWN, entity.getWorkgroups().get(0).getState()); // check role - assertFalse(entity.getRoles().isEmpty()); - assertEquals(ROLE_ID, entity.getRoles().get(0).getId()); - assertEquals(State.KNOWN, entity.getRoles().get(0).getState()); + //FIXME test broken due to incorrect role association updating +// assertFalse(entity.getRoles().isEmpty()); +// assertEquals(ROLE_ID, entity.getRoles().get(0).getId()); +// assertEquals(State.KNOWN, entity.getRoles().get(0).getState()); } @Test @@ -93,9 +94,10 @@ assertEquals(State.EXISTS, entity.getWorkgroups().get(0).getState()); // check role - assertFalse(entity.getRoles().isEmpty()); - assertEquals(ROLE_ID, entity.getRoles().get(0).getId()); - assertEquals(State.EXISTS, entity.getRoles().get(0).getState()); + //FIXME test broken due to incorrect role association updating +// assertFalse(entity.getRoles().isEmpty()); +// assertEquals(ROLE_ID, entity.getRoles().get(0).getId()); +// assertEquals(State.EXISTS, entity.getRoles().get(0).getState()); } @Test @@ -122,9 +124,10 @@ assertEquals(State.KNOWN, entity.getWorkgroups().get(0).getState()); // check role - assertFalse(entity.getRoles().isEmpty()); - assertEquals(ROLE_ID, entity.getRoles().get(0).getId()); - assertEquals(State.KNOWN, entity.getRoles().get(0).getState()); + //FIXME test broken due to incorrect role association updating +// assertFalse(entity.getRoles().isEmpty()); +// assertEquals(ROLE_ID, entity.getRoles().get(0).getId()); +// assertEquals(State.KNOWN, entity.getRoles().get(0).getState()); } /** @@ -147,7 +150,7 @@ workgroup.addAsWorkgroupTo(course); Account account = new Account(ACCOUNT_ID); Role role = new Role(); - role.setId(ROLE_ID); + role.setId(ROLE_ID); role.addToCourseAndAccount(course, account); return course; } Modified: trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/AddReferenceVisitorTest.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/AddReferenceVisitorTest.java 2009-04-28 14:51:52 UTC (rev 190) +++ trunk/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/domain/AddReferenceVisitorTest.java 2009-04-29 08:23:47 UTC (rev 191) @@ -33,7 +33,11 @@ @Test public void testAddRoleToCourse() { Course course = new Course(); + Account account = new Account(); Role role = new Role(); + role.setCourse(course); + role.setAccount(account); + course.accept(new AddReferenceVisitor(role, ReferenceType.ROLE)); assertFalse(course.getRoles().isEmpty()); assertEquals(role, course.getRoles().get(0)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pka...@us...> - 2009-04-28 14:52:01
|
Revision: 190 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=190&view=rev Author: pkasprzak Date: 2009-04-28 14:51:52 +0000 (Tue, 28 Apr 2009) Log Message: ----------- * Finally fixed (hopefully) the ElementNotFoundInComplexTypeException-problem: the xsds have to be qualified (which explains why all xsds in all examples are qualified ;)) Modified Paths: -------------- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/build.xml trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/nbproject/build-impl.xml trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/nbproject/genfiles.properties trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xml trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xsd Modified: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/build.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/build.xml 2009-04-28 14:30:38 UTC (rev 189) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/build.xml 2009-04-28 14:51:52 UTC (rev 190) @@ -53,18 +53,14 @@ properties which you can use check the target you are overriding in nbproject/build-impl.xml file. --> - <target name="-check-netbeans-home"> - <condition property="no.netbeans.home"> - <not> - <isset property="netbeans.home"/> - </not> - </condition> + <target name="-init-esb-ide" if="netbeans.home"> + <property name="esb.netbeans.platform" value="${netbeans.home}"/> </target> - <target name="-init-caps" if="no.netbeans.home"> + <target name="-init-esb-cmdline" unless="netbeans.home"> <property file="${basedir}/nbproject/private/private.properties"/> - <property name="netbeans.home" value="${caps.netbeans.home}/platform9"/> - <property name="netbeans.user" value="${caps.netbeans.user}"/> + <property name="esb.netbeans.platform" value="${esb.netbeans.home}/platform9"/> + <property name="netbeans.user" value="${esb.netbeans.user}"/> <property name="from.commandline" value="true"/> </target> - <target name="-pre-init" depends="-check-netbeans-home,-init-caps"/> + <target name="-pre-init" depends="-init-esb-ide,-init-esb-cmdline"/> </project> Modified: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/nbproject/build-impl.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/nbproject/build-impl.xml 2009-04-28 14:30:38 UTC (rev 189) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/nbproject/build-impl.xml 2009-04-28 14:51:52 UTC (rev 190) @@ -48,42 +48,42 @@ </target> <target name="-init-taskdefs" if="from.commandline"> <path id="ant.task.classpath"> - <pathelement location="${netbeans.home}/../ide10/modules/ext/resolver-1.2.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-apache-xml-resolver.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-project-ant.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-project-libraries.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-projectapi.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-projectuiapi.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-xml-catalog.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-xml-xam.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-xml-schema-model.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-xml-wsdl-model.jar"/> - <pathelement location="${netbeans.home}/../ide10/modules/org-netbeans-modules-xml-retriever.jar"/> - <pathelement location="${netbeans.home}/../platform9/core/core.jar"/> - <pathelement location="${netbeans.home}/../platform9/core/org-openide-filesystems.jar"/> - <pathelement location="${netbeans.home}/../platform9/lib/boot.jar"/> - <pathelement location="${netbeans.home}/../platform9/lib/org-openide-modules.jar"/> - <pathelement location="${netbeans.home}/../platform9/lib/org-openide-util.jar"/> - <pathelement location="${netbeans.home}/../platform9/modules/org-openide-dialogs.jar"/> - <pathelement location="${netbeans.home}/../platform9/modules/org-openide-loaders.jar"/> - <pathelement location="${netbeans.home}/../platform9/modules/org-openide-nodes.jar"/> - <pathelement location="${netbeans.home}/../platform9/modules/org-openide-text.jar"/> - <pathelement location="${netbeans.home}/../platform9/modules/org-netbeans-modules-masterfs.jar"/> - <pathelement location="${netbeans.home}/../platform9/modules/org-netbeans-modules-queries.jar"/> - <pathelement location="${netbeans.home}/../soa2/ant/nblib/org-netbeans-modules-bpel-project.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-bpel-debugger-api.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-bpel-model.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-bpel-project.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-bpel-validation.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-soa-ui.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-soa-validation.jar"/> - <pathelement location="${netbeans.home}/../soa2/modules/org-netbeans-modules-compapp-projects-base.jar"/> - <pathelement location="${netbeans.home}/../xml2/modules/ext/jxpath/jxpath1.1.jar"/> - <pathelement location="${netbeans.home}/../xml2/modules/org-netbeans-modules-xml-catalogsupport.jar"/> - <pathelement location="${netbeans.home}/../xml2/modules/org-netbeans-modules-xml-search.jar"/> - <pathelement location="${netbeans.home}/../xml2/modules/org-netbeans-modules-xml-wsdl-extensions.jar"/> - <pathelement location="${netbeans.home}/../xml2/modules/org-netbeans-modules-xml-xpath.jar"/> - <pathelement location="${netbeans.home}/../xml2/modules/org-netbeans-modules-xml-xpath-ext.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/ext/resolver-1.2.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-apache-xml-resolver.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-project-ant.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-project-libraries.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-projectapi.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-projectuiapi.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-xml-catalog.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-xml-xam.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-xml-schema-model.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-xml-wsdl-model.jar"/> + <pathelement location="${esb.netbeans.platform}/../ide10/modules/org-netbeans-modules-xml-retriever.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/core/core.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/core/org-openide-filesystems.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/lib/boot.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/lib/org-openide-modules.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/lib/org-openide-util.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/modules/org-openide-dialogs.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/modules/org-openide-loaders.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/modules/org-openide-nodes.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/modules/org-openide-text.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/modules/org-netbeans-modules-masterfs.jar"/> + <pathelement location="${esb.netbeans.platform}/../platform9/modules/org-netbeans-modules-queries.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/ant/nblib/org-netbeans-modules-bpel-project.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-bpel-debugger-api.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-bpel-model.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-bpel-project.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-bpel-validation.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-soa-ui.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-soa-validation.jar"/> + <pathelement location="${esb.netbeans.platform}/../soa2/modules/org-netbeans-modules-compapp-projects-base.jar"/> + <pathelement location="${esb.netbeans.platform}/../xml2/modules/ext/jxpath/jxpath1.1.jar"/> + <pathelement location="${esb.netbeans.platform}/../xml2/modules/org-netbeans-modules-xml-catalogsupport.jar"/> + <pathelement location="${esb.netbeans.platform}/../xml2/modules/org-netbeans-modules-xml-search.jar"/> + <pathelement location="${esb.netbeans.platform}/../xml2/modules/org-netbeans-modules-xml-wsdl-extensions.jar"/> + <pathelement location="${esb.netbeans.platform}/../xml2/modules/org-netbeans-modules-xml-xpath.jar"/> + <pathelement location="${esb.netbeans.platform}/../xml2/modules/org-netbeans-modules-xml-xpath-ext.jar"/> </path> <taskdef name="validate-project" classname="org.netbeans.modules.bpel.project.anttasks.cli.CliValidateBpelProjectTask"> <classpath refid="ant.task.classpath"/> Modified: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/nbproject/genfiles.properties =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/nbproject/genfiles.properties 2009-04-28 14:30:38 UTC (rev 189) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/nbproject/genfiles.properties 2009-04-28 14:51:52 UTC (rev 190) @@ -1,8 +1,8 @@ build.xml.data.CRC32=c508cd24 -build.xml.script.CRC32=3d3dbc12 -build.xml.stylesheet.CRC32=1947459d +build.xml.script.CRC32=60b50638 +build.xml.stylesheet.CRC32=f35fd70d # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=c508cd24 -nbproject/build-impl.xml.script.CRC32=27fa18ec -nbproject/build-impl.xml.stylesheet.CRC32=749ec361 +nbproject/build-impl.xml.script.CRC32=9fe3d43a +nbproject/build-impl.xml.stylesheet.CRC32=5068533b Modified: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel 2009-04-28 14:30:38 UTC (rev 189) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel 2009-04-28 14:51:52 UTC (rev 190) @@ -78,7 +78,7 @@ <Course xmlns="http://cse.campussource.de/schema/ilias/course"> <MetaData xmlns="http://cse.campussource.de/schema/ilias/course"> <General> - <Title Language="en">test2</Title> + <Title Language="en">test3</Title> <Language Language="en">en</Language> <Description Language="en">bpel test2</Description> </General> @@ -91,12 +91,16 @@ </assign> <!-- Set relevant course data --> -<!-- + <assign name="setCourseData"> <copy> +<!-- <from>$ProcessCourseOperationIn.courseMessage/course/attribute[name = 'title']/value</from> - <to>$CourseXML/MetaData/General/Title/text()</to> +--> + <from>'test5'</from> + <to>$CourseXML/il_crs:MetaData/il_crs:General/il_crs:Title</to> </copy> +<!-- <copy> <from>$ProcessCourseOperationIn.courseMessage/course/attribute[name = 'languageISO']/value</from> <to>$CourseXML/MetaData/General/Title/@Language</to> @@ -105,8 +109,8 @@ <from>$ProcessCourseOperationIn.courseMessage/course/attribute[name = 'languageISO']/value</from> <to>$CourseXML/MetaData/General/Language[0]/@Language</to> </copy> +--> </assign> ---> <!-- Set all parts for addCourse call --> <assign name="prepareAddCourse"> Modified: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xml 2009-04-28 14:30:38 UTC (rev 189) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xml 2009-04-28 14:51:52 UTC (rev 190) @@ -2,268 +2,14 @@ <!-- Document : ilias-course.xml - Created on : April 27, 2009, 4:57 PM + Created on : 28. April 2009, 15:13 Author : pete Description: Purpose of the document follows. --> -<ns0:Course xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' - xmlns:ns0='http://cse.campussource.de/schema/ilias/course' - xsi:schemaLocation='http://cse.campussource.de/schema/ilias/course ilias-course.xsd' exportVersion="" id=""> - <MetaData> - <General Structure=""> - <Identifier Catalog="" Entry=""></Identifier> - <Identifier Catalog="" Entry=""></Identifier> - <Identifier Catalog="" Entry=""></Identifier> - <Title Language=""></Title> - <Language Language=""></Language> - <Language Language=""></Language> - <Language Language=""></Language> - <Description Language=""></Description> - <Description Language=""></Description> - <Description Language=""></Description> - <Keyword Language=""></Keyword> - <Keyword Language=""></Keyword> - <Keyword Language=""></Keyword> - <Coverage Language=""></Coverage> - </General> - <Lifecycle Status=""> - <Version Language=""></Version> - <Contribute Role=""> - <Entity></Entity> - <Entity></Entity> - <Entity></Entity> - <Date></Date> - </Contribute> - <Contribute Role=""> - <Entity></Entity> - <Entity></Entity> - <Entity></Entity> - <Date></Date> - </Contribute> - <Contribute Role=""> - <Entity></Entity> - <Entity></Entity> - <Entity></Entity> - <Date></Date> - </Contribute> - </Lifecycle> - <Meta-Metadata MetadataScheme="" Language=""> - <Identifier Catalog="" Entry=""></Identifier> - <Identifier Catalog="" Entry=""></Identifier> - <Identifier Catalog="" Entry=""></Identifier> - <Contribute Role=""> - <Entity></Entity> - <Entity></Entity> - <Entity></Entity> - <Date></Date> - </Contribute> - <Contribute Role=""> - <Entity></Entity> - <Entity></Entity> - <Entity></Entity> - <Date></Date> - </Contribute> - <Contribute Role=""> - <Entity></Entity> - <Entity></Entity> - <Entity></Entity> - <Date></Date> - </Contribute> - </Meta-Metadata> - <Technical> - <Format></Format> - <Format></Format> - <Format></Format> - <Size></Size> - <Location Type=""></Location> - <Location Type=""></Location> - <Location Type=""></Location> - <Requirement> - <Type> - <OperatingSystem Name="" MinimumVersion="" MaximumVersion=""></OperatingSystem> - </Type> - </Requirement> - <InstallationRemarks Language=""></InstallationRemarks> - <OtherPlatformRequirements Language=""></OtherPlatformRequirements> - <Duration></Duration> - </Technical> - <Educational InteractivityType="" LearningResourceType="" InteractivityLevel="" SemanticDensity="" IntendedEndUserRole="" Context="" Difficulty=""> - <TypicalAgeRange Language=""></TypicalAgeRange> - <TypicalAgeRange Language=""></TypicalAgeRange> - <TypicalAgeRange Language=""></TypicalAgeRange> - <TypicalLearningTime></TypicalLearningTime> - <Description Language=""></Description> - <Description Language=""></Description> - <Description Language=""></Description> - <Language Language=""></Language> - <Language Language=""></Language> - <Language Language=""></Language> - </Educational> - <Rights Cost="" CopyrightAndOtherRestrictions=""> - <Description Language=""></Description> - </Rights> - <Relation Kind=""> - <Resource> - <Identifier_ Catalog="" Entry=""></Identifier_> - <Identifier_ Catalog="" Entry=""></Identifier_> - <Identifier_ Catalog="" Entry=""></Identifier_> - <Description Language=""></Description> - <Description Language=""></Description> - <Description Language=""></Description> - </Resource> - </Relation> - <Relation Kind=""> - <Resource> - <Identifier_ Catalog="" Entry=""></Identifier_> - <Identifier_ Catalog="" Entry=""></Identifier_> - <Identifier_ Catalog="" Entry=""></Identifier_> - <Description Language=""></Description> - <Description Language=""></Description> - <Description Language=""></Description> - </Resource> - </Relation> - <Relation Kind=""> - <Resource> - <Identifier_ Catalog="" Entry=""></Identifier_> - <Identifier_ Catalog="" Entry=""></Identifier_> - <Identifier_ Catalog="" Entry=""></Identifier_> - <Description Language=""></Description> - <Description Language=""></Description> - <Description Language=""></Description> - </Resource> - </Relation> - <Annotation> - <Entity></Entity> - <Date></Date> - <Description Language=""></Description> - </Annotation> - <Annotation> - <Entity></Entity> - <Date></Date> - <Description Language=""></Description> - </Annotation> - <Annotation> - <Entity></Entity> - <Date></Date> - <Description Language=""></Description> - </Annotation> - <Classification Purpose=""> - <TaxonPath> - <Source Language=""></Source> - <Taxon Language="" Id=""></Taxon> - <Taxon Language="" Id=""></Taxon> - <Taxon Language="" Id=""></Taxon> - </TaxonPath> - <TaxonPath> - <Source Language=""></Source> - <Taxon Language="" Id=""></Taxon> - <Taxon Language="" Id=""></Taxon> - <Taxon Language="" Id=""></Taxon> - </TaxonPath> - <TaxonPath> - <Source Language=""></Source> - <Taxon Language="" Id=""></Taxon> - <Taxon Language="" Id=""></Taxon> - <Taxon Language="" Id=""></Taxon> - </TaxonPath> - <Description Language=""></Description> - <Keyword Language=""></Keyword> - <Keyword Language=""></Keyword> - <Keyword Language=""></Keyword> - </Classification> - <Classification Purpose=""> - <TaxonPath> - <Source Language=""></Source> - <Taxon Language="" Id=""></Taxon> - <Taxon Language="" Id=""></Taxon> - <Taxon Language="" Id=""></Taxon> - </TaxonPath> - <TaxonPath> - <Source Language=""></Source> - <Taxon Language="" Id=""></Taxon> - <Taxon Language="" Id=""></Taxon> - <Taxon Language="" Id=""></Taxon> - </TaxonPath> - <TaxonPath> - <Source Language=""></Source> - <Taxon Language="" Id=""></Taxon> - <Taxon Language="" Id=""></Taxon> - <Taxon Language="" Id=""></Taxon> - </TaxonPath> - <Description Language=""></Description> - <Keyword Language=""></Keyword> - <Keyword Language=""></Keyword> - <Keyword Language=""></Keyword> - </Classification> - <Classification Purpose=""> - <TaxonPath> - <Source Language=""></Source> - <Taxon Language="" Id=""></Taxon> - <Taxon Language="" Id=""></Taxon> - <Taxon Language="" Id=""></Taxon> - </TaxonPath> - <TaxonPath> - <Source Language=""></Source> - <Taxon Language="" Id=""></Taxon> - <Taxon Language="" Id=""></Taxon> - <Taxon Language="" Id=""></Taxon> - </TaxonPath> - <TaxonPath> - <Source Language=""></Source> - <Taxon Language="" Id=""></Taxon> - <Taxon Language="" Id=""></Taxon> - <Taxon Language="" Id=""></Taxon> - </TaxonPath> - <Description Language=""></Description> - <Keyword Language=""></Keyword> - <Keyword Language=""></Keyword> - <Keyword Language=""></Keyword> - </Classification> - </MetaData> - <AdvancedMetaData> - <Value id=""></Value> - <Value id=""></Value> - <Value id=""></Value> - </AdvancedMetaData> - <Admin id="" notification="" passed="" action=""></Admin> - <Admin id="" notification="" passed="" action=""></Admin> - <Admin id="" notification="" passed="" action=""></Admin> - <Tutor id="" notification="" passed="" action=""></Tutor> - <Tutor id="" notification="" passed="" action=""></Tutor> - <Tutor id="" notification="" passed="" action=""></Tutor> - <Member id="" blocked="" passed="" action=""></Member> - <Member id="" blocked="" passed="" action=""></Member> - <Member id="" blocked="" passed="" action=""></Member> - <Subscriber id="" subscriptionTime="" action=""></Subscriber> - <Subscriber id="" subscriptionTime="" action=""></Subscriber> - <Subscriber id="" subscriptionTime="" action=""></Subscriber> - <WaitingList id="" subscriptionTime="" action=""></WaitingList> - <WaitingList id="" subscriptionTime="" action=""></WaitingList> - <WaitingList id="" subscriptionTime="" action=""></WaitingList> - <Settings> - <Availability> - <NotAvailable></NotAvailable> - </Availability> - <Syllabus></Syllabus> - <ImportantInformation></ImportantInformation> - <Contact> - <Name></Name> - <Responsibility></Responsibility> - <Phone></Phone> - <Email></Email> - <Consultation></Consultation> - </Contact> - <Registration registrationType="" maxMembers="" notification="" waitingList=""> - <Disabled></Disabled> - <Password></Password> - </Registration> - <Sort type=""></Sort> - <Archive Access=""> - <Start></Start> - <End></End> - </Archive> - </Settings> +<ns0:Admin xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' + xmlns:ns0='null' + xsi:schemaLocation='null ilias-course.xsd' id="" notification="" passed="" action=""> -</ns0:Course> +</ns0:Admin> Modified: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xsd =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xsd 2009-04-28 14:30:38 UTC (rev 189) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xsd 2009-04-28 14:51:52 UTC (rev 190) @@ -1,5 +1,8 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<xs:schema version="1.0" targetNamespace="http://cse.campussource.de/schema/ilias/course" xmlns:tns="http://cse.campussource.de/schema/ilias/course" xmlns:xs="http://www.w3.org/2001/XMLSchema"> +<xs:schema version="1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns="http://cse.campussource.de/schema/ilias/course" + targetNamespace="http://cse.campussource.de/schema/ilias/course"> <xs:element name="Admin"> <xs:complexType> @@ -14,15 +17,7 @@ <xs:element name="AdvancedMetaData"> <xs:complexType> <xs:sequence> - <xs:element name="Value" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="id" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> + <xs:element ref="Value" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> @@ -30,21 +25,9 @@ <xs:element name="Annotation"> <xs:complexType> <xs:sequence> - <xs:element name="Entity"> - <xs:simpleType> - <xs:restriction base="xs:string"/> - </xs:simpleType> - </xs:element> + <xs:element ref="Entity"/> <xs:element name="Date" type="xs:string"/> - <xs:element name="Description"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> + <xs:element ref="Description"/> </xs:sequence> </xs:complexType> </xs:element> @@ -63,24 +46,9 @@ <xs:complexType> <xs:sequence> <xs:choice maxOccurs="unbounded"> - <xs:element name="NotAvailable"> - <xs:complexType> - <xs:sequence/> - </xs:complexType> - </xs:element> - <xs:element name="Unlimited"> - <xs:complexType> - <xs:sequence/> - </xs:complexType> - </xs:element> - <xs:element name="TemporarilyAvailable"> - <xs:complexType> - <xs:sequence> - <xs:element name="Start" type="xs:string"/> - <xs:element name="End" type="xs:string"/> - </xs:sequence> - </xs:complexType> - </xs:element> + <xs:element ref="NotAvailable"/> + <xs:element ref="Unlimited"/> + <xs:element ref="TemporarilyAvailable"/> </xs:choice> </xs:sequence> </xs:complexType> @@ -98,49 +66,9 @@ <xs:element name="Classification"> <xs:complexType> <xs:sequence> - <xs:element name="TaxonPath" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Source"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Taxon" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - <xs:attribute name="Id" type="xs:ID"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="Description"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Keyword" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> + <xs:element ref="TaxonPath" maxOccurs="unbounded"/> + <xs:element ref="Description"/> + <xs:element ref="Keyword" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="Purpose" type="xs:string" use="required"/> </xs:complexType> @@ -161,11 +89,7 @@ <xs:element name="Contribute"> <xs:complexType> <xs:sequence> - <xs:element name="Entity" maxOccurs="unbounded"> - <xs:simpleType> - <xs:restriction base="xs:string"/> - </xs:simpleType> - </xs:element> + <xs:element ref="Entity" maxOccurs="unbounded"/> <xs:element name="Date" type="xs:string"/> </xs:sequence> <xs:attribute name="Role" type="xs:string" use="required"/> @@ -175,537 +99,14 @@ <xs:element name="Course"> <xs:complexType> <xs:sequence> - <xs:element name="MetaData" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="General"> - <xs:complexType> - <xs:sequence> - <xs:element name="Identifier" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Catalog" type="xs:string"/> - <xs:attribute name="Entry" type="xs:ID" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Title"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Language" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Description" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Keyword" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Coverage" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="Structure" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Lifecycle" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="Version"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Contribute" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Entity" maxOccurs="unbounded"> - <xs:simpleType> - <xs:restriction base="xs:string"/> - </xs:simpleType> - </xs:element> - <xs:element name="Date" type="xs:string"/> - </xs:sequence> - <xs:attribute name="Role" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="Status" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Meta-Metadata" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="Identifier" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Catalog" type="xs:string"/> - <xs:attribute name="Entry" type="xs:ID" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Contribute" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Entity" maxOccurs="unbounded"> - <xs:simpleType> - <xs:restriction base="xs:string"/> - </xs:simpleType> - </xs:element> - <xs:element name="Date" type="xs:string"/> - </xs:sequence> - <xs:attribute name="Role" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="MetadataScheme" type="xs:string"/> - <xs:attribute name="Language" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="Technical" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="Format" minOccurs="0" maxOccurs="unbounded"> - <xs:simpleType> - <xs:restriction base="xs:string"/> - </xs:simpleType> - </xs:element> - <xs:element name="Size" type="xs:string" minOccurs="0"/> - <xs:element name="Location" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Type" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:element name="Requirement"> - <xs:complexType> - <xs:sequence> - <xs:element name="Type"> - <xs:complexType> - <xs:sequence> - <xs:choice maxOccurs="unbounded"> - <xs:element name="OperatingSystem"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Name" type="xs:string" use="required"/> - <xs:attribute name="MinimumVersion" type="xs:string"/> - <xs:attribute name="MaximumVersion" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="Browser"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Name" type="xs:string" use="required"/> - <xs:attribute name="MinimumVersion" type="xs:string"/> - <xs:attribute name="MaximumVersion" type="xs:string"/> - </xs:complexType> - </xs:element> - </xs:choice> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="OrComposite"> - <xs:complexType> - <xs:sequence> - <xs:element name="Requirement" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Type"> - <xs:complexType> - <xs:sequence> - <xs:choice maxOccurs="unbounded"> - <xs:element name="OperatingSystem"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Name" type="xs:string" use="required"/> - <xs:attribute name="MinimumVersion" type="xs:string"/> - <xs:attribute name="MaximumVersion" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="Browser"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Name" type="xs:string" use="required"/> - <xs:attribute name="MinimumVersion" type="xs:string"/> - <xs:attribute name="MaximumVersion" type="xs:string"/> - </xs:complexType> - </xs:element> - </xs:choice> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:choice> - <xs:element name="InstallationRemarks" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="OtherPlatformRequirements" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Duration" type="xs:string" minOccurs="0"/> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="Educational" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="TypicalAgeRange" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="TypicalLearningTime" type="xs:string"/> - <xs:element name="Description" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Language" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="InteractivityType" type="xs:string" use="required"/> - <xs:attribute name="LearningResourceType" type="xs:string" use="required"/> - <xs:attribute name="InteractivityLevel" type="xs:string" use="required"/> - <xs:attribute name="SemanticDensity" type="xs:string" use="required"/> - <xs:attribute name="IntendedEndUserRole" type="xs:string" use="required"/> - <xs:attribute name="Context" type="xs:string" use="required"/> - <xs:attribute name="Difficulty" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Rights" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="Description"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="Cost" type="xs:string" use="required"/> - <xs:attribute name="CopyrightAndOtherRestrictions" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Relation" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Resource"> - <xs:complexType> - <xs:sequence> - <xs:element name="Identifier_" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Catalog" type="xs:string"/> - <xs:attribute name="Entry" type="xs:IDREF"/> - </xs:complexType> - </xs:element> - <xs:element name="Description" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="Kind" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Annotation" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Entity"> - <xs:simpleType> - <xs:restriction base="xs:string"/> - </xs:simpleType> - </xs:element> - <xs:element name="Date" type="xs:string"/> - <xs:element name="Description"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="Classification" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="TaxonPath" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Source"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Taxon" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - <xs:attribute name="Id" type="xs:ID"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="Description"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Keyword" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="Purpose" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="AdvancedMetaData" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="Value" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="id" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="Admin" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="id" type="xs:string" use="required"/> - <xs:attribute name="notification" type="xs:string"/> - <xs:attribute name="passed" type="xs:string"/> - <xs:attribute name="action" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="Tutor" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="id" type="xs:string" use="required"/> - <xs:attribute name="notification" type="xs:string" use="required"/> - <xs:attribute name="passed" type="xs:string" use="required"/> - <xs:attribute name="action" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="Member" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="id" type="xs:string" use="required"/> - <xs:attribute name="blocked" type="xs:string"/> - <xs:attribute name="passed" type="xs:string"/> - <xs:attribute name="action" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="Subscriber" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="id" type="xs:string" use="required"/> - <xs:attribute name="subscriptionTime" type="xs:string" use="required"/> - <xs:attribute name="action" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="WaitingList" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="id" type="xs:string" use="required"/> - <xs:attribute name="subscriptionTime" type="xs:string" use="required"/> - <xs:attribute name="action" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="Settings" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="Availability" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:choice maxOccurs="unbounded"> - <xs:element name="NotAvailable"> - <xs:complexType> - <xs:sequence/> - </xs:complexType> - </xs:element> - <xs:element name="Unlimited"> - <xs:complexType> - <xs:sequence/> - </xs:complexType> - </xs:element> - <xs:element name="TemporarilyAvailable"> - <xs:complexType> - <xs:sequence> - <xs:element name="Start" type="xs:string"/> - <xs:element name="End" type="xs:string"/> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:choice> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="Syllabus" type="xs:string" minOccurs="0"/> - <xs:element name="ImportantInformation" type="xs:string" minOccurs="0"/> - <xs:element name="Contact" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="Name" type="xs:string" minOccurs="0"/> - <xs:element name="Responsibility" type="xs:string" minOccurs="0"/> - <xs:element name="Phone" type="xs:string" minOccurs="0"/> - <xs:element name="Email" type="xs:string" minOccurs="0"/> - <xs:element name="Consultation" type="xs:string" minOccurs="0"/> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="Registration" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:choice maxOccurs="unbounded"> - <xs:element name="Disabled"> - <xs:complexType> - <xs:sequence/> - </xs:complexType> - </xs:element> - <xs:element name="Unlimited"> - <xs:complexType> - <xs:sequence/> - </xs:complexType> - </xs:element> - <xs:element name="TemporarilyAvailable"> - <xs:complexType> - <xs:sequence> - <xs:element name="Start" type="xs:string"/> - <xs:element name="End" type="xs:string"/> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:choice> - <xs:element name="Password" type="xs:string" minOccurs="0"/> - </xs:sequence> - <xs:attribute name="registrationType" type="xs:string"/> - <xs:attribute name="maxMembers" type="xs:string"/> - <xs:attribute name="notification" type="xs:string"/> - <xs:attribute name="waitingList" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="Sort" minOccurs="0"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="type" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Archive" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="Start" type="xs:string"/> - <xs:element name="End" type="xs:string"/> - </xs:sequence> - <xs:attribute name="Access" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> + <xs:element ref="MetaData" minOccurs="0"/> + <xs:element ref="AdvancedMetaData" minOccurs="0"/> + <xs:element ref="Admin" maxOccurs="unbounded"/> + <xs:element ref="Tutor" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="Member" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="Subscriber" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="WaitingList" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="Settings" minOccurs="0"/> </xs:sequence> <xs:attribute name="exportVersion" type="xs:string" use="required"/> <xs:attribute name="id" type="xs:string"/> @@ -741,31 +142,10 @@ <xs:element name="Educational"> <xs:complexType> <xs:sequence> - <xs:element name="TypicalAgeRange" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> + <xs:element ref="TypicalAgeRange" maxOccurs="unbounded"/> <xs:element name="TypicalLearningTime" type="xs:string"/> - <xs:element name="Description" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - ... [truncated message content] |
From: <pka...@us...> - 2009-04-28 14:30:55
|
Revision: 189 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=189&view=rev Author: pkasprzak Date: 2009-04-28 14:30:38 +0000 (Tue, 28 Apr 2009) Log Message: ----------- * Changed schema configuration to QUALIFIED (for elements and attributes) * Added some info to the output of ant * Regenerated java classes (should be the same) Modified Paths: -------------- trunk/sandbox/lsf-adapter-demo/Tools/build.xml trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Admin.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/AdvancedMetaData.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Annotation.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Archive.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Author.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Availability.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/BibItem.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/BibItemIdentifier.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Bibliography.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Booktitle.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Br.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Browser.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Caption.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Classification.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Code.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Comment.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Contact.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/ContentObject.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Contribute.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Course.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Coverage.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/CrossRef.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Definition.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Description.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Disabled.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Editor.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Educational.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Emph.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Entity.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/ExtLink.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/FileItem.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/FileList.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/FirstName.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Footnote.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Format.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/General.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Glossary.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/GlossaryItem.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/HowPublished.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/ISBN.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/ISSN.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Identifier.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Identifier_.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/InstallationRemarks.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Institution.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/IntLink.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Journal.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Keyword.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Language.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Layout.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Lifecycle.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/List.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/ListItem.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Location.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/MapArea.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/MediaAlias.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/MediaAliasItem.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/MediaItem.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/MediaObject.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Member.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/MetaData.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/MetaMetadata.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/MiddleName.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/NotAvailable.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/ObjectFactory.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/OperatingSystem.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/OrComposite.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/OtherPlatformRequirements.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/PageAlias.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/PageContent.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/PageObject.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/PageTurn.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Paragraph.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Parameter.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Properties.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Property.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Question.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Quotation.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Registration.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Relation.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Requirement.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Resource.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Rights.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/School.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Series.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/SeriesEditor.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Settings.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Sort.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Source.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Strong.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/StructureObject.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Subscriber.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Table.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/TableData.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/TableRow.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Taxon.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/TaxonPath.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Technical.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/TemporarilyAvailable.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Title.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Tutor.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Type.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/TypicalAgeRange.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/URL.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Unlimited.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Value.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Version.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/Volume.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/WaitingList.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/WherePublished.java trunk/sandbox/lsf-adapter-demo/Tools/src/de/campussource/cse/tools/ilias/jaxb/course/package-info.java Removed Paths: ------------- trunk/sandbox/lsf-adapter-demo/Tools/resources/ilias-xsd/ilias-course.xsd Modified: trunk/sandbox/lsf-adapter-demo/Tools/build.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/build.xml 2009-04-27 21:30:41 UTC (rev 188) +++ trunk/sandbox/lsf-adapter-demo/Tools/build.xml 2009-04-28 14:30:38 UTC (rev 189) @@ -11,17 +11,24 @@ <description>Builds, tests, and runs the project Tools.</description> <import file="nbproject/build-impl.xml"/> + <target name="-pre-init"> + <echo> +* run "ilias-dtd-to-java" ant target to regenerate java sources from dtd(s) +* schema configuration (targetNamespace / qualification) is done in "src/de/campussource/cse/tools/ilias/jaxb/course/package-info.java" via @XmlSchema annotation +* targetNamespace is somehow not respected if other options are added to the @XmlSchema annotation, so you have to add it manually to the schema: + +xmlns:xs="http://www.w3.org/2001/XMLSchema" +xmlns="http://cse.campussource.de/schema/ilias/course" +targetNamespace="http://cse.campussource.de/schema/ilias/course" + + </echo> + </target> + <target name="ilias-dtd-to-java" depends="-init-project"> <typedef classname="com.sun.tools.xjc.XJCTask" name="xjc"> <classpath path="${libs.jaxb.classpath}"/> </typedef> -<!-- - <mkdir dir="build/generated/addons/jaxb" xmlns:s="http://xml.netbeans.org/schema/JAXBWizConfig"/> - <mkdir dir="build/generated/jaxbCache" xmlns:s="http://xml.netbeans.org/schema/JAXBWizConfig"/> - <mkdir dir="${build.classes.dir}" xmlns:s="http://xml.netbeans.org/schema/JAXBWizConfig"/> - <mkdir dir="build/generated/jaxbCache/ilias-binding-course"/> ---> <xjc package="de.campussource.cse.tools.ilias.jaxb.course" destdir="${src.dir}" catalog="catalog.xml"> <classpath> <pathelement location="${src.dir}"/> Deleted: trunk/sandbox/lsf-adapter-demo/Tools/resources/ilias-xsd/ilias-course.xsd =================================================================== --- trunk/sandbox/lsf-adapter-demo/Tools/resources/ilias-xsd/ilias-course.xsd 2009-04-27 21:30:41 UTC (rev 188) +++ trunk/sandbox/lsf-adapter-demo/Tools/resources/ilias-xsd/ilias-course.xsd 2009-04-28 14:30:38 UTC (rev 189) @@ -1,1913 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<xs:schema version="1.0" targetNamespace="http://cse.campussource.de/schema/ilias/course" xmlns:tns="http://cse.campussource.de/schema/ilias/course" xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:element name="Admin"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="id" type="xs:string" use="required"/> - <xs:attribute name="notification" type="xs:string"/> - <xs:attribute name="passed" type="xs:string"/> - <xs:attribute name="action" type="xs:string"/> - </xs:complexType> - </xs:element> - - <xs:element name="AdvancedMetaData"> - <xs:complexType> - <xs:sequence> - <xs:element name="Value" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="id" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - - <xs:element name="Annotation"> - <xs:complexType> - <xs:sequence> - <xs:element name="Entity"> - <xs:simpleType> - <xs:restriction base="xs:string"/> - </xs:simpleType> - </xs:element> - <xs:element name="Date" type="xs:string"/> - <xs:element name="Description"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - - <xs:element name="Archive"> - <xs:complexType> - <xs:sequence> - <xs:element name="Start" type="xs:string"/> - <xs:element name="End" type="xs:string"/> - </xs:sequence> - <xs:attribute name="Access" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - - <xs:element name="Availability"> - <xs:complexType> - <xs:sequence> - <xs:choice maxOccurs="unbounded"> - <xs:element name="NotAvailable"> - <xs:complexType> - <xs:sequence/> - </xs:complexType> - </xs:element> - <xs:element name="Unlimited"> - <xs:complexType> - <xs:sequence/> - </xs:complexType> - </xs:element> - <xs:element name="TemporarilyAvailable"> - <xs:complexType> - <xs:sequence> - <xs:element name="Start" type="xs:string"/> - <xs:element name="End" type="xs:string"/> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:choice> - </xs:sequence> - </xs:complexType> - </xs:element> - - <xs:element name="Browser"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Name" type="xs:string" use="required"/> - <xs:attribute name="MinimumVersion" type="xs:string"/> - <xs:attribute name="MaximumVersion" type="xs:string"/> - </xs:complexType> - </xs:element> - - <xs:element name="Classification"> - <xs:complexType> - <xs:sequence> - <xs:element name="TaxonPath" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Source"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Taxon" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - <xs:attribute name="Id" type="xs:ID"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="Description"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Keyword" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="Purpose" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - - <xs:element name="Contact"> - <xs:complexType> - <xs:sequence> - <xs:element name="Name" type="xs:string" minOccurs="0"/> - <xs:element name="Responsibility" type="xs:string" minOccurs="0"/> - <xs:element name="Phone" type="xs:string" minOccurs="0"/> - <xs:element name="Email" type="xs:string" minOccurs="0"/> - <xs:element name="Consultation" type="xs:string" minOccurs="0"/> - </xs:sequence> - </xs:complexType> - </xs:element> - - <xs:element name="Contribute"> - <xs:complexType> - <xs:sequence> - <xs:element name="Entity" maxOccurs="unbounded"> - <xs:simpleType> - <xs:restriction base="xs:string"/> - </xs:simpleType> - </xs:element> - <xs:element name="Date" type="xs:string"/> - </xs:sequence> - <xs:attribute name="Role" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - - <xs:element name="Course"> - <xs:complexType> - <xs:sequence> - <xs:element name="MetaData" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="General"> - <xs:complexType> - <xs:sequence> - <xs:element name="Identifier" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Catalog" type="xs:string"/> - <xs:attribute name="Entry" type="xs:ID" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Title"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Language" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Description" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Keyword" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Coverage" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="Structure" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Lifecycle" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="Version"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Contribute" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Entity" maxOccurs="unbounded"> - <xs:simpleType> - <xs:restriction base="xs:string"/> - </xs:simpleType> - </xs:element> - <xs:element name="Date" type="xs:string"/> - </xs:sequence> - <xs:attribute name="Role" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="Status" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Meta-Metadata" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="Identifier" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Catalog" type="xs:string"/> - <xs:attribute name="Entry" type="xs:ID" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Contribute" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Entity" maxOccurs="unbounded"> - <xs:simpleType> - <xs:restriction base="xs:string"/> - </xs:simpleType> - </xs:element> - <xs:element name="Date" type="xs:string"/> - </xs:sequence> - <xs:attribute name="Role" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="MetadataScheme" type="xs:string"/> - <xs:attribute name="Language" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="Technical" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="Format" minOccurs="0" maxOccurs="unbounded"> - <xs:simpleType> - <xs:restriction base="xs:string"/> - </xs:simpleType> - </xs:element> - <xs:element name="Size" type="xs:string" minOccurs="0"/> - <xs:element name="Location" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Type" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:element name="Requirement"> - <xs:complexType> - <xs:sequence> - <xs:element name="Type"> - <xs:complexType> - <xs:sequence> - <xs:choice maxOccurs="unbounded"> - <xs:element name="OperatingSystem"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Name" type="xs:string" use="required"/> - <xs:attribute name="MinimumVersion" type="xs:string"/> - <xs:attribute name="MaximumVersion" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="Browser"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Name" type="xs:string" use="required"/> - <xs:attribute name="MinimumVersion" type="xs:string"/> - <xs:attribute name="MaximumVersion" type="xs:string"/> - </xs:complexType> - </xs:element> - </xs:choice> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="OrComposite"> - <xs:complexType> - <xs:sequence> - <xs:element name="Requirement" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Type"> - <xs:complexType> - <xs:sequence> - <xs:choice maxOccurs="unbounded"> - <xs:element name="OperatingSystem"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Name" type="xs:string" use="required"/> - <xs:attribute name="MinimumVersion" type="xs:string"/> - <xs:attribute name="MaximumVersion" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="Browser"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Name" type="xs:string" use="required"/> - <xs:attribute name="MinimumVersion" type="xs:string"/> - <xs:attribute name="MaximumVersion" type="xs:string"/> - </xs:complexType> - </xs:element> - </xs:choice> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:choice> - <xs:element name="InstallationRemarks" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="OtherPlatformRequirements" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Duration" type="xs:string" minOccurs="0"/> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="Educational" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="TypicalAgeRange" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="TypicalLearningTime" type="xs:string"/> - <xs:element name="Description" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Language" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="InteractivityType" type="xs:string" use="required"/> - <xs:attribute name="LearningResourceType" type="xs:string" use="required"/> - <xs:attribute name="InteractivityLevel" type="xs:string" use="required"/> - <xs:attribute name="SemanticDensity" type="xs:string" use="required"/> - <xs:attribute name="IntendedEndUserRole" type="xs:string" use="required"/> - <xs:attribute name="Context" type="xs:string" use="required"/> - <xs:attribute name="Difficulty" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Rights" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="Description"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="Cost" type="xs:string" use="required"/> - <xs:attribute name="CopyrightAndOtherRestrictions" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Relation" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Resource"> - <xs:complexType> - <xs:sequence> - <xs:element name="Identifier_" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Catalog" type="xs:string"/> - <xs:attribute name="Entry" type="xs:IDREF"/> - </xs:complexType> - </xs:element> - <xs:element name="Description" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="Kind" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Annotation" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Entity"> - <xs:simpleType> - <xs:restriction base="xs:string"/> - </xs:simpleType> - </xs:element> - <xs:element name="Date" type="xs:string"/> - <xs:element name="Description"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="Classification" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="TaxonPath" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Source"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Taxon" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - <xs:attribute name="Id" type="xs:ID"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="Description"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Keyword" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="Purpose" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="AdvancedMetaData" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="Value" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="id" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="Admin" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="id" type="xs:string" use="required"/> - <xs:attribute name="notification" type="xs:string"/> - <xs:attribute name="passed" type="xs:string"/> - <xs:attribute name="action" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="Tutor" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="id" type="xs:string" use="required"/> - <xs:attribute name="notification" type="xs:string" use="required"/> - <xs:attribute name="passed" type="xs:string" use="required"/> - <xs:attribute name="action" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="Member" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="id" type="xs:string" use="required"/> - <xs:attribute name="blocked" type="xs:string"/> - <xs:attribute name="passed" type="xs:string"/> - <xs:attribute name="action" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="Subscriber" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="id" type="xs:string" use="required"/> - <xs:attribute name="subscriptionTime" type="xs:string" use="required"/> - <xs:attribute name="action" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="WaitingList" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="id" type="xs:string" use="required"/> - <xs:attribute name="subscriptionTime" type="xs:string" use="required"/> - <xs:attribute name="action" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="Settings" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="Availability" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:choice maxOccurs="unbounded"> - <xs:element name="NotAvailable"> - <xs:complexType> - <xs:sequence/> - </xs:complexType> - </xs:element> - <xs:element name="Unlimited"> - <xs:complexType> - <xs:sequence/> - </xs:complexType> - </xs:element> - <xs:element name="TemporarilyAvailable"> - <xs:complexType> - <xs:sequence> - <xs:element name="Start" type="xs:string"/> - <xs:element name="End" type="xs:string"/> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:choice> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="Syllabus" type="xs:string" minOccurs="0"/> - <xs:element name="ImportantInformation" type="xs:string" minOccurs="0"/> - <xs:element name="Contact" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="Name" type="xs:string" minOccurs="0"/> - <xs:element name="Responsibility" type="xs:string" minOccurs="0"/> - <xs:element name="Phone" type="xs:string" minOccurs="0"/> - <xs:element name="Email" type="xs:string" minOccurs="0"/> - <xs:element name="Consultation" type="xs:string" minOccurs="0"/> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="Registration" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:choice maxOccurs="unbounded"> - <xs:element name="Disabled"> - <xs:complexType> - <xs:sequence/> - </xs:complexType> - </xs:element> - <xs:element name="Unlimited"> - <xs:complexType> - <xs:sequence/> - </xs:complexType> - </xs:element> - <xs:element name="TemporarilyAvailable"> - <xs:complexType> - <xs:sequence> - <xs:element name="Start" type="xs:string"/> - <xs:element name="End" type="xs:string"/> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:choice> - <xs:element name="Password" type="xs:string" minOccurs="0"/> - </xs:sequence> - <xs:attribute name="registrationType" type="xs:string"/> - <xs:attribute name="maxMembers" type="xs:string"/> - <xs:attribute name="notification" type="xs:string"/> - <xs:attribute name="waitingList" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="Sort" minOccurs="0"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="type" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Archive" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="Start" type="xs:string"/> - <xs:element name="End" type="xs:string"/> - </xs:sequence> - <xs:attribute name="Access" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="exportVersion" type="xs:string" use="required"/> - <xs:attribute name="id" type="xs:string"/> - </xs:complexType> - </xs:element> - - <xs:element name="Coverage"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - - <xs:element name="Description"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - - <xs:element name="Disabled"> - <xs:complexType> - <xs:sequence/> - </xs:complexType> - </xs:element> - - <xs:element name="Educational"> - <xs:complexType> - <xs:sequence> - <xs:element name="TypicalAgeRange" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="TypicalLearningTime" type="xs:string"/> - <xs:element name="Description" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Language" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="InteractivityType" type="xs:string" use="required"/> - <xs:attribute name="LearningResourceType" type="xs:string" use="required"/> - <xs:attribute name="InteractivityLevel" type="xs:string" use="required"/> - <xs:attribute name="SemanticDensity" type="xs:string" use="required"/> - <xs:attribute name="IntendedEndUserRole" type="xs:string" use="required"/> - <xs:attribute name="Context" type="xs:string" use="required"/> - <xs:attribute name="Difficulty" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - - <xs:element name="Entity"> - <xs:simpleType> - <xs:restriction base="xs:string"/> - </xs:simpleType> - </xs:element> - - <xs:element name="Format"> - <xs:simpleType> - <xs:restriction base="xs:string"/> - </xs:simpleType> - </xs:element> - - <xs:element name="General"> - <xs:complexType> - <xs:sequence> - <xs:element name="Identifier" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Catalog" type="xs:string"/> - <xs:attribute name="Entry" type="xs:ID" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Title"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Language" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Description" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Keyword" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Coverage" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="Structure" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - - <xs:element name="Identifier"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Catalog" type="xs:string"/> - <xs:attribute name="Entry" type="xs:ID" use="required"/> - </xs:complexType> - </xs:element> - - <xs:element name="Identifier_"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Catalog" type="xs:string"/> - <xs:attribute name="Entry" type="xs:IDREF"/> - </xs:complexType> - </xs:element> - - <xs:element name="InstallationRemarks"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - - <xs:element name="Keyword"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - - <xs:element name="Language"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - - <xs:element name="Lifecycle"> - <xs:complexType> - <xs:sequence> - <xs:element name="Version"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Contribute" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Entity" maxOccurs="unbounded"> - <xs:simpleType> - <xs:restriction base="xs:string"/> - </xs:simpleType> - </xs:element> - <xs:element name="Date" type="xs:string"/> - </xs:sequence> - <xs:attribute name="Role" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="Status" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - - <xs:element name="Location"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Type" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - - <xs:element name="Member"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="id" type="xs:string" use="required"/> - <xs:attribute name="blocked" type="xs:string"/> - <xs:attribute name="passed" type="xs:string"/> - <xs:attribute name="action" type="xs:string"/> - </xs:complexType> - </xs:element> - - <xs:element name="Meta-Metadata"> - <xs:complexType> - <xs:sequence> - <xs:element name="Identifier" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Catalog" type="xs:string"/> - <xs:attribute name="Entry" type="xs:ID" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Contribute" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Entity" maxOccurs="unbounded"> - <xs:simpleType> - <xs:restriction base="xs:string"/> - </xs:simpleType> - </xs:element> - <xs:element name="Date" type="xs:string"/> - </xs:sequence> - <xs:attribute name="Role" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="MetadataScheme" type="xs:string"/> - <xs:attribute name="Language" type="xs:string"/> - </xs:complexType> - </xs:element> - - <xs:element name="MetaData"> - <xs:complexType> - <xs:sequence> - <xs:element name="General"> - <xs:complexType> - <xs:sequence> - <xs:element name="Identifier" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Catalog" type="xs:string"/> - <xs:attribute name="Entry" type="xs:ID" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Title"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Language" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence/> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Description" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Keyword" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Coverage" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="Structure" type="xs:string" use="required"/> - </xs:complexType> - </xs:element> - <xs:element name="Lifecycle" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="Version"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="Language" type="xs:string" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="Contribute" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Entity" maxOccurs="unbounded"> - <xs:simpleType> - ... [truncated message content] |
From: <pka...@us...> - 2009-04-27 21:30:50
|
Revision: 188 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=188&view=rev Author: pkasprzak Date: 2009-04-27 21:30:41 +0000 (Mon, 27 Apr 2009) Log Message: ----------- * Integrated ilias course xsd * Adding a course works half way (the added course is only visible in ilias' administration view and, more seriously, xml cannot be changed due to "ElementNotFoundInComplexType-Exception" [working on it]) Modified Paths: -------------- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel Added Paths: ----------- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xml trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xsd Modified: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel 2009-04-27 21:25:21 UTC (rev 187) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/OutboundClientAdapter.bpel 2009-04-27 21:30:41 UTC (rev 188) @@ -9,15 +9,19 @@ xmlns:sxat="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Attachment" xmlns:sxeh="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling" xmlns:sxxf="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/XPathFunctions" + xmlns:il_crs="http://cse.campussource.de/schema/ilias/course" xmlns:tns="http://enterprise.netbeans.org/bpel/ILIASClientAdapter/newProcess"> <import namespace="http://enterprise.netbeans.org/bpel/ilias-3.10.5-Wrapper" location="ilias-3.10.5-Wrapper.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/> <import namespace="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/ILIASClientAdapter" location="ILIASClientAdapter.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/> <import namespace="urn:ilUserAdministration" location="ilias-3.10.5-fixed.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/> + <import namespace="http://cse.campussource.de/schema/ilias/course" location="ilias-course.xsd" importType="http://www.w3.org/2001/XMLSchema"/> + <partnerLinks> <partnerLink name="ILIAS" xmlns:tns="http://enterprise.netbeans.org/bpel/ilias-3.10.5-Wrapper" partnerLinkType="tns:ILIASSoapWebserviceLinkType" partnerRole="ILIASSoapWebserviceRole"/> <partnerLink name="ILIASAdapter" xmlns:tns="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/ILIASClientAdapter" partnerLinkType="tns:ILIASClientAdapter" myRole="ILIASClientAdapterPortTypeRole"/> </partnerLinks> + <variables> <variable name="AddCourseOut" xmlns:tns="urn:ilUserAdministration" messageType="tns:addCourseResponse"/> <variable name="AddCourseIn" xmlns:tns="urn:ilUserAdministration" messageType="tns:addCourseRequest"/> @@ -29,12 +33,13 @@ <!-- ILIAS session id --> <variable name="SID" type="xsd:string"/> <!-- Course description in ILIAS-Format --> -<!-- - <variable name="CourseXML" element=""/> ---> + <variable name="CourseXML" element="il_crs:Course"/> </variables> + <sequence> + <receive name="receive" createInstance="yes" partnerLink="ILIASAdapter" operation="ProcessCourseOperation" xmlns:tns="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/ILIASClientAdapter" portType="tns:ILIASClientAdapterPortType" variable="ProcessCourseOperationIn"/> + <assign name="prepareLogin"> <copy> <from>'test'</from> @@ -49,6 +54,7 @@ <to variable="LoginIn" part="password"/> </copy> </assign> + <invoke name="login" partnerLink="ILIAS" operation="login" xmlns:tns="urn:ilUserAdministration" portType="tns:ILIASSoapWebservicePortType" inputVariable="LoginIn" outputVariable="LoginOut"> <sxt:trace> <sxt:log level="info" location="onComplete"> @@ -56,28 +62,53 @@ </sxt:log> </sxt:trace> </invoke> + <assign name="saveSID"> <copy> <from variable="LoginOut" part="sid"/> <to variable="SID"/> </copy> </assign> + + <!-- Initialize course xml skeleton --> + <assign name="initializeCourseXML"> + <copy> + <from> + <literal> + <Course xmlns="http://cse.campussource.de/schema/ilias/course"> + <MetaData xmlns="http://cse.campussource.de/schema/ilias/course"> + <General> + <Title Language="en">test2</Title> + <Language Language="en">en</Language> + <Description Language="en">bpel test2</Description> + </General> + </MetaData> + </Course> + </literal> + </from> + <to>$CourseXML</to> + </copy> + </assign> + + <!-- Set relevant course data --> <!-- - <assign name="setCourseXML"> + <assign name="setCourseData"> <copy> - <from>$ProcessCourseOperationIn/course/attribute[name = 'title']/value</from> - <to>$CourseXML/MetaData/General/Title</to> + <from>$ProcessCourseOperationIn.courseMessage/course/attribute[name = 'title']/value</from> + <to>$CourseXML/MetaData/General/Title/text()</to> </copy> <copy> - <from>$ProcessCourseOperationIn/course/attribute[name = 'languageISO']/value</from> + <from>$ProcessCourseOperationIn.courseMessage/course/attribute[name = 'languageISO']/value</from> <to>$CourseXML/MetaData/General/Title/@Language</to> </copy> <copy> - <from>$ProcessCourseOperationIn/course/attribute[name = 'languageISO']/value</from> + <from>$ProcessCourseOperationIn.courseMessage/course/attribute[name = 'languageISO']/value</from> <to>$CourseXML/MetaData/General/Language[0]/@Language</to> </copy> </assign> --> + + <!-- Set all parts for addCourse call --> <assign name="prepareAddCourse"> <!-- Set SID --> <copy> @@ -90,15 +121,20 @@ <to variable="AddCourseIn" part="target_id"/> </copy> <!-- Set CourseXML (as string) --> -<!-- <copy> + <copy> <from>sxxf:doMarshal($CourseXML)</from> <to variable="AddCourseIn" part="crs_xml"/> </copy> ---> </assign> -<!-- - <invoke name="createLecture" partnerLink="ILIAS" operation="addCourse" xmlns:tns="urn:ilUserAdministration" portType="tns:ILIASSoapWebservicePortType" inputVariable="AddCourseIn" outputVariable="AddCourseOut"/> ---> + + <invoke name="createLecture" partnerLink="ILIAS" operation="addCourse" xmlns:tns="urn:ilUserAdministration" portType="tns:ILIASSoapWebservicePortType" inputVariable="AddCourseIn" outputVariable="AddCourseOut"> + <sxt:trace> + <sxt:log level="info" location="onComplete"> + <from>concat('*** Result of addCourse: ', $AddCourseOut.course_id)</from> + </sxt:log> + </sxt:trace> + </invoke> + <assign name="prepareLogout"> <copy> <from variable="SID"/> Added: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xml (rev 0) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xml 2009-04-27 21:30:41 UTC (rev 188) @@ -0,0 +1,269 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Document : ilias-course.xml + Created on : April 27, 2009, 4:57 PM + Author : pete + Description: + Purpose of the document follows. +--> + +<ns0:Course xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' + xmlns:ns0='http://cse.campussource.de/schema/ilias/course' + xsi:schemaLocation='http://cse.campussource.de/schema/ilias/course ilias-course.xsd' exportVersion="" id=""> + <MetaData> + <General Structure=""> + <Identifier Catalog="" Entry=""></Identifier> + <Identifier Catalog="" Entry=""></Identifier> + <Identifier Catalog="" Entry=""></Identifier> + <Title Language=""></Title> + <Language Language=""></Language> + <Language Language=""></Language> + <Language Language=""></Language> + <Description Language=""></Description> + <Description Language=""></Description> + <Description Language=""></Description> + <Keyword Language=""></Keyword> + <Keyword Language=""></Keyword> + <Keyword Language=""></Keyword> + <Coverage Language=""></Coverage> + </General> + <Lifecycle Status=""> + <Version Language=""></Version> + <Contribute Role=""> + <Entity></Entity> + <Entity></Entity> + <Entity></Entity> + <Date></Date> + </Contribute> + <Contribute Role=""> + <Entity></Entity> + <Entity></Entity> + <Entity></Entity> + <Date></Date> + </Contribute> + <Contribute Role=""> + <Entity></Entity> + <Entity></Entity> + <Entity></Entity> + <Date></Date> + </Contribute> + </Lifecycle> + <Meta-Metadata MetadataScheme="" Language=""> + <Identifier Catalog="" Entry=""></Identifier> + <Identifier Catalog="" Entry=""></Identifier> + <Identifier Catalog="" Entry=""></Identifier> + <Contribute Role=""> + <Entity></Entity> + <Entity></Entity> + <Entity></Entity> + <Date></Date> + </Contribute> + <Contribute Role=""> + <Entity></Entity> + <Entity></Entity> + <Entity></Entity> + <Date></Date> + </Contribute> + <Contribute Role=""> + <Entity></Entity> + <Entity></Entity> + <Entity></Entity> + <Date></Date> + </Contribute> + </Meta-Metadata> + <Technical> + <Format></Format> + <Format></Format> + <Format></Format> + <Size></Size> + <Location Type=""></Location> + <Location Type=""></Location> + <Location Type=""></Location> + <Requirement> + <Type> + <OperatingSystem Name="" MinimumVersion="" MaximumVersion=""></OperatingSystem> + </Type> + </Requirement> + <InstallationRemarks Language=""></InstallationRemarks> + <OtherPlatformRequirements Language=""></OtherPlatformRequirements> + <Duration></Duration> + </Technical> + <Educational InteractivityType="" LearningResourceType="" InteractivityLevel="" SemanticDensity="" IntendedEndUserRole="" Context="" Difficulty=""> + <TypicalAgeRange Language=""></TypicalAgeRange> + <TypicalAgeRange Language=""></TypicalAgeRange> + <TypicalAgeRange Language=""></TypicalAgeRange> + <TypicalLearningTime></TypicalLearningTime> + <Description Language=""></Description> + <Description Language=""></Description> + <Description Language=""></Description> + <Language Language=""></Language> + <Language Language=""></Language> + <Language Language=""></Language> + </Educational> + <Rights Cost="" CopyrightAndOtherRestrictions=""> + <Description Language=""></Description> + </Rights> + <Relation Kind=""> + <Resource> + <Identifier_ Catalog="" Entry=""></Identifier_> + <Identifier_ Catalog="" Entry=""></Identifier_> + <Identifier_ Catalog="" Entry=""></Identifier_> + <Description Language=""></Description> + <Description Language=""></Description> + <Description Language=""></Description> + </Resource> + </Relation> + <Relation Kind=""> + <Resource> + <Identifier_ Catalog="" Entry=""></Identifier_> + <Identifier_ Catalog="" Entry=""></Identifier_> + <Identifier_ Catalog="" Entry=""></Identifier_> + <Description Language=""></Description> + <Description Language=""></Description> + <Description Language=""></Description> + </Resource> + </Relation> + <Relation Kind=""> + <Resource> + <Identifier_ Catalog="" Entry=""></Identifier_> + <Identifier_ Catalog="" Entry=""></Identifier_> + <Identifier_ Catalog="" Entry=""></Identifier_> + <Description Language=""></Description> + <Description Language=""></Description> + <Description Language=""></Description> + </Resource> + </Relation> + <Annotation> + <Entity></Entity> + <Date></Date> + <Description Language=""></Description> + </Annotation> + <Annotation> + <Entity></Entity> + <Date></Date> + <Description Language=""></Description> + </Annotation> + <Annotation> + <Entity></Entity> + <Date></Date> + <Description Language=""></Description> + </Annotation> + <Classification Purpose=""> + <TaxonPath> + <Source Language=""></Source> + <Taxon Language="" Id=""></Taxon> + <Taxon Language="" Id=""></Taxon> + <Taxon Language="" Id=""></Taxon> + </TaxonPath> + <TaxonPath> + <Source Language=""></Source> + <Taxon Language="" Id=""></Taxon> + <Taxon Language="" Id=""></Taxon> + <Taxon Language="" Id=""></Taxon> + </TaxonPath> + <TaxonPath> + <Source Language=""></Source> + <Taxon Language="" Id=""></Taxon> + <Taxon Language="" Id=""></Taxon> + <Taxon Language="" Id=""></Taxon> + </TaxonPath> + <Description Language=""></Description> + <Keyword Language=""></Keyword> + <Keyword Language=""></Keyword> + <Keyword Language=""></Keyword> + </Classification> + <Classification Purpose=""> + <TaxonPath> + <Source Language=""></Source> + <Taxon Language="" Id=""></Taxon> + <Taxon Language="" Id=""></Taxon> + <Taxon Language="" Id=""></Taxon> + </TaxonPath> + <TaxonPath> + <Source Language=""></Source> + <Taxon Language="" Id=""></Taxon> + <Taxon Language="" Id=""></Taxon> + <Taxon Language="" Id=""></Taxon> + </TaxonPath> + <TaxonPath> + <Source Language=""></Source> + <Taxon Language="" Id=""></Taxon> + <Taxon Language="" Id=""></Taxon> + <Taxon Language="" Id=""></Taxon> + </TaxonPath> + <Description Language=""></Description> + <Keyword Language=""></Keyword> + <Keyword Language=""></Keyword> + <Keyword Language=""></Keyword> + </Classification> + <Classification Purpose=""> + <TaxonPath> + <Source Language=""></Source> + <Taxon Language="" Id=""></Taxon> + <Taxon Language="" Id=""></Taxon> + <Taxon Language="" Id=""></Taxon> + </TaxonPath> + <TaxonPath> + <Source Language=""></Source> + <Taxon Language="" Id=""></Taxon> + <Taxon Language="" Id=""></Taxon> + <Taxon Language="" Id=""></Taxon> + </TaxonPath> + <TaxonPath> + <Source Language=""></Source> + <Taxon Language="" Id=""></Taxon> + <Taxon Language="" Id=""></Taxon> + <Taxon Language="" Id=""></Taxon> + </TaxonPath> + <Description Language=""></Description> + <Keyword Language=""></Keyword> + <Keyword Language=""></Keyword> + <Keyword Language=""></Keyword> + </Classification> + </MetaData> + <AdvancedMetaData> + <Value id=""></Value> + <Value id=""></Value> + <Value id=""></Value> + </AdvancedMetaData> + <Admin id="" notification="" passed="" action=""></Admin> + <Admin id="" notification="" passed="" action=""></Admin> + <Admin id="" notification="" passed="" action=""></Admin> + <Tutor id="" notification="" passed="" action=""></Tutor> + <Tutor id="" notification="" passed="" action=""></Tutor> + <Tutor id="" notification="" passed="" action=""></Tutor> + <Member id="" blocked="" passed="" action=""></Member> + <Member id="" blocked="" passed="" action=""></Member> + <Member id="" blocked="" passed="" action=""></Member> + <Subscriber id="" subscriptionTime="" action=""></Subscriber> + <Subscriber id="" subscriptionTime="" action=""></Subscriber> + <Subscriber id="" subscriptionTime="" action=""></Subscriber> + <WaitingList id="" subscriptionTime="" action=""></WaitingList> + <WaitingList id="" subscriptionTime="" action=""></WaitingList> + <WaitingList id="" subscriptionTime="" action=""></WaitingList> + <Settings> + <Availability> + <NotAvailable></NotAvailable> + </Availability> + <Syllabus></Syllabus> + <ImportantInformation></ImportantInformation> + <Contact> + <Name></Name> + <Responsibility></Responsibility> + <Phone></Phone> + <Email></Email> + <Consultation></Consultation> + </Contact> + <Registration registrationType="" maxMembers="" notification="" waitingList=""> + <Disabled></Disabled> + <Password></Password> + </Registration> + <Sort type=""></Sort> + <Archive Access=""> + <Start></Start> + <End></End> + </Archive> + </Settings> + +</ns0:Course> Added: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xsd =================================================================== --- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xsd (rev 0) +++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/ilias-course.xsd 2009-04-27 21:30:41 UTC (rev 188) @@ -0,0 +1,1913 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<xs:schema version="1.0" targetNamespace="http://cse.campussource.de/schema/ilias/course" xmlns:tns="http://cse.campussource.de/schema/ilias/course" xmlns:xs="http://www.w3.org/2001/XMLSchema"> + + <xs:element name="Admin"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="id" type="xs:string" use="required"/> + <xs:attribute name="notification" type="xs:string"/> + <xs:attribute name="passed" type="xs:string"/> + <xs:attribute name="action" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="AdvancedMetaData"> + <xs:complexType> + <xs:sequence> + <xs:element name="Value" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="id" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="Annotation"> + <xs:complexType> + <xs:sequence> + <xs:element name="Entity"> + <xs:simpleType> + <xs:restriction base="xs:string"/> + </xs:simpleType> + </xs:element> + <xs:element name="Date" type="xs:string"/> + <xs:element name="Description"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="Archive"> + <xs:complexType> + <xs:sequence> + <xs:element name="Start" type="xs:string"/> + <xs:element name="End" type="xs:string"/> + </xs:sequence> + <xs:attribute name="Access" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Availability"> + <xs:complexType> + <xs:sequence> + <xs:choice maxOccurs="unbounded"> + <xs:element name="NotAvailable"> + <xs:complexType> + <xs:sequence/> + </xs:complexType> + </xs:element> + <xs:element name="Unlimited"> + <xs:complexType> + <xs:sequence/> + </xs:complexType> + </xs:element> + <xs:element name="TemporarilyAvailable"> + <xs:complexType> + <xs:sequence> + <xs:element name="Start" type="xs:string"/> + <xs:element name="End" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="Browser"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Name" type="xs:string" use="required"/> + <xs:attribute name="MinimumVersion" type="xs:string"/> + <xs:attribute name="MaximumVersion" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="Classification"> + <xs:complexType> + <xs:sequence> + <xs:element name="TaxonPath" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="Source"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Taxon" maxOccurs="unbounded"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + <xs:attribute name="Id" type="xs:ID"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Description"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Keyword" maxOccurs="unbounded"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="Purpose" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Contact"> + <xs:complexType> + <xs:sequence> + <xs:element name="Name" type="xs:string" minOccurs="0"/> + <xs:element name="Responsibility" type="xs:string" minOccurs="0"/> + <xs:element name="Phone" type="xs:string" minOccurs="0"/> + <xs:element name="Email" type="xs:string" minOccurs="0"/> + <xs:element name="Consultation" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="Contribute"> + <xs:complexType> + <xs:sequence> + <xs:element name="Entity" maxOccurs="unbounded"> + <xs:simpleType> + <xs:restriction base="xs:string"/> + </xs:simpleType> + </xs:element> + <xs:element name="Date" type="xs:string"/> + </xs:sequence> + <xs:attribute name="Role" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Course"> + <xs:complexType> + <xs:sequence> + <xs:element name="MetaData" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="General"> + <xs:complexType> + <xs:sequence> + <xs:element name="Identifier" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Catalog" type="xs:string"/> + <xs:attribute name="Entry" type="xs:ID" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="Title"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Language" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="Description" maxOccurs="unbounded"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Keyword" maxOccurs="unbounded"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Coverage" minOccurs="0"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="Structure" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="Lifecycle" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="Version"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Contribute" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="Entity" maxOccurs="unbounded"> + <xs:simpleType> + <xs:restriction base="xs:string"/> + </xs:simpleType> + </xs:element> + <xs:element name="Date" type="xs:string"/> + </xs:sequence> + <xs:attribute name="Role" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="Status" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="Meta-Metadata" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="Identifier" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Catalog" type="xs:string"/> + <xs:attribute name="Entry" type="xs:ID" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="Contribute" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="Entity" maxOccurs="unbounded"> + <xs:simpleType> + <xs:restriction base="xs:string"/> + </xs:simpleType> + </xs:element> + <xs:element name="Date" type="xs:string"/> + </xs:sequence> + <xs:attribute name="Role" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="MetadataScheme" type="xs:string"/> + <xs:attribute name="Language" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="Technical" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="Format" minOccurs="0" maxOccurs="unbounded"> + <xs:simpleType> + <xs:restriction base="xs:string"/> + </xs:simpleType> + </xs:element> + <xs:element name="Size" type="xs:string" minOccurs="0"/> + <xs:element name="Location" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Type" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="Requirement"> + <xs:complexType> + <xs:sequence> + <xs:element name="Type"> + <xs:complexType> + <xs:sequence> + <xs:choice maxOccurs="unbounded"> + <xs:element name="OperatingSystem"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Name" type="xs:string" use="required"/> + <xs:attribute name="MinimumVersion" type="xs:string"/> + <xs:attribute name="MaximumVersion" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="Browser"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Name" type="xs:string" use="required"/> + <xs:attribute name="MinimumVersion" type="xs:string"/> + <xs:attribute name="MaximumVersion" type="xs:string"/> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="OrComposite"> + <xs:complexType> + <xs:sequence> + <xs:element name="Requirement" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="Type"> + <xs:complexType> + <xs:sequence> + <xs:choice maxOccurs="unbounded"> + <xs:element name="OperatingSystem"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Name" type="xs:string" use="required"/> + <xs:attribute name="MinimumVersion" type="xs:string"/> + <xs:attribute name="MaximumVersion" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="Browser"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Name" type="xs:string" use="required"/> + <xs:attribute name="MinimumVersion" type="xs:string"/> + <xs:attribute name="MaximumVersion" type="xs:string"/> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:choice> + <xs:element name="InstallationRemarks" minOccurs="0"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="OtherPlatformRequirements" minOccurs="0"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Duration" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Educational" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="TypicalAgeRange" maxOccurs="unbounded"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="TypicalLearningTime" type="xs:string"/> + <xs:element name="Description" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Language" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="InteractivityType" type="xs:string" use="required"/> + <xs:attribute name="LearningResourceType" type="xs:string" use="required"/> + <xs:attribute name="InteractivityLevel" type="xs:string" use="required"/> + <xs:attribute name="SemanticDensity" type="xs:string" use="required"/> + <xs:attribute name="IntendedEndUserRole" type="xs:string" use="required"/> + <xs:attribute name="Context" type="xs:string" use="required"/> + <xs:attribute name="Difficulty" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="Rights" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="Description"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="Cost" type="xs:string" use="required"/> + <xs:attribute name="CopyrightAndOtherRestrictions" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="Relation" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="Resource"> + <xs:complexType> + <xs:sequence> + <xs:element name="Identifier_" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Catalog" type="xs:string"/> + <xs:attribute name="Entry" type="xs:IDREF"/> + </xs:complexType> + </xs:element> + <xs:element name="Description" maxOccurs="unbounded"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="Kind" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="Annotation" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="Entity"> + <xs:simpleType> + <xs:restriction base="xs:string"/> + </xs:simpleType> + </xs:element> + <xs:element name="Date" type="xs:string"/> + <xs:element name="Description"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Classification" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="TaxonPath" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="Source"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Taxon" maxOccurs="unbounded"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + <xs:attribute name="Id" type="xs:ID"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Description"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Keyword" maxOccurs="unbounded"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="Purpose" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="AdvancedMetaData" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="Value" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="id" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Admin" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="id" type="xs:string" use="required"/> + <xs:attribute name="notification" type="xs:string"/> + <xs:attribute name="passed" type="xs:string"/> + <xs:attribute name="action" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="Tutor" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="id" type="xs:string" use="required"/> + <xs:attribute name="notification" type="xs:string" use="required"/> + <xs:attribute name="passed" type="xs:string" use="required"/> + <xs:attribute name="action" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="Member" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="id" type="xs:string" use="required"/> + <xs:attribute name="blocked" type="xs:string"/> + <xs:attribute name="passed" type="xs:string"/> + <xs:attribute name="action" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="Subscriber" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="id" type="xs:string" use="required"/> + <xs:attribute name="subscriptionTime" type="xs:string" use="required"/> + <xs:attribute name="action" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="WaitingList" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="id" type="xs:string" use="required"/> + <xs:attribute name="subscriptionTime" type="xs:string" use="required"/> + <xs:attribute name="action" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="Settings" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="Availability" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:choice maxOccurs="unbounded"> + <xs:element name="NotAvailable"> + <xs:complexType> + <xs:sequence/> + </xs:complexType> + </xs:element> + <xs:element name="Unlimited"> + <xs:complexType> + <xs:sequence/> + </xs:complexType> + </xs:element> + <xs:element name="TemporarilyAvailable"> + <xs:complexType> + <xs:sequence> + <xs:element name="Start" type="xs:string"/> + <xs:element name="End" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Syllabus" type="xs:string" minOccurs="0"/> + <xs:element name="ImportantInformation" type="xs:string" minOccurs="0"/> + <xs:element name="Contact" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="Name" type="xs:string" minOccurs="0"/> + <xs:element name="Responsibility" type="xs:string" minOccurs="0"/> + <xs:element name="Phone" type="xs:string" minOccurs="0"/> + <xs:element name="Email" type="xs:string" minOccurs="0"/> + <xs:element name="Consultation" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Registration" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:choice maxOccurs="unbounded"> + <xs:element name="Disabled"> + <xs:complexType> + <xs:sequence/> + </xs:complexType> + </xs:element> + <xs:element name="Unlimited"> + <xs:complexType> + <xs:sequence/> + </xs:complexType> + </xs:element> + <xs:element name="TemporarilyAvailable"> + <xs:complexType> + <xs:sequence> + <xs:element name="Start" type="xs:string"/> + <xs:element name="End" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:choice> + <xs:element name="Password" type="xs:string" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="registrationType" type="xs:string"/> + <xs:attribute name="maxMembers" type="xs:string"/> + <xs:attribute name="notification" type="xs:string"/> + <xs:attribute name="waitingList" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="Sort" minOccurs="0"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="type" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="Archive" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="Start" type="xs:string"/> + <xs:element name="End" type="xs:string"/> + </xs:sequence> + <xs:attribute name="Access" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="exportVersion" type="xs:string" use="required"/> + <xs:attribute name="id" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="Coverage"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="Description"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="Disabled"> + <xs:complexType> + <xs:sequence/> + </xs:complexType> + </xs:element> + + <xs:element name="Educational"> + <xs:complexType> + <xs:sequence> + <xs:element name="TypicalAgeRange" maxOccurs="unbounded"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="TypicalLearningTime" type="xs:string"/> + <xs:element name="Description" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Language" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="InteractivityType" type="xs:string" use="required"/> + <xs:attribute name="LearningResourceType" type="xs:string" use="required"/> + <xs:attribute name="InteractivityLevel" type="xs:string" use="required"/> + <xs:attribute name="SemanticDensity" type="xs:string" use="required"/> + <xs:attribute name="IntendedEndUserRole" type="xs:string" use="required"/> + <xs:attribute name="Context" type="xs:string" use="required"/> + <xs:attribute name="Difficulty" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Entity"> + <xs:simpleType> + <xs:restriction base="xs:string"/> + </xs:simpleType> + </xs:element> + + <xs:element name="Format"> + <xs:simpleType> + <xs:restriction base="xs:string"/> + </xs:simpleType> + </xs:element> + + <xs:element name="General"> + <xs:complexType> + <xs:sequence> + <xs:element name="Identifier" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Catalog" type="xs:string"/> + <xs:attribute name="Entry" type="xs:ID" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="Title"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Language" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="Description" maxOccurs="unbounded"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Keyword" maxOccurs="unbounded"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Coverage" minOccurs="0"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="Structure" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Identifier"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Catalog" type="xs:string"/> + <xs:attribute name="Entry" type="xs:ID" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Identifier_"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Catalog" type="xs:string"/> + <xs:attribute name="Entry" type="xs:IDREF"/> + </xs:complexType> + </xs:element> + + <xs:element name="InstallationRemarks"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="Keyword"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="Language"> + <xs:complexType> + <xs:sequence/> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Lifecycle"> + <xs:complexType> + <xs:sequence> + <xs:element name="Version"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Language" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Contribute" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="Entity" maxOccurs="unbounded"> + <xs:simpleType> + <xs:restriction base="xs:string"/> + </xs:simpleType> + </xs:element> + <xs:element name="Date" type="xs:string"/> + ... [truncated message content] |