Anpassung ein Schleife(Zuweisung eines Ordners)

Henri

Bekanntes Mitglied
Hallo Leute,

ich habe eine Frage bezüglich der Zuweisung eines Ordners, es geht hier um einen Stuckcode, was ich gern anpassen möchte.
Also ich versuche es zu erklären.
Nehmen wir an, wir haben die folgende Ordnerstruktur

VaterOrdner => Tiere
KindOrdner1 =>Vögel
KindOrdner2 =>Reptilien
KindOrdner3 =>Fische

Also, wenn ich den Kind-Ordner "Fische" zuweisen möchte gehe ich in meinem Code und übergebe ich den Wert 2 an die Methode get(2) Zeile 4,
weil ich so zähle, KindOrdner1 = 0 Ebene, KindOrdner2=1 Ebene, KindOrdner3=2 Ebene.
danach wenn ich den Ordner "Reptilien" zuweisen möchte, gehe ich in meinem Code und übergebe ich den Wert 1 an die Methode get(1) Zeile 4,
weil ich so zähle, KindOrdner1 = 0 Ebene, KindOrdner2=1 Ebene.

Jetzt geht es darum, habe ich keinen Kind-Ordner mehr, möchte ich direkt den Vater-Ordner "Tiere" zuweisen
kann Jemandem mir veraten, wie ich es anpassen könnte ?

Danke im Voraus.

Java:
boolean ignore = false;
                    ResourceResultItemList resItemList =  repService.getAncestors(currResKey, parentWantedProps);
                    if (resItemList.size()>3){
                        ResourceResultItem resItem = resItemList.get(2);  // ebene 
                        String displNameToValidate = (String)resItem.getProperties().get(0).getValue(); // erstes Attribut, displayname
                        logger.debug("Validiere Ordner: "+displNameToValidate  );
                        if (DISPLNAMES_TO_IGNORE.size()> 0){
                            if (DISPLNAMES_TO_IGNORE.contains( displNameToValidate )){
                                logger.debug("Ordner mit dem Anzeigenamen "+displNameToValidate  +" soll nicht verarbeitet werden");
                                ignore = true;
                            }
                        }
                    }
 
Zuletzt bearbeitet:
Moin,
ich habe eine Frage bezüglich der Zuweisung eines Ordners, es geht hier um einen Stuckcode, was ich gern anpassen möchte.
Also ich versuche es zu erklären.
Nehmen wir an, wir haben die folgende Ordnerstruktur

VaterOrdner => Tiere
KindOrdner1 =>Vögel
KindOrdner2 =>Reptilien
KindOrdner3 =>Fische

Also, wenn ich den Kind-Ordner "Fische" zuweisen möchte gehe ich in meinem Code und übergebe ich den Wert 2 an die Methode get(2) Zeile 4,
weil ich so zähle, KindOrdner1 = 0 Ebene, KindOrdner2=1 Ebene, KindOrdner3=2 Ebene.
danach wenn ich den Ordner "Reptilien" zuweisen möchte, gehe ich in meinem Code und übergebe ich den Wert 1 an die Methode get(1) Zeile 4,
weil ich so zähle, KindOrdner1 = 0 Ebene, KindOrdner2=1 Ebene.

Jetzt geht es darum, habe ich keinen Kind-Ordner mehr, möchte ich direkt den Vater-Ordner "Tiere" zuweisen
kann Jemandem mir veraten, wie ich es anpassen könnte ?
Bitte was? verstehe nur *Bahnhof* ...
Und was ist ein Stuckcode ??
 
Ich glaube er meinte ein Stück Code.

Ich verstehe das Stück Code unten im Post auch nicht. Etwas aussagekräftigere Bezeichnungen und Kommentare würden die Hilfsbereitschaft erheblich steigern. Und meinst du Ordner im Sinne von Dateiordner?
 
Dann schau dir mal an was die Standardbibliothek von Java so alles zum Thema Dateien anbietet, bevor du das Rad hier neu erfindest.

Nachschlag:
Ich seh in deinem Stück Code nichts, was auf die Verwendung von Dateien hindeutet. Ich hab ehrlich gesagt nichtmal eine Idee, was da passieren soll.
 
White_Fox,
wir verwenden eigene library. also hier kannst sehen, wie es im system ausehen, ich hoffe mit dem Bild könnte man besser nachvollziehen
 

Anhänge

  • tiere.png
    tiere.png
    3,6 KB · Aufrufe: 67
Wir verwenden eigene Library. Also im System sieht es so aus, vielleicht mit dem Bild könnt ihr besser nachvollziehen , wie gesagt wenn ich zu irgendein Unterordner von Tiere ansprechen möchte, dann zähle ich einfach in java fangt man mit 0 an usw...
Aber jetzt habe ich keine Unterordner und möchte ich zu dem Vaterordner ansprechen , weisst ich nicht wie es geht.
 
