Author: reinhard
Date: Thu Oct 21 09:06:41 2004
New Revision: 55229

Added:
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/dreamteam/
   
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/dreamteam/Manager.java
   
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/dreamteam/Team.java
   
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/dreamteam/TeamMember.java
Log:
add "dreamteam" application by Helma van der Linden (issue 31813)


Added: 
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/dreamteam/Manager.java
==============================================================================
--- (empty file)
+++ 
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/dreamteam/Manager.java
   Thu Oct 21 09:06:41 2004
@@ -0,0 +1,136 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.forms.samples.dreamteam;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+
+/**
+ * Manager
+ */
+public class Manager {
+    private static Manager manager = new Manager();
+    private List allPersons = null;
+    private Team dreamTeam = null;
+
+    private Manager() {
+        super();
+    }
+    
+    public static Manager getManager() {
+        if (manager == null) {
+            manager = new Manager();
+        }
+        return manager;
+    }
+    public Hashtable getAllPersonsByPosition() {
+        Hashtable list = new Hashtable();
+        Team team = null;
+        TeamMember teamMember = null;
+        String position = null;
+        for (int i = 0; i < allPersons.size(); i++) {
+            teamMember = (TeamMember)allPersons.get(i);
+            position = teamMember.getPosition();
+            if (list.containsKey(position)) {
+                team = (Team)list.get(position);
+            }
+            else {
+                team = new Team();
+                list.put(position, team);
+            }
+            team.addMember(teamMember);
+        }
+        return list;
+        
+    }
+    public TeamMember getPerson(String memberID) {
+        TeamMember member = null;
+        if (allPersons == null) {
+            return null;
+        }
+        for (Iterator iter = allPersons.iterator(); iter.hasNext();) {
+            member = (TeamMember) iter.next();
+            if (member.getMemberId().equals(memberID)) {
+                return member;
+            }
+        }
+        return null;
+    }
+    
+    public void buildDreamTeam(Team dreamlist) {
+        if (dreamTeam != null) {
+            dreamTeam.getTeam().clear();
+        }
+        dreamTeam = new Team();
+        TeamMember listMember = null;
+        TeamMember dreamMember = null;
+        for (Iterator iter = dreamlist.getTeam().iterator(); iter.hasNext();) {
+            listMember = (TeamMember) iter.next();
+            dreamMember = getPerson(listMember.getMemberId());
+            dreamTeam.addMember(dreamMember);
+        }
+    }
+    
+    public Team getDreamTeam() {
+        if (dreamTeam == null) {
+            dreamTeam = new Team();
+            dreamTeam.setTeam(allPersons);
+        }
+        return dreamTeam;
+    }
+    
+    public void readPlayers(Document doc) {
+        NodeList players = doc.getElementsByTagName("player");
+        Node player = null;
+        int size = players.getLength(); 
+        for (int i = 0; i < size; i++) {
+            player = players.item(i);
+            addPlayer((Element)player);
+        }
+    }
+    
+    private void addPlayer(Element player) {
+        // convert the XML node to a TeamMember
+        if (allPersons == null) {
+            allPersons = new ArrayList();
+        }
+        TeamMember member = null;
+        member = new TeamMember();
+        member.setMemberId("" + (allPersons.size() + 1));
+        member.setName(getElementValue(player, "name"));
+        member.setPosition(getElementValue(player, "position"));
+        member.setCountry(getElementValue(player, "country"));
+//        System.out.println(member.toString());
+        allPersons.add(member);
+    }
+
+    private String getElementValue(Element element, String tag) {
+        String result = null;
+        NodeList nodes = element.getElementsByTagName(tag);
+        result = nodes.item(0).getFirstChild().getNodeValue();
+//        System.out.println("element: " + tag + "=" + result);
+        return result;
+    }
+
+}

Added: 
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/dreamteam/Team.java
==============================================================================
--- (empty file)
+++ 
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/dreamteam/Team.java
      Thu Oct 21 09:06:41 2004
@@ -0,0 +1,57 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.forms.samples.dreamteam;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+/**
+ * Team
+ */
+public class Team {
+
+       private Collection team = new ArrayList();
+
+       public Team() {
+       }
+
+       public Collection getTeam() {
+               return team;
+       }
+
+       public void setTeam(Collection _team) {
+               team = _team;
+       }
+
+       public void addMember(TeamMember member) {
+               team.add(member);
+       }
+
+       public TeamMember getMember(String memberID) {
+               TeamMember member = null;
+               if (team == null) {
+                       return null;
+               }
+               for (Iterator iter = team.iterator(); iter.hasNext();) {
+                       member = (TeamMember) iter.next();
+                       if (member.getMemberId().equals(memberID)) {
+                               return member;
+                       }
+               }
+               return null;
+       }
+}
\ No newline at end of file

Added: 
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/dreamteam/TeamMember.java
==============================================================================
--- (empty file)
+++ 
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/dreamteam/TeamMember.java
        Thu Oct 21 09:06:41 2004
@@ -0,0 +1,81 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.forms.samples.dreamteam;
+
+/**
+ * TeamMember
+ */
+public class TeamMember {
+       private String memberId = null;
+       private String name = null;
+       private String position = null;
+       private String country = null;
+
+       public TeamMember() {
+               super();
+       }
+
+       public String getMemberId() {
+               return memberId;
+       }
+
+       public void setMemberId(String memberID) {
+               this.memberId = memberID;
+       }
+
+       public String getName() {
+               return name;
+       }
+
+       public String getLastName() {
+               if (name == null) {
+                       return "Name not set!";
+               }
+               String lastName = name.substring(name.indexOf(" ") + 1);
+               if (lastName.equals("")) {
+                       lastName = name;
+               }
+               return lastName;
+       }
+
+       public void setName(String name) {
+               this.name = name;
+       }
+
+       public String getPosition() {
+               return position;
+       }
+
+       public void setPosition(String profession) {
+               this.position = profession;
+       }
+
+       public String getCountry() {
+               return country;
+       }
+
+       public void setCountry(String country) {
+               this.country = country;
+       }
+
+       public String toString() {
+               String result = "<member id='" + memberId + "'><name>" + name
+                               + "</name><position>" + position + 
"</position><country>"
+                               + country + "</country></member>";
+               return result;
+       }
+
+}
\ No newline at end of file

Reply via email to