diff --git a/ccm-core/src/com/arsdigita/portation/categories/core/Party/Party.java b/ccm-core/src/com/arsdigita/portation/categories/core/Party/Party.java
deleted file mode 100644
index da1f7d879..000000000
--- a/ccm-core/src/com/arsdigita/portation/categories/core/Party/Party.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (C) 2015 LibreCCM Foundation.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301 USA
- */
-package com.arsdigita.portation.categories.core.Party;
-
-import com.arsdigita.portation.AbstractMarshaller;
-import com.arsdigita.portation.Identifiable;
-import com.arsdigita.portation.categories.core.Utils.CollectionConverter;
-
-import java.util.List;
-
-/**
- * @author Tobias Osmers<\a>
+ * @version created the 6/15/16
+ */
+public class Categorization implements Identifiable {
+
+ public String trunkClass;
+
+ private long categorizationId;
+ private Category category;
+ private CcmObject categorizedObject;
+ private boolean index;
+ private long categoryOrder;
+ private long objectOrder;
+
+
+ public Categorization() {
+
+ }
+
+ @Override
+ public String getTrunkClass() {
+ return this.trunkClass;
+ }
+
+ @Override
+ public void setTrunkClass(String trunkClass) {
+ this.trunkClass = trunkClass;
+ }
+
+ @Override
+ public AbstractMarshaller extends Identifiable> getMarshaller() {
+ return new CategorizationMarshaller();
+ }
+}
diff --git a/ccm-core/src/com/arsdigita/portation/modules/core/categorization/CategorizationMarshaller.java b/ccm-core/src/com/arsdigita/portation/modules/core/categorization/CategorizationMarshaller.java
new file mode 100644
index 000000000..e87852762
--- /dev/null
+++ b/ccm-core/src/com/arsdigita/portation/modules/core/categorization/CategorizationMarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2015 LibreCCM Foundation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+package com.arsdigita.portation.modules.core.categorization;
+
+import com.arsdigita.portation.AbstractMarshaller;
+
+/**
+ * @author Tobias Osmers<\a>
+ * @version created the 6/15/16
+ */
+public class Category extends CcmObject {
+
+ private String uniqueId;
+ private String name;
+ private LocalizedString title;
+ private LocalizedString description;
+ private boolean enabled;
+ private boolean visible;
+ private boolean abstractCategory;
+ private List objects;
+ private List subCategories;
+ private Category parentCategory;
+ private long categoryOrder;
+
+
+ public Category() {
+
+ }
+
+ @Override
+ public AbstractMarshaller extends Identifiable> getMarshaller() {
+ return new CategoryMarshaller();
+ }
+}
diff --git a/ccm-core/src/com/arsdigita/portation/modules/core/categorization/CategoryMarshaller.java b/ccm-core/src/com/arsdigita/portation/modules/core/categorization/CategoryMarshaller.java
new file mode 100644
index 000000000..9e71de20f
--- /dev/null
+++ b/ccm-core/src/com/arsdigita/portation/modules/core/categorization/CategoryMarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2015 LibreCCM Foundation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+package com.arsdigita.portation.modules.core.categorization;
+
+import com.arsdigita.portation.AbstractMarshaller;
+
+/**
+ * @author Tobias Osmers<\a>
+ * @version created the 6/15/16
+ */
+public class CcmObject implements Identifiable {
+
+ public String trunkClass;
+
+ private long objectId;
+ private String uuid;
+ private String displayName;
+ private List permissions;
+ private List categories;
+
+
+ public CcmObject() {
+
+ }
+
+
+ @Override
+ public String getTrunkClass() {
+ return null;
+ }
+
+ @Override
+ public void setTrunkClass(String trunkClass) {
+
+ }
+
+ @Override
+ public AbstractMarshaller extends Identifiable> getMarshaller() {
+ return new CcmObjectMarshaller();
+ }
+}
diff --git a/ccm-core/src/com/arsdigita/portation/modules/core/core/CcmObjectMarshaller.java b/ccm-core/src/com/arsdigita/portation/modules/core/core/CcmObjectMarshaller.java
new file mode 100644
index 000000000..e030d7e45
--- /dev/null
+++ b/ccm-core/src/com/arsdigita/portation/modules/core/core/CcmObjectMarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2015 LibreCCM Foundation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+package com.arsdigita.portation.modules.core.core;
+
+import com.arsdigita.portation.AbstractMarshaller;
+
+/**
+ * @author Tobias Osmers<\a>
+ * @version created the 6/15/16
+ */
+public class EmailAddress implements Identifiable {
+
+ private String trunkClass;
+
+ private String address;
+ private boolean bouncing;
+ private boolean verified;
+
+
+ public EmailAddress() {
+
+ }
+
+ @Override
+ public String getTrunkClass() {
+ return this.trunkClass;
+ }
+
+ @Override
+ public void setTrunkClass(String trunkClass) {
+ this.trunkClass = trunkClass;
+ }
+
+ @Override
+ public AbstractMarshaller extends Identifiable> getMarshaller() {
+ return new EmailAddressMarshaller();
+ }
+}
diff --git a/ccm-core/src/com/arsdigita/portation/modules/core/core/EmailAddressMarshaller.java b/ccm-core/src/com/arsdigita/portation/modules/core/core/EmailAddressMarshaller.java
new file mode 100644
index 000000000..0aed7ec8b
--- /dev/null
+++ b/ccm-core/src/com/arsdigita/portation/modules/core/core/EmailAddressMarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2015 LibreCCM Foundation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+package com.arsdigita.portation.modules.core.core;
+
+import com.arsdigita.portation.AbstractMarshaller;
+
+/**
+ * @author Tobias Osmers<\a>
+ * @version created the 6/15/16
+ */
+public class LocalizedString implements Identifiable {
+
+ private String trunkClass;
+
+ private Map values;
+
+
+ public LocalizedString() {
+
+ }
+
+ @Override
+ public String getTrunkClass() {
+ return this.trunkClass;
+ }
+
+ @Override
+ public void setTrunkClass(String trunkClass) {
+ this.trunkClass = trunkClass;
+ }
+
+ @Override
+ public AbstractMarshaller extends Identifiable> getMarshaller() {
+ return new LocalizedStringMarshaller();
+ }
+}
diff --git a/ccm-core/src/com/arsdigita/portation/modules/core/l10n/LocalizedStringMarshaller.java b/ccm-core/src/com/arsdigita/portation/modules/core/l10n/LocalizedStringMarshaller.java
new file mode 100644
index 000000000..59dd73e70
--- /dev/null
+++ b/ccm-core/src/com/arsdigita/portation/modules/core/l10n/LocalizedStringMarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2015 LibreCCM Foundation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+package com.arsdigita.portation.modules.core.l10n;
+
+import com.arsdigita.portation.AbstractMarshaller;
+
+/**
+ * @author Tobias Osmers<\a>
@@ -31,34 +31,15 @@ import java.util.List;
*/
public class Group extends Party {
- private List members;
- private List subGroups;
+ private Set memberships = new HashSet<>();
- public Group(com.arsdigita.kernel.Group sysGroup) {
- super(sysGroup);
- this.members = CollectionConverter.convertParties(sysGroup.getMembers());
- this.subGroups = CollectionConverter.convertGroups(sysGroup.getSubgroups());
+ public Group() {
+
}
@Override
public AbstractMarshaller extends Identifiable> getMarshaller() {
return new GroupMarshaller();
}
-
- public List getMembers() {
- return members;
- }
-
- public void setMembers(List members) {
- this.members = members;
- }
-
- public List getSubGroups() {
- return subGroups;
- }
-
- public void setSubGroups(List subGroups) {
- this.subGroups = subGroups;
- }
}
diff --git a/ccm-core/src/com/arsdigita/portation/categories/core/Group/GroupMarshaller.java b/ccm-core/src/com/arsdigita/portation/modules/core/security/GroupMarshaller.java
similarity index 94%
rename from ccm-core/src/com/arsdigita/portation/categories/core/Group/GroupMarshaller.java
rename to ccm-core/src/com/arsdigita/portation/modules/core/security/GroupMarshaller.java
index 043113f68..06c4b59e7 100644
--- a/ccm-core/src/com/arsdigita/portation/categories/core/Group/GroupMarshaller.java
+++ b/ccm-core/src/com/arsdigita/portation/modules/core/security/GroupMarshaller.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
-package com.arsdigita.portation.categories.core.Group;
+package com.arsdigita.portation.categories.core.security;
import com.arsdigita.portation.AbstractMarshaller;
diff --git a/ccm-core/src/com/arsdigita/portation/modules/core/security/GroupMembership.java b/ccm-core/src/com/arsdigita/portation/modules/core/security/GroupMembership.java
new file mode 100644
index 000000000..e2fc1c698
--- /dev/null
+++ b/ccm-core/src/com/arsdigita/portation/modules/core/security/GroupMembership.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2015 LibreCCM Foundation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+package com.arsdigita.portation.modules.core.security;
+
+import com.arsdigita.portation.AbstractMarshaller;
+import com.arsdigita.portation.Identifiable;
+
+/**
+ * @author Tobias Osmers<\a>
+ * @version created the 6/15/16
+ */
+public class GroupMembershipMarshaller extends AbstractMarshaller {
+}
diff --git a/ccm-core/src/com/arsdigita/portation/modules/core/security/Party.java b/ccm-core/src/com/arsdigita/portation/modules/core/security/Party.java
new file mode 100644
index 000000000..11f200a1d
--- /dev/null
+++ b/ccm-core/src/com/arsdigita/portation/modules/core/security/Party.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2015 LibreCCM Foundation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+package com.arsdigita.portation.categories.core.security;
+
+import com.arsdigita.portation.AbstractMarshaller;
+import com.arsdigita.portation.Identifiable;
+
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author Tobias Osmers<\a>
+ * @version created the 6/15/16
+ */
+public class Permission implements Identifiable {
+
+ private String trunkClass;
+
+ private long permissionId;
+ private String grantedPrivilege;
+ private CcmObject object;
+ private Role grantee;
+ private User creationUser;
+ private Date creationDate;
+ private String creationIp;
+
+
+
+ public Permission() {
+
+ }
+
+
+ @Override
+ public String getTrunkClass() {
+ return this.trunkClass;
+ }
+
+ @Override
+ public void setTrunkClass(String trunkClass) {
+ this.trunkClass = trunkClass;
+ }
+
+ @Override
+ public AbstractMarshaller extends Identifiable> getMarshaller() {
+ return new PermissionMarshaller();
+ }
+}
diff --git a/ccm-core/src/com/arsdigita/portation/modules/core/security/PermissionMarshaller.java b/ccm-core/src/com/arsdigita/portation/modules/core/security/PermissionMarshaller.java
new file mode 100644
index 000000000..3d7f23bed
--- /dev/null
+++ b/ccm-core/src/com/arsdigita/portation/modules/core/security/PermissionMarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2015 LibreCCM Foundation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+package com.arsdigita.portation.modules.core.security;
+
+import com.arsdigita.portation.AbstractMarshaller;
+
+/**
+ * @author Tobias Osmers<\a>
+ * @version created the 6/15/16
+ */
+public class Role implements Identifiable {
+
+ private String trunkClass;
+
+ private long roleId;
+ private String name;
+ private Set memberships = new HashSet<>();
+ private ArrayList permissions = new ArrayList();
+ private List assignedTasks;
+
+
+
+ @Override
+ public String getTrunkClass() {
+ return this.trunkClass;
+ }
+
+ @Override
+ public void setTrunkClass(String trunkClass) {
+ this.trunkClass = trunkClass;
+ }
+
+ @Override
+ public AbstractMarshaller extends Identifiable> getMarshaller() {
+ return new RoleMarshaller();
+ }
+}
diff --git a/ccm-core/src/com/arsdigita/portation/modules/core/security/RoleMarshaller.java b/ccm-core/src/com/arsdigita/portation/modules/core/security/RoleMarshaller.java
new file mode 100644
index 000000000..860cd585c
--- /dev/null
+++ b/ccm-core/src/com/arsdigita/portation/modules/core/security/RoleMarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2015 LibreCCM Foundation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+package com.arsdigita.portation.modules.core.security;
+
+import com.arsdigita.portation.AbstractMarshaller;
+
+/**
+ * @author Tobias Osmers<\a>
+ * @version created the 6/15/16
+ */
+public class RoleMembership implements Identifiable {
+
+ private String trunkClass;
+
+ private long membershipId;
+ private Role role;
+ private Party member;
+
+ public RoleMembership() {
+
+ }
+
+
+ @Override
+ public String getTrunkClass() {
+ return this.trunkClass;
+ }
+
+ @Override
+ public void setTrunkClass(String trunkClass) {
+ this.trunkClass = trunkClass;
+ }
+
+ @Override
+ public AbstractMarshaller extends Identifiable> getMarshaller() {
+ return new RoleMembershipMarshaller();
+ }
+}
diff --git a/ccm-core/src/com/arsdigita/portation/modules/core/security/RoleMembershipMarshaller.java b/ccm-core/src/com/arsdigita/portation/modules/core/security/RoleMembershipMarshaller.java
new file mode 100644
index 000000000..01354e563
--- /dev/null
+++ b/ccm-core/src/com/arsdigita/portation/modules/core/security/RoleMembershipMarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2015 LibreCCM Foundation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+package com.arsdigita.portation.modules.core.security;
+
+import com.arsdigita.portation.AbstractMarshaller;
+
+/**
+ * @author Tobias Osmers<\a>
* @version created the 31.05.16
*/
-public class User extends Party implements Identifiable {
+public class User extends Party {
- private String personName;
- private String screenName;
- private List groups;
+ private String givenName;
+ private String familyName;
+ private EmailAddress primaryEmailAddress;
+ private List emailAddresses;
+ private boolean banned;
+ private String password;
+ private boolean passwordResetRequired;
+ private Set groupMemberships = new HashSet<>();
- public User(com.arsdigita.kernel.User sysUser) {
- super(sysUser);
- this.personName = sysUser.getPersonName().toString(); //family and given name split
- this.screenName = sysUser.getScreenName();
- this.groups = CollectionConverter.convertGroups(sysUser.getGroups());
+ public User() {
+
}
@Override
public AbstractMarshaller extends Identifiable> getMarshaller() {
return new UserMarshaller();
}
-
- public String getPersonName() {
- return personName;
- }
-
- public void setPersonName(String personName) {
- this.personName = personName;
- }
-
- public String getScreenName() {
- return screenName;
- }
-
- public void setScreenName(String screenName) {
- this.screenName = screenName;
- }
-
- public List getGroups() {
- return groups;
- }
-
- public void setGroups(List groups) {
- this.groups = groups;
- }
}
diff --git a/ccm-core/src/com/arsdigita/portation/categories/core/User/UserMarshaller.java b/ccm-core/src/com/arsdigita/portation/modules/core/security/UserMarshaller.java
similarity index 94%
rename from ccm-core/src/com/arsdigita/portation/categories/core/User/UserMarshaller.java
rename to ccm-core/src/com/arsdigita/portation/modules/core/security/UserMarshaller.java
index 50511545c..c8560e995 100644
--- a/ccm-core/src/com/arsdigita/portation/categories/core/User/UserMarshaller.java
+++ b/ccm-core/src/com/arsdigita/portation/modules/core/security/UserMarshaller.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
-package com.arsdigita.portation.categories.core.User;
+package com.arsdigita.portation.categories.core.security;
import com.arsdigita.portation.AbstractMarshaller;
diff --git a/ccm-core/src/com/arsdigita/portation/categories/core/Utils/CollectionConverter.java b/ccm-core/src/com/arsdigita/portation/modules/core/utils/CollectionConverter.java
similarity index 92%
rename from ccm-core/src/com/arsdigita/portation/categories/core/Utils/CollectionConverter.java
rename to ccm-core/src/com/arsdigita/portation/modules/core/utils/CollectionConverter.java
index dc7cf7b77..d751b62e0 100644
--- a/ccm-core/src/com/arsdigita/portation/categories/core/Utils/CollectionConverter.java
+++ b/ccm-core/src/com/arsdigita/portation/modules/core/utils/CollectionConverter.java
@@ -16,15 +16,15 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
-package com.arsdigita.portation.categories.core.Utils;
+package com.arsdigita.portation.categories.core.utils;
import com.arsdigita.kernel.EmailAddress;
import com.arsdigita.kernel.GroupCollection;
import com.arsdigita.kernel.PartyCollection;
import com.arsdigita.kernel.UserCollection;
-import com.arsdigita.portation.categories.core.Group.Group;
-import com.arsdigita.portation.categories.core.Party.Party;
-import com.arsdigita.portation.categories.core.User.User;
+import com.arsdigita.portation.categories.core.security.Group;
+import com.arsdigita.portation.categories.core.security.Party;
+import com.arsdigita.portation.categories.core.security.User;
import org.apache.log4j.Logger;
import java.util.ArrayList;
diff --git a/ccm-core/src/com/arsdigita/portation/modules/core/workflow/Task.java b/ccm-core/src/com/arsdigita/portation/modules/core/workflow/Task.java
new file mode 100644
index 000000000..8d571eb63
--- /dev/null
+++ b/ccm-core/src/com/arsdigita/portation/modules/core/workflow/Task.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2015 LibreCCM Foundation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+package com.arsdigita.portation.modules.core.workflow;
+
+import com.arsdigita.portation.AbstractMarshaller;
+import com.arsdigita.portation.Identifiable;
+import com.arsdigita.portation.modules.core.l10n.LocalizedString;
+
+import java.util.List;
+
+/**
+ * @author Tobias Osmers<\a>
+ * @version created the 6/15/16
+ */
+public class TaskAssignment implements Identifiable {
+
+ private String trunkClass;
+
+ private long taskAssignmentId;
+ private UserTask task;
+ private Role role;
+
+ public TaskAssignment() {
+
+ }
+
+
+ @Override
+ public String getTrunkClass() {
+ return this.trunkClass;
+ }
+
+ @Override
+ public void setTrunkClass(String trunkClass) {
+ this.trunkClass = trunkClass;
+ }
+
+ @Override
+ public AbstractMarshaller extends Identifiable> getMarshaller() {
+ return new TaskAssignmentMarshaller();
+ }
+}
diff --git a/ccm-core/src/com/arsdigita/portation/modules/core/workflow/TaskAssignmentMarshaller.java b/ccm-core/src/com/arsdigita/portation/modules/core/workflow/TaskAssignmentMarshaller.java
new file mode 100644
index 000000000..8550c1a72
--- /dev/null
+++ b/ccm-core/src/com/arsdigita/portation/modules/core/workflow/TaskAssignmentMarshaller.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2015 LibreCCM Foundation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+package com.arsdigita.portation.modules.core.workflow;
+
+import com.arsdigita.portation.AbstractMarshaller;
+
+/**
+ * @author Tobias Osmers<\a>
+ * @version created the 6/15/16
+ */
+public class TaskMarshaller extends AbstractMarshaller {
+}
diff --git a/ccm-core/src/com/arsdigita/portation/modules/core/workflow/UserTask.java b/ccm-core/src/com/arsdigita/portation/modules/core/workflow/UserTask.java
new file mode 100644
index 000000000..c6ed60721
--- /dev/null
+++ b/ccm-core/src/com/arsdigita/portation/modules/core/workflow/UserTask.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2015 LibreCCM Foundation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+package com.arsdigita.portation.modules.core.workflow;
+
+import com.arsdigita.portation.AbstractMarshaller;
+import com.arsdigita.portation.Identifiable;
+import com.arsdigita.portation.modules.core.security.User;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author Tobias Osmers<\a>
+ * @version created the 6/15/16
+ */
+public class UserTaskMarshaller extends AbstractMarshaller {
+}
diff --git a/ccm-core/src/com/arsdigita/portation/modules/core/workflow/Workflow.java b/ccm-core/src/com/arsdigita/portation/modules/core/workflow/Workflow.java
new file mode 100644
index 000000000..5fb091ec2
--- /dev/null
+++ b/ccm-core/src/com/arsdigita/portation/modules/core/workflow/Workflow.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2015 LibreCCM Foundation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+package com.arsdigita.portation.modules.core.workflow;
+
+import com.arsdigita.portation.AbstractMarshaller;
+import com.arsdigita.portation.Identifiable;
+import com.arsdigita.portation.modules.core.l10n.LocalizedString;
+
+import java.util.List;
+
+/**
+ * @author Tobias Osmers<\a>
+ * @version created the 6/15/16
+ */
+public class WorkflowMarshaller extends AbstractMarshaller {
+}