/**
* Copyright (c) 2011, SOCIETIES Consortium (WATERFORD INSTITUTE OF TECHNOLOGY (TSSG), HERIOT-WATT UNIVERSITY (HWU), SOLUTA.NET
* (SN), GERMAN AEROSPACE CENTRE (Deutsches Zentrum fuer Luft- und Raumfahrt e.V.) (DLR), Zavod za varnostne tehnologije
* informacijske družbe in elektronsko poslovanje (SETCCE), INSTITUTE OF COMMUNICATION AND COMPUTER SYSTEMS (ICCS), LAKE
* COMMUNICATIONS (LAKE), INTEL PERFORMANCE LEARNING SOLUTIONS LTD (INTEL), PORTUGAL TELECOM INOVAÇÃO, SA (PTIN), IBM Corp.,
* INSTITUT TELECOM (ITSUD), AMITEC DIACHYTI EFYIA PLIROFORIKI KAI EPIKINONIES ETERIA PERIORISMENIS EFTHINIS (AMITEC), TELECOM
* ITALIA S.p.a.(TI), TRIALOG (TRIALOG), Stiftelsen SINTEF (SINTEF), NEC EUROPE LTD (NEC))
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following
* conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
* SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.societies.privacytrust.privacyprotection.privacypreferencemanager.management;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.societies.api.context.model.CtxAttributeIdentifier;
import org.societies.api.context.model.CtxModelBeanTranslator;
import org.societies.api.context.model.MalformedCtxIdentifierException;
import org.societies.api.identity.IIdentity;
import org.societies.api.identity.IIdentityManager;
import org.societies.api.identity.Requestor;
import org.societies.api.identity.util.RequestorUtils;
import org.societies.api.internal.schema.privacytrust.privacyprotection.preferences.AccCtrlMappings;
import org.societies.api.internal.schema.privacytrust.privacyprotection.preferences.AccessControlPreferenceDetailsBean;
import org.societies.api.internal.schema.privacytrust.privacyprotection.preferences.DObfMappings;
import org.societies.api.internal.schema.privacytrust.privacyprotection.preferences.DObfPreferenceDetailsBean;
import org.societies.api.internal.schema.privacytrust.privacyprotection.preferences.IDSMappings;
import org.societies.api.internal.schema.privacytrust.privacyprotection.preferences.IDSPreferenceDetailsBean;
import org.societies.api.internal.schema.privacytrust.privacyprotection.preferences.PPNMappings;
import org.societies.api.internal.schema.privacytrust.privacyprotection.preferences.PPNPreferenceDetailsBean;
import org.societies.api.internal.schema.privacytrust.privacyprotection.preferences.RegistryBean;
import org.societies.api.schema.context.model.CtxAttributeIdentifierBean;
import org.societies.privacytrust.privacyprotection.api.model.privacypreference.constants.PrivacyPreferenceTypeConstants;
import org.societies.privacytrust.privacyprotection.api.util.PrivacyPreferenceUtils;
public class Registry implements Serializable{
private Logger logging = LoggerFactory.getLogger(this.getClass());
//the key refers to the name of the preference which will be either ppnp_preference_<n> or ids_preference_<n>
private Hashtable<PPNPreferenceDetailsBean, CtxAttributeIdentifier> ppnpMappings;
private Hashtable<IDSPreferenceDetailsBean, CtxAttributeIdentifier> idsMappings;
private Hashtable<DObfPreferenceDetailsBean, CtxAttributeIdentifier> dobfMappings;
private Hashtable<AccessControlPreferenceDetailsBean, CtxAttributeIdentifier> accCtrlMappings;
int ppnp_index;
int ids_index;
int dobf_index;
int accCtrl_index;
public Registry(){
this.ppnpMappings = new Hashtable<PPNPreferenceDetailsBean, CtxAttributeIdentifier>();
this.idsMappings = new Hashtable<IDSPreferenceDetailsBean, CtxAttributeIdentifier>();
this.dobfMappings = new Hashtable<DObfPreferenceDetailsBean, CtxAttributeIdentifier>();
this.accCtrlMappings = new Hashtable<AccessControlPreferenceDetailsBean, CtxAttributeIdentifier>();
this.dobf_index = 0;
ppnp_index = 0;
ids_index = 0;
this.accCtrl_index = 0;
}
String getNameForNewPreference(PrivacyPreferenceTypeConstants preferenceType){
if (preferenceType.equals(PrivacyPreferenceTypeConstants.PRIVACY_POLICY_NEGOTIATION)){
this.ppnp_index +=1;
return "ppnp_preference_"+this.ppnp_index;
}else if (preferenceType.equals(PrivacyPreferenceTypeConstants.IDENTITY_SELECTION)){
this.ids_index += 1;
return "ids_preference_"+this.ids_index;
}else if (preferenceType.equals(PrivacyPreferenceTypeConstants.DATA_OBFUSCATION)){
this.dobf_index +=1;
return "dobf_preference_"+this.dobf_index;
}else{
this.accCtrl_index +=1;
return "accCtrl_preference_"+this.accCtrl_index;
}
}
void addPPNPreference(PPNPreferenceDetailsBean details, CtxAttributeIdentifier preferenceCtxID){
this.ppnpMappings.put(details, preferenceCtxID);
}
void addIDSPreference(IDSPreferenceDetailsBean details, CtxAttributeIdentifier preferenceCtxID){
//JOptionPane.showMessageDialog(null, "Registry: Adding detail: "+details.toString()+"\nctxID: "+preferenceCtxID.toString());
this.idsMappings.put(details, preferenceCtxID);
}
void addDObfPreference(DObfPreferenceDetailsBean details, CtxAttributeIdentifier preferenceCtxID){
this.dobfMappings.put(details, preferenceCtxID);
}
void addAccessCtrlPreference(AccessControlPreferenceDetailsBean details, CtxAttributeIdentifier preferenceCtxID){
this.accCtrlMappings.put(details, preferenceCtxID);
}
void removePPNPreference(PPNPreferenceDetailsBean details){
Enumeration<PPNPreferenceDetailsBean> e = this.ppnpMappings.keys();
while (e.hasMoreElements()){
PPNPreferenceDetailsBean d = e.nextElement();
if (PrivacyPreferenceUtils.equals(details, d)){
this.ppnpMappings.remove(d);
}
}
/* PPNPreferenceDetailsBean d = this.containsPPNP(details);
if (d!=null){
this.ppnpMappings.remove(d);
}*/
}
void removeIDSPreference(IDSPreferenceDetailsBean details){
IDSPreferenceDetailsBean d = this.containsIDS(details);
if (null!=d){
this.idsMappings.remove(d);
}
}
void removeDObfPreference(DObfPreferenceDetailsBean details){
DObfPreferenceDetailsBean d = this.containsDObf(details);
if (null!=d){
this.dobfMappings.remove(d);
}
}
void removeAccCtrlPreference(AccessControlPreferenceDetailsBean details){
AccessControlPreferenceDetailsBean d = this.containsAccCtrl(details);
if (null!=d){
this.accCtrlMappings.remove(d);
}
}
private PPNPreferenceDetailsBean containsPPNP(PPNPreferenceDetailsBean d){
Enumeration<PPNPreferenceDetailsBean> e = this.ppnpMappings.keys();
this.logging.debug("\n\n\n\nCONTAINS PPNP???\n\n\n\n\n");
while (e.hasMoreElements()){
this.logging.debug("\n\n\n"+this.getClass().getName()+"\nFOUND PREFERENCE of:"+d.toString()+"!\n\n\n\n");
PPNPreferenceDetailsBean detail = e.nextElement();
if (PrivacyPreferenceUtils.equals(detail, d)){
return detail;
}
}
return null;
}
private IDSPreferenceDetailsBean containsIDS(IDSPreferenceDetailsBean d){
Enumeration<IDSPreferenceDetailsBean> e = this.idsMappings.keys();
while (e.hasMoreElements()){
IDSPreferenceDetailsBean detail = e.nextElement();
if (PrivacyPreferenceUtils.equals(d, detail)){
return detail;
}
}
return null;
}
private DObfPreferenceDetailsBean containsDObf(DObfPreferenceDetailsBean d){
Enumeration<DObfPreferenceDetailsBean> e = this.dobfMappings.keys();
while(e.hasMoreElements()){
DObfPreferenceDetailsBean detail = e.nextElement();
if (PrivacyPreferenceUtils.equals(d, detail)){
return detail;
}
}
return null;
}
private AccessControlPreferenceDetailsBean containsAccCtrl(AccessControlPreferenceDetailsBean d){
Enumeration<AccessControlPreferenceDetailsBean> e = this.accCtrlMappings.keys();
while(e.hasMoreElements()){
AccessControlPreferenceDetailsBean detail = e.nextElement();
if (PrivacyPreferenceUtils.equals(d, detail)){
return detail;
}
}
return null;
}
CtxAttributeIdentifier getPPNPreference(PPNPreferenceDetailsBean details){
Enumeration<PPNPreferenceDetailsBean> e = this.ppnpMappings.keys();
while (e.hasMoreElements()){
PPNPreferenceDetailsBean d = e.nextElement();
if (PrivacyPreferenceUtils.equals(d, details)){
return this.ppnpMappings.get(d);
}
}
return null;
//return this.getPPNPreference(details.getDataType(), details.getAffectedDataId(), details.getRequestorDPI(), details.getServiceID());
}
CtxAttributeIdentifier getIDSPreference(IDSPreferenceDetailsBean details){
//return this.getIDSPreference(details.getAffectedDPI(), details.getProviderDPI(), details.getServiceID());
Enumeration<IDSPreferenceDetailsBean> e = this.idsMappings.keys();
while(e.hasMoreElements()){
IDSPreferenceDetailsBean d = e.nextElement();
//JOptionPane.showMessageDialog(null, "Registry: Comparing incoming:\n "+details.toString()+"\nwith existing:\n"+d.toString());
if (PrivacyPreferenceUtils.equals(d, details)){
//JOptionPane.showMessageDialog(null, "Registry: Found match details: "+d.toString());
return this.idsMappings.get(d);
}
}
return null;
}
CtxAttributeIdentifier getDObfPreference(DObfPreferenceDetailsBean details){
Enumeration<DObfPreferenceDetailsBean> e = this.dobfMappings.keys();
while (e.hasMoreElements()){
DObfPreferenceDetailsBean d = e.nextElement();
if (PrivacyPreferenceUtils.equals(d, details)){
return this.dobfMappings.get(d);
}
}
return null;
}
CtxAttributeIdentifier getAccCtrlPreference(AccessControlPreferenceDetailsBean details){
Enumeration<AccessControlPreferenceDetailsBean> e = this.accCtrlMappings.keys();
while(e.hasMoreElements()){
AccessControlPreferenceDetailsBean d = e.nextElement();
if (PrivacyPreferenceUtils.equals(d, details)){
return this.accCtrlMappings.get(d);
}
}
//JOptionPane.showMessageDialog(null, "Not found details in registry");
return null;
}
List<CtxAttributeIdentifier> getPPNPreferences(String contextType){
List<CtxAttributeIdentifier> preferenceCtxIDs = new ArrayList<CtxAttributeIdentifier>();
Enumeration<PPNPreferenceDetailsBean> e = this.ppnpMappings.keys();
while (e.hasMoreElements()){
PPNPreferenceDetailsBean d = e.nextElement();
if (d.getResource().getDataType().equals(contextType)){
preferenceCtxIDs.add(this.ppnpMappings.get(d));
}
}
return preferenceCtxIDs;
}
List<CtxAttributeIdentifier> getIDSPreferences(IIdentity identity){
List<CtxAttributeIdentifier> preferenceCtxIDs = new ArrayList<CtxAttributeIdentifier>();
Enumeration<IDSPreferenceDetailsBean> e = this.idsMappings.keys();
while (e.hasMoreElements()){
IDSPreferenceDetailsBean d = e.nextElement();
if (d.getAffectedIdentity().equals(identity.getJid())){
preferenceCtxIDs.add(this.idsMappings.get(d));
}
}
return preferenceCtxIDs;
}
List<CtxAttributeIdentifier> getAccCtrlPreferences(String contextType){
List<CtxAttributeIdentifier> preferenceCtxIDs = new ArrayList<CtxAttributeIdentifier>();
Enumeration<AccessControlPreferenceDetailsBean> e = this.accCtrlMappings.keys();
while(e.hasMoreElements()){
AccessControlPreferenceDetailsBean d = e.nextElement();
if (d.getResource().getDataType().equals(contextType)){
preferenceCtxIDs.add(this.accCtrlMappings.get(d));
}
}
return preferenceCtxIDs;
}
List<CtxAttributeIdentifier> getDObfPreferences(CtxAttributeIdentifier ctxId){
//TODO: TBD with Olivier
return new ArrayList<CtxAttributeIdentifier>();
}
List<CtxAttributeIdentifier> getPPNPreferences(String contextType, Requestor requestor){
List<CtxAttributeIdentifier> preferenceCtxIDs = new ArrayList<CtxAttributeIdentifier>();
Enumeration<PPNPreferenceDetailsBean> e = this.ppnpMappings.keys();
while (e.hasMoreElements()){
PPNPreferenceDetailsBean d = e.nextElement();
if (d.getResource().getDataType().equals(contextType)){
if (RequestorUtils.equals(d.getRequestor(),requestor)){
preferenceCtxIDs.add(this.ppnpMappings.get(d));
}
}
}
return preferenceCtxIDs;
}
List<CtxAttributeIdentifier> getIDSPreferences(IIdentity identity, Requestor requestor){
List<CtxAttributeIdentifier> preferenceCtxIDs = new ArrayList<CtxAttributeIdentifier>();
Enumeration<IDSPreferenceDetailsBean> e = this.idsMappings.keys();
while (e.hasMoreElements()){
IDSPreferenceDetailsBean d = e.nextElement();
if (d.getAffectedIdentity().equals(identity.getJid())){
if (d.getRequestor().equals(requestor)){
preferenceCtxIDs.add(this.idsMappings.get(d));
}
}
}
return preferenceCtxIDs;
}
List<CtxAttributeIdentifier> getAccCtrlPreferences(String contextType, Requestor requestor){
List<CtxAttributeIdentifier> preferenceCtxIDs = new ArrayList<CtxAttributeIdentifier>();
Enumeration<AccessControlPreferenceDetailsBean> e = this.accCtrlMappings.keys();
while (e.hasMoreElements()){
AccessControlPreferenceDetailsBean d = e.nextElement();
if (d.getResource().getDataType().equals(contextType)){
if (d.getRequestor().equals(requestor)){
preferenceCtxIDs.add(this.accCtrlMappings.get(d));
}
}
}
return preferenceCtxIDs;
}
List<CtxAttributeIdentifier> getPPNPreferences(String contextType, CtxAttributeIdentifier affectedCtxID){
List<CtxAttributeIdentifier> preferenceCtxIDs = new ArrayList<CtxAttributeIdentifier>();
Enumeration<PPNPreferenceDetailsBean> e = this.ppnpMappings.keys();
while (e.hasMoreElements()){
PPNPreferenceDetailsBean d = e.nextElement();
if (d.getResource().getDataType().equals(contextType)){
if (d.getResource().getDataIdUri()!=null){
if (d.getResource().getDataIdUri().equalsIgnoreCase(affectedCtxID.getUri())){
preferenceCtxIDs.add(this.ppnpMappings.get(d));
}
}
}
}
return preferenceCtxIDs;
}
List<CtxAttributeIdentifier> getAccCtrlPreferences(String contextType, CtxAttributeIdentifier affectedCtxID, Requestor requestor){
List<CtxAttributeIdentifier> preferenceCtxIDs = new ArrayList<CtxAttributeIdentifier>();
Enumeration<AccessControlPreferenceDetailsBean> e = this.accCtrlMappings.keys();
while (e.hasMoreElements()){
AccessControlPreferenceDetailsBean d = e.nextElement();
if (d.getResource().getDataType().equals(contextType)){
if (d.getResource().getDataIdUri()!=null){
if (d.getResource().getDataIdUri().equalsIgnoreCase(affectedCtxID.getUri())){
if (d.getRequestor().equals(requestor))
preferenceCtxIDs.add(this.accCtrlMappings.get(d));
}
}
}
}
return preferenceCtxIDs;
}
/* List<CtxAttributeIdentifier> getPPNPreferences(String contextType, Requestor requestor){
List<CtxAttributeIdentifier> preferenceCtxIDs = new ArrayList<CtxAttributeIdentifier>();
Enumeration<PPNPreferenceDetailsBean> e = this.ppnpMappings.keys();
while (e.hasMoreElements()){
PPNPreferenceDetailsBean d = e.nextElement();
if (d.getDataType().equals(contextType)){
if (d.getRequestorDPI()!=null){
if (d.getRequestorDPI().toString().equalsIgnoreCase(dpi.toString())){
if (d.getServiceID().toString().equalsIgnoreCase(serviceID.toString())){
preferenceCtxIDs.add(ppnpMappings.get(d));
}
}
}
}
}
return preferenceCtxIDs;
}*/
CtxAttributeIdentifier getIDSPreference(IIdentity identity, Requestor requestor){
Enumeration<IDSPreferenceDetailsBean> e = this.idsMappings.keys();
while (e.hasMoreElements()){
IDSPreferenceDetailsBean d = e.nextElement();
if (d.getAffectedIdentity().equalsIgnoreCase(identity.getJid())){
if (d.getRequestor().equals(requestor)){
return this.idsMappings.get(d);
}
}
}
return null;
}
public String toString(){
String toprint = "\n\n\n\n-- PPNP Registry --\n";
Enumeration<PPNPreferenceDetailsBean> detailList = this.ppnpMappings.keys();
while (detailList.hasMoreElements()){
PPNPreferenceDetailsBean detail = detailList.nextElement();
toprint = toprint.concat(PrivacyPreferenceUtils.toString(detail));
toprint = toprint.concat("\nLocated In: "+this.ppnpMappings.get(detail).toString());
}
Enumeration<IDSPreferenceDetailsBean> idsList = this.idsMappings.keys();
toprint = toprint.concat("\n-- IDS Registry --\n");
while (idsList.hasMoreElements()){
IDSPreferenceDetailsBean detail = idsList.nextElement();
toprint = toprint.concat(detail.toString());
toprint = toprint.concat("\nLocated In: "+this.idsMappings.get(detail).toString());
}
Enumeration<AccessControlPreferenceDetailsBean> accList = this.accCtrlMappings.keys();
toprint = toprint.concat("\n-- AccCtrl Registry --\n");
while (accList.hasMoreElements()){
AccessControlPreferenceDetailsBean detail = accList.nextElement();
toprint = toprint.concat(detail.toString());
toprint = toprint.concat("\nLocated In: "+this.accCtrlMappings.get(detail).toString());
}
toprint = toprint.concat("\n\n\n");
return toprint;
}
public List<PPNPreferenceDetailsBean> getPPNPreferenceDetails(){
Enumeration<PPNPreferenceDetailsBean> keys = this.ppnpMappings.keys();
ArrayList<PPNPreferenceDetailsBean> details = new ArrayList<PPNPreferenceDetailsBean>();
while (keys.hasMoreElements()){
details.add(keys.nextElement());
}
return details;
}
public List<IDSPreferenceDetailsBean> getIDSPreferenceDetails(){
Enumeration<IDSPreferenceDetailsBean> keys = this.idsMappings.keys();
ArrayList<IDSPreferenceDetailsBean> details = new ArrayList<IDSPreferenceDetailsBean>();
while (keys.hasMoreElements()){
details.add(keys.nextElement());
}
return details;
}
public List<DObfPreferenceDetailsBean> getDObfPreferenceDetails() {
Enumeration<DObfPreferenceDetailsBean> keys = this.dobfMappings.keys();
ArrayList<DObfPreferenceDetailsBean> details = new ArrayList<DObfPreferenceDetailsBean>();
while (keys.hasMoreElements()){
details.add(keys.nextElement());
}
return details;
}
public List<AccessControlPreferenceDetailsBean> getAccCtrlPreferenceDetails(){
Enumeration<AccessControlPreferenceDetailsBean> keys = this.accCtrlMappings.keys();
ArrayList<AccessControlPreferenceDetailsBean> details = new ArrayList<AccessControlPreferenceDetailsBean>();
while(keys.hasMoreElements()){
details.add(keys.nextElement());
}
return details;
}
/*
* converter methods
*/
/*
* FROM BEAN
*/
public static Registry fromBean(RegistryBean bean, IIdentityManager idMgr){
Registry registry = new Registry();
registry.ppnp_index = bean.getPpnIndex();
registry.ids_index = bean.getIdsIndex();
registry.dobf_index = bean.getDobfIndex();
registry.accCtrl_index = bean.getAccCtrlIndex();
List<PPNMappings> ppnMappings = bean.getPpnMappings();
for (PPNMappings ppnMap : ppnMappings){
try {
registry.ppnpMappings.put(ppnMap.getPpnPrefDetails(), (CtxAttributeIdentifier) CtxModelBeanTranslator.getInstance().fromCtxIdentifierBean(ppnMap.getCtxID()));
} catch (MalformedCtxIdentifierException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
List<IDSMappings> idsMappings = bean.getIdsMappings();
for (IDSMappings idsMap : idsMappings){
try {
registry.idsMappings.put(idsMap.getIdsPrefDetails(), (CtxAttributeIdentifier) CtxModelBeanTranslator.getInstance().fromCtxIdentifierBean(idsMap.getCtxID()));
} catch (MalformedCtxIdentifierException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
List<DObfMappings> dobfMappings = bean.getDobfMappings();
for (DObfMappings dobfMap : dobfMappings){
try {
registry.dobfMappings.put(dobfMap.getDobfPrefDetails(), (CtxAttributeIdentifier) CtxModelBeanTranslator.getInstance().fromCtxIdentifierBean(dobfMap.getCtxID()));
} catch (MalformedCtxIdentifierException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
List<AccCtrlMappings> accCtrlMappings = bean.getAccCtrlMappings();
for (AccCtrlMappings accCtrlMap : accCtrlMappings){
try {
registry.accCtrlMappings.put(accCtrlMap.getAccCtrlPrefDetails(), (CtxAttributeIdentifier) CtxModelBeanTranslator.getInstance().fromCtxIdentifierBean(accCtrlMap.getCtxID()));
} catch (MalformedCtxIdentifierException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return registry;
}
/*
* TO BEAN
*/
public RegistryBean toRegistryBean(){
RegistryBean bean = new RegistryBean();
bean.setDobfIndex(this.dobf_index);
bean.setPpnIndex(this.ppnp_index);
bean.setIdsIndex(this.ids_index);
bean.setAccCtrlIndex(this.accCtrl_index);
ArrayList<PPNMappings> ppnList = new ArrayList<PPNMappings>();
List<PPNPreferenceDetailsBean> ppnDetails = this.getPPNPreferenceDetails();
for (PPNPreferenceDetailsBean detail : ppnDetails){
PPNMappings ppnMap = new PPNMappings();
ppnMap.setPpnPrefDetails(detail);
ppnMap.setCtxID((CtxAttributeIdentifierBean) CtxModelBeanTranslator.getInstance().fromCtxIdentifier(this.ppnpMappings.get(detail)));
ppnList.add(ppnMap);
}
bean.setPpnMappings(ppnList);
ArrayList<IDSMappings> idsList = new ArrayList<IDSMappings>();
List<IDSPreferenceDetailsBean> idsDetails = this.getIDSPreferenceDetails();
for (IDSPreferenceDetailsBean detail : idsDetails){
IDSMappings idsMap = new IDSMappings();
idsMap.setIdsPrefDetails(detail);
idsMap.setCtxID((CtxAttributeIdentifierBean) CtxModelBeanTranslator.getInstance().fromCtxIdentifier(this.idsMappings.get(detail)));
idsList.add(idsMap);
}
bean.setIdsMappings(idsList);
ArrayList<DObfMappings> dobfList = new ArrayList<DObfMappings>();
List<DObfPreferenceDetailsBean> dobfDetails = this.getDObfPreferenceDetails();
for (DObfPreferenceDetailsBean detail : dobfDetails){
DObfMappings dobfMap = new DObfMappings();
dobfMap.setDobfPrefDetails(detail);
dobfMap.setCtxID((CtxAttributeIdentifierBean) CtxModelBeanTranslator.getInstance().fromCtxIdentifier(this.dobfMappings.get(detail)));
dobfList.add(dobfMap);
}
bean.setDobfMappings(dobfList);
ArrayList<AccCtrlMappings> accCtrlList = new ArrayList<AccCtrlMappings>();
List<AccessControlPreferenceDetailsBean> accCtrlDetails = this.getAccCtrlPreferenceDetails();
for (AccessControlPreferenceDetailsBean detail : accCtrlDetails){
AccCtrlMappings accMap = new AccCtrlMappings();
accMap.setAccCtrlPrefDetails(detail);
accMap.setCtxID((CtxAttributeIdentifierBean) CtxModelBeanTranslator.getInstance().fromCtxIdentifier(this.accCtrlMappings.get(detail)));
accCtrlList.add(accMap);
}
bean.setAccCtrlMappings(accCtrlList);
return bean;
}
}