Author: kstam
Date: Wed Jan 22 17:08:07 2014
New Revision: 1560418

URL: http://svn.apache.org/r1560418
Log:
JUDDI-762 on delete of a publisher; also remove content

Modified:
    
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
    juddi/trunk/juddi-gui/src/main/webapp/tmodelPartitions.jsp

Modified: 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java?rev=1560418&r1=1560417&r2=1560418&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
 (original)
+++ 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
 Wed Jan 22 17:08:07 2014
@@ -19,6 +19,7 @@ package org.apache.juddi.api.impl;
 import java.io.StringWriter;
 import java.rmi.RemoteException;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
@@ -55,6 +56,7 @@ import org.apache.juddi.mapping.MappingA
 import org.apache.juddi.mapping.MappingModelToApi;
 import org.apache.juddi.model.ClientSubscriptionInfo;
 import org.apache.juddi.model.Publisher;
+import org.apache.juddi.model.Tmodel;
 import org.apache.juddi.model.UddiEntityPublisher;
 import org.apache.juddi.subscription.NotificationList;
 import org.apache.juddi.v3.client.transport.Transport;
@@ -66,7 +68,15 @@ import org.apache.juddi.validation.Valid
 import org.apache.juddi.validation.ValidateNode;
 import org.apache.juddi.validation.ValidatePublish;
 import org.apache.juddi.validation.ValidatePublisher;
+import org.uddi.api_v3.AuthToken;
+import org.uddi.api_v3.BusinessInfo;
+import org.uddi.api_v3.BusinessInfos;
 import org.uddi.api_v3.DeleteTModel;
+import org.uddi.api_v3.GetRegisteredInfo;
+import org.uddi.api_v3.InfoSelection;
+import org.uddi.api_v3.RegisteredInfo;
+import org.uddi.api_v3.TModelInfo;
+import org.uddi.api_v3.TModelInfos;
 import org.uddi.sub_v3.GetSubscriptionResults;
 import org.uddi.sub_v3.SubscriptionResultsList;
 import org.uddi.v3_service.DispositionReportFaultMessage;
@@ -157,8 +167,47 @@ public class JUDDIApiImpl extends Authen
 
                         List<String> entityKeyList = body.getPublisherId();
                         for (String entityKey : entityKeyList) {
-                                Object obj = 
em.find(org.apache.juddi.model.Publisher.class, entityKey);
-                                em.remove(obj);
+                               Publisher obj = 
em.find(org.apache.juddi.model.Publisher.class, entityKey);
+                        
+                               //get an authtoken for this publisher so that 
we can get its registeredInfo
+                               UDDISecurityImpl security = new 
UDDISecurityImpl();
+                               AuthToken authToken = 
security.getAuthToken(entityKey);
+                               
+                               GetRegisteredInfo r = new GetRegisteredInfo();
+                               r.setAuthInfo(authToken.getAuthInfo());
+                               r.setInfoSelection(InfoSelection.ALL);
+                              
+                               log.info("removing all businesses owned by 
publisher " + entityKey + ".");
+                               UDDIPublicationImpl publish = new 
UDDIPublicationImpl();
+                               RegisteredInfo registeredInfo = 
publish.getRegisteredInfo(r);
+                               BusinessInfos businessInfos = 
registeredInfo.getBusinessInfos();
+                               if (businessInfos!=null && 
businessInfos.getBusinessInfo()!=null) {
+                                       Iterator<BusinessInfo> iter = 
businessInfos.getBusinessInfo().iterator();
+                                   while (iter.hasNext()) {
+                                       BusinessInfo businessInfo = iter.next();
+                                       Object business = 
em.find(org.apache.juddi.model.BusinessEntity.class, 
businessInfo.getBusinessKey());
+                                       em.remove(business);
+                                   }
+                                                       }
+                               
+                               log.info("mark all tmodels for publisher " + 
entityKey + " as deleted.");
+                               TModelInfos tmodelInfos = 
registeredInfo.getTModelInfos();
+                               if (tmodelInfos!=null && 
tmodelInfos.getTModelInfo()!=null) {
+                                       Iterator<TModelInfo> iter = 
tmodelInfos.getTModelInfo().iterator();
+                                       while (iter.hasNext()) {
+                                               TModelInfo tModelInfo = 
iter.next();
+                                               Tmodel tmodel = (Tmodel) 
em.find(org.apache.juddi.model.Tmodel.class, tModelInfo.getTModelKey());
+                                               tmodel.setDeleted(true);
+                                               em.persist(tmodel);
+                                       }
+                               }
+                               log.info("remove all persisted AuthTokens for 
publisher " + entityKey + ".");
+                               Query q1 = em.createQuery("DELETE FROM 
AuthToken auth WHERE auth.authorizedName = '" + entityKey + "'");
+                            q1.executeUpdate();
+                      
+                            log.info("removing publisher " + entityKey + ".");
+                            //delete the publisher
+                               em.remove(obj);
                         }
 
                         tx.commit();

Modified: juddi/trunk/juddi-gui/src/main/webapp/tmodelPartitions.jsp
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-gui/src/main/webapp/tmodelPartitions.jsp?rev=1560418&r1=1560417&r2=1560418&view=diff
==============================================================================
--- juddi/trunk/juddi-gui/src/main/webapp/tmodelPartitions.jsp (original)
+++ juddi/trunk/juddi-gui/src/main/webapp/tmodelPartitions.jsp Wed Jan 22 
17:08:07 2014
@@ -26,7 +26,7 @@
                 <i class="icon-info-sign  icon-large"></i> 
<%=ResourceLoader.GetResource(session, "pages.tmodelpart.juddinote")%></div>
                 <br><Br>
                 <table class="table">
-                    <tr><td><%=ResourceLoader.GetResource(session, 
"pages.tmodelpart.key")%></td><td><input type="text" 
value="uddi:www.mycompany.com:keygenerator" id="keyGeneratorKey"  
style="width:100%"></td></tr>
+                    <tr><td><%=ResourceLoader.GetResource(session, 
"pages.tmodelpart.key")%></td><td><input type="text" 
value="uddi:www.mycompany.com:keyGenerator" id="keyGeneratorKey"  
style="width:100%"></td></tr>
                     <tr><td><%=ResourceLoader.GetResource(session, 
"pages.thmodepart.name")%></td><td><input type="text" value="My business's key 
generator" id="keyGeneratorName" style="width:100%"></td></tr>
                     <tr><td><%=ResourceLoader.GetResource(session, 
"items.lang")%></td><td><input type="text" 
value="<%=ResourceLoader.GetResource(session, "language")%>" 
id="keyGeneratorLang" style="width:100%"></td></tr>
                 </table>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to