wie gesagt wenn ich zu irgendein Unterordner von Tiere ansprechen möchte, dann zähle ich einfach in java fangt man mit 0 an usw...
Aber jetzt habe ich keine Unterordner und möchte ich zu dem Vaterordner ansprechen , weisst ich nicht wie es geht.
Was für Methoden bietet repService?
Wenn du damit an die Kinder kommst (was getAncestors deiner Erklärung nach tun müsste), kommst du sicherlich auch an den Eltern. currResKey könnte schon in die passende Richtung gehen...


Im Übrigen sollte man schon gute Gründe dafür haben, die Standardlibrary nicht zu nutzen.
Der könnte zB sein, dass das nicht in einem herkömmlichen Dateisystem abgebildet wird.
 
Hallo mrBrown,
da sind einige Info

1-
Java:
public void execute(JobExecutionContext jExecCtx)


This class represents a job execution context; it provides access to all Server Application services, especially the job runtime service.
Methods called from the job execution context are run in this context and not in the context of the user session; as a consequence, no permissions are checked for running methods in job execution context.

The job execution context is passed to classes implementing one of the interfaces derived from PluginHandler.
Examples:
Java:
public class TestCustomJobHandler extends DefaultCustomJobHandler {

      public void execute ( final PluginExecutionContext pExecCtx ) {
          pExecCtx.getLogger().info ( pExecCtx.getAuthorityManagementService().getAllSystemRoles() );
      }

  }

  or:

  public class MyCustomImageToPdfConnector extends DefaultRsConnectorHandler {

      ...
      // will be set via plugin configuration
      private String txt                                      = null;
      ...
    
      public Content getContent ( ResourceKey resourceKey, PluginExecutionContext pExecCtx ) {
    
          Content orginalContent =  pExecCtx.getRepositoryService ().getContent ( resourceKey );
          InputStream is = new ContentWrapperInputStream ( orginalContent );
        
          List contents = new ArrayList ();
          contents.add ( new DefaultContentItem ( orginalContent.getContentType () , is ) );
          contents.add ( new DefaultContentItem ( "text/plain", txt ) );
          return new DefaultContent ( contents, "text/plain" );
      }
  }

2-
Java:
 RepositoryService     repService     = jExecCtx.getRepositoryService();

public interface RepositoryService
extends Service

Interface to provide the repository functionality of the Server Application.

In general, to perform a method of any service of the Server Application Layer, a user must have appropriate permissions, as described for every method, or an AccessDeniedException is thrown. For some methods, like search or getChildren, no exception is thrown but the permissions act as a filter on the results.

The results of a method are also influenced by the concept of visibility rules. A visibility rule affects the resources visible for a user either by object class or by property value. It may alter or filter the result, or cause a ResourceNotFoundException, depending on the method.

Lastly, the delete state, together with the document area wide permission Undelete affects the visibility of a resource: logically deleted resources are only visible for users having this permission. (Resources that have been physically deleted are visible for nobody, since they do not exist any more.)

The ResourceKey represents a unique identifier for any resource used in DMS services, that is, a folder, document or link, or an extension: an annotation, note, rendition or virtual rendition.

A user's permissions are evaluated on login of the user. Therefore, for any changes that affect permissions, for example, assignment of permissions to roles or assignment of positions or groups to roles, to take effect, the user has to relogin.

A repository service can be obtained from a session with
Java:
RepositoryService repositoryService = session1.getRepositoryService ();
How to get a session, see Session.

3-
Java:
ResourceKey currResKey = resTable.getResourceKeys()[I];


Class ResourceKey

All Implemented Interfaces:
Serializable

public class ResourceKey
extends AbstractKey

This class represents a unique identifier for any resource used in DMS services. For all resources, it contains an area name and a resource type. For a folder or link, it contains a resource history id and no resource id. For the current version of a document, it contains a resource history id and no resource id. For any non-current version of a document, it contains a resource id and no resource history id. For annotations, notes or renditions, it contains a master resource id, a resource id and no resource history id. For virtual renditions, it contains a master resource id and no resource id, no resource history id.[/I]
 
Falls das nicht rein privat ist: Sucht euch kommerziellen Support dafür. Da ohne ausreichendes Wissen einfach was zu ändern, halte ich für gefährlich...

Falls das privat ist: ist das ganze Open Source? Die bisherigen Infos sind nicht wirklich hilfreich, sich den ganzen Code selbst anzugucken dürfte eher helfen...
 

Zurück
Oben