Commit a9d0d9db by Chamath

MarkAsRead web service added.

parent 23ae6698
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<column name="is_read" type="Boolean" nullable="true"/> <column name="is_read" type="Boolean" nullable="true"/>
<column name="sent_by" type="Long" length="11" nullable="true"/> <column name="sent_by" type="Long" length="11" nullable="true"/>
<column name="work_flow_message" type="Long" length="11" nullable="true"/> <column name="work_flow_message" type="Long" length="11" nullable="true"/>
<column name="job_application_id" type="Long" length="11" nullable="true"/> <column name="job_application_id" type="Long" length="11" nullable="false"/>
</NODE> </NODE>
<NODE name="INDEX" factory="Participant" class="oneit.sql.transfer.DefineIndexOperation" tableName="tl_message" indexName="idx_tl_message_job_application_id" isUnique="false"><column name="job_application_id"/></NODE> <NODE name="INDEX" factory="Participant" class="oneit.sql.transfer.DefineIndexOperation" tableName="tl_message" indexName="idx_tl_message_job_application_id" isUnique="false"><column name="job_application_id"/></NODE>
......
...@@ -13,7 +13,7 @@ CREATE TABLE tl_message ( ...@@ -13,7 +13,7 @@ CREATE TABLE tl_message (
is_read char(1) NULL, is_read char(1) NULL,
sent_by numeric(12) NULL, sent_by numeric(12) NULL,
work_flow_message numeric(12) NULL, work_flow_message numeric(12) NULL,
job_application_id numeric(12) NULL job_application_id numeric(12) NOT NULL
); );
......
...@@ -14,7 +14,7 @@ CREATE TABLE tl_message ( ...@@ -14,7 +14,7 @@ CREATE TABLE tl_message (
is_read char(1) NULL, is_read char(1) NULL,
sent_by number(12) NULL, sent_by number(12) NULL,
work_flow_message number(12) NULL, work_flow_message number(12) NULL,
job_application_id number(12) NULL job_application_id number(12) NOT NULL
); );
......
...@@ -14,7 +14,7 @@ CREATE TABLE tl_message ( ...@@ -14,7 +14,7 @@ CREATE TABLE tl_message (
is_read char(1) NULL, is_read char(1) NULL,
sent_by numeric(12) NULL, sent_by numeric(12) NULL,
work_flow_message numeric(12) NULL, work_flow_message numeric(12) NULL,
job_application_id numeric(12) NULL job_application_id numeric(12) NOT NULL
); );
......
...@@ -184,7 +184,7 @@ public abstract class BaseMessage extends BaseBusinessClass ...@@ -184,7 +184,7 @@ public abstract class BaseMessage extends BaseBusinessClass
metaInfo.put ("backreferenceName", "Messages"); metaInfo.put ("backreferenceName", "Messages");
metaInfo.put ("dbcol", "job_application_id"); metaInfo.put ("dbcol", "job_application_id");
metaInfo.put ("mandatory", "false"); metaInfo.put ("mandatory", "true");
metaInfo.put ("name", "JobApplication"); metaInfo.put ("name", "JobApplication");
metaInfo.put ("type", "JobApplication"); metaInfo.put ("type", "JobApplication");
metaInfo.put (METADATA_DB_TABLENAME, "tl_message"); metaInfo.put (METADATA_DB_TABLENAME, "tl_message");
...@@ -1030,6 +1030,8 @@ public abstract class BaseMessage extends BaseBusinessClass ...@@ -1030,6 +1030,8 @@ public abstract class BaseMessage extends BaseBusinessClass
*/ */
public void setJobApplication (JobApplication newJobApplication) throws StorageException, FieldException public void setJobApplication (JobApplication newJobApplication) throws StorageException, FieldException
{ {
BusinessObjectParser.assertFieldCondition (newJobApplication != null, this, SINGLEREFERENCE_JobApplication, "mandatory");
if (_JobApplication.wouldReferencedChange (newJobApplication)) if (_JobApplication.wouldReferencedChange (newJobApplication))
{ {
assertValid(); assertValid();
...@@ -1453,6 +1455,8 @@ public abstract class BaseMessage extends BaseBusinessClass ...@@ -1453,6 +1455,8 @@ public abstract class BaseMessage extends BaseBusinessClass
super.validate (context); super.validate (context);
context.check (getJobApplicationID() != null, this, SINGLEREFERENCE_JobApplication, "mandatory");
} }
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<SINGLEREFERENCE name="SentBy" type="SecUser" dbcol="sent_by" /> <SINGLEREFERENCE name="SentBy" type="SecUser" dbcol="sent_by" />
<SINGLEREFERENCE name="WorkFlowMessage" type="WorkFlowMessage" dbcol="work_flow_message" /> <SINGLEREFERENCE name="WorkFlowMessage" type="WorkFlowMessage" dbcol="work_flow_message" />
<SINGLEREFERENCE name="JobApplication" type="JobApplication" dbcol="job_application_id" backreferenceName="Messages" mandatory="false"/> <SINGLEREFERENCE name="JobApplication" type="JobApplication" dbcol="job_application_id" backreferenceName="Messages" mandatory="true"/>
</TABLE> </TABLE>
......
/*
* IMPORTANT!!!! XSL Autogenerated class, DO NOT EDIT!!!!!
* Template: Infrastructure9.0 [oneit.objstore.BusinessObjectTemplate.xsl]
* Vendor: Apache Software Foundation (Xalan XSLTC) (Version: 1.0)
*/
package performa.ws;
import java.io.*;
import java.util.*;
import oneit.appservices.config.*;
import oneit.logging.*;
import oneit.objstore.*;
import oneit.objstore.assocs.*;
import oneit.objstore.attributes.*;
import oneit.objstore.rdbms.filters.*;
import oneit.objstore.parser.*;
import oneit.objstore.validator.*;
import oneit.objstore.utils.*;
import oneit.utils.*;
import oneit.utils.filter.Filter;
import oneit.utils.transform.*;
import oneit.utils.parsers.FieldException;
import oneit.appservices.ws.services.*;
import performa.orm.*;
// __#BUILD_NO_TABLE_NAME#: No table name == No persistence manager and scripts required.
public abstract class BaseMarkAsReadWSFP extends WebServicesFormProcessor
{
// Reference instance for the object
public static final MarkAsReadWSFP REFERENCE_MarkAsReadWSFP = new MarkAsReadWSFP ();
// Reference instance for the object
public static final MarkAsReadWSFP DUMMY_MarkAsReadWSFP = new DummyMarkAsReadWSFP ();
// Static constants corresponding to field names
public static final String SINGLEREFERENCE_JobApplication = "JobApplication";
// Static constants corresponding to searches
// Static constants corresponding to attribute helpers
// Private attributes corresponding to business object data
// Private attributes corresponding to single references
private SingleAssociation<MarkAsReadWSFP, JobApplication> _JobApplication;
// Private attributes corresponding to multiple references
// Map of maps of metadata
private static final Map ATTRIBUTES_METADATA_MarkAsReadWSFP = new LinkedHashMap ();
// Arrays of validators for each attribute
// Arrays of AttributeDecorators for each attribute
// Arrays of SingleAssocDecorators for each attribute
private static final SingleAssocDecorator<MarkAsReadWSFP, JobApplication>[] SINGLEREFERENCE_JobApplication_Decorators;
// Arrays of MultiAssocDecorators for each attribute
// Arrays of behaviour decorators
private static final MarkAsReadWSFPBehaviourDecorator[] MarkAsReadWSFP_BehaviourDecorators;
static
{
try
{
Map validatorMapping = ((Map)ConfigMgr.getConfigObject ("CONFIG.ORMVALIDATOR", "ValidatorMapping"));
setupAssocMetaData_JobApplication();
SINGLEREFERENCE_JobApplication_Decorators = (SingleAssocDecorator[])AttributeDecoratorUtils.getSingleAssocDecorators(REFERENCE_MarkAsReadWSFP, SINGLEREFERENCE_JobApplication).toArray (new SingleAssocDecorator[0]);
REFERENCE_MarkAsReadWSFP.initialiseReference ();
DUMMY_MarkAsReadWSFP.initialiseReference ();
MarkAsReadWSFP_BehaviourDecorators = BaseBusinessClass.getBBCBehaviours(MarkAsReadWSFP.class).toArray(new MarkAsReadWSFPBehaviourDecorator[0]);
}
catch (RuntimeException e)
{
LogMgr.log (BUSINESS_OBJECTS, LogLevel.SYSTEMERROR1, e, "Error initialising");
throw e;
}
}
private static void setupAssocMetaData_JobApplication()
{
Map metaInfo = new HashMap ();
metaInfo.put ("mandatory", "true");
metaInfo.put ("name", "JobApplication");
metaInfo.put ("type", "JobApplication");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for MarkAsReadWSFP.JobApplication:", metaInfo);
ATTRIBUTES_METADATA_MarkAsReadWSFP.put (SINGLEREFERENCE_JobApplication, Collections.unmodifiableMap (metaInfo));
}
// END OF STATIC METADATA DEFINITION
// This constructor should not be called
protected BaseMarkAsReadWSFP ()
{
}
protected BBCBehaviourDecorator[] getBehaviours()
{
return MarkAsReadWSFP_BehaviourDecorators;
}
protected void _initialiseNewObjAttributes (ObjectTransaction transaction) throws StorageException
{
super._initialiseNewObjAttributes (transaction);
}
protected void _initialiseAssociations ()
{
super._initialiseAssociations ();
_JobApplication = new SingleAssociation<MarkAsReadWSFP, JobApplication> (this, SINGLEREFERENCE_JobApplication, null, JobApplication.REFERENCE_JobApplication, "");
}
protected BaseBusinessClass initialiseReference ()
{
super.initialiseReference ();
_JobApplication = new SingleAssociation<MarkAsReadWSFP, JobApplication> (this, SINGLEREFERENCE_JobApplication, null, JobApplication.REFERENCE_JobApplication, "");
return this;
}
/**
* A list of multi assoc names e.g. list of strings.
*/
public List<String> getSingleAssocs()
{
List result = super.getSingleAssocs ();
result.add("JobApplication");
return result;
}
public BaseBusinessClass getSingleAssocReferenceInstance (String assocName)
{
if (assocName == null)
{
throw new RuntimeException ("Game over == null!");
}
else if (assocName.equals (SINGLEREFERENCE_JobApplication))
{
return _JobApplication.getReferencedType ();
}
else
{
return super.getSingleAssocReferenceInstance (assocName);
}
}
public String getSingleAssocBackReference(String assocName)
{
if (assocName == null)
{
throw new RuntimeException ("Game over == null!");
}
else if (assocName.equals (SINGLEREFERENCE_JobApplication))
{
return null ;
}
else
{
return super.getSingleAssocBackReference (assocName);
}
}
public BaseBusinessClass getSingleAssoc (String assocName) throws StorageException
{
if (assocName == null)
{
throw new RuntimeException ("Game over == null!");
}
else if (assocName.equals (SINGLEREFERENCE_JobApplication))
{
return getJobApplication ();
}
else
{
return super.getSingleAssoc (assocName);
}
}
public BaseBusinessClass getSingleAssoc (String assocName, Get getType) throws StorageException
{
if (assocName == null)
{
throw new RuntimeException ("Game over == null!");
}
else if (assocName.equals (SINGLEREFERENCE_JobApplication))
{
return getJobApplication (getType);
}
else
{
return super.getSingleAssoc (assocName, getType);
}
}
public Long getSingleAssocID (String assocName) throws StorageException
{
if (assocName == null)
{
throw new RuntimeException ("Game over == null!");
}
else if (assocName.equals (SINGLEREFERENCE_JobApplication))
{
return getJobApplicationID ();
}
else
{
return super.getSingleAssocID (assocName);
}
}
public void setSingleAssoc (String assocName, BaseBusinessClass newValue) throws StorageException, FieldException
{
if (assocName == null)
{
throw new RuntimeException ("Game over == null!");
}
else if (assocName.equals (SINGLEREFERENCE_JobApplication))
{
setJobApplication ((JobApplication)(newValue));
}
else
{
super.setSingleAssoc (assocName, newValue);
}
}
/**
* Get the reference JobApplication
*/
public JobApplication getJobApplication () throws StorageException
{
assertValid();
try
{
return (JobApplication)(_JobApplication.get ());
}
catch (ClassCastException e)
{
LogMgr.log (BUSINESS_OBJECTS, LogLevel.SYSTEMERROR2, "Cache collision in MarkAsReadWSFP:", this.getObjectID (), ", was trying to get JobApplication:", getJobApplicationID ());
LogMgr.log (BUSINESS_OBJECTS, LogLevel.SYSTEMERROR2, "Instead I got:", _JobApplication.get ().getClass ());
throw e;
}
}
/**
* Get the object id for the referenced object. Does not force a DB access.
*/
public JobApplication getJobApplication (Get getType) throws StorageException
{
assertValid();
return _JobApplication.get(getType);
}
/**
* Get the object id for the referenced object. Does not force a DB access.
*/
public Long getJobApplicationID ()
{
assertValid();
if (_JobApplication == null)
{
return null;
}
else
{
return _JobApplication.getID ();
}
}
/**
* Called prior to the assoc changing. Subclasses need not call super. If a field exception
* is thrown, the attribute change will fail. The new value is different to the old value.
*/
protected void preJobApplicationChange (JobApplication newJobApplication) throws FieldException
{
}
/**
* Called after the assoc changes.
* If a field exception is thrown, the value is still changed, however it
* may lead to the TX being rolled back
*/
protected void postJobApplicationChange () throws FieldException
{
}
public FieldWriteability getWriteability_JobApplication ()
{
return getFieldWritabilityUtil (FieldWriteability.TRUE);
}
/**
* Set the reference JobApplication. Checks to ensure a new value
* has been supplied. If so, marks the reference as altered and sets it.
*/
public void setJobApplication (JobApplication newJobApplication) throws StorageException, FieldException
{
BusinessObjectParser.assertFieldCondition (newJobApplication != null, this, SINGLEREFERENCE_JobApplication, "mandatory");
if (_JobApplication.wouldReferencedChange (newJobApplication))
{
assertValid();
Debug.assertion (AttributeDecoratorUtils.getWriteability (SINGLEREFERENCE_JobApplication_Decorators, (MarkAsReadWSFP)this, SINGLEREFERENCE_JobApplication ,getWriteability_JobApplication ()) != FieldWriteability.FALSE, "Assoc JobApplication is not writeable");
preJobApplicationChange (newJobApplication);
_JobApplication.set (newJobApplication);
postJobApplicationChange ();
}
}
/**
* A list of multi assoc names e.g. list of strings.
*/
public List<String> getMultiAssocs()
{
List result = super.getMultiAssocs ();
return result;
}
/**
* Get the reference instance for the multi assoc name.
*/
public BaseBusinessClass getMultiAssocReferenceInstance(String attribName)
{
return super.getMultiAssocReferenceInstance(attribName);
}
public String getMultiAssocBackReference(String attribName)
{
return super.getMultiAssocBackReference(attribName);
}
/**
* Get the assoc count for the multi assoc name.
*/
public int getMultiAssocCount(String attribName) throws StorageException
{
return super.getMultiAssocCount(attribName);
}
/**
* Get the assoc at a particular index
*/
public BaseBusinessClass getMultiAssocAt(String attribName, int index) throws StorageException
{
return super.getMultiAssocAt(attribName, index);
}
/**
* Add to a multi assoc by attribute name
*/
public void addToMultiAssoc(String attribName, BaseBusinessClass newElement) throws StorageException
{
super.addToMultiAssoc(attribName, newElement);
}
/**
* Remove from a multi assoc by attribute name
*/
public void removeFromMultiAssoc(String attribName, BaseBusinessClass oldElement) throws StorageException
{
super.removeFromMultiAssoc(attribName, oldElement);
}
protected void __loadMultiAssoc (String attribName, BaseBusinessClass[] elements)
{
super.__loadMultiAssoc(attribName, elements);
}
protected boolean __isMultiAssocLoaded (String attribName)
{
return super.__isMultiAssocLoaded(attribName);
}
public void onDelete ()
{
try
{
}
catch (Exception e)
{
throw NestedException.wrap(e);
}
super.onDelete ();
}
public MarkAsReadWSFP newInstance ()
{
return new MarkAsReadWSFP ();
}
public MarkAsReadWSFP referenceInstance ()
{
return REFERENCE_MarkAsReadWSFP;
}
public MarkAsReadWSFP getInTransaction (ObjectTransaction t) throws StorageException
{
return getMarkAsReadWSFPByID (t, getObjectID());
}
public BaseBusinessClass dummyInstance ()
{
return DUMMY_MarkAsReadWSFP;
}
public String getBaseSetName ()
{
return "";
}
/**
* This is where an object returns the Persistent sets that will
* store it into the database.
* The should be entered into allSets
*/
public void getPersistentSets (PersistentSetCollection allSets)
{
ObjectStatus myStatus = getStatus ();
PersistentSetStatus myPSetStatus = myStatus.getPSetStatus();
ObjectID myID = getID();
super.getPersistentSets (allSets);
PersistentSet PSet = allSets.getPersistentSet (myID, "", myPSetStatus);
PSet.setAttrib (FIELD_ObjectID, myID);
_JobApplication.getPersistentSets (allSets);
}
/**
* Sets the objects state based on Persistent sets.
*/
public void setFromPersistentSets (ObjectID objectID, PersistentSetCollection allSets)
{
super.setFromPersistentSets (objectID, allSets);
PersistentSet PSet = allSets.getPersistentSet (objectID, "");
_JobApplication.setFromPersistentSets (objectID, allSets);
}
public void setAttributesFrom (BaseBusinessClass other, MultiException e)
{
super.setAttributesFrom (other, e);
if (other instanceof MarkAsReadWSFP)
{
MarkAsReadWSFP otherMarkAsReadWSFP = (MarkAsReadWSFP)other;
}
}
/**
* Set the attributes in this to copies of the attributes in source.
*/
public void copyAttributesFrom (BaseBusinessClass source)
{
super.copyAttributesFrom (source);
if (source instanceof BaseMarkAsReadWSFP)
{
BaseMarkAsReadWSFP sourceMarkAsReadWSFP = (BaseMarkAsReadWSFP)(source);
}
}
/**
* Set the associations in this to copies of the attributes in source.
*/
public void copySingleAssociationsFrom (BaseBusinessClass source, boolean linkToGhosts)
{
super.copySingleAssociationsFrom (source, linkToGhosts);
if (source instanceof BaseMarkAsReadWSFP)
{
BaseMarkAsReadWSFP sourceMarkAsReadWSFP = (BaseMarkAsReadWSFP)(source);
_JobApplication.copyFrom (sourceMarkAsReadWSFP._JobApplication, linkToGhosts);
}
}
/**
* Set the associations in this to copies of the attributes in source.
*/
public void copyAssociationsFrom (BaseBusinessClass source, boolean linkToGhosts)
{
super.copyAssociationsFrom (source, linkToGhosts);
if (source instanceof BaseMarkAsReadWSFP)
{
BaseMarkAsReadWSFP sourceMarkAsReadWSFP = (BaseMarkAsReadWSFP)(source);
}
}
public void validate (ValidationContext context)
{
super.validate (context);
context.check (getJobApplicationID() != null, this, SINGLEREFERENCE_JobApplication, "mandatory");
}
/**
* Subclasses must override this to read in their attributes
*/
protected void readExternalData(Map<String, Object> vals) throws IOException, ClassNotFoundException
{
super.readExternalData(vals);
_JobApplication.readExternalData(vals.get(SINGLEREFERENCE_JobApplication));
}
/**
* Subclasses must override this to write out their attributes
*/
protected void writeExternalData(Map<String, Object> vals) throws IOException
{
super.writeExternalData(vals);
vals.put (SINGLEREFERENCE_JobApplication, _JobApplication.writeExternalData());
}
public void compare (BaseBusinessClass other, AttributeChangeListener listener) throws StorageException
{
super.compare (other, listener);
if (other instanceof BaseMarkAsReadWSFP)
{
BaseMarkAsReadWSFP otherMarkAsReadWSFP = (BaseMarkAsReadWSFP)(other);
// Compare single assocs
_JobApplication.compare (otherMarkAsReadWSFP._JobApplication, listener);
// Compare multiple assocs
}
}
public void visitTransients (AttributeVisitor visitor) throws StorageException
{
super.visitAttributes (visitor);
}
public void visitAttributes (AttributeVisitor visitor) throws StorageException
{
super.visitAttributes (visitor);
visitor.visitAssociation (_JobApplication);
}
public void visitAssociations (AssociationVisitor visitor, AssociatedScope scope) throws StorageException
{
super.visitAssociations (visitor, scope);
if (scope.includes (_JobApplication))
{
visitor.visit (_JobApplication);
}
}
public static MarkAsReadWSFP createMarkAsReadWSFP (ObjectTransaction transaction) throws StorageException
{
MarkAsReadWSFP result = new MarkAsReadWSFP ();
result.initialiseNewObject (transaction);
return result;
}
public static MarkAsReadWSFP getMarkAsReadWSFPByID (ObjectTransaction transaction, Long objectID) throws StorageException
{
return (MarkAsReadWSFP)(transaction.getObjectByID (REFERENCE_MarkAsReadWSFP, objectID));
}
public boolean testFilter (String attribName, QueryFilter filter) throws StorageException
{
if (false)
{
throw new RuntimeException ("Game over man!!");
}
else if (attribName.equals (SINGLEREFERENCE_JobApplication))
{
return filter.matches (getJobApplication ());
}
else
{
return super.testFilter (attribName, filter);
}
}
public Object getAttribute (String attribName)
{
if (false)
{
throw new RuntimeException ("Game over man!!");
}
else
{
return super.getAttribute (attribName);
}
}
public AttributeHelper getAttributeHelper (String attribName)
{
if (false)
{
throw new RuntimeException ("Game over man!!");
}
else
{
return super.getAttributeHelper (attribName);
}
}
public void setAttribute (String attribName, Object attribValue) throws FieldException
{
if (false)
{
throw new RuntimeException ("Game over man!!");
}
else
{
super.setAttribute (attribName, attribValue);
}
}
public boolean isWriteable (String fieldName)
{
return getWriteable (fieldName) == FieldWriteability.TRUE;
}
public boolean isReadable ()
{
return super.isReadable();
}
public boolean isReadable (String fieldName)
{
return super.isReadable(fieldName);
}
public FieldWriteability getWriteable (String fieldName)
{
if (false)
{
throw new RuntimeException ("Game over man!!");
}
else if (fieldName.equals (SINGLEREFERENCE_JobApplication))
{
return getWriteability_JobApplication ();
}
else
{
return super.getWriteable (fieldName);
}
}
public void putUnwriteable (Set<String> fields)
{
super.putUnwriteable (fields);
}
// This generally means there's no specific persistence manager and we don't read or write from a table
public boolean hasNoTable()
{
return true;
}
public List<AbstractAttribute> getAttributes ()
{
List result = super.getAttributes ();
return result;
}
public Map getAttributeMetadata (String attribute)
{
if (ATTRIBUTES_METADATA_MarkAsReadWSFP.containsKey (attribute))
{
return (Map)ATTRIBUTES_METADATA_MarkAsReadWSFP.get (attribute);
}
else
{
return super.getAttributeMetadata (attribute);
}
}
public Object getAttributeMetadata (String attribute, String metadata)
{
if (ATTRIBUTES_METADATA_MarkAsReadWSFP.containsKey (attribute))
{
return ((Map)ATTRIBUTES_METADATA_MarkAsReadWSFP.get (attribute)).get(metadata);
}
else
{
return super.getAttributeMetadata (attribute, metadata);
}
}
public void copyAllAttributeMetadata (Map copyInto)
{
super.copyAllAttributeMetadata(copyInto);
copyInto.putAll(ATTRIBUTES_METADATA_MarkAsReadWSFP);
}
public void preCommit (boolean willBeStored) throws Exception
{
super.preCommit(willBeStored);
if(willBeStored)
{
}
}
public oneit.servlets.objstore.binary.BinaryContentHandler getBinaryContentHandler(String attribName)
{
return super.getBinaryContentHandler(attribName);
}
public static class MarkAsReadWSFPBehaviourDecorator extends BaseBusinessClass.BBCBehaviourDecorator<MarkAsReadWSFP>
{
}
@Override
public ORMPipeLine pipes()
{
return new MarkAsReadWSFPPipeLineFactory<MarkAsReadWSFP, MarkAsReadWSFP> ((MarkAsReadWSFP)this);
}
@Override
public ORMPipeLine pipes(Collection _items)
{
return pipesMarkAsReadWSFP(_items);
}
/**
* Use this instead of pipes() to get rid of type casting.
*/
public MarkAsReadWSFPPipeLineFactory<MarkAsReadWSFP, MarkAsReadWSFP> pipelineMarkAsReadWSFP()
{
return (MarkAsReadWSFPPipeLineFactory<MarkAsReadWSFP, MarkAsReadWSFP>) pipes();
}
public static MarkAsReadWSFPPipeLineFactory<MarkAsReadWSFP, MarkAsReadWSFP> pipesMarkAsReadWSFP(Collection<MarkAsReadWSFP> items)
{
return REFERENCE_MarkAsReadWSFP.new MarkAsReadWSFPPipeLineFactory<MarkAsReadWSFP, MarkAsReadWSFP> (items);
}
public static MarkAsReadWSFPPipeLineFactory<MarkAsReadWSFP, MarkAsReadWSFP> pipesMarkAsReadWSFP(MarkAsReadWSFP[] _items)
{
return pipesMarkAsReadWSFP(Arrays.asList (_items));
}
public static MarkAsReadWSFPPipeLineFactory<MarkAsReadWSFP, MarkAsReadWSFP> pipesMarkAsReadWSFP()
{
return pipesMarkAsReadWSFP((Collection)null);
}
public class MarkAsReadWSFPPipeLineFactory<From extends BaseBusinessClass, Me extends MarkAsReadWSFP> extends WebServicesFormProcessorPipeLineFactory<From, Me>
{
public <Prev> MarkAsReadWSFPPipeLineFactory (PipeLine<From, Prev> pipeLine, Pipe<Prev, Me> nextPipe)
{
super (pipeLine, nextPipe);
}
public MarkAsReadWSFPPipeLineFactory (From seed)
{
super(seed);
}
public MarkAsReadWSFPPipeLineFactory (Collection<From> seed)
{
super(seed);
}
public PipeLine<From, ? extends Object> to(String name)
{
if (name.equals ("JobApplication"))
{
return toJobApplication ();
}
return super.to(name);
}
public JobApplication.JobApplicationPipeLineFactory<From, JobApplication> toJobApplication () { return toJobApplication (Filter.ALL); }
public JobApplication.JobApplicationPipeLineFactory<From, JobApplication> toJobApplication (Filter<JobApplication> filter)
{
return JobApplication.REFERENCE_JobApplication.new JobApplicationPipeLineFactory<From, JobApplication> (this, new ORMSingleAssocPipe<Me, JobApplication>(SINGLEREFERENCE_JobApplication, filter));
}
}
public boolean isTransientAttrib(String attribName)
{
return super.isTransientAttrib(attribName);
}
public boolean isTransientSingleReference(String assocName)
{
return super.isTransientSingleReference(assocName);
}
}
class DummyMarkAsReadWSFP extends MarkAsReadWSFP
{
// Default constructor primarily to support Externalisable
public DummyMarkAsReadWSFP()
{
super();
}
public void assertValid ()
{
}
public JobApplication getJobApplication () throws StorageException
{
return (JobApplication)(JobApplication.DUMMY_JobApplication);
}
/**
* Get the object id for the referenced object. Does not force a DB access.
*/
public Long getJobApplicationID ()
{
return JobApplication.DUMMY_JobApplication.getObjectID();
}
}
package performa.ws;
import java.util.*;
import oneit.appservices.ws.JSONServiceRequest;
import oneit.logging.*;
import oneit.objstore.*;
import oneit.utils.*;
import oneit.utils.parsers.FieldException;
import org.json.*;
import performa.orm.*;
public class MarkAsReadWSFP extends BaseMarkAsReadWSFP
{
private static final long serialVersionUID = 0L;
public static LoggingArea LOG = LoggingArea.createLoggingArea("MarkAsReadWSFPLOG");
// This constructor should not be called
public MarkAsReadWSFP ()
{
// Do not add any code to this, always put it in initialiseNewObject
}
@Override
public void processForm(JSONServiceRequest request, ObjectTransaction objTran, JSONObject result, MultiException exceptions,
Set<BaseBusinessClass> createdBBCs, Set<BaseBusinessClass> updatedBBCs) throws BusinessException, JSONException
{
JobApplication jobApplication = getJobApplication();
try
{
for (Message message : jobApplication.getMessagesSet())
{
message.setIsRead(Boolean.TRUE);
}
}
catch (FieldException ex)
{
LogMgr.log(LOG, LogLevel.BUSINESS1, ex, "Failed to update as Read in MarkAsReadWSFP");
throw new BusinessException("Failed to update as Read");
}
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<ROOT xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://www.oneit.com.au/schemas/5.2/BusinessObject.xsd'>
<BUSINESSCLASS name='MarkAsReadWSFP' package='performa.ws' superclass='WebServicesFormProcessor'>
       <IMPORT value="oneit.appservices.ws.services.*"/>
<IMPORT value="performa.orm.*"/>
<TABLE tablePrefix="object" polymorphic="FALSE">
<SINGLEREFERENCE name="JobApplication" type="JobApplication" mandatory="true" />
</TABLE>
</BUSINESSCLASS>
</ROOT>
\ No newline at end of file
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
<NODE name="SaveWebService::Performa"> <NODE name="SaveWebService::Performa">
<Privilege name="performa.orm.MessageTemplate" factory="String" value="*"/> <Privilege name="performa.orm.MessageTemplate" factory="String" value="*"/>
<Privilege name="performa.orm.WorkFlowTemplate" factory="String" value="*"/> <Privilege name="performa.orm.WorkFlowTemplate" factory="String" value="*"/>
<Privilege name="performa.orm.Message" factory="String" value="*"/>
</NODE> </NODE>
<NODE name="JSONServices::Performa"> <NODE name="JSONServices::Performa">
...@@ -90,6 +91,10 @@ ...@@ -90,6 +91,10 @@
<INHERITS nodename="SaveWebService::.*" mandatory="false"/> <INHERITS nodename="SaveWebService::.*" mandatory="false"/>
</NODE> </NODE>
<NODE name="MarkAsRead" factory="Participant" class="oneit.appservices.ws.services.ORMFormProcessorService" fpClass="performa.ws.MarkAsReadWSFP" privilege="*">
<Overview>This service will set all messages to read in given job application</Overview>
</NODE>
<!-- Enum services --> <!-- Enum services -->
<NODE name="ResponseAction" factory="Participant" class="oneit.appservices.ws.services.EnumJSONService" enumClass="performa.orm.types.ResponseAction" privilege="*"/> <NODE name="ResponseAction" factory="Participant" class="oneit.appservices.ws.services.EnumJSONService" enumClass="performa.orm.types.ResponseAction" privilege="*"/>
<NODE name="StageType" factory="Participant" class="oneit.appservices.ws.services.EnumJSONService" enumClass="performa.orm.types.StageType" privilege="*"/> <NODE name="StageType" factory="Participant" class="oneit.appservices.ws.services.EnumJSONService" enumClass="performa.orm.types.StageType" privilege="*"/>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment