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]